mindquantum.core.gates.KrausChannel

查看源文件
class mindquantum.core.gates.KrausChannel(name: str, kraus_op, **kwargs)[源代码]

Kraus 信道接受两个或多个 2x2 矩阵作为 Kraus 算子,以在量子电路中构造自定义(单量子比特)噪声。

Kraus 信道以如下形式作用噪声:

\[\epsilon(\rho) = \sum_{k=0}^{m-1} E_k \rho E_k^\dagger\]

其中 \(\rho\) 是密度矩阵形式的量子态;\(E_k\) 是Kraus算符, 并且它需要满足完备性条件:\(\sum_k E_k^\dagger E_k = I\)

参数:
  • name (str) - 该自定义噪声信道的名称。

  • kraus_op (list, np.ndarray) - Kraus 算符,两个或多个 2x2 矩阵打包成的list。

样例:

>>> from mindquantum.core.gates import KrausChannel
>>> from mindquantum.core.circuit import Circuit
>>> from cmath import sqrt
>>> gamma = 0.5
>>> kmat0 = [[1, 0], [0, sqrt(1 - gamma)]]
>>> kmat1 = [[0, sqrt(gamma)], [0, 0]]
>>> amplitude_damping = KrausChannel('damping', [kmat0, kmat1])
>>> circ = Circuit()
>>> circ += amplitude_damping.on(0)
>>> print(circ)
      ╔═════════╗
q0: ──╢ damping ╟───
      ╚═════════╝
define_projectq_gate()[源代码]

定义对应的projectq门。

get_cpp_obj()[源代码]

获取底层c++对象。

matrix()[源代码]

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

返回:

list,包含了该噪声信道的Kraus算符。