qiskit.circuit.library.excitation_preserving
qiskit.circuit.library.excitation_preserving(num_qubits, mode='iswap', entanglement='full', reps=3, skip_unentangled_qubits=False, skip_final_rotation_layer=False, parameter_prefix='θ', insert_barriers=False, name='ExcitationPreserving')
Der heuristische anregungserhaltende Wellenfunktionsansatz.
Die Schaltung excitation_preserving bewahrt das Verhältnis der Zustände , und . Zu diesem Zweck verwendet diese Schaltung Zwei-Qubit-Wechselwirkungen der Form
für den Modus "fsim" oder mit für den Modus "iswap".
Man beachte, dass auch andere Wellenfunktionen, wie z. B. UCC-Ansätze, anregungserhaltend sind. Diese können jedoch schnell komplex werden, während diese heuristisch motivierte Schaltung einem einfacheren Muster folgt.
Diese Testwellenfunktion besteht aus Schichten von Rotationen nach dem Prinzip „ “ mit 2-Qubit-Verschränkungen. Die Verschränkung wird mithilfe von Rotationen vom Typ „ “ und optional einem Phasen-Gatter für den Modus erzeugt "fsim".
Beispiele:
Bei linearer Verschränkung ist diese Schaltung gegeben durch:
from qiskit.circuit.library import excitation_preserving
ansatz = excitation_preserving(3, reps=1, insert_barriers=True, entanglement="linear")
ansatz.draw("mpl")
Die Verschränkungsstruktur kann explizit mit dem Argument entanglement angegeben werden. Der Modus "fsim" enthält eine zusätzliche parametrisierte CPhaseGate in jedem Block:
ansatz = excitation_preserving(3, reps=1, mode="fsim", entanglement=[[0, 2]])
ansatz.draw("mpl")

Parameter
- num_qubits (int) – Die Anzahl der Qubits.
- mode (str) – Wählen Sie den Entangler-Modus, entweder "iswap" oder "fsim".
- reps (int) – Gibt an, wie oft die Struktur einer Rotationsschicht gefolgt von einer Verschränkungsschicht wiederholt wird.
- entanglement (str |Iterable[Iterable[int]] | Iterable[str |Iterable[Iterable[int]]] | Callable[[int], str |Iterable[Iterable[int]] | Iterable[str |Iterable[Iterable[int]]]]) – Die Indizes, die angeben, auf welche Qubits die Eingabeblöcke wirken. Siehe
n_local()für detaillierte Informationen. - skip_final_rotation_layer (bool) – Ob dem Stromkreis eine abschließende Rotationsschicht hinzugefügt wird.
- skip_unentangled_qubits (bool) – Wenn
True, wirken die Rotationsgatter nur auf verschränkte Qubits. WennFalse, wirken die Rotationsgatter auf alle Qubits. - parameter_prefix (str) – Der Name der freien Parameter.
- insert_barriers (bool) – Bei True werden zwischen den einzelnen Ebenen Barrieren eingefügt. Wenn False, werden keine Barrieren eingefügt.
- name (str) – Der Name des Stromkreises.
Rückgabe
Eine erregungserhaltende Schaltung.
Rückgabetyp