Qamomile v0.11.0 は v0.10.0 の大規模リビルドに続くリリースで、パラメトリックな QAOA ワークロードに対するコンパイラコアの堅牢化、再利用可能なエンタングリングレイヤープリミティブの追加、v0.10.0 で導入したコンパイラ内部階層の整理が中心です。
pip install qamomile==0.11.0ハイライト¶
パラメトリックな Vector QAOA がエンドツーエンドで正しくコンパイルされるようになりました。 パラメトリックな
Vector[Float]パラメータが、シェイプ解決・ネストした値解決・pauli_evolveを通しても壊れずに伝搬するようになり、QAOA 系パターンで起きていたサイレントな誤コンパイル(#333)が解消されました。pauli_evolveが パラメトリックなgammaを受け取れるようになりました。新しい コンパイル時シェイプ解決・検証パス が、emit 前にシェイプ不整合を検出します。
Vectorパラメータのシェイプ構築が、シンボリック次元を用いて統一されました。ValueResolverは未解決の値に対して暗黙に0を返すフォールバックをやめ、ネスト解決の取りこぼしも塞ぎました。
新しい組み立て部品:
cx_entangling_layer— 変分回路向けの再利用可能な CX エンタングリングレイヤーで、CX の結線を自前で書く必要がなくなりました(#328)。コンパイラコアのリファクタ。
ControlledUOperationは小さな型付き階層になり、ExecutableProgramはプログラムプランからきれいに分離されました。加えて不要になった経路を削除しています:Block._dependency_graph、emit_decompositionヘルパー(分解はデータ専用の単一ソースに統一)、estimator/DESIGN.md。フロントエンドのソースコメントも完全に英語化されました(#330)。
バグ修正¶
パラメトリックな
VectorQAOA パターンのサイレントな誤コンパイルを修正(#333)。ValueResolverの暗黙0フォールバックを削除し、ネスト解決の抜けを修正(#333)。CUDA-Q の
emit_ch/emit_cyがトレーシングテストエミッタで二重記録されていた問題を修正(#330)。
ドキュメント¶
Binary Model チュートリアルを英語・日本語の両方で追加(#326)。
ドキュメント全体のノートブックを現行 API で再実行。リンク切れを削除し、Google Colab 向けのインストールコマンドを追記(#323)。
README を更新(#323)。
開発者向け / ツーリング¶
Ruff を
qamomile/とtests/の Lint・フォーマットの単一ツールとして採用(isort ルール、combine-as-importsを含む)。CI でもtests/を lint 対象に追加(#321)。build.sh/Makefileを単一のTARGET_DIRからTARGET_DIRSに一般化し、docs/enとdocs/jaをひとつのコマンドでビルドできるようにしました(#323)。