Skip to main content
IBM Quantum Platform

PauliProductMeasurement

class qiskit.circuit.library.PauliProductMeasurement(pauli, label=None)

GitHub

ベース: Instruction

パウリ積測定手順書

パウリ積測定は、耐障害性量子計算における基本操作である。 数学的には、これは複数の量子ビットに対する共同射影測定に対応し、測定される観測量はパウリ演算子のテンソル積である。 この測定の結果は単一の固有値であり、 +1+1 または 1-1 のいずれかとなり、パウリ積の固有状態を示す。

参照資料:

[1] ダニエル・リティンスキー 「表面コードのゲーム:格子手術による大規模量子計算」 arXiv:1808.02892

パラメーター

  • pauli (qiskit.quantum_info.Pauli) – 測定を定義するパウリ演算子のテンソル積、例えば Pauli("XY") または Pauli("-XYIZ")。 パウリ演算子としての恒等演算子は許可されない。 パウリ条件は 1-1 の位相を含むが、 iii-i の位相は含まない。
  • label (str | None) – 回路の視覚化で表示するゲート用のオプションラベル。 デフォルトでは、ラベルは に設定されています PPM(<pauli label>)

パウリ条件を含む "I"-項は完全にサポートされていますが、パウリ条件から-項 "I"を除去して命令 PauliProductMeasurement を作成することが推奨されます。これは実際の測定結果を変更せず、より小さな量子ビット集合に対する命令を指定するためです。

昇給

CircuitError – パウリ演算子が全恒等演算子である場合、サイズが0であるか、あるいは複素位相を持つ。

パラメーター


属性

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

add_decomposition(decomposition)

GitHub

命令の分解を SessionEquivalenceLibrary に追加する。

broadcast_arguments

broadcast_arguments(qargs, cargs)

GitHub

議論の検証。

パラメーター

  • qargs (List) – 量子ビット引数のリスト
  • cargs (List) – 古典的なビット引数のリスト

生成数

タプル(リスト, リスト) – 単一の引数を持つタプル。

昇給

CircuitError – 入力が有効でない場合。 例えば、引数の数がゲートの期待値と一致しません。

copy

copy(name=None)

GitHub

指示書の写し。

パラメーター

name (str) – コピーされた回路に付ける名前。もし None そうであれば、名前は同じままとなる。

戻り値

現在の指示書のコピー(名前が提供されていた場合は更新済み)

戻りの型

qiskit.circuit.Instruction

inverse

inverse(annotated=False)

GitHub

PauliProductMeasurement 命令の実行を防止します inverse

is_parameterized

is_parameterized()

GitHub

コンパイル時パラメータを含むかどうか Instruction を返す。

pauli

pauli()

GitHub

この測定によって実装されたパウリ積を返す。

これは、この命令の基礎となるパウリ演算子のテンソル積に対応 Pauli するものを再構成して返すパブリックアクセサであり、そのグローバル位相( +1 または -1)も含まれます。

戻り値

この命令によって測定されるパウリ積。

戻りの型

パウリ

repeat

repeat(n)

GitHub

nnself を回繰り返す命令を作成します。

パラメーター

n (int) – 命令を繰り返し実行する回数

戻り値

定義を含む。

戻りの型

qiskit.circuit.Instruction

昇給

CircuitError – n < 1 の場合。

reverse_ops

reverse_ops()

GitHub

複合命令の場合、部分命令の順序を逆にする。

これは、すべての部分命令を再帰的に反転させることで実現される。 どのゲートも反転しません。

戻り値

新しい指示

サブ命令が逆転した。

戻りの型

qiskit.circuit.Instruction

soft_compare

soft_compare(other)

GitHub

ゲート間のソフト比較 それらの名前、量子ビット数、および古典ビット数は一致していなければならない。 パラメータの数は一致しなければなりません。 各パラメータが比較される。 もし ParameterExpression であるならば、それは考慮されない。

パラメーター

other (instruction) – その他の指示。

戻り値

自己と他者はパラメータ表現に至るまで等しい。

戻りの型

bool

to_mutable

to_mutable()

GitHub

このゲートの変更可能なコピーを返します。

このメソッドは、このゲートインスタンスの新しい変更可能なコピーを返します。 シングルトンインスタンスが使用されている場合、これは変更可能な新しい一意のインスタンスとなります。 インスタンスが既に変更可能な場合、そのインスタンスの完全なコピーとなります。

validate_parameter

validate_parameter(parameter)

GitHub

指示パラメータには検証や正規化が行われない。

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。