VQD(变分量子压缩)算法#
背景与理论#
VQD(Variational Quantum Deflation)是一种混合量子-经典算法,用于逐个寻找哈密顿量的激发态。由 Higgott、Wang 和 Brierley 于 2019 年提出。
在许多物理和化学问题中,不仅需要基态能量,还需要激发态信息——例如分子的吸收光谱、材料的能带结构等。VQD 正是为此而设计。
核心思想#
VQD 的代价函数在 VQE 的基础上增加了一个惩罚项,用于将变分状态推离已找到的低能态:
其中:
\(H\) 是目标哈密顿量
\(|\psi(\boldsymbol{\theta})\rangle\) 是参数化 ansatz 生成的量子态
\(|\phi_i\rangle\) 是已找到的第 \(i\) 个低能态
\(\beta_i\) 是惩罚系数,需足够大以保证正交性
算法流程#
基态搜索:用标准 VQE 找到基态 \(|\phi_0\rangle\)
第 \(k\) 激发态:将前面找到的所有态 \(|\phi_0\rangle, \ldots, |\phi_{k-1}\rangle\) 加入惩罚项,优化 \(C(\boldsymbol{\theta})\)
重叠计算:\(|\langle\psi(\boldsymbol{\theta})|\phi_i\rangle|^2\) 通过 swap test 或 Hadamard test 在量子电路上估计
重叠测量:Swap Test#
计算两个 \(n\)-qubit 态 \(|\psi\rangle\) 和 \(|\phi\rangle\) 的重叠 \(|\langle\psi|\phi\rangle|^2\),可以使用 swap test:
准备辅助比特于 \(|+\rangle\) 态
以辅助比特为控制,对两个寄存器执行受控 SWAP
测量辅助比特
测量辅助比特得 \(|0\rangle\) 的概率 \(P(0) = \frac{1 + |\langle\psi|\phi\rangle|^2}{2}\),因此:
Hardware Efficient Ansatz(HEA)#
VQD 使用 HEA 作为参数化 ansatz,每层包含:
单比特旋转:每个 qubit 上施加 \(R_y(\theta)\) 门
纠缠层:相邻 qubit 之间的 CNOT 链
参数数量为 \(n_{\text{qubits}} \times n_{\text{layers}}\)。
代码解析#
构建电路#
from uniqc.circuit_builder import Circuit
from uniqc.algorithmics.circuits import vqd_circuit
import numpy as np
# 2-qubit 系统
c = Circuit(2)
# 假设已通过 VQE 找到基态
ground_state = np.array([1, 0, 0, 0], dtype=complex)
# 构建 VQD 电路
params = [0.1, 0.2, 0.3, 0.4]
vqd_circuit(c, params, prev_states=[ground_state], n_layers=2)
构建重叠测量电路#
from uniqc.algorithmics.circuits import vqd_overlap_circuit
# 构建 swap test 电路
overlap_circ = vqd_overlap_circuit(
prev_state=ground_state,
ansatz_params=[0.1, 0.2, 0.3, 0.4],
n_layers=2,
)
运行示例#
完整的 VQD 示例位于 examples/circuits/vqd.py,演示了 2-qubit 系统 \(H = Z_0 + Z_1\) 的基态和第一激发态搜索:
# 默认参数
python examples/circuits/vqd.py
# 自定义参数
python examples/circuits/vqd.py --n-qubits 2 --n-layers 3 --penalty 15.0
运行输出示例:
=== VQD Example: H = Z₀ + ... + Z_{n-1} on 2 qubits ===
Exact eigenvalues: [-2. 0. 0. 2.]
--- Step 1: VQE (ground state) ---
VQE ground state energy: -2.000000 (exact: -2.000000)
--- Step 2: VQD (first excited state) ---
VQD first excited state energy: 0.000000 (exact: 0.000000)
Overlap with ground state: 0.000000
参考文献#
Higgott, O., Wang, D. & Brierley, S. (2019). “Variational Quantum Computation of Excited States.” Quantum 3, 156.
Kandala, A. et al. (2017). “Hardware-efficient variational quantum eigensolver for small molecules and quantum magnets.” Nature 549, 242–246.