Skip to main content
IBM Quantum Platform

スティーンスプリング

class qiskit.quantum_info.Stinespring(data, input_dims=None, output_dims=None)

GitHub

ベース: QuantumChannel

量子チャネルのスティンスプリング表現。

量子チャネルのスタインスプリング表現 E\mathcal{E} は矩形行列 AA であり、a DensityMatrixρ\rho の進化は

E(ρ)=Tr2[AρA]\mathcal{E}(ρ) = \text{Tr}_2\left[A ρ A^\dagger\right]

ここで、 Tr2\text{Tr}_2partial_trace() サブシステム2.

一般的な演算子写像 G\mathcal{G} は、次のような2つの行列 AA, BB によって与えられる一般化されたスタインスプリング表現を使って書くこともできる

G(ρ)=Tr2[AρB]\mathcal{G}(ρ) = \text{Tr}_2\left[A ρ B^\dagger\right]

詳細は参考文献 [1を]参照。

参考文献

  1. C.J. Wood, J.D. Biamonte, D.G. Cory, Tensor networks and graphical calculus for open quantum systems, Quant. インフ コンプ。 15, 0579-0811 (2015). arXiv:1111.6950 [quant-ph]。

量子チャネルのスタインスプリング演算子を初期化する。

パラメーター

レイズ

QiskitError – 入力データがクラウス行列のリストとして初期化できない場合。

追加情報:

入力寸法または出力寸法がNoneの場合は、入力データから自動的に決定される。 出力寸法が自動的に決定されない場合、これはスティンスプリング・オペレーターにとって失敗する可能性がある。


属性

atol

デフォルト値: 1e-08

data

dim

タプル(input_shape, output_shape)を返す。

num_qubits

N量子ビット演算子の場合は量子ビット数を、それ以外の場合はNoneを返す。

qargs

演算子の qargs を返す。

rtol

デフォルト値: 1e-05

settings

リターンの設定


方法

adjoint

adjoint()

GitHub

隣接量子チャンネルを返す。

における行列のエルミート共役と等価である。 SuperOp すなわち,あるチャンネル E\mathcal{E} の場合,そのアドジョイント・チャンネル E\mathcal{{E}}^\dagger の SuperOp は SE=SES_{\mathcal{E}^\dagger} = S_{\mathcal{E}}^\dagger となる.

戻りの型

自分

compose

compose(other, qargs=None, front=False)

GitHub

オペレーターのコンポジションを別のスティンスプリングで返す。

パラメーター

  • other (Stinespring) – Stainespringオブジェクト。
  • qargs (list or None) – 他の処理を適用するサブシステムの位置のリスト。 すべてのサブシステムに「None」が適用される場合(デフォルト:None)。
  • front (bool) – Trueの場合、左掛け算ではなく右掛け算で合成する [:False].

戻り値

作曲されたスティンスプリング

戻りの型

スティンスプリング

レイズ

QiskitError - 他が演算子に変換できない場合、または指定されたサブシステムに対して互換性のない寸法を持つ場合。

デフォルトでは、合成(&)は行列演算子の左行列乗算として定義され、 @ (と等価) は右行列乗算として定義される。 dot()) は右行列乗算として定義されます。 つまり、 AB が同じタイプである場合、 A & B == A.compose(B)B @ A == B.dot(A) と等価である。

front=True kwargを設定すると、これは右行列の乗算に変わり、以下のメソッドと同等になる。 dot() メソッド A.dot(B) == A.compose(B, front=True) と等価である。

conjugate

conjugate()

GitHub

共役量子チャネルを返す。

の複素共役行列と等価である。 SuperOp すなわち,あるチャンネル E\mathcal{E} の場合,共役チャンネル E\overline{{\mathcal{{E}}}} の SuperOp は SE=SES_{\overline{\mathcal{E}^\dagger}} = \overline{S_{\mathcal{E}}} となる.

copy

copy()

GitHub

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

dot

dot(other, qargs=None)

GitHub

右掛け演算子 self * other を返す。

パラメーター

  • other (Operator) – 演算子オブジェクト。
  • qargs (list or None) – 他の処理を適用するサブシステムの位置のリスト。 すべてのサブシステムに「None」が適用される場合(デフォルト:None)。

