MCMTVCadena
class qiskit.circuit.library.MCMTVChain(gate, num_ctrl_qubits, num_target_qubits)
Bases: MCMT
La implementación de MCMT utilizando la cadena en V CCX.
Esta implementación requiere ancillas pero se descompone en un circuito mucho menos profundo que la implementación por defecto en MCMT.
Circuito ampliado:

Ejemplos
>>> from qiskit.circuit.library import HGate
>>> MCMTVChain(HGate(), 3, 2).draw()q_0: ──■────────────────────────■──
│ │
q_1: ──■────────────────────────■──
│ │
q_2: ──┼────■──────────────■────┼──
│ │ ┌───┐ │ │
q_3: ──┼────┼──┤ H ├───────┼────┼──
│ │ └─┬─┘┌───┐ │ │
q_4: ──┼────┼────┼──┤ H ├──┼────┼──
┌─┴─┐ │ │ └─┬─┘ │ ┌─┴─┐
q_5: ┤ X ├──■────┼────┼────■──┤ X ├
└───┘┌─┴─┐ │ │ ┌─┴─┐└───┘
q_6: ─────┤ X ├──■────■──┤ X ├─────
└───┘ └───┘
La clase qiskit.circuit.library.generalized_gates.mcmt.MCMTVChain está obsoleta a partir de Qiskit 1.4. Se retirará como muy pronto 3 meses después de la fecha de publicación. En su lugar, utilice MCMTGate con el complemento de síntesis de cadena en V.
Atributos
Parámetros
- gate (Gate | Callable[[QuantumCircuit, circuit.Qubit, circuit.Qubit], circuit.Instruction])
- num_ctrl_qubits (int)
- num_target_qubits (int)
num_ancilla_qubits
Devuelve el número de qubits ancilla necesarios.
name
Tipo: str
Un nombre legible para el circuito.
Ejemplo
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuit