MCXRecursivo
class qiskit.circuit.library.MCXRecursive(num_ctrl_qubits=None, label=None, ctrl_state=None, *, _base_label=None)
Bases: MCXGate
Implementa la puerta X multicontrolada utilizando recursividad.
Utilizando un único qubit ancilla limpio, la puerta X multicontrolada se divide en cuatro subregistros, cada uno de los cuales utiliza el método de la cadena en V.
El método se basa en el Lemma 9 de [2], mostrado por primera vez en el Lemma 7.3 de [1].
Referencias
- Barenco et al., 1995. https://arxiv.org/pdf/quant-ph/9503016.pdf
- Iten et al., 2015. https://arxiv.org/abs/1501.06911
Crear nueva puerta MCX.
Métodos
Parámetros
get_num_ancilla_qubits
static get_num_ancilla_qubits(num_ctrl_qubits, mode='recursion')
Obtén el número de qubits ancilla necesarios.
Parámetros
inverse
inverse(annotated=False)
Invierte esta puerta. El MCX es su propia inversa.
Parámetros
annotated (bool) – cuando se establece en True, esto se utiliza normalmente para devolver un AnnotatedOperation con un modificador inverso en lugar de un Gate. Sin embargo, para esta clase se ignora este argumento ya que esta puerta es autoinversible.
Devuelve
puerta inversa (autoinversa).
Tipo de retorno