TwoQubitBasisDecomposer.decomp2_supercontrolled¶
- TwoQubitBasisDecomposer.decomp2_supercontrolled(target)[source]¶
Decompose target ~Ud(x, y, z) with 2 uses of the basis gate.
For supercontrolled basis ~Ud(pi/4, b, 0), all b, result Ur has trace .. math:
|Tr(Ur.Utarget^dag)| = 4cos(z)
which is the optimal approximation for basis of CNOT-class
~Ud(pi/4, 0, 0)
or DCNOT-class~Ud(pi/4, pi/4, 0)
and any target. May be sub-optimal for b!=0 (e.g. there exists exact decomposition for any target using BB~Ud(pi/4, pi/8, 0)
, but not this decomposition.) This is an exact decomposition for supercontrolled basis and target~Ud(x, y, 0)
. No guarantees for non-supercontrolled basis.