qiskit_noise_learning.sequences.Path
class qiskit_noise_learning.sequences.Path(start_fragment: Iterable[T], repeatable_fragment: Iterable[T], end_fragment: Iterable[T], fragment_depth: int | None = None)
ベース: BaseSequence[FidelityIndex]
一連の忠実度指標。
パラメーター
- start_fragment – シーケンスの開始位置。
- repeatable_fragment – シーケンスの中で繰り返し可能な部分。
- end_fragment – シーケンスの終わり。
- fragment_depth – 繰り返し可能なフラグメントの繰り返し回数。
__init__
__init__(start_fragment: Iterable[T], repeatable_fragment: Iterable[T], end_fragment: Iterable[T], fragment_depth: int | None = None)
方法
コラム「 1 」 | コラム「 2 」 |
|---|---|
__init__(start_fragment,...[, fragment_depth]) | |
bind_at(fragment_depth) | フラグメント深度にバインドされた同じフラグメントを持つ新しいインスタンスを返します。 |
extend_permutations(命令_シーケンス) | 自身を走査するための、拡張された順列を含む命令シーケンスを返す。 |
fragment_sign_flips(命令_シーケンス) | その命令シーケンスのフラグメントが、self を走査する際に観測可能な符号を反転させるかどうか。 |
is_traversed_by(命令_シーケンス) | このパスが命令シーケンスによって実行されるかどうか。 |
to_instruction_sequence() | このパスを辿る、最小限に指定された命令シーケンスを返す。 |
unbind() | 同じフラグメントを持つが、フラグメントの深さが に設定された新しいインスタンスを返します None。 |
属性
コラム「 1 」 | コラム「 2 」 |
|---|---|
end_fragment | 最後の断片。 |
end_fragment_observable_idxs | 末端断片の観測可能な指標。 |
fragment_depth | 繰り返し可能なフラグメントの繰り返し回数。 |
is_unbound | そのシーケンスが未結合であるかどうか。 |
repeatable_fragment | 反復される断片。 |
repeatable_fragment_observable_idxs | 繰り返し断片の観測可能な指標。 |
start_fragment | 冒頭の断片。 |
start_fragment_observable_idxs | 開始フラグメントの観測可能な指標。 |
start_fragment_observable_idxs
repeatable_fragment_observable_idxs
end_fragment_observable_idxs
extend_permutations
extend_permutations(instruction_sequence: InstructionSequence) → InstructionSequence | None
自身を走査するための、拡張された順列を含む命令シーケンスを返す。
ある に対して instruction_sequence、この手法は、入力と同じ構造を持つ新しい命令シーケンスを構築することで、その定義を拡張しようと試みる。ただし、この新しい命令シーケンスでは、 PartialPauliPermutations が拡張され、このパスを辿るために必要な写像の最小超集合が指定されるようにされている。 これが不可能な場合、関数は を返し None、プロシージャが失敗したことを示します。
具体的なアルゴリズムに関しては、とを同時に反復処理している際に PartialPauliPermutationinstruction_sequence 、この手法は self 、パス上の現在のパウリを次の関連するにおけるパウリに写像するように、順列を拡張しようと試みます FidelityIndex。 なお、たとえそのパスを辿るスーパー命令シーケンスを見つけることが技術的には可能であったとしても、複数の順列が連続して発生する場合、これが障害につながる可能性があることに留意してください。
パラメーター
instruction_sequence – 基本命令シーケンス。
戻り値
拡張された命令シーケンス、あるいは拡張が不可能な None 場合は。
昇給
ValueError – の遷移が、恒等写像で始まらず、かつ恒等写像で終わらない self 場合。
is_traversed_by
is_traversed_by(instruction_sequence: InstructionSequence) → bool
このパスが命令シーケンスによって実行されるかどうか。
ある が によって走査される Path かどうかは、フラグメントごとに決定される InstructionSequence 。
パスは恒等元で始まり、恒等元で終わっている必要があります。
パラメーター
instruction_sequence – 命令シーケンス。
戻り値
そのパスが走破されるかどうか。
昇給
ValueError – パスが恒等元で始まらず、かつ恒等元で終わらない場合。
fragment_sign_flips
fragment_sign_flips(instruction_sequence: InstructionSequence) → tuple[bool, bool]
その命令シーケンスのフラグメントが、self を走査する際に観測可能な符号を反転させるかどうか。
パスは恒等元で始まり、恒等元で終わっている必要があります。 この手法では、パスおよび命令シーケンスのフラグメントの深さは無視され、フラグメントの構造のみに基づいて処理が行われます。
パラメーター
instruction_sequence – このパスを辿る命令シーケンス。
戻り値
ブール値のタプル。最初の要素は、開始フラグメントと終了フラグメントの組み合わせによって符号が反転するかどうかを示し、2番目の要素は、反復可能フラグメントによって符号が反転するかどうかを示します。
昇給
- ValueError – パスが前提条件を満たしていない場合。
- ValueError – 命令シーケンスがパスを辿らない場合。
to_instruction_sequence
to_instruction_sequence() → InstructionSequence
このパスを辿る、最小限に指定された命令シーケンスを返す。
ゲートセット要素間の単一クビットのクリフォード層は、 PartialPauliPermutations として与えられ、この経路をたどるために必要な写像のみを指定する。 返される命令シーケンスのフラグメント深度は です self.fragment_depth。
戻り値
このパスをたどる命令シーケンス。