Skip to content

feat: 新增 VQE(变分量子本征求解器)模块#20

Open
debaobai wants to merge 1 commit into
OriginQ:mainfrom
debaobai:feature/add-vqe-module
Open

feat: 新增 VQE(变分量子本征求解器)模块#20
debaobai wants to merge 1 commit into
OriginQ:mainfrom
debaobai:feature/add-vqe-module

Conversation

@debaobai

@debaobai debaobai commented Jun 6, 2026

Copy link
Copy Markdown

概述

新增 VQE(Variational Quantum Eigensolver)模块,实现基于变分原理的量子-经典混合优化求解器,用于求解哈密顿量的最小本征值(基态能量)。

新增文件

文件 功能
VQE/__init__.py 模块入口,统一导出公开 API
VQE/hamiltonian.py PauliHamiltonian 类(Pauli 算符加权和表示、验证、精确对角化)
VQE/ansatz.py 参数化量子线路(Hardware Efficient Ansatz、RY-Linear Ansatz)
VQE/measurement.py Pauli 期望值测量(基变换 + 概率分布计算)
VQE/vqe_solver.py VQESolver 主类(支持 COBYLA/Powell/Nelder-Mead/SLSQP 优化器)
VQE/VQE_README.md 安装指南 + 算法原理说明
VQE/sample_01_h2_molecule.py 示例:H₂ 分子基态能量求解
VQE/sample_02_optimizer_comparison.py 示例:优化器与 Ansatz 对比实验
VQE/sample_03_custom_hamiltonian.py 示例:Heisenberg 自旋链自定义哈密顿量

修改文件

  • pyqpanda_alg/__init__.py:启用 from . import VQE(原代码已有注释占位)

测试结果

  • Python 3.12 + pyqpanda3 0.3.5 环境下验证通过
  • H₂ 分子 VQE 求解结果与精确对角化一致(误差 0.000000 Ha)
  • 兼容 Python 3.11 / 3.12 / 3.13

设计说明

  • 遵循项目现有代码风格(类结构参考 QSVD 模块,API 参考 QAOA 模块)
  • 使用 CPUQVM + get_prob_list() 获取概率分布(与项目其他模块一致)
  • 代码面向教学场景,中级 Python 水平即可理解
  • 无新增第三方依赖(仅使用 numpy、scipy、pyqpanda3)

Author: Bai

- PauliHamiltonian: Hamiltonian as weighted sum of Pauli strings
- hardware_efficient_ansatz & ry_linear_ansatz: parameterized circuits
- measure_expectation: Pauli term expectation via probability readout
- VQESolver: hybrid quantum-classical optimization loop
- 3 sample scripts (H2 molecule, optimizer comparison, Heisenberg model)
- VQE_README.md: setup guide with algorithm explanation (Chinese)
- Compatible with Python 3.11/3.12/3.13
Author: Bai
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant