Skip to main content
IBM Quantum Platform

StabilizerState

class qiskit.quantum_info.StabilizerState(data, validate=True)

GitHub

ベース: QuantumState

StabilizerState クラスである。 スタビライザーシミュレーター(参考文献 [1の]規約を使用)。 内部クラスに基づく Clifford.

from qiskit import QuantumCircuit
from qiskit.quantum_info import StabilizerState, Pauli

# Bell state generation circuit
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
stab = StabilizerState(qc)

# Print the StabilizerState
print(stab)

# Calculate the StabilizerState measurement probabilities dictionary
print (stab.probabilities_dict())

# Calculate expectation value of the StabilizerState
print (stab.expectation_value(Pauli('ZZ')))
StabilizerState(StabilizerTable: ['+XX', '+ZZ'])
{'00': 0.5, '11': 0.5}
1

スタビライザーのリストが与えられる、 qiskit.quantum_info.StabilizerState.from_stabilizer_list() によって安定化された状態を返す

from qiskit.quantum_info import StabilizerState

stabilizer_list = ["ZXX", "-XYX", "+ZYY"]
stab = StabilizerState.from_stabilizer_list(stabilizer_list)

参考文献

  1. S. Aaronson, D. Gottesman, Improved Simulation of Stabilizer Circuits, Phys. Rev. A 70, 052328 (2004). arXiv:quant-ph/0406196

StabilizerState オブジェクトを初期化する。

パラメーター


属性

clifford

StabilizerState クリフォードのデータを返す

dim

状態次元の合計を返す。

num_qubits

N量子ビット状態であれば量子ビット数を、そうでなければNoneを返す。


方法

conjugate

conjugate()

GitHub

演算子の共役を返す。

copy

copy()

GitHub

現在のオペレータのコピーを作成する。

dims

dims(qargs=None)

GitHub

指定されたサブシステムの入力次元のタプルを返す。

equiv

equiv(other)

GitHub

2つの生成集合が同じ安定化群を生成する場合に真を返す。

パラメーター

other (StabilizerState) – another StabilizerState.

戻り値

他方が同じ StabilizerState を生成する生成集合を持っていれば真。

戻りの型

bool

evolve

evolve(other, qargs=None)

GitHub

クリフォード演算子によってスタビライザー状態を進化させる。

パラメーター

戻り値

出力スタビライザー状態。

戻りの型

StabilizerState

レイズ

  • QiskitError - もう一方が StabilizerState でない場合。
  • QiskitError - 演算子のディメンジョンが、指定された StabilizerState サブシステムのディメンジョンと一致しない場合。

expand

expand(other)

GitHub

テンソル積スタビライザーの状態 other ⊗ self を返す。

パラメーター

other (StabilizerState) – スタビライザー状態オブジェクト。

戻り値

テンソル積演算子 other ⊗ self。

戻りの型

StabilizerState

レイズ

QiskitError - もう一方が StabilizerState でない場合。

expectation_value

expectation_value(oper, qargs=None)

GitHub

Pauli または SparsePauliOp 演算子の期待値を計算する。

パラメーター

  • oper (Pauli |SparsePauliOp) – 期待値を評価するパウリ演算子または SparsePauliOp 演算子。
  • qargs (None | list) – 演算子を適用するサブシステム。

戻り値

期待値。

レイズ

QiskitError - operがPauli演算子でも SparsePauliOp 演算子でもない場合。

戻りの型

複合

from_stabilizer_list

classmethod from_stabilizer_list(stabilizers, allow_redundant=False, allow_underconstrained=False)

GitHub

スタビライザーのコレクションからスタビライザーの状態を作成する。

パラメーター

  • stabilizers (Collection[str]) – スタビライザー弦リスト
  • allow_redundant (bool) – 冗長な安定化子(つまり、一部の安定化子が他の安定化子の積となる場合)を許容する
  • allow_underconstrained (bool) – 制約が不十分な安定化子群を許容する(すなわち、安定化子が一意の状態を指定しない)

戻り値

スタビライザーによって安定化された状態。

戻りの型

StabilizerState

is_valid

is_valid(atol=None, rtol=None)

GitHub

有効な StabilizerState があれば真を返す。

measure

measure(qargs=None)

GitHub

サブシステムを測定し、結果と測定後の状態を返す。

この関数は、測定結果のサンプリングに QuantumStates 内部乱数発生器を使用することに注意してください。 RNGシードは seed() メソッドで設定できます。

パラメーター

qargs (list or None) – None の場合は、すべてのサブシステムの測定をサンプリングする。

戻り値

ペア (outcome, state) outcome

測定結果の文字列ラベルであり、 state は、対応する結果に対する、測定後の折りたたまれたスタビライザーの状態である。

戻りの型

タプル

probabilities

probabilities(qargs=None, decimals=None)

GitHub

サブシステムの測定確率ベクトルを返す。

測定確率は、計算(対角)基準での測定に関するものである。

