MCPhaseGate¶
- class MCPhaseGate(lam, num_ctrl_qubits, label=None)[source]¶
Bases:
qiskit.circuit.controlledgate.ControlledGate
Multi-controlled-Phase gate.
This is a diagonal and symmetric gate that induces a phase on the state of the target qubit, depending on the state of the control qubits.
Can be applied to a
QuantumCircuit
with themcp()
method.Circuit symbol:
q_0: ───■──── │ . │ q_(n-1): ───■──── ┌──┴───┐ q_n: ┤ P(λ) ├ └──────┘
See also
CPhaseGate
: The singly-controlled-version of this gate.Create new MCPhase gate.
Methods Defined Here
Controlled version of this gate.
Return inverted MCU1 gate (\(MCU1(\lambda){\dagger} = MCU1(-\lambda)\))
Attributes
- ctrl_state¶
Return the control state of the gate as a decimal integer.
- Return type
int
- 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.
- Return type
List
- duration¶
Get the duration.
- label¶
Return instruction label
- Return type
str
- 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.
- Return type
str
- 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.