153 lines
3.9 KiB
Plaintext
153 lines
3.9 KiB
Plaintext
---
|
||
title: C4XGate (v0.31)
|
||
description: API reference for qiskit.circuit.library.C4XGate in qiskit v0.31
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit.circuit.library.C4XGate
|
||
---
|
||
|
||
# C4XGate
|
||
|
||
<Class id="qiskit.circuit.library.C4XGate" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.18/qiskit/circuit/library/standard_gates/x.py" signature="C4XGate(label=None, ctrl_state=None)" modifiers="class">
|
||
Bases: `qiskit.circuit.controlledgate.ControlledGate`
|
||
|
||
The 4-qubit controlled X gate.
|
||
|
||
This implementation is based on Page 21, Lemma 7.5, of \[1], with the use of the relative phase version of c3x, the rc3x \[2].
|
||
|
||
**References**
|
||
|
||
\[1] Barenco et al., 1995. [https://arxiv.org/pdf/quant-ph/9503016.pdf](https://arxiv.org/pdf/quant-ph/9503016.pdf) \[2] Maslov, 2015. [https://arxiv.org/abs/1508.03273](https://arxiv.org/abs/1508.03273)
|
||
|
||
Create a new 4-qubit controlled X gate.
|
||
|
||
## Methods Defined Here
|
||
|
||
<span id="qiskit-circuit-library-c4xgate-control" />
|
||
|
||
### control
|
||
|
||
<Function id="qiskit.circuit.library.C4XGate.control" signature="C4XGate.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**
|
||
|
||
[ControlledGate](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")
|
||
</Function>
|
||
|
||
<span id="qiskit-circuit-library-c4xgate-inverse" />
|
||
|
||
### inverse
|
||
|
||
<Function id="qiskit.circuit.library.C4XGate.inverse" signature="C4XGate.inverse()">
|
||
Invert this gate. The C4X is its own inverse.
|
||
</Function>
|
||
|
||
## Attributes
|
||
|
||
### ctrl\_state
|
||
|
||
<Attribute id="qiskit.circuit.library.C4XGate.ctrl_state">
|
||
Return the control state of the gate as a decimal integer.
|
||
|
||
**Return type**
|
||
|
||
`int`
|
||
</Attribute>
|
||
|
||
### decompositions
|
||
|
||
<Attribute id="qiskit.circuit.library.C4XGate.decompositions">
|
||
Get the decompositions of the instruction from the SessionEquivalenceLibrary.
|
||
</Attribute>
|
||
|
||
### definition
|
||
|
||
<Attribute id="qiskit.circuit.library.C4XGate.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`
|
||
</Attribute>
|
||
|
||
### duration
|
||
|
||
<Attribute id="qiskit.circuit.library.C4XGate.duration">
|
||
Get the duration.
|
||
</Attribute>
|
||
|
||
### label
|
||
|
||
<Attribute id="qiskit.circuit.library.C4XGate.label">
|
||
Return instruction label
|
||
|
||
**Return type**
|
||
|
||
`str`
|
||
</Attribute>
|
||
|
||
### name
|
||
|
||
<Attribute id="qiskit.circuit.library.C4XGate.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`
|
||
</Attribute>
|
||
|
||
### num\_ctrl\_qubits
|
||
|
||
<Attribute id="qiskit.circuit.library.C4XGate.num_ctrl_qubits">
|
||
Get number of control qubits.
|
||
|
||
**Returns**
|
||
|
||
The number of control qubits for the gate.
|
||
|
||
**Return type**
|
||
|
||
int
|
||
</Attribute>
|
||
|
||
### params
|
||
|
||
<Attribute id="qiskit.circuit.library.C4XGate.params">
|
||
Get parameters from base\_gate.
|
||
|
||
**Returns**
|
||
|
||
List of gate parameters.
|
||
|
||
**Return type**
|
||
|
||
list
|
||
|
||
**Raises**
|
||
|
||
**CircuitError** – Controlled gate does not define a base gate
|
||
</Attribute>
|
||
|
||
### unit
|
||
|
||
<Attribute id="qiskit.circuit.library.C4XGate.unit">
|
||
Get the time unit of duration.
|
||
</Attribute>
|
||
</Class>
|
||
|