BaseEstimatorV1
class qiskit.primitives.BaseEstimatorV1(*, options=None)
ベース: BasePrimitiveV1, Generic[T]
EstimatorV1 実装のための基本クラス。
Qiskitの参照推定量は、代わりに EstimatorV2 インタフェース仕様に従うことに注意してください。
量子回路と観測値の組み合わせに対して期待値を計算する。
の実装は BaseEstimatorV1BaseEstimatorV1._run() の実装は、パブリック向けの qiskit.primitives.BaseEstimatorV1.run()メソッドを定義する必要があります:
- 量子回路 ( ): (パラメータ化された)量子回路のリスト(オブジェクトのリスト)。
QuantumCircuitオブジェクトのリスト)。 - observables ( ): オブジェクトのリスト。
SparsePauliOpオブジェクトのリストです。 - parameter values ( ): 量子回路のパラメータに束縛される値の集合のリスト(浮動小数点数のリスト)。
このメソッドは オブジェクト JobV1 を返します。 この関数を呼び出すと、期待値のリストに加え、推定値の信頼区間 qiskit.providers.JobV1.result() などのオプションのメタデータが返されます。
以下は 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)
期待値の推定を実行する。
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