U3Gate¶
- class U3Gate(theta, phi, lam, label=None)[source]¶
Generic single-qubit rotation gate with 3 Euler angles.
Implemented using two X90 pulses on IBM Quantum systems:
\[U3(\theta, \phi, \lambda) = RZ(\phi - \pi/2) RX(\pi/2) RZ(\pi - \theta) RX(\pi/2) RZ(\lambda - \pi/2)\]Circuit symbol:
┌───────────┐ q_0: ┤ U3(ϴ,φ,λ) ├ └───────────┘
Matrix Representation:
\[ \begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}U3(\theta, \phi, \lambda) = \begin{pmatrix} \cos(\th) & -e^{i\lambda}\sin(\th) \\ e^{i\phi}\sin(\th) & e^{i(\phi+\lambda)}\cos(\th) \end{pmatrix}\end{split}\end{aligned}\end{align} \]Examples:
\[U3(\theta, -\frac{\pi}{2}, \frac{pi}{2}) = RX(\theta)\]\[U3(\theta, 0, 0) = RY(\theta)\]Create new U3 gate.
Attributes
Get the decompositions of the instruction from the SessionEquivalenceLibrary.
Return definition in terms of other basic gates.
Return gate label
return instruction params.
Methods
U3Gate.add_decomposition
(decomposition)Add a decomposition of the instruction to the SessionEquivalenceLibrary.
Assemble a QasmQobjInstruction
U3Gate.broadcast_arguments
(qargs, cargs)Validation and handling of the arguments and its relationship.
U3Gate.c_if
(classical, val)Add classical condition on register classical and value val.
U3Gate.control
([num_ctrl_qubits, label, …])Return a (mutli-)controlled-U3 gate.
U3Gate.copy
([name])Copy of the instruction.
Return inverted U3 gate.
Return True .IFF.
For a composite instruction, reverse the order of sub-gates.
U3Gate.power
(exponent)Creates a unitary gate as gate^exponent.
Return a default OpenQASM string for the instruction.
Creates an instruction with gate repeated n amount of times.
Return a Numpy.array for the U3 gate.