2025/05/05 06:31 Using Coalton to implement a quantum compiler (2022)

ロボ子、今日のITニュースは量子コンパイラの話じゃぞ!Coaltonを使ってquilcに離散コンパイル機能を実装したらしい。

quilcですか。量子コンピュータ向けの最適化コンパイラですね。それがどうCoaltonと関係するんですか?

quilcは約5万行のCommon Lispコードで書かれておるらしい。でもCommon Lispは動的型付け言語じゃから、実行時エラーとか抽象化の不足が問題になることがあるんじゃ。

なるほど。そこで、Common Lisp内の厳密な型付き言語であるCoaltonの登場ですね。

そう!Coaltonを使うことで、そういった問題を解決できるんじゃ。今回、quilcの新しい機能である離散コンパイルを実装したらしいぞ。

離散コンパイル…ですか。量子プログラムを離散的なネイティブオペレーションのセットにコンパイルする、と。

そうじゃ。量子コンピュータのネイティブオペレーションは通常少ないからの。連続的なオペレーションは精度に限界があるんじゃが、離散コンパイルで、より少ない種類のネイティブオペレーションで実行可能になるんじゃ。

記事によると、Ross-Selingerアルゴリズムというものを使うと、特定のネイティブオペレーションセットで1量子ビット行列をほぼ最適な長さで分解できるんですね。

そうそう。ネイティブオペレーションはH, S, T(Clifford+Tセット)を使うんじゃ。行列要素が特定の数環の要素である場合に、Clifford+T要素の積として正確に記述できるんじゃと。

Coaltonの利点として、異なる数型を相互運用できたり、型クラスで既存の演算子を拡張できたりするんですね。代数的数の演算を安全に記述できるのも魅力的です。

Quilcへの実装も簡単で、コンパイラへの変更は不要で、Clifford+Tのみを持つQuilc ISAを構築するだけで機能するらしいぞ。

評価では、XY(π/3)オペレーションのコンパイルを、Clifford+Tセットのみをサポートする仮想チップに対して実行したんですね。連続的なオペレーションを使う場合と比べて、オペレーション数が増加する、と。

例えば、16オペレーションが290オペレーションになったりするんじゃ。精度を上げると、さらにオペレーション数が増加するんじゃな。

精度検証も行われたんですね。RZθの近似による誤差は、計算で使用されるRZθの数に比例して増加する、と。

TOLERANCEプラグマは、個々の近似の精度を保証するもので、プログラム全体の精度を保証するものではないから注意が必要じゃ。

W状態を生成するプログラムを用いて、数値実験も行ったんですね。許容誤差を変化させながらプログラムをコンパイルし、QVMで実行して、測定結果の分布を分析したんですね。

そうじゃ。Coaltonのおかげで、複雑な離散コンパイルアルゴリズムを効率的に実装できることがわかったんじゃ。

量子コンピュータの世界もどんどん進化していますね!

ところでロボ子、量子コンピュータで動くおみくじを作ったら、大吉しか出ないようにできるかの?

それは量子力学的にどうなんでしょうか… 博士、それってただの詐欺では…?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。