2. 量子态表示与数据编码基础
在讨论如何把经典数据装载进量子计算机之前,必须先明确量子态本身是如何被描述、约束和读取的。量子算法中的“数据”并不是以比特数组的形式直接存放在寄存器里,而是被编码为量子态的振幅与相位。理解计算基、叠加、纠缠、密度矩阵以及归一化约束,是后续设计任何数据装载方案的前提。
计算基与叠加态
一个量子比特的态可以写成两个基态的线性组合:
|ψ⟩ = α|0⟩ + β|1⟩, α, β ∈ ℂ, |α|² + |β|² = 1
其中 |0⟩ 和 |1⟩ 构成计算基(computational basis),α 和 β 是复数振幅。测量时得到 0 的概率为 |α|²,得到 1 的概率为 |β|²。对于 n 个量子比特,计算基共有 2ⁿ 个基态,从 |00…0⟩ 到 |11…1⟩,一般态为:
|ψ⟩ = Σ_{x=0}^{2ⁿ-1} c_x |x⟩, Σ_x |c_x|² = 1
这里的 c_x 是第 x 个基态的复振幅。叠加态的关键在于:振幅不是概率,而是概率幅;振幅可以取负值或复数,不同基态之间的相对相位会影响后续干涉结果。例如 (|0⟩+|1⟩)/√2 与 (|0⟩−|1⟩)/√2 在测量时都给出各 50% 的 0 和 1,但它们在 Hadamard 门作用后分别变为 |0⟩ 和 |1⟩,这正是相位在算法中起作用的直接体现。
纠缠态与密度矩阵
当多个量子比特不能写成各自态的直积时,它们处于纠缠态。最典型的例子是 Bell 态:
|Φ⁺⟩ = (|00⟩ + |11⟩)/√2
测量第一个比特得到 0,第二个比特必然为 0;得到 1 则第二个必然为 1。这种关联无法用两个独立量子比特的乘积描述。纠缠是量子并行性和许多量子算法加速的来源之一,但它也意味着不能单独描述其中一个子系统,必须使用约化密度矩阵。
密度矩阵是描述量子态的另一种等价形式。纯态 |ψ⟩ 的密度矩阵为 ρ = |ψ⟩⟨ψ|,满足 ρ² = ρ 且 Tr(ρ) = 1。混合态则是多个纯态的概率混合:
ρ = Σ_i p_i |ψ_i⟩⟨ψ_i|, Σ_i p_i = 1, p_i ≥ 0
混合态满足 Tr(ρ) = 1,但 ρ² ≠ ρ。判断纯态与混合态的一个实用指标是纯度 Tr(ρ²):纯态为 1,混合态小于 1。在数据装载中,如果制备过程存在退相干或控制误差,实际得到的往往是混合态而非理想纯态,因此密度矩阵是评估装载质量的重要工具。
振幅、相位与归一化约束
振幅和相位是量子态的两个自由度。振幅决定测量概率,相位决定干涉行为。对于数据编码而言,通常需要把经典数据向量 x = (x₀, x₁, …, x_{N−1}) 映射为量子态 |ψ⟩ = Σ_x c_x |x⟩,其中 c_x 与 x_x 相关。最常见的幅度编码要求:
c_x = x_x / ||x||₂, ||x||₂ = √(Σ_x |x_x|²)
这样自动满足归一化约束。例如经典向量 x = (3, 4),其 2-范数为 5,编码后态为 (3/5)|0⟩ + (4/5)|1⟩,测量得到 0 的概率为 9/25 = 36%,得到 1 的概率为 16/25 = 64%。如果数据包含负数或复数,则需把符号或相位放入振幅的相位部分,例如用 c_x = |x_x|/||x||₂ · e^{iθ_x} 表示。
归一化约束不是可选项,而是量子力学的基本要求。任何数据装载方案都必须保证最终态满足 Σ|c_x|² = 1。如果原始数据不满足,需要先归一化;如果数据需要保留整体尺度信息,则应在算法输出端通过经典后处理恢复,而不是破坏量子态的归一化。
经典数据到量子态的映射需求
把经典数据映射为量子态,通常需要回答四个问题:
- 编码方式:是幅度编码、角度编码、基编码还是 QRAM 式地址编码?不同方式对量子比特数和门深度的需求差异很大。
- 数据规模:N 个经典数据用幅度编码需要 log₂N 个量子比特,但制备任意态一般需要 O(N) 量级的门操作,除非数据具有特殊结构。
- 精度要求:振幅精度受量子比特数和门保真度限制,需要明确目标误差 ε。
- 可重复性:装载过程是否可重复、是否可逆、是否允许测量反馈,都会影响方案选择。
下面这张图概括了从经典数据到量子态的映射关系与关键约束。图中左侧是经典数据向量,中间经过归一化与编码映射,右侧是量子态及其测量概率,底部标出纯态/混合态与归一化约束的检查点。
从图中可以看到,经典数据到量子态的映射不是一步完成的:先归一化,再按选定编码方式计算振幅,最后通过量子门序列制备目标态。每一步都可能引入误差,因此在实际算法设计中,需要根据数据规模、精度要求和硬件约束选择合适的编码策略。对于稀疏或低秩数据,可以利用结构信息降低制备复杂度;对于一般稠密数据,则往往需要借助 QRAM 或近似制备方法。理解这些基础概念,是后续学习具体数据装载算法的必要准备。