観測可能なグループ化
qiskit_addon_cutting.utils.observable_grouping
パウリ観測可能なグルーピングを行うためのモジュール。
observables_restricted_to_subsystem
observables_restricted_to_subsystem(qubits, global_observables, /)
各観測値を、与えられたサブシステム上のサポートに制限する。
A PauliList が提供された場合は PauliList が返される。そうでなければ、 list[Pauli] が返される。
パウリをスライスするときの標準的な動作と同じように、位相情報はすべて破棄される。
パラメーター
- qubits (Sequence[int]) – サブシステム内の量子ビット
- global_observables (Sequence[Pauli] | PauliList) – 観測値のリスト
戻りの型
[listPauli] |リストパウリ PauliList
戻り値
それぞれ Pauli サブシステムに制限される。
>>> observables_restricted_to_subsystem([1, 3], PauliList(["IXYZ", "iZZXX"]))
PauliList(['IY', 'ZX'])CommutingObservableGroup
class CommutingObservableGroup(general_observable, commuting_observables)
ベース: object
相互に量子ビット的に通約する観測量の集合。
パラメーター
commuting_observables
タイプ: list[Pauli]
同時に測定できる観測値。
general_observable
タイプ: Pauli
commuting_observables、すべてを測定するのに必要なすべての量子ビット単位の測定値を含む単一のパウリ文字列。
pauli_bitmasks
タイプ: list[int]
commuting_observables の各観測可能のためのビットマスク; 要素が与えられると、各ビットは、 pauli_indices の対応するエントリーがその観測可能性に関連するかどうかに対応する。
pauli_indices
タイプ: list[int]
非同一性のインデックス Pauliのインデックスは、 general_observable。
ObservableCollection
class ObservableCollection(observables, /)
ベース: object
効率的に測定を行うために整理された観測データの収集。
観測量は、自動的に、互いに量子ビット的に通約する観測量の集合に整理され、それぞれは CommutingObservableGroup.
メンバ変数を割り当てる。
パラメーター
observables (PauliList | Iterable[Pauli]) – 注目の観測値
construct_general_observables
static construct_general_observables(commuting_subobservables, /)
相互に通勤する観測値の各セットから、最も一般的な観測値を構築する。
特別な場合、高度なユーザは、各一般的な観測値に対して、デフォルトよりも多くの量子ビットを測定するために、この staticmethod をサブクラス化し、オーバーライドしたいと思うかもしれません。
戻りの型
パラメーター
groups
タイプ: list[CommutingObservableGroup]
のリスト。 CommutingObservableGroupのリストである。
lookup
タイプ: dict[Pauli, list[tuple[int, int]]]
各観測量を Pauli 各観測量をインデックス (i, j) のリスト、 groups の可換観測量にマップします。
リストの各要素に対して Pauli は i-th 群の j-th commuting observableによって与えられる。
このリストの長さは最小でも1であるが、複数のオブジェクトが互換性を持つ場合はもっと長くなる可能性がある。 CommutingObservableGroup オブジェクトが Pauli.