Skip to main content
IBM Quantum Platform

BackendEstimatorV2

class qiskit.primitives.BackendEstimatorV2(*, backend, options=None)

GitHub

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 O=∑i=1NaiPiO=\sum_{i=1}^Na_iP_i, wobei aia_i eine komplexe Zahl und PiP_i ein Pauli-Operator ist, berechnet der Schätzer den Erwartungswert E(Pi)\mathbb{E}(P_i) von jedem PiP_i und schließlich den Erwartungswert von OO als E(O)=∑i=1NaiE(Pi)\mathbb{E}(O)=\sum_{i=1}^Na_i\mathbb{E}(P_i). Der gemeldete std wird berechnet als

∑i=1n∣ai∣Var(Pi)N ,\frac{\sum_{i=1}^{n}|a_i|\sqrt{\textrm{Var}\big(P_i\big)}}{\sqrt{N}}\:,

Var(Pi)\textrm{Var}(P_i) ist die Varianz von PiP_i, N=O(ϵ−2)N=O(\epsilon^{-2}) ist die Anzahl der Schüsse und ϵ\epsilon 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 in run(). Standardwert: 0.015625 (1 / sqrt(4096)).
  • abelian_grouping: Ob die Observablen in Gruppen von Qubit-weise kommutierenden Observablen gruppiert werden sollten. Standardwert: true
  • seed_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)

GitHub

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 ]]

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