メインコンテンツへスキップ
このプロジェクトはベータ版です。バグを見つけましたか?GitHub Issueを開く。質問やアイデアがありますか?Discussionsで質問する — フィードバックをお待ちしています!
このページの翻訳品質はいかがですか?

Pauli伝播

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

Pauli伝播は、量子回路のゲートやノイズチャネルなどの他の演算子の作用の下での、Pauli基底における演算子の発展を近似するためのフレームワークです。このアプローチは、関係する演算子がPauli基底でスパースなままであると見込まれる場合に有効です。

このパッケージのサブルーチンは、ライトコーン・シェーディング [6]や伝播ノイズ吸収 [7]などのエラー緩和技術、回路の深さを減らすための演算子逆伝播 [8]、そして期待値の古典シミュレーション[1-5]を実装するために使用できます。

はじめに​

このパッケージをすぐに使い始めるための簡単なガイドは、クイックスタート・ガイドで利用できます。

ユースケースの例​

Pauli伝播は、さまざまな技術を実装するための低レベルのエンジンとして使用できます。これまでに使用された例には、次のものがあります。

  • 1次元および2次元の横磁場イジング模型における期待値を緩和するための、確率的エラー除去(PEC)のサンプリング・オーバーヘッドを削減するライトコーン・シェーディング [6] [qiskit-addon-slc ドキュメント]

  • 2次元の横磁場イジング模型における期待値を緩和するために、ノイズモデル情報を対象オブザーバブルに吸収させる手法 [7] [qiskit-addon-pna ドキュメント]

  • 2次元スピン模型の時間発展に対して、深さの低いトロッター回路を生成するための末尾ゲートの削減 [8] [qiskit-addon-obp ドキュメント]

技術的な議論​

ソフトウェアの詳細​

  • Rustで高速化されたPythonインターフェース

  • ノイズありシミュレーションのサポート [ガイド]

  • 絶対係数の許容値、発展する演算子の項数の固定値、またはその両方の組み合わせに基づいて、発展中に項を切り捨てる機能

  • シュレーディンガー描像とハイゼンベルク描像の両方でPauli伝播を実行する機能

  • Pauli和演算子を別のPauli演算子で共役変換することを近似する新しい手法。このヒューリスティックな実装は、最も重要になると期待される積への寄与を貪欲に生成します。詳細については、[7]の付録Bを参照してください。

  • シングルスレッド

計算要件​

Pauli伝播ルーチンのメモリコストと時間コストはどちらも、一般に、発展する演算子の成長を許容するサイズに応じてスケールします。

propagate_through_rotation_gates(): MM量子ビット回路のNN個のPauli回転ゲートの列の作用の下でPauli演算子がPauli基底で伝播されると、項数はO(2N)\mathcal{O}(2^N)で増加し、最大4M4^M個の固有のPauli成分に向かいます。メモリ使用量を抑えるために、各ゲートの適用後に演算子が切り捨てられ、切り捨てられた項の係数の大きさに比例する誤差が生じます。メモリ要件は発展した演算子のサイズに対して線形であり、実行時間は演算子のサイズとゲート数の両方に対して線形にスケールします。

propagate_through_operator(): 和∑i,j,kGi†OjGk\sum_{i,j,k}G^{\dagger}_iO_jG_kの項を貪欲に累積することで、Pauli基底のある演算子を別の演算子で共役変換します。ここでi,j,ki,j,kはPauli基底上のスパースな指標です。この実装では、各演算子の係数を大きさの降順に並べ替え、原点(0,0,0)(0,0,0)から始めて、係数が最大の項を3次元の指標空間で探索し、指定されたカットオフまで(i,j,k)(i,j,k)の3つ組を累積します。(i,j,k)(i,j,k)空間での探索のステップサイズを大きくすることで、探索に費やす時間はしばしば無視できる程度にでき、このサブルーチンでは3乗の高速化が得られます。私たちのプロファイリングでは、演算子の並べ替えや、新しい演算子の項を生成するためのPauli乗算に、かなりの時間が費やされることがあります。

貢献する​

ソースコードはGitHub上で入手できます。

開発者ガイドは、このプロジェクトのリポジトリのルートにあるCONTRIBUTING.mdにあります。参加することで、Qiskitの行動規範を守っていただくことになります。

要望やバグの追跡には、GitHub issuesを使用しています。

このパッケージを引用する​

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

ライセンス​

Apache License 2.0

非推奨ポリシー​

私たちはセマンティック バージョニングに従っています。ユーザー体験を改善するために、破壊的変更を行うことがあります。可能な場合は、新しいインターフェースと共存できる限り、古いインターフェースを残し、非推奨としてマークします。実質的な改善、破壊的変更、または非推奨は、それぞれリリースノートに記載されます。

参考文献​

  1. [Tomislav Begušić, Johnnie Gray, Garnet Kin-Lic Chan, Fast and converged classical simulations of evidence for the utility of quantum computing before fault tolerance, arXiv:2308.05077 [quant-ph].

  2. Nicolas Loizeau, et al., Quantum many-body simulations with PauliStrings.jl, arXiv:2410.09654 [quant-ph].

  3. Manuel S. Rudolph, et al., Pauli Propagation: A Computational Framework for Simulating Quantum Systems, arXiv:2505.21606 [quant-ph].

  4. Hrant Gharibyan, et al., A Practical Guide to using Pauli Path Simulators for Utility-Scale Quantum Experiments, arXiv:2507.10771 [quant-ph].

  5. Lukas Broers, et al., Scalable Simulation of Quantum Many-Body Dynamics with Or-Represented Quantum Algebra, arXiv:2506.13241 [quant-ph].

  6. Andrew Eddins, Minh C. Tran, Patrick Rall, Lightcone shading for classically accelerated quantum error mitigation, arXiv:2409.04401 [quant-ph].

  7. Andrew Eddins, et al., Computing noise-canceling observables via Pauli propagation, arXiv:2606.20441 [quant-ph].

8 Bryce Fuller, et al., Improved Quantum Computation using Operator Backpropagation, arXiv:2502.01897 [quant-ph].