コマンドラインから実行したベル対です。
回路はただのテキストです。aria バイナリがそれを一覧表示し、パースし、実行し、学習し、エクスポートし、チューニングします。
circuit Bell() {
qreg q[2]
creg c[2]
apply H on q[0]
apply CX on q[0], q[1]
measure q[0] -> c[0]
measure q[1] -> c[1]
}
$ aria run bell.aria --circuit Bell --statevector
|00> +0.707107+0.000000i
|11> +0.707107+0.000000i
$ aria run bell.aria --circuit Bell --expectation "Z0 Z1"
<Z0 Z1> = 1.000000000000Aria で回路を書くと得られるもの。
必要な形式へエクスポート
同じ回路をそのまま実行するか、OpenQASM 2.0、JSON、あるいは Lean 4 の正しさの定理へエクスポートできます。
その場で学習
symbolic[k] で学習可能な角度を宣言します。aria train が libtorch なしの純 Rust でパラメータシフト勾配を使って最適化し、aria tune がメタパラメータを探索します。
シミュレータを選ぶ
すべてのバックエンドがひとつのトレイトを実装します。既定は CPU 状態ベクトルで、MPS、GPU (Metal、CUDA、OpenCL)、libtorch、リモートの omega-server を加えられます。
すべての例を検査
43 個の例すべてが独立した古典オラクルと数値的に照合されています。Lean 4 の証明に sorry はありません。
何を、どうシミュレートするか。
モダリティごとに固有のエンジンがあり、それぞれ Qiskit、Stim、ffsim、Perceval といった外部の参照実装と照合しています。
- 量子ビットCPU、CUDA、Metal、OpenCL、libtorch 上の密な状態ベクトル。GPU 加速 SVD を使う MPS テンソルネットワーク。認証付き打ち切り限界を持つハイゼンベルク描像のパウリ伝播。
- 量子ディットDITQASM 回路向けの厳密な混合基数状態ベクトルと、第二のエンジンとしての MPS。
- フェルミオン (マヨラナ)欠落質量の証明書付きマヨラナ伝播。粒子数を固定した厳密なセクターエンジン。任意の量子ビットエンジンへのヨルダン–ウィグナー変換。FermionicQASM 1.0 または OpenFermion の梯子演算子テキストで記述します。
- 光子 (CV と DV)離散変数: 一方向クラスター状態実行器を備えた OPTICQASM 回路向けの Fock 空間フォトニクス。連続変数: 打ち切った Fock 空間上のプログラム。
- スタビライザー高速な期待値計算のためのクリフォード・タブロー。振幅、内積、パウリ行列要素のための厳密位相 CH 形式のスタビライザー・ランク。
計算のしかた。
回路に合った手法を選んでください。厳密計算が現実的なところでは厳密に、そうでないところでは認証付きの近似で。
- 密な状態ベクトルCPU、CUDA、Metal、OpenCL または libtorch 上で、すべての基底状態の厳密な振幅を計算します。
- テンソルネットワーク (MPS)ボンド次元を制限した行列積状態。幅は量子ビット数ではなくエンタングルメントの量に応じて増えます。ノイズ付き MPS の経路も含みます。
- ハイゼンベルク伝播観測量をパウリ和またはマヨラナ和として回路を逆向きに押し戻します。クリフォード回路では厳密、それ以外では落とした重みへの認証付き限界とともに打ち切ります。
- スタビライザー法高速な期待値のためのクリフォード・タブロー。厳密な振幅と内積のための CH 形式のスタビライザー・ランク。
- Fock 空間シミュレーション離散・連続変数光学のための光子数状態と、パーマネントに基づく振幅。
- 粒子数セクターフェルミオン回路を、粒子数を固定した部分空間の中で厳密にシミュレートします。
- 測定型 (一方向)ゲートモデルと並ぶ、クラスター状態の測定パターン向け参照実行器。
- 学習と探索変分回路のためのパラメータシフト勾配と厳密な随伴勾配。メタパラメータのための aria tune (枝刈り付き TPE)。QUBO と QAOA の定式化。
次に取り組むこと。
- 性能CPU と GPU の両バックエンドでのシミュレーション高速化。
- マルチ QPU エミュレーション量子光ネットワークで結ばれた複数の QPU を、ひとつの Aria プログラムからエミュレートします。
リポジトリに入っているもの。
- 43 個の例題回路各ヘッダにハーネスと、通過すべきチェックが明記されています。
- 誤り訂正 (aria-qec)トランスバーサルゲート、マジック状態蒸留、デコーダを備えた表面符号と Steane 符号。どのバックエンドでも動きます。
- Lean 4 証明ツリー認識される回路 (Bell、GHZ、QFT、QPE、Grover) の正しさの定理。
- エディタ対応VS Code、Neovim、tree-sitter 向けの構文と、オプションの Python バインディング。
- 明記された限界LIMITATIONS.md、GATE-EXACTNESS.md、そして実測した CPU→GPU 切り替えサイズがコードとともに提供されます。
仕組みについて書いたもの。
量子信号処理を形式的に:Lean 4 による逆定理
量子信号処理の逆基本定理 — 許容される多項式の組はすべて、ある位相列によって実現される — が、Aria に同梱の Lean 4 証明ツリーで sorry なしに機械検証されています。
→Aria Language読める回路から、機械が検証した定理へ
aria export --lean は、回路とそのアノテーションを Lean 4 の定理に変換します。何がエクスポートされるのか、未完だった証明をどう閉じたのか、証明ツリーがどこにあるのかを紹介します。
→Aria Language信頼できる回路オプティマイザ
Aria は独自のランタイムを同梱しています。その回路オプティマイザは 3 つの小さなパスでゲートを書き換え、各パスはユニットテスト済みで、依拠する自己逆元の恒等式は Lean 4 で証明されています。
→Aria LanguageAriaをオープンソース化:ひとつの言語で、あらゆるモダリティを
読みやすい量子回路言語Ariaを、Apache-2.0ライセンスで github.com/Anzaetek/aria-quantum-language-oss-public に公開しました。ひとつのソースが量子ビット・量子ディット・フェルミオン・光子・スタビライザーの各エンジンで動き、純Rustで学習でき、OpenQASM 2.0や機械検証済みのLean 4へエクスポートできます。
→