Skip to main content
IBM Quantum Platform

PTM

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

GitHub

ベース: QuantumChannel

量子チャネルのパウリ転送行列(PTM)表現。

nn -qubit量子チャネルのPTM表現 E\mathcal{E} は、 nn -qubitである。 SuperOpRR 列ベクトル化の代わりにパウリ基底のベクトル化に関して定義される。 PTM RR の要素は次式で与えられる

Ri,j=12nTr[PiE(Pj)]R_{i,j} = \frac{1}{2^n} \text{Tr}\left[P_i \mathcal{E}(P_j) \right]

ここで、 [P0,P1,...,P4n1][P_0, P_1, ..., P_{4^{n}-1}] は辞書順の nn -qubitパウリ基底である。

PTMに対する DensityMatrixρ\rho は次式で与えられる

E(ρ) ⁣P=SPρ ⁣P|\mathcal{E}(\rho)\rangle\!\rangle_P = S_P |\rho\rangle\!\rangle_P

ここで A ⁣P|A\rangle\!\rangle_P はパウリ基底 iA ⁣P=12nTr[PiA]\langle i | A\rangle\!\rangle_P = \sqrt{\frac{1}{2^n}} \text{Tr}[P_i A] におけるベクトル化を表す。

詳細は参考文献 [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]。

PTM 量子チャネル演算子を初期化する。

パラメーター

レイズ

QiskitError - 入力データがN量子ビットチャネルでないか、PTMとして初期化できない場合。

追加情報:

入力寸法または出力寸法がNoneの場合は、入力データから自動的に決定される。 PTM表現はN量子ビット・チャンネルに対してのみ有効である。


属性

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

別のPTMとの演算子合成を返す。

パラメーター

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

戻り値

構成されたPTM。

戻りの型

PTM

レイズ

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

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

パラメーター

other (PTM) – PTMオブジェクト。

戻り値

テンソル積 bab \otimes aaa

は現在のPTM、 bb はもう一方のPTMである。

戻りの型

PTM

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

完全正トレース保存(CPTP)の場合は真を返す。

パラメーター

戻りの型

bool

is_tp

is_tp(atol=None, rtol=None)

GitHub

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

パラメーター

戻りの型

bool

is_unitary

is_unitary(atol=None, rtol=None)

GitHub

QuantumChannel がユニタリーチャンネルの場合、True を返す。

パラメーター

戻りの型

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

別のPTMとのテンソル積を返す。

パラメーター

other (PTM) – PTMオブジェクト。

戻り値

テンソル積 aba \otimes baa

は現在のPTM、 bb はもう一方のPTMである。

戻りの型

PTM

テンソル積は、 ^ 二項演算子を用いて求めることができる。 したがって、 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で行ってください。