MCXRecursive
class qiskit.circuit.library.MCXRecursive(num_ctrl_qubits=None, label=None, ctrl_state=None, *, _base_label=None)
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
- Barenco et al, 1995. https://arxiv.org/pdf/quant-ph/9503016.pdf
- Iten et al, 2015. https://arxiv.org/abs/1501.06911
Créer une nouvelle porte MCX.
Méthodes
Paramètres
get_num_ancilla_qubits
static get_num_ancilla_qubits(num_ctrl_qubits, mode='recursion')
Obtenir le nombre de qubits ancillaires requis.
Paramètres
inverse
inverse(annotated=False)
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