tequilahub/tequila
A High-Level Abstraction Framework for Quantum Algorithms
Tequila – 用于变分量子算法的 Python 框架
是什么 – Tequila 是一个 Python 库,允许您以硬件无关的方式编写、组合、微分和优化量子计算电路。它专注于 变分 算法(VQE、QAOA 等),并为量子后端(模拟器和真实设备)以及量子化学包提供高层抽象。
核心理念
- 抽象数据结构 – 电路、哈密顿量、期望值和优化目标均以对象形式表示(
tq.gates、tq.ExpectationValue、tq.Variable)。这使您可以在不硬编码特定模拟器的情况下构建复杂的工作流。 - 自动微分 – 该库可自动计算期望值的梯度,从而支持 BFGS 等基于梯度的优化器。
- 后端无关执行 – 只要安装了支持的后端(Qulacs、Qibo、Qiskit、Cirq、PyQuil、QLM),Tequila 就会自动检测并使用它们。您还可以接入量子化学引擎(Psi4、PySCF、Madness)来从分子结构生成量子哈密顿量。
- 化学导向的工具 – 提供构建分子哈密顿量、生成常见变分形式(UCC、UpCCGSD、SPA 等)以及与经典参考方法(CISD、FCI)比较的辅助函数。
典型工作流(Hello-World)
import tequila as tq
from math import pi
# 1️⃣ 定义变分参数
θ = tq.Variable('θ')
# 2️⃣ 构建简单电路(对第 0 个量子比特进行 Ry 旋转)
U = tq.gates.Ry(angle=θ*pi, target=0)
# 3️⃣ 选择可观测量(第 0 个量子比特上的 Pauli-X)
H = tq.paulis.X(0)
# 4️⃣ 构造期望值 ⟨ψ(θ)|H|ψ(θ)⟩
E = tq.ExpectationValue(H=H, U=U)
# 5️⃣ 优化 – 最小化期望值的平方
result = tq.minimize(method='bfgs', objective=E**2)
# 6️⃣ 检查结果
print('最优波函数:', tq.simulate(U, variables=result.angles))
result.history.plot('energies')
该模式可扩展至化学领域:定义 Molecule,生成量子哈密顿量,选择变分形式,然后调用 tq.minimize。
安装
- 核心包以
tequila-basic的形式在 PyPI 上发布。使用pip install tequila-basic安装。 - 为在模拟器上获得最佳性能,可添加快速后端如 Qulacs(
pip install qulacs)。 - 可选的化学后端(Psi4、PySCF、Madness)需单独安装(conda 或 pip),并可自动检测。
- 开发版本可直接从 GitHub 安装(
pip install git+https://github.com/tequilahub/tequila.git)。
生态系统与社区
- 教程与文档 – 专用网站(
tequilahub.github.io/tequila-tutorials)提供涵盖基础用法、化学模块和高级主题的笔记本。 - 研究影响 – README 列出了数十篇使用 Tequila 进行 VQE、基组无关方法、量子光学硬件设计、鲁棒性分析等的同行评审论文。其中许多论文在
tequila-tutorials仓库中提供了示例笔记本。 - 可扩展性 – 您可以通过拉取请求贡献新的后端、变分形式或优化策略。项目遵循标准 Python 工具链(Ruff 用于格式化,CI 通过 GitHub Actions)。
谁可能使用它
- 希望通过 Python 接口在不同模拟器或真实量子硬件上运行 VQE 的量子化学研究人员。
- 原型设计新型变分形式或基于梯度的优化方案的算法开发者。
- 寻找教学友好型库的教育工作者,该库抽象了底层后端细节,同时仍暴露底层电路模型。
以上所有信息均直接取自仓库的 README;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目