Skip to main content
IBM Quantum Platform

MCXRecursivo

class qiskit.circuit.library.MCXRecursive(num_ctrl_qubits=None, label=None, ctrl_state=None, *, _base_label=None)

GitHub

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

  1. Barenco et al., 1995. https://arxiv.org/pdf/quant-ph/9503016.pdf
  2. Iten et al., 2015. https://arxiv.org/abs/1501.06911

Crear nueva puerta MCX.


Métodos

Parámetros

  • num_ctrl_qubits (int | None)
  • label (str | None)
  • ctrl_state (int |str | None)

get_num_ancilla_qubits

static get_num_ancilla_qubits(num_ctrl_qubits, mode='recursion')

GitHub

Obtén el número de qubits ancilla necesarios.

Parámetros

  • num_ctrl_qubits (int)
  • mode (str)

inverse

inverse(annotated=False)

GitHub

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

MCXRecursivo

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.