# CPhaseGate

*class *`CPhaseGate(theta, label=None, ctrl_state=None)`

Bases: `qiskit.circuit.controlledgate.ControlledGate`

Controlled-Phase gate.

This is a diagonal and symmetric gate that induces a phase on the state of the target qubit, depending on the control state.

Can be applied to a `QuantumCircuit`

with the `cp()`

method.

**Circuit symbol:**

```
q_0: ─■──
│λ
q_1: ─■──
```

**Matrix representation:**

`CRZGate`

: Due to the global phase difference in the matrix definitions of Phase and RZ, CPhase and CRZ are different gates with a relative phase difference.

Create new CPhase gate.

## Methods Defined Here

### control

`CPhaseGate.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

`CPhaseGate.inverse()`

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

### power

`CPhaseGate.power(exponent)`

Raise gate to a power.

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