qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator
class qiskit_noise_learning.circuit_generator.ExecutorCircuitGenerator(gate_set: QiskitGateSet, creg_prefix: str = 'meas', local_clifford_ref_prefix: str = 'c', pass_manager: PassManager | None = None)
基底: CircuitGenerator[QuantumProgram, QuantumProgramResult]
QiskitゲートのシーケンスをSamplex項目に変換する回路ジェネレータ。
パラメーター
- gate_set – このジェネレータが生成を行う対象となるQiskitのゲートセット。
- creg_prefix – 命令シーケンスの測定で使用されるすべてのcreg名に割り当てられるプレフィックス。 デフォルトは
"meas". です。 - local_clifford_ref_prefix – テンプレート回路内のすべてのローカル・クリフォードパラメータ参照に割り当てられるプレフィックス。 デフォルトは
"c". です。 - pass_manager – によって生成されるすべてのテンプレート回路に適用
PassManagerするオプションですExecutorCircuitGenerator.generate()。 パスマネージャーは、既存の回路の詳細(例えば、量子ビットの順序変更や測定名の変更など)を変更してはならない。
命令シーケンスの先頭にある純粋な準備ゲート(演算が含まれて prep_idxs いないゲート)は、テンプレート回路において明示的にボックスとして含まれません。 その代わりに、準備状態に関連する単一量子ビットゲート(例えば、基底回転)は、後続のボックスの「左ドレッシング」に組み込まれる。
__init__
__init__(gate_set: QiskitGateSet, creg_prefix: str = 'meas', local_clifford_ref_prefix: str = 'c', pass_manager: PassManager | None = None)
方法
コラム「 1 」 | コラム「 2 」 |
|---|---|
__init__(gate_set[, creg_prefix, ...]) | |
collect(結果) | 特定の実行フレームワークからのデータを、標準形式に変換する。 |
generate(実験) | 指定された実験から、新しい実験タスクを生成します。 |
generate_samplex_item(instruction_sequences,...) | 同じ構造を持つ命令シーケンスから、サンプレックス項目を生成します。 |
generate_samplex_items(...) | 命令シーケンスからサンプレックス項目を生成する。 |
partition(シーケンス) | 同一の生成出力を共有できる命令シーケンスの位置を分割する。 |
属性
コラム「 1 」 | コラム「 2 」 |
|---|---|
gate_set | このジェネレータが構築するゲートセット。 |
gate_set
種類: QiskitGateSet
このジェネレータが構築するゲートセット。
collect
static collect(result)
特定の実行フレームワークからのデータを、標準形式に変換する。
generate
generate(experiment)
指定された実験から、新しい実験タスクを生成します。
generate_samplex_items
generate_samplex_items(instruction_sequences: list[InstructionSequence], num_randomizations: int) → tuple[list[SamplexItem], ExecutorDataMapper]
命令シーケンスからサンプレックス項目を生成する。
パラメーター
- instruction_sequences – 回路を生成する対象となる命令シーケンス。
- num_randomizations – シーケンスごとのランダム化の回数。
戻り値
samplex 項目のタプルとデータマッパー。
generate_samplex_item
generate_samplex_item(instruction_sequences: list[InstructionSequence], num_randomizations: int) → tuple[SamplexItem, list[str], dict[str, ndarray[int]]]
同じ構造を持つ命令シーケンスから、サンプレックス項目を生成します。
すべてのツイールされたボックスは左ドレッシングでなければならない。蓄積された値は、各ボックスの左ドレッシングの局所クリフォードとして放出される PartialPauliPermutation ため、右ドレッシングのツイールはサポートされず、例外が発生する。
パラメーター
- instruction_sequences – 生成する類似の命令シーケンス。
- num_randomizations – シーケンスごとのランダム化の回数。
戻り値
引数の順序が instruction_sequences、creg名の順序付きリストと、creg名を各古典ビットに測定された物理量子ビットのインデックスに、古典ビット順で対応付ける辞書に対応するsamplex項目。
昇給
- ValueError –
instruction_sequencesが空の場合。 - ValueError – 命令シーケンスのいずれかが不完全な場合。
- ValueError – 命令シーケンスのいずれかの構造が異なる場合。
- ValueError – ツイールされたボックスが左揃えでない場合。