サンプラー
class Sampler(mode=None, options=None)
ベース: BaseSamplerV2
IBM Quantum Compute (旧称: Qiskit Runtime )用のクライアントサイド・サンプラープリミティブ。
これは、Executorプリミティブを基盤として構築されたSamplerの実装であり、より高速なフィードバックループと、ユーザーによるより高度な制御を可能にし、クライアントサイドでの透過的な処理を実現します。
制限事項
- ツイールが無効になっている場合、回路には
BoxOp命令を含めてはなりません。 - 動的デカップリングは、動的回路とは両立しない。
例
from qiskit import QuantumCircuit
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime.executor_sampler import Sampler
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
# Create a simple circuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0, 1)
circuit.measure_all()
# Run the sampler with options
sampler = Sampler(mode=backend)
sampler.options.default_shots = 2048
sampler.options.execution.init_qubits = True
job = sampler.run([circuit])
result = job.result()パラメーター
-
mode (BackendV2 | Session |Batch | None) –
プリミティブクエリを実行するために使用される実行モード。 これは以下のいずれかです。
実行モードの詳細については、『 IBM Quantum Compute 』のドキュメントを参照してください。
-
options (SamplerOptions) – サンプラーのオプション。 利用可能なすべてのオプション
SamplerOptionsについては、こちらをご覧ください。
属性
mode
このプリミティブで使用されている実行モードを返します。
戻り値
このプリミティブで使用されるモード、または実行モードが使用されない None 場合。
options
種類: SamplerOptions
このサンプラーのオプション。
方法
backend
finalize_options
finalize_options()
サンプラーのオプションを設定し、確定します。
このメソッドは、で説明されているように、twirling オプション None 内の を解決 run() することで、内の呼び出しで使用される最終的な インスタンス SamplerOptions を生成します TwirlingOptions。
戻り値
最終的な SamplerOptions オブジェクト。
戻りの型
find_unique_layers
find_unique_layers(pubs, types='gates')
指定されたタイプの指定されたPUB全体から、一意のボックス付きレイヤーを返します。
層の types 数は または "gates" のいずれかであり "all"、それぞれゲート層のみ、あるいはすべての層に対応します。 返されるリストには、入力のPUBに現れる、それぞれ異なるボックス化されたレイヤー(として表される CircuitInstruction)のインスタンスが1つずつ含まれます。
パラメーター
- pubs (Iterable[SamplerPubLike]) – 一意のボックスの一覧を返すPUBのリスト。
- types (Literal['gates', 'all']) – 返すレイヤーの種類。 か、
"gates"あるいは のいずれかです"all"。
戻り値
指定されたPUB全体に見られる、ある特定のタイプの独特な箱状の層。
戻りの型
リスト[CircuitInstruction]
run
run(pubs, *, shots=None, dry_run=False)
サンプラープリミティブにリクエストを送信します。
中程度から複雑なワークロードの場合、サンプラーの入力を実行者の入力にマッピングするためのクライアント側での処理は、リソースを大量に消費する可能性があり、関数の呼び出しからその実行 job が送信されるまでの間に遅延が生じる原因となる場合があります。 呼び出しの進行状況を確認するには、ロギング(レベル INFO )を設定することをお勧めします。詳細については、 IBM Quantum Compute のドキュメントを参照してください。
パラメーター
- pubs (Iterable[SamplerPubLike]) – パブのようなオブジェクトの反復可能オブジェクト。 たとえば、回路やタプルのリストなど
(circuit, parameter_values)。 - shots (int | None) – 独自のショット数を指定していない各サンプラーパブについて、サンプリング対象となるショットの総数。 その場合
None、からの値が使用されますoptions.default_shots。 - dry_run (bool) – の場合
True、QPU上でジョブを実行せずにドライランを実行します。 このモードを使用すると、ジョブの検証、使用量の推定、および回路のタイミングに関するメタデータの取得を行うことができます。 返される結果は、想定されるスキーマを維持していますが、実際の測定結果やシミュレーション結果ではなく、 ランダム化された模擬データが含まれています。 偽のバックエンドとは異なり、このドライランの処理はサーバー側で行われるため、ジョブがすぐに完了しない場合があり、この機能へのアクセスが制限される可能性があります。
戻り値
送信されたジョブ。
戻りの型
RuntimeJobV2 | LocalRuntimeJob