# MCPhaseGate

*class *`MCPhaseGate(lam, num_ctrl_qubits, label=None)`

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 the `mcp()`

method.

**Circuit symbol:**

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

`CPhaseGate`

: The singly-controlled-version of this gate.

Create new MCPhase gate.

## Methods Defined Here

### control

`MCPhaseGate.control(num_ctrl_qubits=1, label=None, ctrl_state=None)`

Controlled version of this 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**

### inverse

`MCPhaseGate.inverse()`

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

## Attributes

### condition_bits

### 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.