BackendEstimatorV2
class qiskit.primitives.BackendEstimatorV2(*, backend, options=None)
ベース: BaseEstimatorV2
提供された量子回路と観測値の組み合わせに対する期待値を評価する。
この BackendEstimatorV2 クラスは BaseEstimatorV2 インターフェイスの一般的な実装です。 BackendV2 オブジェクトを BaseEstimatorV2 APIです。 これは、ネイティブな実装を提供しないバックエンドの使用を容易にする。 BaseEstimatorV2 で動作する場所でのネイティブな実装を提供しないバックエンドの使用を容易にする。 BaseEstimatorV2. のネイティブ実装を持つプロバイダーを使用している場合は、そのネイティブ実装を活用する方がよい選択です。 BaseEstimatorV2のネイティブ実装を持つプロバイダを使用している場合は、そのネイティブ実装を活用する方がよい選択です。 このクラスはジェネリックなので、プロバイダーやバックエンドに特化した最適化はできない。
このクラスは測定やゲートの緩和は行わず、現在のところ、パウリに基づく観測量にのみ対応している。 より正式には、 、 が複素数、 がパウリ演算子であるタイプの観測値が与えられた場合、推定器は各 の期待値 を計算し、最終的に の期待値を として計算する。報告された std は次のように計算される
ここで、 は の分散、 はショット数、 は目標精度 [1] である。
推定プリミティブ統一ブロック( PUB )と呼ばれる (circuit, observables, <optional> parameter values, <optional> precision) の各タプルは、それ自身の配列ベースの結果を生成する。 この run() メソッドには、1回の呼び出しで実行する一連のパブを指定することができる。
のオプションは以下の項目からなる。 BackendEstimatorV2 のオプションは以下の項目からなる。
default_precision:で何も指定されていない場合に使用するデフォルトの精度。run(). デフォルト: 0.015625 (1 / sqrt(4096))。abelian_grouping:観測値を準ビット的に通約する観測値の集合にグループ化するかどうか。 デフォルト: True。seed_simulator:シミュレーターで使用するシード。 Noneの場合、ランダムシードが使用される。 デフォルト: なし。
参照:
[1] O. クロフォード、B.ヴァン・シュトラーテン、D.ワン、T.パークス、E.キャンベル、St.ブライアリー、有限サンプリング誤差の存在下でのパウリ作用素の効率的量子測定。 量子5, 385
パラメーター
- backend (BackendV2) – プリミティブを実行するバックエンド。
- options (dict | None) – デフォルトの精度(
default_precision)、演算子のグループ化(abelian_grouping)、シミュレータのランダムシード(seed_simulator)を制御するオプション。
属性
backend
この推定器オブジェクトの基となっているバックエンドを返します。
options
オプションを返す
方法
run
run(pubs, *, precision=None)
提供された各パブ(Primitive Unified Bloc)の期待値を推定する。
パラメーター
- pubs (Iterable[TypeAliasForwardRef('EstimatorPubLike')]) – タプル
(circuit, observables)やなどの、pubのようなオブジェクト(circuit, observables, parameter_values)の反復可能オブジェクト。 - precision (float | None) – 独自の精度を指定しない各ランEstimator Pubの期待値推定値の目標精度。 None の場合、推定値のデフォルト精度が使用されます。
戻り値
結果を含むジョブ・オブジェクト。
戻りの型
プリミティブジョブ [ プリミティブリザルト [ パブリックリザルト ]]