CU1Gate¶
- class CU1Gate(theta, label=None, ctrl_state=None)[source]¶
Bases:
ControlledGate
Controlled-U1 gate.
This is a diagonal and symmetric gate that induces a phase on the state of the target qubit, depending on the control state.
Circuit symbol:
q_0: ─■── │λ q_1: ─■──
Matrix representation:
\[\begin{split}CU1(\lambda) = I \otimes |0\rangle\langle 0| + U1 \otimes |1\rangle\langle 1| = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & e^{i\lambda} \end{pmatrix}\end{split}\]See also
CRZGate
: Due to the global phase difference in the matrix definitions of U1 and RZ, CU1 and CRZ are different gates with a relative phase difference.Create new CU1 gate.
Methods Defined Here
Controlled version of this gate.
Return inverted CU1 gate (\(CU1(\lambda)^{\dagger} = CU1(-\lambda)\))
Attributes
- condition_bits¶
Get Clbits in condition.
- ctrl_state¶
Return the control state of the gate as a decimal integer.
- decompositions¶
Get the decompositions of the instruction from the SessionEquivalenceLibrary.
- definition¶
Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl_state, the returned definition is conjugated with X without changing the internal _definition.
- duration¶
Get the duration.
- label¶
Return instruction label
- name¶
Get name of gate. If the gate has open controls the gate name will become:
<original_name_o<ctrl_state>
where <original_name> is the gate name for the default case of closed control qubits and <ctrl_state> is the integer value of the control state for the gate.
- num_clbits¶
Return the number of clbits.
- num_ctrl_qubits¶
Get number of control qubits.
- Returns
The number of control qubits for the gate.
- Return type
int
- num_qubits¶
Return the number of qubits.
- params¶
Get parameters from base_gate.
- Returns
List of gate parameters.
- Return type
list
- Raises
CircuitError – Controlled gate does not define a base gate
- unit¶
Get the time unit of duration.