mindquantum.core.gates.DepolarizingChannel

查看源文件
class mindquantum.core.gates.DepolarizingChannel(p: float, n_qubits: int = 1, **kwargs)[源代码]

去极化信道。描述的噪声体现为:以 \(P\) 的概率将量子态转变为最大混态(随机作用泡利门(I、X、Y、Z)的其中一个,每个泡利门的概率都是 \(P/4\) ),或以 \(1-P\) 的概率保持不变。

对于单比特情况,去极化信道的数学表示如下:

\[\epsilon(\rho) = (1 - P)\rho + P/4( I \rho I + X \rho X + Y \rho Y + Z \rho Z)\]

其中,\(\rho\) 是密度矩阵形式的量子态;\(P\) 是发生去极化错误的概率。

该信道还支持作用于多个目标比特。在 \(N\) 比特情况下,去极化信道的数学表示如下:

\[\epsilon(\rho) = (1 - P)\rho + \frac{P}{4^N} \sum_j U_j \rho U_j\]

其中,\(N\) 是目标比特数; \(U_j \in \left\{ I, X, Y, Z \right\} ^{\otimes N}\) 多比特泡利算符。

  • \(0 \le P \le 1\) 时, 该信道是去极化信道, 并且当 \(P = 1\) 时是完全去极化信道。

  • 然而,\(1 < P \le 4^N / (4^N - 1)\) 时它变为均匀泡利信道:\(E(\rho) = \sum_j V_j \rho V_j / (4^n - 1)\),其中 \(V_j = U_j \setminus I^{\otimes N}\)

参数:
  • p (int, float) - 发生去极化错误的概率。

  • n_qubits (int) - 去极化信道的比特数。默认值:1

样例:

>>> from mindquantum.core.gates import DepolarizingChannel
>>> from mindquantum.core.circuit import Circuit
>>> circ = Circuit()
>>> circ += DepolarizingChannel(0.02).on(0)
>>> circ += DepolarizingChannel(0.01, 2).on([0, 1])
>>> print(circ)
      ╔════════════╗ ╔═════════════╗
q0: ──╢ DC(p=1/50) ╟─╢             ╟───
      ╚════════════╝ ║             ║
                     ║ DC(p=1/100) ║
q1: ─────────────────╢             ╟───
                     ╚═════════════╝
get_cpp_obj()[源代码]

返回量子门的c++对象。

matrix()[源代码]

返回该噪声信道的Kraus算符。

返回:

list,包含了该噪声信道的Kraus算符,且顺序为 \(\left\{ I, X, Y, Z \right\} ^{\otimes N}\) 的字典顺序。