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)
Basen: MCXGate
Implementierung des mehrfach gesteuerten X-Gatters mit einer V-Kette von CX-Gattern.
Parameter
- num_ctrl_qubits (int | None) – Anzahl der hinzuzufügenden Steuerelemente. Der Standardwert ist
1. - dirty_ancillas (bool) – auf
Truegesetzt wird, wendet die Methode ein optimiertes Multicontrolled-X-Gatter bis zu einer relativen Phase unter Verwendung von dirty ancillary qubits mit den Eigenschaften der Lemmata 7 und 8 aus arXiv:1501.06911 an, mit höchstens 8*k - 6 CNOT-Gattern. Für k innerhalb des Bereichs {1, …, ceil(n/2)}. Und für n, das die Gesamtzahl der Qubits darstellt. - label (str | None) – Optionale Beschriftung des Tors. Der Standardwert ist
None. - ctrl_state (int |str | None) – Der Steuerzustand des Gatters, angegeben entweder als Ganzzahl oder als Bitfolge (z. B.
"110"). WennNone, wird standardmäßig der Zustand „alles Einsen“ angenommen2**num_ctrl_qubits - 1 - relative_phase (bool) – bei
Truewendet die Methode das optimierte Multicontrolled-X-Gate bis zu einer relativen Phase an, und zwar so, dass sich nach Lemma 7 von arXiv:1501.06911 die relativen Phasen vonaction partmit den Phasen vonreset partaufheben. - action_only (bool) – wenn sie auf
Truegesetzt wird, wendet die Methode nur den Aktionsteil von Lemma 8 aus arXiv:1501.06911 an.
Methoden
get_num_ancilla_qubits
static get_num_ancilla_qubits(num_ctrl_qubits, mode='v-chain')
Ermittelt die Anzahl der benötigten Ancilla-Qubits.
Parameter
inverse
inverse(annotated=False)
Kehren Sie dieses Tor um. Der MCX ist sein eigenes Pendant.
Parameter
annotated (bool) – wenn sie auf True gesetzt ist, wird dies typischerweise verwendet, um eine AnnotatedOperation mit einem inversen Modifikator anstelle eines konkreten Gate. Für diese Klasse wird dieses Argument jedoch ignoriert, da dieses Tor selbstinvers ist.
Rückgabe
inverses Tor (selbstinvers).
Rückgabetyp