MCXRecursive¶

class
MCXRecursive
(num_ctrl_qubits, label=None, ctrl_state=None)[source]¶ Bases:
qiskit.circuit.library.standard_gates.x.MCXGate
Implement the multicontrolled X gate using recursion.
Using a single ancilla qubit, the multicontrolled X gate is recursively split onto four subregisters. This is done until we reach the 3 or 4controlled X gate since for these we have a concrete implementation that do not require ancillas.
Create new MCX gate.
Methods Defined Here
Get the number of required ancilla qubits.
Invert this gate.
Attributes

condition_bits
¶ Get Clbits in condition.
 Return type
List
[Clbit
]

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_ancilla_qubits
¶ The number of ancilla qubits.

num_ctrl_qubits
¶ Get number of control qubits.
 Returns
The number of control qubits for the gate.
 Return type
int

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.
