tequilahub/tequila

A High-Level Abstraction Framework for Quantum Algorithms

Tequila – 用於變分量子演算法的 Python 框架

是什麼 – Tequila 是一個 Python 庫,讓您以硬體無關的方式撰寫、組合、微分與最佳化量子計算電路。它專注於 變分 演算法(VQE、QAOA 等),並為量子後端(模擬器與實際裝置)以及量子化學套件提供高階抽象。

核心概念

  • 抽象資料結構 – 電路、哈密頓量、期望值與最佳化目標皆以物件形式表示(tq.gatestq.ExpectationValuetq.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;未推斷任何額外功能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案