量子计算系统知识库 - 数学符号约定¶
文档版本: 1.0 创建日期: 2026-01-12 维护者: 系统架构组 状态: 活跃
文档目的¶
本文档规定量子计算知识库中**数学符号的统一约定**,特别解决以下关键问题:
- Pauli矩阵表示:σ_x 与逻辑门 X 的关系(相位因子)
- 旋转方向:R_z(θ) 的定义(Qiskit vs 物理教材)
- 全局相位:何时忽略,何时重要
- 算符与门:理论符号与代码实现的映射
1. Pauli矩阵与量子门的约定¶
1.1 核心约定声明¶
本知识库采用以下标准:
| 符号 | 定义 | 矩阵表示 | 代码表示 |
|---|---|---|---|
| σ_x, σ_y, σ_z | Pauli矩阵(物理算符) | 见1.2节 | sigma_x, sigma_y, sigma_z |
| X, Y, Z | 量子门(逻辑操作) | 见1.3节 | gates.X(), gates.Y(), gates.Z() |
| 关系 | 门 = 算符(忽略全局相位) | X ≡ σ_x, Y ≡ σ_y, Z ≡ σ_z | 代码中无区别 |
关键原则: - 理论文档:区分 σ_x(算符)和 X(门) - 代码实现:统一使用 X, Y, Z(不考虑相位) - 测量讨论:明确说明使用的是算符还是门
1.2 Pauli矩阵(物理算符)¶
标准定义(本知识库采用):
\[
\sigma_x = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \quad
\sigma_y = \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}, \quad
\sigma_z = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}
\]
代数关系:
本征值和本征态:
1.3 量子门(逻辑操作)¶
标准定义(本知识库采用):
\[
X = \sigma_x = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \quad
Y = \sigma_y = \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}, \quad
Z = \sigma_z = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}
\]
代码实现:
# ✅ 推荐:统一使用大写字母
gates.X(qubit) # Pauli-X 门
gates.Y(qubit) # Pauli-Y 门
gates.Z(qubit) # Pauli-Z 门
# ✅ 可选:明确表示算符
sigma_x = np.array([[0, 1], [1, 0]])
sigma_y = np.array([[0, -1j], [1j, 0]])
sigma_z = np.array([[1, 0], [0, -1]])
1.4 相位因子问题¶
问题:某些文献中定义的差异
方案A(本知识库采用):
X = σ_x (无相位差异)
方案B(某些教材):
X = e^{iπ/2}σ_x = iσ_x (差全局相位 i)
方案C(某些框架):
X = -σ_x (差全局相位 -1)
本知识库规定:
特殊情况:
# 当讨论受控相位时,必须明确:
- CZ 门:diag(1, 1, 1, -1)
- CZ ≠ σ_z ⊗ σ_z(差相位)
- CZ = |0⟩⟨0| ⊗ I + |1⟩⟨1| ⊗ σ_z
# 当讨论几何相位时,必须明确:
- Berry phase 与全局相位不同
- 几何相位是可观测的
2. 旋转门的约定¶
2.1 核心约定声明¶
本知识库采用物理教科书标准:
\[
R_x(\theta) = e^{-i\theta \sigma_x / 2}, \quad
R_y(\theta) = e^{-i\theta \sigma_y / 2}, \quad
R_z(\theta) = e^{-i\theta \sigma_z / 2}
\]
显式矩阵形式:
\[
R_z(\theta) = \begin{pmatrix} e^{-i\theta/2} & 0 \\ 0 & e^{i\theta/2} \end{pmatrix}
\]
关键特性:
2.2 与主流框架的对比¶
| 框架 | R_z(θ) 定义 | 参数顺序 | 说明 |
|---|---|---|---|
| 本知识库 | \(e^{-i\theta\sigma_z/2}\) | - | 物理教材标准 |
| Qiskit | \(e^{-i\theta\sigma_z/2}\) | rz(theta, qubit) |
✅ 一致 |
| Cirq | \(e^{-i\theta\sigma_z/2}\) | rz(rads=theta) |
✅ 一致 |
| Qibo | \(e^{-i\theta\sigma_z/2}\) | RZ(qubit, theta) |
✅ 一致 |
| PennyLane | \(e^{-i\theta\sigma_z/2}\) | RZ(theta, wires) |
✅ 一致 |
| 某些教材 | \(e^{-i\theta\sigma_z}\) | - | ⚠️ 差 2 倍 |
| OpenQASM | \(u1(\lambda) = diag(1, e^{i\lambda})\) | u1(lambda) q |
⚠️ 相位因子不同 |
2.3 Qiskit vs 物理教材的详细对比¶
Qiskit 定义¶
# Qiskit 文档
qc.rz(theta, qubit)
# 矩阵形式
R_z(θ) = [[e^{-iθ/2}, 0],
[0, e^{iθ/2}]]
# 等价于
R_z(θ) = exp(-iθ/2 * σ_z)
代码示例:
from qiskit import QuantumCircuit
import numpy as np
qc = QuantumCircuit(1)
qc.rz(np.pi/2, 0) # Z 旋转 π/2
# 矩阵验证
from qiskit.quantum_info import Operator
op = Operator(qc)
# op = [[e^{-iπ/4}, 0], [0, e^{iπ/4}]]
物理教材定义¶
# Sakurai, Griffiths 等标准教材
R_z(θ) = exp(-iθ σ_z / 2)
# 显式形式
R_z(θ) = [[e^{-iθ/2}, 0],
[0, e^{iθ/2}]]
推导:
对比结论¶
✅ Qiskit 和物理教材完全一致!
R_z(θ) = exp(-iθ σ_z / 2)
θ = π 时:
R_z(π) = [[e^{-iπ/2}, 0], [0, e^{iπ/2}]]
= [[-i, 0], [0, i]]
= -i σ_z (全局相位 -i)
θ = π/2 时:
R_z(π/2) = [[e^{-iπ/4}, 0], [0, e^{iπ/4}]]
= 1/√2 [[1-i, 0], [0, 1+i]]
2.4 其他常见定义(注意!)¶
定义 A(本知识库采用)¶
- 优点:与 Qiskit, Cirq, Qibo 一致 - 优点:符合物理教材标准 - 特性:旋转 2π 返回 -|ψ⟩(全局相位)定义 B(某些文献)¶
- 问题:旋转角度差 2 倍 - 转换:θ_B = θ_A/2 - 示例:定义 C(OpenQASM u1)¶
- 与定义 A 的关系: - 全局相位差异:e^{iλ/2}2.5 旋转门的矩阵形式¶
完整列表(定义 A,本知识库采用):
\[
R_x(\theta) = e^{-i\theta \sigma_x / 2} =
\begin{pmatrix}
\cos(\theta/2) & -i\sin(\theta/2) \\
-i\sin(\theta/2) & \cos(\theta/2)
\end{pmatrix}
\]
\[
R_y(\theta) = e^{-i\theta \sigma_y / 2} =
\begin{pmatrix}
\cos(\theta/2) & -\sin(\theta/2) \\
\sin(\theta/2) & \cos(\theta/2)
\end{pmatrix}
\]
\[
R_z(\theta) = e^{-i\theta \sigma_z / 2} =
\begin{pmatrix}
e^{-i\theta/2} & 0 \\
0 & e^{i\theta/2}
\end{pmatrix}
\]
2.6 旋转方向约定¶
右手定则:
布洛赫球表示:
|0⟩ = 北极 (0, 0, 1)
|1⟩ = 南极 (0, 0, -1)
|+⟩ = 东极 (1, 0, 0)
|-⟩ = 西极 (-1, 0, 0)
|+i⟩ = (0, 1, 0)
|-i⟩ = (0, -1, 0)
R_z(θ): 绕 z 轴旋转
R_x(θ): 绕 x 轴旋转
R_y(θ): 绕 y 轴旋转
3. 全局相位约定¶
3.1 核心原则¶
本知识库规定:
3.2 何时不重要¶
# 场景 1: 测量概率
P(0) = |⟨0|ψ⟩|² # 全局相位抵消
|ψ⟩ = α|0⟩ + β|1⟩
|ψ'⟩ = e^{iφ}|ψ⟩ # 全局相位
P(0) = |⟨0|ψ'⟩|² = |e^{iφ}⟨0|ψ⟩|² = |⟨0|ψ⟩|² # 相同
3.3 何时重要¶
4. 其他重要符号约定¶
4.1 量子态表示¶
| 符号 | 含义 | 使用场景 |
|---|---|---|
| ** | ψ⟩** | 右矢(列向量) |
| **⟨ψ | ** | 左矢(行向量) |
| ψ | 态向量(数组) | 代码实现 |
| state_vector | 态向量 | 代码变量 |
示例:
# 理论表示
|ψ⟩ = α|0⟩ + β|1⟩
# 代码实现
psi = np.array([alpha, beta])
state_vector = np.array([alpha, beta])
4.2 密度矩阵表示¶
| 符号 | 含义 | 使用场景 |
|---|---|---|
| ρ | 密度矩阵 | 理论推导 |
| **ρ = | ψ⟩⟨ψ | ** |
| density_matrix | 密度矩阵 | 代码变量 |
示例:
4.3 张量积表示¶
| 符号 | 含义 | 使用场景 |
|---|---|---|
| ⊗ | 张量积 | 理论推导 |
| A ⊗ B | A 和 B 的张量积 | 理论推导 |
| np.kron(A, B) | Kronecker 积 | 代码实现 |
示例:
# 理论表示
H = H₁ ⊗ H₂
# 代码实现
H = np.kron(H1, H2)
# 多系统张量积
H_total = H1 ⊗ H2 ⊗ H3
H_total = np.kron(H1, np.kron(H2, H3))
4.4 对易子和反对易子¶
| 符号 | 定义 | 使用场景 |
|---|---|---|
| [A, B] | AB - BA | 对易子 |
| {A, B} | AB + BA | 反对易子 |
示例:
# Pauli 矩阵对易关系
[σ_x, σ_y] = 2iσ_z
[σ_i, σ_j] = 2iε_{ijk}σ_k
# Pauli 矩阵反对易关系
{σ_x, σ_y} = 0
{σ_i, σ_j} = 2δ_{ij}I
4.5 哈密顿量表示¶
| 符号 | 含义 | 使用场景 |
|---|---|---|
| H | 哈密顿量 | 理论推导 |
| ℋ | 哈密顿量(花体) | 某些教材 |
| hamiltonian | 哈密顿量 | 代码变量 |
示例:
# 理论表示
H = ωσ_z/2 + Ωcos(ωt)σ_x
# 代码实现
omega = 5.0 # GHz
Omega = 0.1 # GHz
H = omega/2 * sigma_z + Omega * np.cos(omega * t) * sigma_x
# 使用 Qibo
from qibo.hamiltonians import XXZ
H = XXZ(nqubits=2) # 自然单位制
5. 框架特定符号约定¶
5.1 Qiskit 符号¶
# ✅ 推荐:明确文档约定
"""
Qiskit 使用标准量子门符号:
- X, Y, Z: Pauli 门(等同于 σ_x, σ_y, σ_z)
- RX, RY, RZ: 旋转门,定义 R_j(θ) = exp(-iθσ_j/2)
- U, U1, U2, U3: 通用单比特门
"""
# 代码示例
qc = QuantumCircuit(2)
qc.x(0) # Pauli-X
qc.h(0) # Hadamard
qc.cx(0, 1) # CNOT
qc.rz(np.pi/2, 0) # RZ 旋转 π/2
5.2 Cirq 符号¶
# ✅ 推荐:明确文档约定
"""
Cirq 使用标准量子门符号:
- X, Y, Z: Pauli 门
- Rx, Ry, Rz: 旋转门,定义 R_j(θ) = exp(-iθσ_j/2)
"""
# 代码示例
q0, q1 = cirq.LineQubit.range(2)
circuit = cirq.Circuit()
circuit.append(cirq.X(q0)) # Pauli-X
circuit.append(cirq.H(q0)) # Hadamard
circuit.append(cirq.CNOT(q0, q1)) # CNOT
circuit.append(cirq.rz(np.pi/2).on(q0)) # RZ 旋转 π/2
5.3 Qibo 符号¶
# ✅ 推荐:明确文档约定
"""
Qibo 使用物理风格符号:
- X, Y, Z: Pauli 门(等同于 σ_x, σ_y, σ_z)
- RX, RY, RZ: 旋转门,定义 R_j(θ) = exp(-iθσ_j/2)
- 参数顺序:(qubit, theta),qubit 在前
"""
# 代码示例
from qibo import gates, models
circuit = models.Circuit(2)
circuit.add(gates.X(0)) # Pauli-X
circuit.add(gates.H(0)) # Hadamard
circuit.add(gates.CNOT(0, 1)) # CNOT
circuit.add(gates.RZ(0, theta=np.pi/2)) # RZ 旋转 π/2
5.4 PennyLane 符号¶
# ✅ 推荐:明确文档约定
"""
PennyLane 使用量子机器学习符号:
- PauliX, PauliY, PauliZ: Pauli 门
- RX, RY, RZ: 旋转门,定义 R_j(θ) = exp(-iθσ_j/2)
- wires 参数指定作用量子比特
"""
# 代码示例
import pennylane as qml
@qml.qnode(dev)
def circuit(theta):
qml.PauliX(wires=0) # Pauli-X
qml.Hadamard(wires=0) # Hadamard
qml.CNOT(wires=[0, 1]) # CNOT
qml.RZ(theta, wires=0) # RZ 旋转
return qml.state()
6. 常见符号冲突与解决¶
6.1 旋转门参数顺序¶
冲突:
解决:
6.2 量子比特编号顺序¶
冲突:
解决:
6.3 矩阵乘法顺序¶
冲突:
解决:
7. 符号使用检查清单¶
使用本规范时,请完成以下检查:
7.1 Pauli 矩阵与门¶
- 区分 σ_x(算符)和 X(门)
- 说明是否忽略全局相位
- 在测量讨论中可忽略全局相位
- 在干涉讨论中保留相对相位
7.2 旋转门¶
- 明确使用 R_z(θ) = exp(-iθσ_z/2)
- θ 单位为弧度
- 正 θ = 逆时针旋转(右手定则)
- 说明与 Qiskit/Cirq/Qibo 的一致性
7.3 其他符号¶
- 量子态:|ψ⟩(理论)/ psi(代码)
- 密度矩阵:ρ(理论)/ rho(代码)
- 张量积:⊗(理论)/ np.kron(代码)
- 对易子:[A, B] = AB - BA
- 哈密顿量:H(理论)/ hamiltonian(代码)
8. 快速参考表¶
8.1 核心符号对照¶
| 概念 | 理论符号 | 代码表示 | Qiskit | Cirq | Qibo |
|---|---|---|---|---|---|
| Pauli-X 算符 | σ_x | sigma_x |
- | - | - |
| Pauli-X 门 | X | gates.X() |
x() |
X |
X() |
| Z 旋转 | R_z(θ) | gates.RZ() |
rz() |
rz() |
RZ() |
| 量子态 | ψ⟩ | psi |
Statevector |
StateVector |
|
| 密度矩阵 | ρ | rho |
DensityMatrix |
DensityMatrix |
- |
| 张量积 | ⊗ | np.kron() |
^ |
* |
- |
8.2 旋转门定义对比¶
| 定义 | 公式 | 矩阵形式(θ=π/2) | 使用者 |
|---|---|---|---|
| 本知识库 | e^{-iθσ_z/2} | [[e^{-iπ/4}, 0], [0, e^{iπ/4}]] | Qiskit, Cirq, Qibo |
| 某些教材 | e^{-iθσ_z} | [[e^{-iπ/2}, 0], [0, e^{iπ/2}]] | Nielsen & Chuang 注 |
| OpenQASM | diag(1, e^{iλ}) | [[1, 0], [0, e^{iπ/2}]] | OpenQASM 2.0 |
版本历史¶
| 版本 | 日期 | 修改内容 | 影响范围 | 负责人 |
|---|---|---|---|---|
| 1.0 | 2026-01-12 | 初始版本,建立数学符号约定 | 全系统 | 系统架构组 |
参考资源¶
教材¶
- Nielsen, M. A., & Chuang, I. L. (2010). Quantum Computation and Quantum Information
- Sakurai, J. J., & Napolitano, J. (2017). Modern Quantum Mechanics
框架文档¶
- Qiskit Textbook: https://qiskit.org/textbook/
- Cirq Documentation: https://quantumai.google/cirq
- Qibo Documentation: https://qibo.readthedocs.io/
标准¶
- IEEE Standard for Quantum Computing Notation (讨论中)