Dienstprogramme
qiskit_addon_slc.utils
Verschiedene Dienstprogramme.
Dieses Modul stellt eine Reihe von Hilfsfunktionen bereit. Einige davon sind nur vorübergehend vorhanden, um offene Probleme des „ Qiskit SDK “ zu umgehen. In diesem Fall werden sie entsprechend gekennzeichnet und können ohne Vorankündigung oder weitere Benachrichtigung entfernt werden.
find_indices
find_indices(circuit, bits_or_instruction, /)
Ermitteln Sie die Qubit-Indizes der angegebenen Bit-Indizes oder Schaltanweisungen.
Diese Funktion gilt nicht als Teil der stabilen API! Sie wird ohne Vorwarnung oder Veraltungshinweis entfernt, sobald dieselbe Funktionalität nativ von der „ Qiskit SDK “ unterstützt wird. Weitere Einzelheiten finden Sie in dieser Ausgabe.
Parameter
- circuit (QuantumCircuit) – der Quantenschaltkreis, dessen Qubit-Indizes ermittelt werden sollen.
- bits_or_instruction (Bit |CircuitInstruction |Sequence[Bit]) – die Bits, deren Indizes ermittelt werden sollen. Wenn es sich um ein handelt
CircuitInstruction, werden die Qubits verwendet, auf die diese Anweisung wirkt.
Rückgabe
Die Indizes der abgefragten Bits in den Registern der Schaltung. Wurde ein Einzelbit-Objekt übergeben, int wird als dessen Index ein Einzelbit zurückgegeben. Andernfalls ist der Rückgabetyp ein, dessen list[int] Länge der Anzahl der bereitgestellten Bits entspricht.
Erhöhungen
TypeError – wenn ein unerwarteter Typ bereitgestellt wird bits_or_instruction .
Rückgabetyp
generate_noise_model_paulis
generate_noise_model_paulis(instructions, coupling_map=None, circuit=None)
Erstellen Sie die Pauli-Terme mit den Gewichten 1 und 2 für jede der angegebenen eindeutigen Schichtenboxen „ 2q “.
Parameter
- instructions (list[CircuitInstruction]) – die Ausgabe von
find_unique_box_instructions(). Es wird davon ausgegangen, dass jede der bereitgestellten Anweisungen entweder ausschließlich aus Messgattern besteht oder einer Schicht von 2-Qubit-Gatteranweisungen entspricht. Im ersten Fall enthält das generierte Rauschmodell nur Einzel-Qubit-FehlerX, im zweiten Fall werden alle Pauli-Fehler mit Gewichtung 1 und 2 auf der reduzierten Kopplungskarte berücksichtigt. - coupling_map (CouplingMap | None) – die Kopplungskarte des Backends, auf der die Befehle angeordnet wurden. In diesem Fall wird eine 1d -Reihe von Qubits angenommen
None. - circuit (QuantumCircuit | None) – die transpilierte Schaltung, die auf der bereitgestellten Kopplungskarte ausgelegt wurde. Dies gilt möglicherweise nur dann,
Nonewenn ebenfalls istcoupling_map``None.
Rückgabe
Ein Wörterbuch, das die Attribute ref der InjectNoise Annotation jeder einzelnen Box den Pauli-Termen mit Gewicht 1 und 2 zuordnet, deren Fehler für diese Box gelernt wurden.
Rückgabetyp
dict [ str, QubitSparsePauliList ]
get_extremal_eigenvalue
get_extremal_eigenvalue(spo, **kwargs)
Ermittelt den Extremal-Eigenwert des angegebenen Operators.
Dadurch wird der angegebene Operator in eine spärliche Matrix umgewandelt, deren kleinster Eigenwert ermittelt werden soll.
Die derzeitige Implementierung ist in Bezug auf die Leistung definitiv nicht optimiert.
Parameter
-
spo (SparsePauliOp) – der Operator, dessen kleinster Eigenwert ermittelt werden soll.
-
kwargs –
zusätzliche Schlüsselwortargumente für
davidson1(). Sofern nicht anders angegeben, gelten die folgenden Standardeinstellungen:- tol: 1e-6
- max_cycle: 500
- max_space: 12
- lindep: 1e-11
- max_memory: 2000
Für alle anderen Werte gelten die Standardwerte von „ PySCF’s “.
Rückgabe
Ein Paar, das angibt, ob der Davidson-Algorithmus konvergiert ist, sowie den ermittelten minimalen Eigenwert.
Rückgabetyp
iter_circuit
iter_circuit(circuit, *, reverse=False, log_process=True)
Durchläuft die Befehle in einer Schaltung.
Diese Funktion wird rekursiv auf die Anweisungen BoxOp angewendet.
Widerstände im Stromkreis werden ignoriert.
Parameter
- circuit (QuantumCircuit) – die Schleife, die durchlaufen werden soll.
- reverse (bool) – ob die Schaltung in umgekehrter Reihenfolge durchlaufen werden soll.
- log_process (bool) – ob der Prozess protokolliert werden soll.
Ergiebigkeit
Tupel der Länge vier, bestehend aus der angetroffenen Schaltanweisung, den kanonischen Qubit-Indizes (d. h. den ganzzahligen Indizes der betroffenen Qubits im Kontext der Eingabe circuit) sowie den Attributen InjectNoise : und modifier_ref ref. Die beiden letztgenannten Elemente könnten auf eine Schaltungsanweisung None hinweisen, die nicht Teil eines entrollten. war BoxOp.
Rückgabetyp
Generator [ Tupel [ CircuitInstruction, Liste [ int ], Zeichenkette | None, Zeichenkette | None]]
map_modifier_ref_to_ref
map_modifier_ref_to_ref(circuit)
Eine Schaltung durchlaufen und Anmerkungsreferenzen InjectNoise zuordnen.
Parameter
circuit (QuantumCircuit) – die Schleife, die durchlaufen werden soll.
Rückgabe
Ein Wörterbuch, das jedes Element auf InjectNoise.modifier_ref sein entsprechendes Element abbildet InjectNoise.ref.
Rückgabetyp
remove_measure
remove_measure(circuit)
Entfernen Sie alle Measure Operationen aus der angegebenen Schaltung.
Diese Funktion wird rekursiv auf die Anweisungen BoxOp angewendet.
Parameter
circuit (QuantumCircuit) – die Schaltung, deren Messwerte entfernt werden sollen.
Rückgabe
Die Schaltung ohne jegliche Messvorgänge.
Rückgabetyp