Skip to main content
IBM Quantum Platform

MCXRecursive

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

GitHub

Bases : MCXGate

Implémenter la porte X multi-contrôlée en utilisant la récursivité.

En utilisant un seul qubit ancilla propre, la porte X multicontrôlée est divisée en quatre sous-registres, chacun d'eux utilisant la méthode de la chaîne en V.

La méthode est basée sur le lemme 9 de [2], montré pour la première fois dans le lemme 7.3 de [1.]

Références

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

Créer une nouvelle porte MCX.


Méthodes

Paramètres

  • 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

Obtenir le nombre de qubits ancillaires requis.

Paramètres

  • num_ctrl_qubits (int)
  • mode (str)

inverse

inverse(annotated=False)

GitHub

Inverser cette porte. Le MCX est son propre inverse.

Paramètres

annotated (bool) – lorsqu'il est défini sur True, il est généralement utilisé pour renvoyer un AnnotatedOperation avec un modificateur inverse au lieu d'un Gate. Cependant, pour cette classe, cet argument est ignoré car cette porte est auto-inverse.

Retours

porte inverse (auto-inverse).

Type de retour

MCXRecursive

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.