戻り値

演算子を乗じた右行列。

戻りの型

オペレーター

ドット積は、 @ 二項演算子を用いて求めることができる。 したがって、 a.dot(b)a @ b と等価である。

expand

expand(other)

GitHub

別のStingespringとの逆順テンソル積を返す。

パラメーター

other (Stinespring) – Stainespringオブジェクト。

戻り値

テンソル積 bab \otimes aaa

は現在のスティンスプリング、 bb はもうひとつのスティンスプリングである。

戻りの型

スティンスプリング

input_dims

input_dims(qargs=None)

GitHub

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

is_cp

is_cp(atol=None, rtol=None)

GitHub

チョイ・マトリクスが完全正(CP)かどうかのテスト

パラメーター

戻りの型

bool

is_cptp

is_cptp(atol=None, rtol=None)

GitHub

完全に正のトレースを保持する場合は真を返す。

is_tp

is_tp(atol=None, rtol=None)

GitHub

チャンネルがトレース・プリザベーション(TP)かどうかのテスト

パラメーター

戻りの型

bool

is_unitary

is_unitary(atol=None, rtol=None)

GitHub

QuantumChannel がユニタリーチャンネルであれば真を返す。

パラメーター

戻りの型

bool

output_dims

output_dims(qargs=None)

GitHub

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

power

power(n)

GitHub

量子チャネルのパワーを返す。

パラメーター

n (float) – べき乗指数。

戻り値

チャンネル En\mathcal{{E}} ^n

戻りの型

SuperOp

レイズ

QiskitError - SuperOp の入力と出力の寸法が等しくない場合。

非正または非整数の指数の場合、べき乗はその行列のべき乗として定義される。 SuperOp すなわち,あるチャンネル E\mathcal{{E}} の場合,パワーチャンネル En\mathcal{{E}}^n の SuperOp は SEn=SEnS_{{\mathcal{{E}}^n}} = S_{{\mathcal{{E}}}}^n となる.

reshape

reshape(input_dims=None, output_dims=None, num_qubits=None)

GitHub

入出力サブシステムの寸法を変更した浅いコピーを返す。

パラメーター

  • input_dims (None or tuple) – 新しいサブシステムの入力寸法。 None の場合、元の入力ディムが保持される [Default:なし]。
  • output_dims (None or tuple) – 新しいサブシステムの出力寸法。 None の場合、元の出力ディムが保持される [Default:なし]。
  • num_qubits (None or int) – N-qubit 演算子への再形成[デフォルト:なし]。

戻り値

入出力寸法を整形した self を返す。

戻りの型

BaseOperator

レイズ

QiskitError - すべてのサブシステム入力次元またはサブシステム出力次元の合計サイズが一定でない場合。

tensor

tensor(other)

GitHub

別のスティンスプリングとのテンソル積を返す。

パラメーター

other (Stinespring) – Stainespringオブジェクト。

戻り値

テンソル積 aba \otimes baa

は現在のスティンスプリング、 bb はもうひとつのスティンスプリングである。

戻りの型

スティンスプリング

テンソル積は、 ^ 二項演算子を用いて求めることができる。 したがって、 a.tensor(b)a ^ b と等価である。

to_instruction

to_instruction()

GitHub

クラウスまたは UnitaryGate 回路命令に変換する。

チャネルがユニタリーであればユニタリー・ゲートとして追加され、そうでなければクラウス・シミュレータ命令として追加される。

戻り値

チャンネルのクラウス指示。

戻りの型

qiskit.circuit.Instruction

レイズ

QiskitError - 入力データがN量子ビットのCPTP量子チャネルでない場合。

to_operator

to_operator()

GitHub

チャンネルをユニタリー表現に変換してみる オペレーター

戻りの型

オペレーター

transpose

transpose()

GitHub

転置量子チャンネルを返す。

これは、表現 SuperOp における行列の転置に相当する。すなわち、チャネル E\mathcal{E} に対して、転置チャネル ET\mathcal{{E}}^T の SuperOp は SET=SETS_{\mathcal{E}^T} = S_{\mathcal{E}}^T となる。

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