クラウス
class qiskit.quantum_info.Kraus(data, input_dims=None, output_dims=None)
ベース: QuantumChannel
量子チャネルのクラウス表現。
量子チャネル 、クラウス表現は行列のセット によって与えられる。 DensityMatrix の進化は
一般の演算子写像 は、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 (tuple | None) – 入力サブシステムの次元。
- output_dims (tuple | None) – 出力サブシステムの寸法。
レイズ
QiskitError - 入力データをクラウス行列のリストとして初期化できない場合。
追加情報:
入力寸法または出力寸法がNoneの場合は、入力データから自動的に決定される。 入力データが形状のNumpy配列のリストの場合、 qubitシステムが使われる。 入力がN量子ビットチャンネルに対応しない場合、入力の形状で指定された次元の単一サブシステムを割り当てる。
属性
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 (Kraus) – クラウスのオブジェクト。
- 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)
別のクラウスとの逆順テンソル積を返す。
パラメーター
other (Kraus) – クラウスのオブジェクト。
戻り値
テンソル積 。
は現在のクラウス、 はもう一人のクラウスである。
戻りの型
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 (Kraus) – クラウスのオブジェクト。
戻り値
テンソル積 。
は現在のクラウス、 はもう一人のクラウスである。
戻りの型
テンソル積は、 ^ 二項演算子を用いて求めることができる。 したがって、 a.tensor(b) は a ^ b と等価である。
to_instruction
to_instruction()
クラウスまたは UnitaryGate 回路命令に変換する。
チャネルがユニタリーであればユニタリー・ゲートとして追加され、そうでなければクラウス・シミュレータ命令として追加される。
戻り値
チャンネルのクラウス指示。
戻りの型
レイズ
QiskitError - 入力データがN量子ビットCPTP量子チャネルでない場合。