本项目是一个面向量子算法创新应用的 SU(2) 对称量子多体模拟示例。项目使用小规模 color-chain toy Hamiltonian,展示 SU(2) singlet 态制备、singlet/triplet sector 能谱分析、局域 color-singlet quench 以及左右 probe sites 的 connected color correlation。
该示例默认使用 4 到 8 个 qubit,可在本地完成精确对角化扫描、图表生成和基础线路导出;同时提供 pyQPanda CPUQVM 示例,便于学习和迁移到 pyQPanda 生态。
本项目定位为一个自包含教程型贡献:NumPy 精确对角化部分提供可复现实验参考量,pyQPanda CPUQVM 脚本展示对应的 singlet 态制备与局域 probe 线路构造方式。
【创新应用】SU(2) color-chain quantum simulation tutorial
- 构造 SU(2)-scalar color interaction:$S_i \cdot S_j$。
- 扫描 dimerization 参数下的低能谱结构。
- 计算 total spin sector,用于区分 singlet 与 triplet 能级。
- 对中心 bond 施加 color-singlet local quench。
- 计算 quench energy injection 与 low-energy spectral weights。
- 计算左右 probe sites 的 connected color correlation。
- 导出 singlet-pair state preparation 与 color-quench probe 的 OpenQASM 原型。
- 提供 pyQPanda CPUQVM 示例脚本。
SU2ColorChainTutorial/
├── README.md
├── SUBMISSION_CHECKLIST.md
├── contest_pitch.txt
├── requirements.txt
├── requirements-pyqpanda.txt
├── run_demo.py
├── make_plots.py
├── pyqpanda_demo.py
├── src/su2_toy/
├── tests/test_su2_toy.py
└── Tutorials/SU2ColorChainTutorial/
├── README.md
├── DERIVATION.md
├── CONTRIBUTION_NOTE.md
├── PR_DESCRIPTION.md
├── run_tutorial.py
├── make_tutorial_plots.py
└── pyqpanda_cpuqvm_example.py
基础数值教程依赖:
pip install -r requirements.txtnumpy
matplotlib
如需运行 pyQPanda CPUQVM 示例,再安装可选依赖:
pip install -r requirements-pyqpanda.txt本项目使用 pyQPanda CPUQVM 构造并运行 singlet-pair preparation 与 central color-quench probe 线路。NumPy 精确对角化部分用于生成参考观测量,帮助解释和验证量子线路示例的物理含义;pyQPanda CPUQVM 部分用于展示可执行的量子编程入口;OpenQASM 导出用于连接线路原型与后续模拟器或硬件迁移。
因此,本项目的设计关系为:
NumPy exact diagonalization -> reference observables
OpenQASM export -> portable circuit prototype
pyQPanda CPUQVM -> executable circuit realization
python run_demo.py --num-qubits 6 --points 17 --out outputs_su2_n6示例终端输出如下:
SU(2) color-chain quantum simulation 完成
输出目录:outputs_su2_n6
singlet-triplet gap 最小窗口:delta = -0.750000
correlation slope 诊断窗口:delta = -0.562500
fidelity dip 诊断窗口:delta = -0.187500
probe-site color correlation = -0.073882
python make_plots.py --input outputs_su2_n6/summary.json --out outputs_su2_n6/figurespython Tutorials/SU2ColorChainTutorial/run_tutorial.py --num-qubits 6 --points 17
python Tutorials/SU2ColorChainTutorial/make_tutorial_plots.pypython pyqpanda_demo.py --num-qubits 6 --shots 1000或:
python Tutorials/SU2ColorChainTutorial/pyqpanda_cpuqvm_example.py --num-qubits 6 --shots 1000运行后会输出 bitstring counts,并保存为 JSON 文件。示例终端输出如下:
pyQPanda CPUQVM SU(2) singlet-pair demo 完成
输出文件:outputs_pyqpanda/counts.json
非零 bitstring 数:...
运行扫描后会生成:
su2_spectrum_scan.csv
summary.json
singlet_triplet_gap_chart.txt
correlation_slope_chart.txt
fidelity_loss_chart.txt
state_prep_singlet_pairs.qasm
color_quench_probe.qasm
运行画图脚本后会生成:
singlet_triplet_gap.png
probe_color_correlation.png
fidelity_loss.png
quench_delta_energy.png
summary_panels.png
图表含义:
singlet_triplet_gap.png:展示最低 singlet 与 triplet sector 的能量差随参数变化的趋势。probe_color_correlation.png:展示左右 probe sites 的 connected color correlation。fidelity_loss.png:展示相邻参数点之间 ground-state overlap 的变化。quench_delta_energy.png:展示 central color-singlet quench 后的能量注入。summary_panels.png:汇总主要诊断量,便于快速检查教程输出。
数值扫描用于生成参考观测量,pyQPanda / OpenQASM 部分用于展示可迁移的线路构造入口。
| 数值或线路对象 | 物理含义 | 主要输出文件 | pyQPanda / OpenQASM 对应关系 |
|---|---|---|---|
| singlet-pair state preparation | SU(2) singlet 初态构造 | state_prep_singlet_pairs.qasm |
pyQPanda 示例中的 pair preparation 线路 |
| singlet/triplet sector energies | sector-resolved spectroscopy | su2_spectrum_scan.csv, singlet_triplet_gap_chart.txt |
作为后续 VQE 或谱测量线路的 reference observable |
| central color-singlet quench energy injection | 中心 bond 上的 SU(2)-scalar 局域扰动响应 | summary.json, quench_delta_energy.png |
color_quench_probe.qasm 与 CPUQVM local probe circuit |
| connected color correlation between two probe sites | 左右 probe sites 的 connected color correlation | correlation_slope_chart.txt, probe_color_correlation.png |
给出后续 measurement circuit 的目标观测量 |
| ground-state fidelity loss | 参数扫描中基态结构变化的参考诊断 | fidelity_loss_chart.txt, fidelity_loss.png |
可用于验证参数化线路扫描的一致性 |
每个 qubit 表示一个 fundamental SU(2) color spin。两体相互作用取 SU(2)-scalar 形式:
模型 Hamiltonian 为:
其中
- 物理结构保留 SU(2) 对称性。
- 输出 singlet/triplet sector resolved spectroscopy。
- 以 connected color correlation 作为 color-chain 诊断量。
- 示例规模小,便于教学、复现实验和算法展示。
- 同时包含数值模拟、图表生成、OpenQASM 导出和 pyQPanda CPUQVM 示例。
python -m py_compile run_demo.py make_plots.py pyqpanda_demo.py
python Tutorials/SU2ColorChainTutorial/run_tutorial.py --num-qubits 6 --points 17
python Tutorials/SU2ColorChainTutorial/make_tutorial_plots.py
python -c "import sys; sys.path.insert(0, 'tests'); import test_su2_toy as t; [getattr(t, n)() for n in dir(t) if n.startswith('test_')]; print('tests ok')"