MCXVChain
class qiskit.circuit.library.MCXVChain(num_ctrl_qubits=None, dirty_ancillas=False, label=None, ctrl_state=None, *, _base_label=None, relative_phase=False, action_only=False)
Bases : MCXGate
Mettre en œuvre la porte X multicommandée à l'aide d'une chaîne en V de portes CX.
Paramètres
- num_ctrl_qubits (int | None) – Nombre de contrôles à ajouter. Prend par défaut la valeur
1. - dirty_ancillas (bool) – lorsqu'elle est fixée à
True, la méthode applique une porte X multicontrôlée optimisée jusqu'à une phase relative en utilisant des qubits auxiliaires sales avec les propriétés des lemmes 7 et 8 de arXiv:1501.06911, avec au plus 8*k - 6 portes CNOT. Pour k dans l'intervalle {1, …, ceil(n/2)}. Et pour n représentant le nombre total de qubits. - label (str | None) – Étiquette de portail (facultative). Prend par défaut la valeur
None. - ctrl_state (int |str | None) – L'état de commande de la porte, spécifié soit sous forme d'entier, soit sous forme de chaîne de bits (par exemple
"110"). SiNone, la valeur par défaut est l'état « tout à 1 ».2**num_ctrl_qubits - 1 - relative_phase (bool) – lorsqu'elle est définie sur
True, la méthode applique la porte multicontrôlée-X optimisée jusqu'à une phase relative, de telle sorte que, par le lemme 7 de arXiv:1501.06911, les phases relatives deaction parts'annulent avec les phases dereset part. - action_only (bool) – lorsqu'elle est fixée à
True, la méthode n'applique que la partie action du lemme 8 de arXiv:1501.06911.
Méthodes
get_num_ancilla_qubits
static get_num_ancilla_qubits(num_ctrl_qubits, mode='v-chain')
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