スティーンスプリング
class qiskit.quantum_info.Stinespring(data, input_dims=None, output_dims=None)
ベース: QuantumChannel
量子チャネルのスティンスプリング表現。
量子チャネルのスタインスプリング表現 は矩形行列 であり、a DensityMatrix の進化は
ここで、 は partial_trace() サブシステム2.
一般的な演算子写像 は、次のような2つの行列 , によって与えられる一般化されたスタインスプリング表現を使って書くこともできる
詳細は参考文献 [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]。
量子チャネルのスタインスプリング演算子を初期化する。
パラメーター
- data (QuantumCircuit |circuit.instruction.Instruction | BaseOperator | np.ndarray) – スーパーオペレータを初期化するためのデータ。
- input_dims (int |tuple | None) – 入力サブシステムの次元。
- output_dims (int |tuple | None) – 出力サブシステムの寸法。
レイズ
QiskitError – 入力データがクラウス行列のリストとして初期化できない場合。
追加情報:
入力寸法または出力寸法がNoneの場合は、入力データから自動的に決定される。 出力寸法が自動的に決定されない場合、これはスティンスプリング・オペレーターにとって失敗する可能性がある。
属性
atol
デフォルト値: 1e-08
data
dim
タプル(input_shape, output_shape)を返す。
num_qubits
N量子ビット演算子の場合は量子ビット数を、それ以外の場合はNoneを返す。
qargs
演算子の qargs を返す。
rtol
デフォルト値: 1e-05
settings
リターンの設定
方法
adjoint
adjoint()
隣接量子チャンネルを返す。
における行列のエルミート共役と等価である。 SuperOp すなわち,あるチャンネル の場合,そのアドジョイント・チャンネル の SuperOp は となる.
戻りの型
compose
compose(other, qargs=None, front=False)
オペレーターのコンポジションを別のスティンスプリングで返す。
パラメーター
- other (Stinespring) – Stainespringオブジェクト。
- qargs (list or None) – 他の処理を適用するサブシステムの位置のリスト。 すべてのサブシステムに「None」が適用される場合(デフォルト:None)。
- front (bool) – Trueの場合、左掛け算ではなく右掛け算で合成する [:False].
戻り値
作曲されたスティンスプリング
戻りの型
レイズ
QiskitError - 他が演算子に変換できない場合、または指定されたサブシステムに対して互換性のない寸法を持つ場合。
conjugate
copy
dot
dot(other, qargs=None)
右掛け演算子 self * other を返す。
パラメーター
- other (Operator) – 演算子オブジェクト。
- qargs (list or None) – 他の処理を適用するサブシステムの位置のリスト。 すべてのサブシステムに「None」が適用される場合(デフォルト:None)。
戻り値
演算子を乗じた右行列。
戻りの型
ドット積は、 @ 二項演算子を用いて求めることができる。 したがって、 a.dot(b) は a @ b と等価である。
expand
expand(other)
別のStingespringとの逆順テンソル積を返す。
パラメーター
other (Stinespring) – Stainespringオブジェクト。
戻り値
テンソル積 。
は現在のスティンスプリング、 はもうひとつのスティンスプリングである。
戻りの型
input_dims
is_cp
is_cptp
is_tp
is_unitary
output_dims
power
power(n)
量子チャネルのパワーを返す。
パラメーター
n (float) – べき乗指数。
戻り値
チャンネル 。
戻りの型
レイズ
QiskitError - SuperOp の入力と出力の寸法が等しくない場合。
非正または非整数の指数の場合、べき乗はその行列のべき乗として定義される。 SuperOp すなわち,あるチャンネル の場合,パワーチャンネル の SuperOp は となる.
reshape
reshape(input_dims=None, output_dims=None, num_qubits=None)
入出力サブシステムの寸法を変更した浅いコピーを返す。
パラメーター
- 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)
別のスティンスプリングとのテンソル積を返す。
パラメーター
other (Stinespring) – Stainespringオブジェクト。
戻り値
テンソル積 。
は現在のスティンスプリング、 はもうひとつのスティンスプリングである。
戻りの型
テンソル積は、 ^ 二項演算子を用いて求めることができる。 したがって、 a.tensor(b) は a ^ b と等価である。
to_instruction
to_instruction()
クラウスまたは UnitaryGate 回路命令に変換する。
チャネルがユニタリーであればユニタリー・ゲートとして追加され、そうでなければクラウス・シミュレータ命令として追加される。
戻り値
チャンネルのクラウス指示。
戻りの型
レイズ
QiskitError - 入力データがN量子ビットのCPTP量子チャネルでない場合。