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

Implemente a porta X multicontrolada usando recursão.

Usando um único qubit de ancilla limpo, a porta X multicontrolada é dividida em quatro sub-registros, cada um deles usando o método de cadeia V.

O método é baseado no Lema 9 de [2], mostrado pela primeira vez no Lema 7.3 de [1].

Referências

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

Criar uma nova porta 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

Obtenha o número de qubits de ancilla necessários.

Parâmetros

  • num_ctrl_qubits (int)
  • mode (str)

inverse

inverse(annotated=False)

GitHub

Inverta essa porta. O MCX é seu próprio inverso.

Parâmetros

annotated (bool) – quando definido como True, normalmente é usado para retornar um AnnotatedOperation com um modificador inverso definido em vez de um Gate. No entanto, para essa classe, esse argumento é ignorado, pois essa porta é auto-inversa.

Retorna

porta inversa (auto-inversa).

Tipo de retorno

MCXRecursivo

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.