You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

# U3Gate

class U3Gate(theta, phi, lam, label=None)

GitHub(opens in a new tab)

Generic single-qubit rotation gate with 3 Euler angles.

Warning

This gate is deprecated. Instead, the following replacements should be used

$U3(\theta, \phi, \lambda) = U(\theta, \phi, \lambda)$
circuit = QuantumCircuit(1)
circuit.u(theta, phi, lambda)

Circuit symbol:

     ┌───────────┐
q_0: ┤ U3(ϴ,φ,λ) ├
└───────────┘

Matrix Representation:

$\providecommand{\th}{\frac{\theta}{2}}\\\begin{split}U3(\theta, \phi, \lambda) = \begin{pmatrix} \cos\left(\th\right) & -e^{i\lambda}\sin\left(\th\right) \\ e^{i\phi}\sin\left(\th\right) & e^{i(\phi+\lambda)}\cos\left(\th\right) \end{pmatrix}\end{split}$
Note

The matrix representation shown here differs from the OpenQASM 2.0 specification(opens in a new tab) by a global phase of $e^{i(\phi+\lambda)/2}$.

Examples:

$U3(\theta, \phi, \lambda) = e^{-i \frac{\pi + \theta}{2}} P(\phi + \pi) \sqrt{X} P(\theta + \pi) \sqrt{X} P(\lambda)$$U3\left(\theta, -\frac{\pi}{2}, \frac{\pi}{2}\right) = RX(\theta)$$U3(\theta, 0, 0) = RY(\theta)$

Create new U3 gate.

## Methods Defined Here

### control

U3Gate.control(num_ctrl_qubits=1, label=None, ctrl_state=None)

Return a (multi-)controlled-U3 gate.

Parameters

• num_ctrl_qubits (int) – number of control qubits.
• label (str or None) – An optional label for the gate [Default: None]
• ctrl_state (int or str or None) – control state expressed as integer, string (e.g. ‘110’), or None. If None, use all 1s.

Returns

controlled version of this gate.

Return type

ControlledGate

### inverse

U3Gate.inverse()

Return inverted U3 gate.

$U3(\theta,\phi,\lambda)^{\dagger} =U3(-\theta,-\lambda,-\phi)$)

## Attributes

### condition_bits

Get Clbits in condition.

Return type

List[Clbit]

### decompositions

Get the decompositions of the instruction from the SessionEquivalenceLibrary.

### definition

Return definition in terms of other basic gates.

### duration

Get the duration.

### label

Return instruction label

Return type

str

Return the name.

### num_clbits

Return the number of clbits.

### num_qubits

Return the number of qubits.

### params

return instruction params.

### unit

Get the time unit of duration.