Lärmmanagement
qiskit_addon_utils.noise_management
Instrumente zur Lärmbekämpfung.
trex_factors
trex_factors(measurement_noise_map, basis_dict, /)
Berechnet den Erwartungswert-Skalierungsfaktor des TREX-Minderungsalgorithmus für jeden Pauli-Term in basis_dict.
Berechnet für jeden nicht-identischen Pauli-Term in jedem Observablen unter Verwendung des gelernten Messrauschens die Größe „ “, wobei die Nicht-Identitätsindizes im Term sind.
Parameter
- measurement_noise_map (PauliLindbladMap) – Gelerntes Messrauschen im Format PauliLindbladMap.
- basis_dict (dict[Pauli, list[SparsePauliOp | None]]) – Zuordnung zwischen Maßbasen und Observablen, bei der der TREX-Algorithmus die Berechnung ihrer Erwartungswerte optimiert.
Rückgabe
Eine Liste von Numpy-Arrays mit Fließkommazahlen, die den Erwartungswert-Skalierungsfaktor des TREX-Milderungsalgorithmus für jeden Pauli-Term in jeder Beobachtungsgröße in jeder Basis im angegebenen basis_dict darstellen.
gamma_from_noisy_boxes
gamma_from_noisy_boxes(noise_models, box_id_to_noise_id, noise_scales_each_box=None)
Berechnen Sie den Gamma-Faktor für eine Schaltung anhand der Pauli-Lindblad-Rauschmodelle für die Boxen in dieser Schaltung.
Diese Funktion erwartet, dass die Rauschmodelle das Rauschen in der Schaltung darstellen und somit positive Lindblad-Raten aufweisen. Das zurückgegebene Gamma ist dasjenige, das mit den inversen Rauschkarten verbunden ist, die zur Auslöschung des Rauschens im Schaltkreis benötigt werden.
Parameter
- noise_models (dict[str, PauliLindbladMap]) – Diktat von Rauschmodell-IDs (Strings) und gelernten Rauschmodellen für jede einzelne verrauschte Box im Schaltkreis.
- box_id_to_noise_id (dict[str, str]) – Diktat von Box-IDs und Geräuschmodell-IDs.
- noise_scales_each_box (dict[str, ndarray] | None) – Diktat der Box-IDs und Faktoren, mit denen die Lindblad-Fehlerquoten jedes Generators im zugehörigen Rauschmodell neu skaliert werden sollen.
Rückgabe
Der Gamma-Faktor.
Erhöht
ValueError wenn die Länge eines Arrays in noise_scales_each_box nicht der Länge von rates der zugehörigen - PauliLindbladMap in noise_models entspricht.
Rückgabetyp
PostSelectionSummary
class PostSelectionSummary(primary_cregs, measure_map, edges, *, post_selection_suffix='_ps')
Basen: object
Eine Hilfsklasse zum Speichern der Eigenschaften eines Quantenschaltkreises, die für die Postselektion der Ergebnisse erforderlich sind.
Initialisieren Sie ein PostSelectionSummary Objekt.
Parameter
- primary_cregs (set[str]) – Die Namen der "primären" klassischen Register, d. h. derjenigen, die nicht mit dem Suffix post selection enden.
- measure_map (dict[int, tuple[str, int]]) – Eine Zuordnung zwischen Qubit-Indizes zu den Registern und Clbits, die eine Messung an diesen Qubits eindeutig definieren.
- edges (set[frozenset[int]]) – Eine Liste von Tupeln, die Paare von benachbarten Qubits definieren.
- post_selection_suffix (str) – Das Suffix der Postauswahlregister.
edges
Ein Satz von Kanten, die für die kantenbasierte Postauswahl berücksichtigt werden.
from_circuit
classmethod from_circuit(circuit, coupling_map, *, post_selection_suffix='_ps')
Initialisierung aus Quantenschaltungen.
Parameter
- circuit (QuantumCircuit) – Die Schaltung zur Erstellung einer Zusammenfassung von.
- coupling_map (CouplingMap |list[tuple[int, int]]) – Eine Kopplungskarte oder eine Liste von Tupeln, die Paare von benachbarten Qubits angeben.
- post_selection_suffix (str) – Ein festes Suffix, das an die Namen der klassischen Register angehängt wird, wenn diese kopiert werden.
Rückgabetyp
measure_map
Typ: dict[int, tuple[str, int]]
Eine Zuordnung von Qubit-Indizes zu den Registern und Clbit-Indizes, die zur Messung dieser Qubits verwendet werden.
post_selection_suffix
Typ: str
Das Suffix der Postauswahlregister.
primary_cregs
PostSelector
class PostSelector(summary)
Basen: object
Eine Klasse zur Verarbeitung der Ergebnisse von Quantenprogrammen auf der Grundlage der Ergebnisse von Post-Selection-Messungen.
Initialisieren Sie ein PostSelector Objekt.
Parameter
summary (PostSelectionSummary) – Eine Zusammenfassung der Schaltung, die gerade nachgewählt wird.
compute_mask
compute_mask(result, strategy=PostSelectionStrategy.NODE)
Berechnung von booleschen Masken, die angeben, welche Schüsse für das gegebene Ergebnis beibehalten oder verworfen werden sollen.
Diese Funktion vergleicht die Bits, die von jedem Paar von Mess- und Post-Selection-Messungen zurückgegeben werden, und identifiziert alle Bits, die nicht umgedreht werden konnten. Die Schüsse, die beibehalten werden sollen, werden in der zurückgegebenen Maske als True markiert, die Schüsse, die verworfen werden sollen, werden als False markiert.
Konstruktionsbedingt hat die zurückgegebene Maske dieselbe Form wie die Arrays im entsprechenden Ergebnis, jedoch mit einer Dimension weniger (die letzte Achse jedes Arrays, über clbits, ist in der Maske nicht vorhanden).
Parameter
- result (dict[str, ndarray[tuple[int, ...], dtype[bool]]]) – Das Ergebnis wird nachbearbeitet. Es muss sich um eine
QuantumProgramResulthandeln, die ein einzelnes Element oder ein Wörterbuch enthält. - strategy (str | PostSelectionStrategy) – Die für die Verarbeitung des Ergebnisses verwendete Nachselektionsstrategie.
Rückgabetyp
from_circuit
classmethod from_circuit(circuit, coupling_map, *, post_selection_suffix='_ps')
Initialisierung aus Quantenschaltungen.
Parameter
- schaltkreise - Die Schaltkreise zur Verarbeitung der Ergebnisse.
- coupling_map (CouplingMap |list[tuple[int, int]]) – Eine Kopplungskarte oder eine Liste von Tupeln, die Paare von benachbarten Qubits angeben.
- post_selection_suffix (str) – Ein festes Suffix, das an die Namen der klassischen Register angehängt wird, wenn diese kopiert werden.
- circuit (QuantumCircuit)
Rückgabetyp
summary
Typ: PostSelectionSummary
Eine Zusammenfassung der Schaltung, die gerade nachgewählt wird.