Skip to main content
IBM Quantum Platform

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, /)

GitHub

Ermitteln Sie die Qubit-Indizes der angegebenen Bit-Indizes oder Schaltanweisungen.

Vorsicht

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

int | Liste [ int ]

generate_noise_model_paulis

generate_noise_model_paulis(instructions, coupling_map=None, circuit=None)

GitHub

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-Fehler X , 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, None wenn ebenfalls ist coupling_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)

GitHub

Ermittelt den Extremal-Eigenwert des angegebenen Operators.

Dadurch wird der angegebene Operator in eine spärliche Matrix umgewandelt, deren kleinster Eigenwert ermittelt werden soll.

Anmerkung

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

Tupel [ bool, float ]

iter_circuit

iter_circuit(circuit, *, reverse=False, log_process=True)

GitHub

Durchläuft die Befehle in einer Schaltung.

Anmerkung

Diese Funktion wird rekursiv auf die Anweisungen BoxOp angewendet.

Anmerkung

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)

GitHub

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

dict [ str, str ]

remove_measure

remove_measure(circuit)

GitHub

Entfernen Sie alle Measure Operationen aus der angegebenen Schaltung.

Anmerkung

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

QuantumCircuit

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.