tequilahub/tequila
A High-Level Abstraction Framework for Quantum Algorithms
Tequila – 変分量子アルゴリズムのためのPythonフレームワーク
概要
- 変分量子固有値ソルバー (VQE) やその他のハイブリッド量子古典アルゴリズムなどのタスクに向けて、量子回路を構築、微分、最適化できるオープンソースのPythonライブラリです。
- 量子バックエンド(シミュレーターや実機)の低レベルな詳細を抽象化し、変数、ゲート、ハミルトニアン、期待値目的関数を定義するための統一されたAPIを提供します。
主な機能
- 抽象データ構造 – 回路、ハミルトニアン、最適化目的関数は、実行バックエンドから独立して表現されます。
- 自動微分 – 期待値の勾配を自動的に取得できるため、BFGSのような勾配ベースの最適化手法が利用可能です。
- バックエンド非依存 – 多くのシミュレーターやハードウェアプロバイダー(Qulacs、Qibo、Qiskit、Cirq、PyQuil、Atos QLM)と連携し、インストールされている最適なものを自動的に選択します。
- 量子化学統合 – 分子構造(Psi4、PySCF、またはMadnessライブラリ経由)を量子ビットハミルトニアンに変換し、化学特有のansatz(UCC、UpCCGSD、SPAなど)を生成するモジュールを備えています。
- 研究グレードの機能 – カスタムansatz、区間保証付き測定、明示的相関補正、その他多くの関連論文で説明されている技術をサポートしています。
典型的なワークフロー (Hello-World)
- シンボリック変数
aを定義します。 - 回路(例:単一量子ビット回転
Ry)を構築します。 - ハミルトニアン(例:Pauli-X 演算子)を指定します。
- 回路とハミルトニアンをリンクする
ExpectationValueオブジェクトを作成します。 - 最適化手法(例:BFGS)を指定して
tq.minimizeを呼び出し、エネルギーを最小化する変数の値を見つけます。 - 得られた波動関数と最適化履歴を確認します。
化学の例
- ジオメトリ文字列または
.xyzファイルから分子を読み込みます。 - 選択したフェルミオンから量子ビットへのマッピングを介して量子ビットハミルトニアンを生成します。
- 化学特有のansatz(例:SPA、UpCCGSD)を選択します。
- VQEでエネルギーを最適化し、必要に応じてPySCFやPsi4を使用して古典的な参照手法(CISD、FCI)と比較します。
インストール
- 推奨:
pip install tequila-basic(コアライブラリ)。 - Qulacsのような高速シミュレーターを追加 (
pip install qulacs)。 - 化学用途には、説明に従ってcondaまたはpip経由でオプションのバックエンド(Psi4、PySCF、Madness)をインストールしてください。
ドキュメントと学習リソース
- チュートリアルとAPIドキュメントは https://tequilahub.github.io/tequila-tutorials/ で公開されています。
- 研究論文やサンプルノートブックのコレクションが、高度な使用例(基底関数系フリーVQE、meta-VQE、堅牢性区間など)を示しています。
対象ユーザー
- 新しい変分アルゴリズムや化学アプリケーションを開発する量子コンピューティング研究者。
- 自動微分を使用して量子回路をプロトタイプするための、高レベルでバックエンドに依存しない方法を求める学生や開発者。
- 古典的な量子化学パッケージと量子ハードウェア実行の間のブリッジを必要とするすべての方。
コミュニティ
- GitHubでオープンソースとして公開されており、プルリクエストによる貢献を歓迎します。
- 問題はリポジトリで直接報告でき、メンテナーが直接サポートするための連絡先を提供しています。
上記の情報はすべてプロジェクトのREADMEから直接引用したものであり、追加の機能は推測されていません。
関連
- プロジェクト
- プロジェクト