Skip to main content
IBM Quantum Platform

BaseEstimatorV1

class qiskit.primitives.BaseEstimatorV1(*, options=None)

GitHub

ベース: BasePrimitiveV1, Generic[T]

EstimatorV1 実装のための基本クラス。

Qiskitの参照推定量は、代わりに EstimatorV2 インタフェース仕様に従うことに注意してください。

量子回路と観測値の組み合わせに対して期待値を計算する。

の実装は BaseEstimatorV1BaseEstimatorV1._run() の実装は、パブリック向けの qiskit.primitives.BaseEstimatorV1.run()メソッドを定義する必要があります:

  • 量子回路 ( ψi(θ)\psi_i(\theta) ): (パラメータ化された)量子回路のリスト(オブジェクトのリスト)。 QuantumCircuit オブジェクトのリスト)。
  • observables ( HjH_j ): オブジェクトのリスト。 SparsePauliOp オブジェクトのリストです。
  • parameter values ( θk\theta_k ): 量子回路のパラメータに束縛される値の集合のリスト(浮動小数点数のリスト)。

このメソッドは オブジェクト JobV1 を返します。 この関数を呼び出すと、期待値のリストに加え、推定値の信頼区間 qiskit.providers.JobV1.result() などのオプションのメタデータが返されます。

ψi(θk)Hjψi(θk)\langle\psi_i(\theta_k)|H_j|\psi_i(\theta_k)\rangle

以下は BaseEstimatorV1 の使用例である:

# This is a fictional import path.
# There are currently no EstimatorV1 implementations in Qiskit.
from estimator_v1_location import EstimatorV1
from qiskit.circuit.library import RealAmplitudes
from qiskit.quantum_info import SparsePauliOp

psi1 = RealAmplitudes(num_qubits=2, reps=2)
psi2 = RealAmplitudes(num_qubits=2, reps=3)

H1 = SparsePauliOp.from_list([("II", 1), ("IZ", 2), ("XI", 3)])
H2 = SparsePauliOp.from_list([("IZ", 1)])
H3 = SparsePauliOp.from_list([("ZI", 1), ("ZZ", 1)])

theta1 = [0, 1, 1, 2, 3, 5]
theta2 = [0, 1, 1, 2, 3, 5, 8, 13]
theta3 = [1, 2, 3, 4, 5, 6]

estimator = EstimatorV1()

# calculate [ <psi1(theta1)|H1|psi1(theta1)> ]
job = estimator.run([psi1], [H1], [theta1])
job_result = job.result() # It will block until the job finishes.
print(f"The primitive-job finished with result {job_result}")

# calculate [ <psi1(theta1)|H1|psi1(theta1)>,
#             <psi2(theta2)|H2|psi2(theta2)>,
#             <psi1(theta3)|H3|psi1(theta3)> ]
job2 = estimator.run([psi1, psi2, psi1], [H1, H2, H3], [theta1, theta2, theta3])
job_result = job2.result()
print(f"The primitive-job finished with result {job_result}")

EstimatorV1 を初期化する。

パラメーター

options (dict | None) – デフォルトのオプション。


属性

options

推定値のオプション値を返す。

戻り値

オプション


方法

run

run(circuits, observables, parameter_values=None, **run_options)

GitHub

期待値の推定を実行する。

circuits observables と は同じ長さでなければならない。 parameter_values 結果のi番目の要素は、観測可能な

obs = observables[i]

が作成した

circ = circuits[i]

束縛されたパラメータを持つ

values = parameter_values[i]

パラメーター

  • circuits (Sequence[QuantumCircuit] | QuantumCircuit) – 1つ以上の回路オブジェクト。
  • observables (Sequence[BaseOperator | str] | BaseOperator | str) – 一つ以上の観測可能な対象物。 いくつかの形式が許可されています。重要な点として、stringオブジェクト Paulistr の文字列表現形式に従う必要があります。
  • parameter_values (Sequence[Sequence[float]] | Sequence[float] | float | None) – バインドされる具体的なパラメータ。
  • run_options - 回路実行に使用されるランタイム・オプション。

戻り値

EstimatorResult のジョブオブジェクト。

レイズ

  • TypeError - 無効な引数タイプが指定されました。
  • ValueError - 無効な引数値が指定されました。

戻りの型

T

set_options

set_options(**fields)

GitHub

推定値のオプション値を設定する。

パラメーター

** fields - オプションを更新するフィールド

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。