PauliProductMeasurement
class qiskit.circuit.library.PauliProductMeasurement(pauli, label=None)
ベース: Instruction
パウリ積測定手順書
パウリ積測定は、耐障害性量子計算における基本操作である。 数学的には、これは複数の量子ビットに対する共同射影測定に対応し、測定される観測量はパウリ演算子のテンソル積である。 この測定の結果は単一の固有値であり、 または のいずれかとなり、パウリ積の固有状態を示す。
参照資料:
[1] ダニエル・リティンスキー 「表面コードのゲーム:格子手術による大規模量子計算」 arXiv:1808.02892
パラメーター
- pauli (qiskit.quantum_info.Pauli) – 測定を定義するパウリ演算子のテンソル積、例えば
Pauli("XY")またはPauli("-XYIZ")。 パウリ演算子としての恒等演算子は許可されない。 パウリ条件は の位相を含むが、 や の位相は含まない。 - label (str | None) – 回路の視覚化で表示するゲート用のオプションラベル。 デフォルトでは、ラベルは に設定されています
PPM(<pauli label>)。
パウリ条件を含む "I"-項は完全にサポートされていますが、パウリ条件から-項 "I"を除去して命令 PauliProductMeasurement を作成することが推奨されます。これは実際の測定結果を変更せず、より小さな量子ビット集合に対する命令を指定するためです。
昇給
CircuitError – パウリ演算子が全恒等演算子である場合、サイズが0であるか、あるいは複素位相を持つ。
パラメーター
- pauli (qiskit.quantum_info.Pauli)
- label (str | None)
属性
base_class
この命令の基底クラスを取得する。 これはの継承ツリーに含まれることが self保証されています。
命令の「基本クラス」とは、その継承ツリーにおいて、対象オブジェクトが_すべての_回路アプリケーションに対して完全に互換性があると見なされるべき最下位のクラスである。 これは通常、サブクラスがベースクラスに対してプログラマーの利便性を提供する目的のみで定義され、行動の観点ではベースクラスが「真の」クラスであることを意味する。 特に、ハードウェアによって異なる方法で実装される命令のカスタム版を定義する場合(代替測定戦略や、完全な Target パラメータ化ゲートと区別するために特定のパラメータセットを持つパラメータ化ゲートのバージョンなど)、 base_class override を使用すべきではありません。
これは、標準ライブラリの命令のシングルトンインスタンスの場合を除き、しばしばと完全に同等である type(obj)。 これらのシングルトンインスタンスは基底クラスの特別なサブクラスであり、このプロパティはその基底クラスを返します。 例:
>>> isinstance(XGate(), XGate)
True
>>> type(XGate()) is XGate
False
>>> XGate().base_class is XGate
True一般的に、命令の正確なクラスに依存すべきではありません。特定の回路内では、ほとんどの場合においてより適切な判別基準とな Instruction.name ることが期待されます。
decompositions
SessionEquivalenceLibrary から命令の分解を取得する。
definition
他の基本ゲートを用いて定義を返す。
label
返品手順ラベル
mutable
このインスタンスは変更可能な一意のインスタンスであるかどうか。
この属性が true の場合 False 、ゲートインスタンスは共有シングルトンであり、変更不可能です。
name
名前を返す。
num_clbits
clbits の数を返す。
num_qubits
量子ビットの数を返す。
params
このパラメータ Instructionは、 理想的にはこれらはゲート角度となる。
方法
add_decomposition
broadcast_arguments
broadcast_arguments(qargs, cargs)
議論の検証。
パラメーター
- qargs (List) – 量子ビット引数のリスト
- cargs (List) – 古典的なビット引数のリスト
生成数
タプル(リスト, リスト) – 単一の引数を持つタプル。
昇給
CircuitError – 入力が有効でない場合。 例えば、引数の数がゲートの期待値と一致しません。
copy
copy(name=None)
指示書の写し。
パラメーター
name (str) – コピーされた回路に付ける名前。もし None そうであれば、名前は同じままとなる。
戻り値
現在の指示書のコピー(名前が提供されていた場合は更新済み)
戻りの型
inverse
is_parameterized
pauli
pauli()
この測定によって実装されたパウリ積を返す。
これは、この命令の基礎となるパウリ演算子のテンソル積に対応 Pauli するものを再構成して返すパブリックアクセサであり、そのグローバル位相( +1 または -1)も含まれます。
戻り値
この命令によって測定されるパウリ積。
戻りの型
repeat
repeat(n)
self を回繰り返す命令を作成します。
パラメーター
n (int) – 命令を繰り返し実行する回数
戻り値
定義を含む。
戻りの型
昇給
CircuitError – n < 1 の場合。
reverse_ops
reverse_ops()
複合命令の場合、部分命令の順序を逆にする。
これは、すべての部分命令を再帰的に反転させることで実現される。 どのゲートも反転しません。
戻り値
新しい指示
サブ命令が逆転した。
戻りの型
soft_compare
soft_compare(other)
ゲート間のソフト比較 それらの名前、量子ビット数、および古典ビット数は一致していなければならない。 パラメータの数は一致しなければなりません。 各パラメータが比較される。 もし ParameterExpression であるならば、それは考慮されない。
パラメーター
other (instruction) – その他の指示。
戻り値
自己と他者はパラメータ表現に至るまで等しい。
戻りの型
to_mutable
to_mutable()
このゲートの変更可能なコピーを返します。
このメソッドは、このゲートインスタンスの新しい変更可能なコピーを返します。 シングルトンインスタンスが使用されている場合、これは変更可能な新しい一意のインスタンスとなります。 インスタンスが既に変更可能な場合、そのインスタンスの完全なコピーとなります。