量子信息理论
量子信息理论基础,涵盖态表示、熵、保真度、距离度量和量子通道表示。本指南将理论形式化与 pyqpanda3 的 quantum_info 模块提供的类和函数联系起来。
量子态表示
态矢量
其中
性质:
- 归一化:
- 全局相位:
和 表示相同的物理态 - 叠加:一个态可以同时处于多个基态的叠加中
pyqpanda3 的 StateVector 类表示纯态并提供:
- 从数组、线路或计算基态构建
- 通过量子线路演化:
sv.evolve(circuit) - 转换为密度矩阵:
sv.get_density_matrix() - 纯度计算:
sv.purity()
密度矩阵
混合量子态(Mixed Quantum State)由密度矩阵(密度算符)描述:
其中
等价定义:密度矩阵是满足以下条件的任何矩阵
- 厄米性:
- 半正定性:
(所有特征值 ) - 迹为 1:
Bloch 球(单量子比特):任何单量子比特密度矩阵可以写成:
其中
- 纯态:
(在 Bloch 球面上) - 混合态:
(在 Bloch 球内部) - 最大混合态:
, (球心)
pyqpanda3 的 DensityMatrix 类提供:
- 从矩阵、态矢量或线路构建
- 通过量子线路演化:
dm.evolve(circuit);通过量子通道演化:使用通道自身的channel.evolve(dm)方法 - 纯度:
dm.purity() - 转换为态矢量(如果是纯态):
dm.to_statevector()
纯态与混合态
| 性质 | 纯态 | 混合态 |
|---|---|---|
| 表示 | ||
| 纯度 | ||
| Bloch 矢量 | ||
| 幂等性 | ||
| von Neumann 熵 | ||
| 示例 |
偏迹与约化态
对于二分系统
约化态
可分性:态
否则,该态是纠缠的(Entangled)。
von Neumann 熵
定义
量子态
其中
这是 Shannon 熵
性质
1. 非负性:
当且仅当
2. 最大熵:
其中
3. 幺正不变性:
幺正演化保持熵不变(信息守恒)。
4. 凹性:
混合态增加熵。
5. 次可加性:
6. 强次可加性(最强的不等式):
纠缠熵
对于纯二分态
其中
注意,对于纯二分态,
示例:
- 直积态
: (无纠缠) - Bell 态
: (最大纠缠,1 ebit) - GHZ 态
: (对任何二分为 1 ebit)
量子互信息
量子互信息衡量两个系统之间的总关联:
: 和 无关联( ) : 和 有关联(包括经典关联和量子关联)
条件熵
量子条件熵:
与经典情况不同,量子条件熵可以是负数:
表明存在量子纠缠 - 这种负性具有操作意义:它对应量子态合并(利用纠缠传输量子信息的能力)
量子保真度
定义
两个量子态
对于纯态
对于纯态
Uhlmann 定理
保真度可以用纯化表示:
其中
性质
1. 对称性:
2. 界:
:相同态( ) :正交态
3. 张量积下的乘性:
4. CPTP 映射下的单调性:
量子通道不能降低保真度。
Bures 距离
Bures 距离与保真度相关:
它是密度矩阵空间上的真度量,满足三角不等式。
距离度量
pyqpanda3 提供三种距离度量用于比较概率分布和量子态。
Hellinger 距离
两个离散概率分布
性质:
- 对称性:
- 与 Bhattacharyya 系数相关:
pyqpanda3 实现:
from pyqpanda3.quantum_info import hellinger_distance
# 使用整数键
p = {0: 0.5, 1: 0.3, 2: 0.2}
q = {0: 0.4, 1: 0.4, 2: 0.2}
dist = hellinger_distance(p, q)
# 使用字符串键
p = {"00": 0.25, "01": 0.25, "10": 0.25, "11": 0.25}
q = {"00": 0.5, "01": 0.0, "10": 0.0, "11": 0.5}
dist = hellinger_distance(p, q)Hellinger 保真度
Hellinger 保真度从 Hellinger 距离导出:
性质:
- 与 Bhattacharyya 系数相关:
pyqpanda3 实现:
from pyqpanda3.quantum_info import hellinger_fidelity
p = {0: 0.5, 1: 0.5}
q = {0: 0.5, 1: 0.5}
fid = hellinger_fidelity(p, q) # 1.0(相同分布)Kullback-Leibler (KL) 散度
KL 散度衡量使用
离散分布:
连续分布:
性质:
(Gibbs 不等式) (几乎处处) - 不对称:一般情况下
- 不是度量:不满足三角不等式
pyqpanda3 支持离散和连续 KL 散度:
from pyqpanda3.quantum_info import KL_divergence
# 离散分布(列表)
p = [0.5, 0.3, 0.2]
q = [0.4, 0.4, 0.2]
div = KL_divergence(p, q)
# 连续分布(函数)
import numpy as np
div = KL_divergence(
p_pdf=lambda x: np.exp(-x), # 指数分布
q_pdf=lambda x: np.exp(-x**2/2) / np.sqrt(2*np.pi), # 高斯分布
x_start=0.0,
x_end=10.0,
dx=1e-4
)迹距离
两个密度矩阵之间的迹距离(Trace Distance):
性质:
- 真度量(对称、三角不等式)
- 与区分
和 的最优概率相关:
- 对于量子比特:
(Bloch 矢量间欧氏距离的一半)
距离度量比较
| 度量 | 类型 | 对称? | 是度量? | 范围 |
|---|---|---|---|---|
| Hellinger 距离 | 经典分布 | 是 | 是 | |
| Hellinger 保真度 | 经典分布 | 是 | 否 | |
| KL 散度 | 经典分布 | 否 | 否 | |
| 迹距离 | 量子态 | 是 | 是 | |
| 保真度 | 量子态 | 是 | 否 | |
| Bures 距离 | 量子态 | 是 | 是 |
关系:
量子通道表示
量子通道(CPTP 映射)可以用多种等价形式表示。pyqpanda3 的 quantum_info 模块提供五种可相互转换的表示。
Kraus 表示
最直观的物理表示 — 每个 Kraus 算符
pyqpanda3 类:Kraus
超算符(Liouville)表示
通道表示为作用在矢量化密度矩阵上的
矢量化
其中
pyqpanda3 类:SuperOp
Chi(过程矩阵)表示
通道在归一化 Pauli 基
pyqpanda3 类:Chi
Choi 矩阵表示
Choi 矩阵通过将通道作用于最大纠缠态的一半获得:
其中
Choi-Jamiolkowski 同构:CPTP 映射与满足
pyqpanda3 类:Choi
Pauli 传输矩阵(PTM)
PTM 在 Pauli 基中表示通道:
其中
物理解释:
pyqpanda3 类:PTM
转换关系
所有五种表示编码相同的信息,可以自由转换:
在 pyqpanda3 中,转换通过从一个类构造另一个类完成:
from pyqpanda3.quantum_info import Kraus, Choi, SuperOp, Chi, PTM
# 从 Kraus 算符创建通道
kraus = Kraus([...])
# 转换为其他表示
choi = Choi(kraus)
superop = SuperOp(kraus)
chi = Chi(kraus)
ptm = PTM(kraus)
# 所有表示都可以演化量子态
from pyqpanda3.quantum_info import DensityMatrix, StateVector
dm = DensityMatrix(...)
evolved = choi.evolve(dm) # 返回 DensityMatrix
evolved = kraus.evolve(dm) # 相同结果表示比较
| 表示 | 大小 | 实值? | 最适用于 |
|---|---|---|---|
| Kraus | 否(复数) | 物理解释、噪声模型 | |
| SuperOp | 否(复数) | 通道组合、矩阵运算 | |
| Chi | 否(复数) | 过程层析 | |
| Choi | 否(复数) | 半正定性检查、通道距离 | |
| PTM | 是 | 门基准测试、RB 分析 |
通道组合
通道通过其表示进行组合:
Kraus:组合
SuperOp:
PTM:
Choi:
通道距离与保真度
两个通道之间的菱形范数距离:
其中上确界遍历所有输入维度
过程保真度:
这衡量通道
总结
另请参阅
- StateVector API — 纯态操作
- DensityMatrix API — 混合态操作
- 量子通道 API — Kraus、Chi、Choi、SuperOp、PTM
- 分析函数 — Hellinger 距离、保真度、KL 散度
- Matrix API — 通用矩阵操作
- 噪声模型理论 — 噪声通道如何影响量子态
- 变分算法 — 在 VQA 中使用量子信息