VQA算法实现¶
本目录包含变分量子算法(VQA)的实现,主要是VQE(变分量子本征求解器)。
📋 文件列表¶
核心实现¶
- 海森堡模型可配置VQE实现.py - 可配置的海森堡模型VQE实现
- 海森堡模型VQE实现_可配置版.py - 可配置版本(备用)
- 海森堡模型VQE实现_基础版.py - 基础版本实现
- 简单VQE测试脚本.py - VQE简单测试
梯度计算¶
- VQE梯度计算方法性能对比带注释.py - 梯度计算方法性能对比(带详细注释)
- VQE梯度计算方法对比_基础版.py - 梯度计算对比(基础版)
- VQE梯度计算方法对比_详细注释版.py - 梯度计算对比(详细注释版)
时间演化¶
- 泰勒展开与Krylov时间演化基准测试.py - 泰勒展开vs Krylov子空间方法对比
🎯 主要功能¶
1. VQE算法实现¶
- 海森堡模型求解
- 变分 ansatz 设计
- 本征值和本征态计算
2. 梯度计算方法¶
- 参数位移规则
- 有限差分法
- 自动微分
- 性能对比分析
3. 时间演化方法¶
- 泰勒展开法
- Krylov子空间方法
- 性能基准测试
📊 代码示例¶
运行VQE¶
梯度计算对比¶
时间演化测试¶
🔬 算法说明¶
VQE算法流程¶
- 准备哈密顿量
- 设计变分电路(ansatz)
- 初始化参数
- 优化循环:
- 执行量子电路
- 计算期望值
- 计算梯度
- 更新参数
- 收敛到基态能量
梯度计算方法¶
参数位移规则 (Parameter Shift Rule)¶
有限差分法¶
时间演化方法¶
泰勒展开¶
- 适用于短时间演化
- 精度可控
- 计算成本随时间增加
Krylov子空间方法¶
- 适用于长时间演化
- 更高效
- 需要矩阵向量乘法
🔧 依赖项¶
- Qibo框架
- NumPy
- SciPy(优化器、线性代数)
- Matplotlib(可视化)
📈 性能指标¶
测试和对比以下指标: - 收敛速度 - 梯度计算精度 - 时间演化误差 - 内存使用 - 量子比特数扩展性
🎓 学习要点¶
- VQE核心概念
- 变分原理
- Ansatz设计
-
优化器选择
-
梯度计算
- 解析梯度 vs 数值梯度
-
精度与效率权衡
-
时间演化
- 不同方法适用场景
- 误差控制