Skip to main content
IBM Quantum Platform

パウリ伝播

このパッケージ pauli-prop は、パウリ伝播を実行するための、Rustで高速化された Python インターフェースを提供します。

パウリ伝播は、量子回路ゲートやノイズチャネルなどの他の演算子の作用下における、パウリ基底での演算子の遷移を近似するための枠組みである。 このアプローチは、関与する演算子がパウリ基底において疎な状態を維持すると予想される場合に有効である。

このパッケージに含まれるサブルーチンを使用することで、 ライトコーンシェーディング [6] や伝播ノイズ吸収 [7] といったエラー軽減手法、回路の深さを削減するための演算子バックプロパゲーション [8]、および期待値の古典的シミュレーション [1-5] などを実装することができます。


始めに

このパッケージをすぐに使い始めるための簡単なガイドは、「 クイックスタートガイド 」に掲載されています。


ユースケース例

パウリ伝播は、さまざまな手法を実装するための低レベルエンジンとして利用できます。 これらが活用された例としては、次のようなものがあります:

  • 1-および 2D 横磁場アイジングモデルにおける期待値を緩和するための確率的誤差相殺(PEC)のサンプリングオーバーヘッドを低減するライトコーンシェーディング [6] [qiskit-addon-slc ドキュメント ]
  • 2D 横磁場イジングモデルにおける期待値を緩和するために、ノイズモデルの情報を目標観測量に取り込む [7] [qiskit-addon-pna ドキュメント ]
  • 2D スピンモデルの時間発展 [8] [qiskit-addon-obp ドキュメント ] において、深度の浅いトロッター回路を生成するための末端ゲートの削除

技術的な議論

ソフトウェアの詳細

  • Rustで高速化された Python インターフェース
  • ノイズの多いシミュレーションへの対応 [ ガイド ]
  • 絶対係数の許容誤差、進化する演算子に含まれる項の固定数、あるいはその両方の組み合わせに基づいて、進化の過程で項を切り捨てる機能
  • シュレーディンガーおよびハイゼンベルクの枠組みの両方で、パウリ伝播を実行できる機能
  • パウリ和演算子の共役を別のパウリ演算子によって近似するための新しい手法。 このヒューリスティックな実装では、最も重要であると予想される積の項を貪欲に生成します。 詳細については、 [7] の付録Bを参照のこと。
  • 単一スレッド

システム要件

パウリ伝播ルーチンのメモリコストと時間コストは、いずれも、一般に、進化後の演算子がまで大きくなることを許容されるサイズに比例して増加する。

propagate_through_rotation_gates(): MM -量子ビット回路の一連の NN パウリ回転ゲートの作用下で、パウリ演算子がパウリ基底内で伝播するにつれて、項の数は O(2N)\mathcal{O}(2^N) のよう増加し、最大で 4M4^M 個の固有のパウリ成分に達する。 メモリ使用量を抑えるため、各ゲートの適用後に演算子が切り捨てられるが、これにより、切り捨てられた項の係数の大きさに比例する誤差が生じる。 メモリ要件は、進化させた演算子のサイズに比例し、実行時間は演算子のサイズとゲートの数の両方に比例して増加する。

propagate_through_operator(): パウリ基底におけるある演算子を別の演算子と共役させるため、和の項を貪欲に積み重ねていく。 ∑i,j,kGi†OjGk\sum_{i,j,k}G^{\dagger}_iO_jG_k ここで、 i,j,ki,j,k はパウリ基底上の疎な添字である。 この実装では、各演算子の係数を絶対値の降順に並べ替え、 3D のインデックス空間において、係数が最大の項を、原点 (0,0,0)(0,0,0) から順に検索し、指定されたカットオフ値に達するまで (i,j,k)(i,j,k) の3つ組を蓄積していきます。 (i,j,k)(i,j,k) 空間における探索ステップサイズを大きくすることで、探索に要する時間を無視できるほどに短縮できることが多く、これによりこのサブルーチンの実行速度は3倍に向上する。 プロファイリングを行う際、演算子の並べ替えや、新しい演算子の項を生成するためのパウリ積の計算に、かなりの時間がかかってしまうことがあります。


寄稿

ソースコードは GitHub で公開されています。

開発者向けガイドは、このプロジェクトのリポジトリのルートディレクトリにある CONTRIBUTING.md にあります。 参加される際は、Qiskitの行動規範を遵守していただくようお願いいたします。

リクエストやバグの追跡には、 GitHub のイシュー を利用しています。


このパッケージを参照する

このパッケージを研究で使用する場合は、本プロジェクトのリポジトリにある CITATION.bib ファイルを利用して、適切な参考文献を引用してください。


ライセンス

Apache Licence 2.0


非推奨ポリシー

弊社ではセマンティック・バージョニングを採用しています。 ユーザー体験を向上させるため、時折、互換性を損なう変更を行う場合があります。 可能な限り、古いインターフェースは、新しいインターフェースと共存できるのであれば、そのまま残し、非推奨としてマークします。 大幅な機能改善、互換性を損なう変更、または非推奨となる機能については、すべてリリースノートに記載されます。


参照

  1. [Tomislav Begušić、Johnnie Gray、Garnet Kin-Lic Chan、 「フォールトトレランス実現前の量子コンピューティングの有用性を示す証拠に関する高速かつ収束性の高い古典シミュレーション 」、 arXiv:2308.05077[ quant-ph]。

  2. ニコラス・ロワゾーほか、 PauliStrings.jl を用いた量子多体シミュレーション、 arXiv:2410.09654 [quant-ph]。

  3. マヌエル・S・ルドルフほか、 「パウリ伝播:量子系をシミュレートするための計算フレームワーク 」、 arXiv:2505.21606[ quant-ph]。

  4. Hrant Gharibyan ほか、 「ユーティリティ規模の量子実験におけるパウリ・パス・シミュレータの活用に関する実践ガイド 」、 arXiv:2507.10771[ quant-ph]。

  5. ルーカス・ブルースほか、 Or表現を用いた量子代数による量子多体ダイナミクスのスケーラブルなシミュレーション、 arXiv:2506.13241[ quant-ph]。

  6. Andrew Eddins、Minh C. Tran、Patrick Rall、「 古典的加速による量子エラー低減のためのライトコーンシェーディング」、 arXiv:2409.04401 [quant-ph]。

  7. アンドルー・エディンズほか、 パウリ伝播を用いたノイズキャンセル観測量の計算、 arXiv:2606.20441 [quant-ph]。

8 ブライス・フラーほか、 「演算子のバックプロパゲーションを用いた量子計算の改良 」、 arXiv:2502.01897 [quant-ph]。

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。