MCPhaseGate#

class qiskit.circuit.library.MCPhaseGate(lam, num_ctrl_qubits, label=None)[código fonte]#

Bases: 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 the mcp() method.

Circuit symbol:

    q_0: ───■────
            │
            .
            │
q_(n-1): ───■────
         ┌──┴───┐
    q_n: ┤ P(λ) ├
         └──────┘

Veja também

CPhaseGate: The singly-controlled-version of this gate.

Create new MCPhase gate.

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.

Retorno:

The number of control qubits for the gate.

Tipo de retorno:

int

num_qubits#

Return the number of qubits.

params#

Get parameters from base_gate.

Retorno:

List of gate parameters.

Tipo de retorno:

list

Levanta:

CircuitError – Controlled gate does not define a base gate

unit#

Get the time unit of duration.

Methods

control(num_ctrl_qubits=1, label=None, ctrl_state=None)[código fonte]#

Controlled version of this gate.

Parâmetros:
  • 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.

Retorno:

controlled version of this gate.

Tipo de retorno:

ControlledGate

inverse()[código fonte]#

Return inverted MCU1 gate (\(MCU1(\lambda)^{\dagger} = MCU1(-\lambda)\))