Tamil
மொழிகள்
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

qiskit.circuit.QuantumCircuit.mcx

QuantumCircuit.mcx(control_qubits, target_qubit, ancilla_qubits=None, mode='noancilla')[source]

Apply MCXGate.

The multi-cX gate can be implemented using different techniques, which use different numbers of ancilla qubits and have varying circuit depth. These modes are:

  • 'noancilla': Requires 0 ancilla qubits.

  • 'recursion': Requires 1 ancilla qubit if more than 4 controls are used, otherwise 0.

  • 'v-chain': Requires 2 less ancillas than the number of control qubits.

  • 'v-chain-dirty': Same as for the clean ancillas (but the circuit will be longer).

For the full matrix form of this gate, see the underlying gate documentation.

Parameters
  • control_qubits (Sequence[QubitSpecifier]) -- The qubits used as the controls.

  • target_qubit (QubitSpecifier) -- The qubit(s) targeted by the gate.

  • ancilla_qubits (QubitSpecifier | Sequence[QubitSpecifier] | None) -- The qubits used as the ancillae, if the mode requires them.

  • mode (str) -- The choice of mode, explained further above.

Returns

A handle to the instructions created.

Raises
  • ValueError -- if the given mode is not known, or if too few ancilla qubits are passed.

  • AttributeError -- if no ancilla qubits are passed, but some are needed.

Return type

InstructionSet