180 lines
5.3 KiB
Plaintext
180 lines
5.3 KiB
Plaintext
---
|
||
title: CPhaseGate
|
||
description: API reference for qiskit.circuit.library.CPhaseGate
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit.circuit.library.CPhaseGate
|
||
---
|
||
|
||
# CPhaseGate
|
||
|
||
<Class id="qiskit.circuit.library.CPhaseGate" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.25/qiskit/circuit/library/standard_gates/p.py" signature="qiskit.circuit.library.CPhaseGate(theta, label=None, ctrl_state=None)" modifiers="class">
|
||
Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "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`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") with the [`cp()`](qiskit.circuit.QuantumCircuit#cp "qiskit.circuit.QuantumCircuit.cp") method.
|
||
|
||
**Circuit symbol:**
|
||
|
||
```python
|
||
q_0: ─■──
|
||
│λ
|
||
q_1: ─■──
|
||
```
|
||
|
||
**Matrix representation:**
|
||
|
||
$$
|
||
\begin{split}CPhase =
|
||
I \otimes |0\rangle\langle 0| + P \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}
|
||
$$
|
||
|
||
<Admonition title="See also" type="note">
|
||
`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.
|
||
</Admonition>
|
||
|
||
Create new CPhase gate.
|
||
|
||
## Attributes
|
||
|
||
### condition\_bits
|
||
|
||
<Attribute id="qiskit.circuit.library.CPhaseGate.condition_bits">
|
||
Get Clbits in condition.
|
||
</Attribute>
|
||
|
||
### ctrl\_state
|
||
|
||
<Attribute id="qiskit.circuit.library.CPhaseGate.ctrl_state">
|
||
Return the control state of the gate as a decimal integer.
|
||
</Attribute>
|
||
|
||
### decompositions
|
||
|
||
<Attribute id="qiskit.circuit.library.CPhaseGate.decompositions">
|
||
Get the decompositions of the instruction from the SessionEquivalenceLibrary.
|
||
</Attribute>
|
||
|
||
### definition
|
||
|
||
<Attribute id="qiskit.circuit.library.CPhaseGate.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.
|
||
</Attribute>
|
||
|
||
### duration
|
||
|
||
<Attribute id="qiskit.circuit.library.CPhaseGate.duration">
|
||
Get the duration.
|
||
</Attribute>
|
||
|
||
### label
|
||
|
||
<Attribute id="qiskit.circuit.library.CPhaseGate.label">
|
||
Return instruction label
|
||
</Attribute>
|
||
|
||
### name
|
||
|
||
<Attribute id="qiskit.circuit.library.CPhaseGate.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.
|
||
</Attribute>
|
||
|
||
### num\_clbits
|
||
|
||
<Attribute id="qiskit.circuit.library.CPhaseGate.num_clbits">
|
||
Return the number of clbits.
|
||
</Attribute>
|
||
|
||
### num\_ctrl\_qubits
|
||
|
||
<Attribute id="qiskit.circuit.library.CPhaseGate.num_ctrl_qubits">
|
||
Get number of control qubits.
|
||
|
||
**Returns**
|
||
|
||
The number of control qubits for the gate.
|
||
|
||
**Return type**
|
||
|
||
[int](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")
|
||
</Attribute>
|
||
|
||
### num\_qubits
|
||
|
||
<Attribute id="qiskit.circuit.library.CPhaseGate.num_qubits">
|
||
Return the number of qubits.
|
||
</Attribute>
|
||
|
||
### params
|
||
|
||
<Attribute id="qiskit.circuit.library.CPhaseGate.params">
|
||
Get parameters from base\_gate.
|
||
|
||
**Returns**
|
||
|
||
List of gate parameters.
|
||
|
||
**Return type**
|
||
|
||
[list](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")
|
||
|
||
**Raises**
|
||
|
||
[**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – Controlled gate does not define a base gate
|
||
</Attribute>
|
||
|
||
### unit
|
||
|
||
<Attribute id="qiskit.circuit.library.CPhaseGate.unit">
|
||
Get the time unit of duration.
|
||
</Attribute>
|
||
|
||
## Methods
|
||
|
||
### control
|
||
|
||
<Function id="qiskit.circuit.library.CPhaseGate.control" signature="control(num_ctrl_qubits=1, label=None, ctrl_state=None)">
|
||
Controlled version of this gate.
|
||
|
||
**Parameters**
|
||
|
||
* **num\_ctrl\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – number of control qubits.
|
||
* **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *or None*) – An optional label for the gate \[Default: None]
|
||
* **ctrl\_state** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *or*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *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**
|
||
|
||
[ControlledGate](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")
|
||
</Function>
|
||
|
||
### inverse
|
||
|
||
<Function id="qiskit.circuit.library.CPhaseGate.inverse" signature="inverse()">
|
||
Return inverted CPhase gate ($CPhase(\lambda)^{\dagger} = CPhase(-\lambda)$)
|
||
</Function>
|
||
|
||
### power
|
||
|
||
<Function id="qiskit.circuit.library.CPhaseGate.power" signature="power(exponent)">
|
||
Raise gate to a power.
|
||
</Function>
|
||
</Class>
|
||
|