QPanda3
Supported by OriginQ
载入中...
搜索中...
未找到
SuperOp

上一章: Choi

下一章: Chi


简介

量子通道的超算子表示。

量子通道 \(\mathcal{E}\) 的超算子表示 \(\mathcal{S}\) 是一个矩阵,使得密度矩阵 \(\rho\) 的演化可以表示为:

\[|\mathcal{E}(\rho)\rangle\rangle=S|\rho\rangle\rangle \]

请参考已有文献:C.J. Wood, J.D. Biamonte, D.G. Cory, Tensor networks and graphical calculus for open quantum systems, Quant. Inf. Comp. 15, 0579-0811 (2015). arXiv:1111.6950 [quant-ph]

在 QPanda3 量子信息模块中

构造 SuperOp 对象

API文档链接

从 Choi 构造

从一个 Choi 对象生成一个 SuperOp 对象。请参考 Choi

执行结果如下所示:

sop: [[ 1.+0.j 0.+0.j 0.+0.j 2.+0.j]
[ 0.+0.j -1.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j -1.+0.j 0.+0.j]
[ 2.+0.j 0.+0.j 0.+0.j 1.+0.j]]

从 Chi 构造

从一个 Chi 对象生成一个 SuperOp 对象。请参考 Chi

执行结果如下所示:

sop: [[ 1.+0.j 0.+0.j 0.+0.j 2.+0.j]
[ 0.+0.j -1.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j -1.+0.j 0.+0.j]
[ 2.+0.j 0.+0.j 0.+0.j 1.+0.j]]

从 SuperOp 构造

从一个 SuperOp 对象生成另一个 SuperOp 对象。

执行结果如下所示:

sop2: [[ 1.+0.j 0.+0.j 0.+0.j 2.+0.j]
[ 0.+0.j -1.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j -1.+0.j 0.+0.j]
[ 2.+0.j 0.+0.j 0.+0.j 1.+0.j]]

从 Kraus 构造

从一个 Kraus 对象生成一个 SuperOp 对象。请参考 Kraus

执行结果如下所示:

sop: [[ 1.+0.j 0.+0.j 0.+0.j 2.+0.j]
[ 0.+0.j -1.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j -1.+0.j 0.+0.j]
[ 2.+0.j 0.+0.j 0.+0.j 1.+0.j]]

从 PTM 构造

从一个 PTM 对象生成一个 SuperOp 对象。请参考 PTM

执行结果如下所示:

sop: [[ 1.+0.j 0.+0.j 0.+0.j 2.+0.j]
[ 0.+0.j -1.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j -1.+0.j 0.+0.j]
[ 2.+0.j 0.+0.j 0.+0.j 1.+0.j]]

获取内部数据

获取输入和输出维度

获取量子通道的输入维度 input_dim 和输出维度 output_dim。SuperOp 矩阵的形状为 (output_dim * output_dim, input_dim * input_dim)

SuperOp.get_input_dim的API文档链接

SuperOp.get_output_dim的API文档链接

执行结果如下所示:

input_dim: 2
output_dim: 2

量子态的演化

SuperOp.evolve的API文档链接

密度矩阵

DensityMatrix 对象的演化,演化结果返回为 DensityMatrix 对象。DensityMatrix 的维度通过成员方法 dim 获取,并且应当与 SuperOp 对象的输入维度相等。请参考密度矩阵

执行结果如下所示:

res: [[ 1.30727832+0.j -0.38338527+0.17772383j]
[-0.38338527-0.17772383j 1.69272168+0.j ]]

态矢量

StateVector 对象的演化,并且结果返回为 DensityMatrix 对象。StateVector 对象的维度通过成员方法 dim 获取,并且应当与 Choi 对象的输入维度相等。请参考密度矩阵态矢量

执行结果如下所示:

res: [[1.+0.j 0.+0.j]
[0.+0.j 2.+0.j]]

布尔函数

判等

判断两个 SuperOp 对象的内部数据是否相等。

API文档链接

执行结果如下所示:

True