パラメーター

  • qargs (None or list) – None の場合はすべてのサブシステムに対して返す (デフォルト: None)。
  • decimals (None or int) – 値を丸める小数点以下の桁数。 None の場合、丸めは行われない(デフォルト:None)。

戻り値

確率のNumpyベクトル配列。

戻りの型

np.array

probabilities_dict

probabilities_dict(qargs=None, decimals=None)

GitHub

サブシステムの測定確率辞書を返す。

測定確率は、計算(対角)基準での測定に関するものである。

この辞書表現は、辞書のキーがサブシステムの基底ベクトルを表すqudit文字列であるKetのような表記法を用いている。 サブシステムの次元が10を超える場合は、サブシステムを区別できるように、整数の間にカンマ区切りが挿入される。

パラメーター

  • qargs (None or list) – None の場合はすべてのサブシステムに対して返す (デフォルト: None)。
  • decimals (None or int) – 値を丸める小数点以下の桁数。 None の場合、丸めは行われない(デフォルト:None)。

戻り値

ディクト(キー)形式の測定確率。

戻りの型

dict

probabilities_dict_from_bitstring

probabilities_dict_from_bitstring(outcome_bitstring, qargs=None, decimals=None)

GitHub

サブシステムの測定確率ディクショナリを返す。 これにより、対象となる1つの結果_bitstring値のみの確率が計算され、すべての可能な結果を計算するよりもパフォーマンスが向上する。

測定確率は、計算(対角)基準での測定に関するものである。

この辞書表現は、辞書のキーがサブシステムの基底ベクトルを表すqudit文字列であるKetのような表記法を用いている。 サブシステムの次元が10を超える場合は、サブシステムを区別できるように、整数の間にカンマ区切りが挿入される。

パラメーター

  • outcome_bitstring (None or str) – 測定計算の対象となる目標結果のビット列。これにより、実行される計算の回数が大幅に削減されます(デフォルト:なし)
  • qargs (None or list) – None の場合はすべてのサブシステムに対して返す (デフォルト: None)。
  • decimals (None or int) – 値を四捨五入する小数点以下の桁数。 None の場合、丸め処理は行われない(デフォルト:None)

戻り値

ディクト(ケット)形式の測定確率。

戻りの型

ディクティッド[ str, float]

purity

purity()

GitHub

量子状態は常に純粋な状態であるため、量子状態の純度を返します。

戻り値

純度(1になるはず)。

戻りの型

浮動小数点

レイズ

QiskitError - 入力が StabilizerState でない場合。

reset

reset(qargs=None)

GitHub

状態またはサブシステムを0状態にリセットする。

パラメーター

qargs (list or None) – None の場合、すべてのサブシステムが 0 状態にリセットされます (デフォルト:None)。

戻り値

リセット状態。

戻りの型

StabilizerState

追加情報:

すべてのサブシステムがリセットされると、すべてのサブシステムでグラウンド状態が返される。 一部のサブシステムだけがリセットされた場合、この関数はそれらのサブシステムに対して測定を実行し、サブシステムを進化させて、崩壊した測定後の状態を0状態に回転させる。 このサンプリングのRNGシードは seed() メソッドで設定できます。

sample_counts

sample_counts(shots, qargs=None)

GitHub

量子ビットの測定結果のディクショ ンを計算基礎にサンプリングする。

パラメーター

  • shots (int) – 生成するサンプル数。
  • qargs (None or list) – None の場合は、すべてのサブシステムの測定をサンプリングする。

戻り値

サンプル数辞書。

戻りの型

カウント

追加情報

この関数は*、* 現在の状態のメジャー probabilities() を使用して測定結果をサンプリングします。 実際に測定を実施するわけではないので、現在の状態が変更されることはない。

サンプリングに使用される乱数生成器のシードは、state seed() のメソッドを使用して固定値に設定できます。

sample_memory

sample_memory(shots, qargs=None)

GitHub

量子ビットの測定結果のリストを計算基礎にサンプリングする。

パラメーター

  • shots (int) – 生成するサンプル数。
  • qargs (None or list) – None の場合は、すべてのサブシステムの測定をサンプリングする。

戻り値

サンプリング順に並べたサンプリングカウントの一覧。

戻りの型

np.array

追加情報

この関数は measure() メソッドを実装します。

サンプリングに使用される乱数生成器のシードは、state seed() のメソッドを使用して固定値に設定できます。

seed

seed(value=None)

GitHub

量子状態RNGのシードを設定する。

tensor

tensor(other)

GitHub

テンソル積スタビライザーの状態 self ⊗ other を返す。

パラメーター

other (StabilizerState) – スタビライザー状態オブジェクト。

戻り値

テンソル積演算子 self ⊗ other。

戻りの型

StabilizerState

レイズ

QiskitError - もう一方が StabilizerState でない場合。

to_operator

to_operator()

GitHub

状態を行列演算子クラスに変換

戻りの型

オペレーター

trace

trace()

GitHub

スタビライザー状態のトレースを密度行列として返す。

戻り値

トレース(1に等しいはず)。

戻りの型

浮動小数点

レイズ

QiskitError - 入力が StabilizerState でない場合。

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