BackendEstimatorV2
class qiskit.primitives.BackendEstimatorV2(*, backend, options=None)
Basen: BaseEstimatorV2
Bewertet Erwartungswerte für vorgegebene Kombinationen von Quantenschaltungen und beobachtbaren Größen.
Die Klasse BackendEstimatorV2 klasse ist eine generische Implementierung der BaseEstimatorV2 schnittstelle, die verwendet wird, um ein BackendV2 objekt in der BaseEstimatorV2 API. Es erleichtert die Verwendung von Backends, die keine native BaseEstimatorV2 implementierung an Stellen, die mit BaseEstimatorV2. Wenn Sie jedoch einen Anbieter verwenden, der über eine native Implementierung von BaseEstimatorV2verwenden, ist es besser, diese native Implementierung zu nutzen, da sie wahrscheinlich zusätzliche Optimierungen enthält und eine effizientere Implementierung ist. Die generische Natur dieser Klasse schließt jegliche Provider- oder Backend-spezifischen Optimierungen aus.
Diese Klasse führt keine Messungen oder Torabschwächungen durch und ist derzeit nur mit Pauli-basierten Observablen kompatibel. Formal ausgedrückt: Bei einer Beobachtungsgröße vom Typ , wobei eine komplexe Zahl und ein Pauli-Operator ist, berechnet der Schätzer den Erwartungswert von jedem und schließlich den Erwartungswert von als . Der gemeldete std wird berechnet als
ist die Varianz von , ist die Anzahl der Schüsse und ist die Zielgenauigkeit [1].
Jedes Tupel von (circuit, observables, <optional> parameter values, <optional> precision), das als primitiver vereinheitlichter Schätzer-Block ( PUB ) bezeichnet wird, erzeugt sein eigenes array-basiertes Ergebnis. Die Methode run() methode kann eine Reihe von Pubs übergeben werden, die in einem Aufruf ausgeführt werden sollen.
Die Optionen für BackendEstimatorV2 bestehen aus den folgenden Elementen.
default_precision: Die Standardpräzision, die verwendet wird, wenn keine inrun(). Standardwert: 0.015625 (1 / sqrt(4096)).abelian_grouping: Ob die Observablen in Gruppen von Qubit-weise kommutierenden Observablen gruppiert werden sollten. Standardwert: trueseed_simulator: Das im Simulator zu verwendende Saatgut. Wenn Keine, wird ein Zufallswert verwendet. Standardwert: Ohne
Referenz:
[1] O. Crawford, B. van Straaten, D. Wang, T. Parks, E. Campbell, St. Brierley, Efficient quantum measurement of Pauli operators in the presence of finite sampling error. Quantum 5, 385
Parameter
- backend (BackendV2) – Das Backend, auf dem das Primitiv läuft.
- options (dict | None) – Die Optionen zur Steuerung der Standardpräzision (
default_precision), der Operatorgruppierung (abelian_grouping) und der Zufallsauswahl für den Simulator (seed_simulator).
Attribute
backend
Gibt das Backend zurück, auf dem dieses Schätzerobjekt basiert.
options
Rückgabe der Optionen
Methoden
run
run(pubs, *, precision=None)
Schätzen Sie die Erwartungswerte für jedes angebotene Lokal (Primitive Unified Bloc).
Parameter
- pubs (Iterable[TypeAliasForwardRef('EstimatorPubLike')]) – Eine Iterable aus pub-ähnlichen Objekten, wie beispielsweise Tupeln
(circuit, observables)oder(circuit, observables, parameter_values). - precision (float | None) – Die Zielgenauigkeit für die Erwartungswertschätzungen jedes Laufs Estimator Pub, der seine eigene Genauigkeit nicht angibt. Wenn Keine, wird der Standardpräzisionswert des Schätzers verwendet.
Rückgabe
Ein Auftragsobjekt, das Ergebnisse enthält.
Rückgabetyp
PrimitiveJob [ PrimitiveResult [ PubResult ]]