OneQubitEulerDecomposer¶
-
class
OneQubitEulerDecomposer
(basis='U3')[source]¶ Bases:
object
A class for decomposing 1-qubit unitaries into Euler angle rotations.
The resulting decomposition is parameterized by 3 Euler rotation angle parameters \((\theta, \phi, \lambda)\), and a phase parameter \(\gamma\). The value of the parameters for an input unitary depends on the decomposition basis. Allowed bases and the resulting circuits are shown in the following table. Note that for the non-Euler bases (U3, U1X, RR), the ZYZ Euler parameters are used.
Table 19 Supported circuit bases¶ Basis
Euler Angle Basis
Decomposition Circuit
‘ZYZ’
\(Z(\phi) Y(\theta) Z(\lambda)\)
\(e^{i\gamma} R_Z(\phi).R_Y(\theta).R_Z(\lambda)\)
‘ZXZ’
\(Z(\phi) X(\theta) Z(\lambda)\)
\(e^{i\gamma} R_Z(\phi).R_X(\theta).R_Z(\lambda)\)
‘XYX’
\(X(\phi) Y(\theta) X(\lambda)\)
\(e^{i\gamma} R_X(\phi).R_Y(\theta).R_X(\lambda)\)
‘XZX’
\(X(\phi) Z(\theta) X(\lambda)\)
\(e^{i\gamma} R_X(\phi).R_Z(\theta).R_X(\lambda)\)
‘U3’
\(Z(\phi) Y(\theta) Z(\lambda)\)
\(e^{i\gamma} U_3(\theta,\phi,\lambda)\)
‘U321’
\(Z(\phi) Y(\theta) Z(\lambda)\)
\(e^{i\gamma} U_3(\theta,\phi,\lambda)\)
‘U’
\(Z(\phi) Y(\theta) Z(\lambda)\)
\(e^{i\gamma} U_3(\theta,\phi,\lambda)\)
‘PSX’
\(Z(\phi) Y(\theta) Z(\lambda)\)
\(e^{i\gamma} U_1(\phi+\pi).R_X\left(\frac{\pi}{2}\right).\) \(U_1(\theta+\pi).R_X\left(\frac{\pi}{2}\right).U_1(\lambda)\)
‘ZSX’
\(Z(\phi) Y(\theta) Z(\lambda)\)
\(e^{i\gamma} R_Z(\phi+\pi).\sqrt{X}.\) \(R_Z(\theta+\pi).\sqrt{X}.R_Z(\lambda)\)
‘ZSXX’
\(Z(\phi) Y(\theta) Z(\lambda)\)
\(e^{i\gamma} R_Z(\phi+\pi).\sqrt{X}.R_Z(\theta+\pi).\sqrt{X}.R_Z(\lambda)\) or \(e^{i\gamma} R_Z(\phi+\pi).X.R_Z(\lambda)\)
‘U1X’
\(Z(\phi) Y(\theta) Z(\lambda)\)
\(e^{i\gamma} U_1(\phi+\pi).R_X\left(\frac{\pi}{2}\right).\) \(U_1(\theta+\pi).R_X\left(\frac{\pi}{2}\right).U_1(\lambda)\)
‘RR’
\(Z(\phi) Y(\theta) Z(\lambda)\)
\(e^{i\gamma} R\left(-\pi,\frac{\phi-\lambda+\pi}{2}\right).\) \(R\left(\theta+\pi,\frac{\pi}{2}-\lambda\right)\)
Initialize decomposer
Supported bases are: ‘U’, ‘PSX’, ‘ZSXX’, ‘ZSX’, ‘U321’, ‘U3’, ‘U1X’, ‘RR’, ‘ZYZ’, ‘ZXZ’, ‘XYX’, ‘XZX’.
- Parameters
basis (str) – the decomposition basis [Default: ‘U3’]
- Raises
QiskitError – If input basis is not recognized.
Methods
Return the Euler angles for input array.
Return the Euler angles and phase for input array.
Attributes
-
basis
¶ The decomposition basis.