Qiskit ポーリス
qiskit-paulice これは、時空間安定化コードを用いて、任意のクビット接続構造を持つ任意のクリフォード回路に、ハードウェア効率に優れたパウリチェックを組み込むためのパッケージである。 これらのチェックは、回路の実行中に論理的なエラーを検出するために使用できます。 エラーが検出されなかったサンプルのみを事後選択することで、一部の補助量子ビットを消費し、サンプリングのオーバーヘッドが増加するという代償を払う代わりに、量子プロセッサでサンプリングされた状態の忠実度を向上させることができる。 この手法は、耐故障型量子コンピューティングに比べて量子ビットやゲートにかかるオーバーヘッドがはるかに小さく、ZNEやPEC [1] といったエラー軽減手法よりもサンプリングオーバーヘッドが優れているため、近未来のハードウェアに特に適している。
時空パウリチェックは、独立したエラー検出ルーチンを実装するために使用できるだけでなく、エラー軽減やエラー訂正の文脈においても重要な役割を果たす。 エラー検出は、ゲートや測定に影響を与えるノイズの一部を捕捉することで、確率的エラーキャンセル(PEC)などのエラー軽減技術を補完し、ノイズチャネルが反転されることによる影響を軽減し、ひいてはサンプリングのオーバーヘッドを低減することができる。 また、データ量子ビットを論理エラーから保護するためのスタビライザーコードの実装は、従来のエラー訂正の中核となる概念であるため、これらは実用的なフォールトトレランスに向けた初期段階の一歩とも見なすことができる。 この手法は量子状態へのワンショットアクセスを可能にするため、サンプリングベースおよび期待値ベースの両方のワークフローで利用することができる。
始めに
このパッケージをすぐに使い始めるための簡単なガイドは、「 クイックスタートガイド 」に掲載されています。
ユースケース例
この手法は、クリフォード演算が支配的な回路において、最大50キュービットおよび2450個のエンタングルメントゲートを有するサンプルの忠実度を向上させるために用いられてきた [1]。
技術的な議論
優れた時空パウリチェックのセットを見つける
時空パウリチェックのセットは、各チェックが有効であり、重みが小さく、かつ効果的である場合に「良好」である。
チェックは、回路内のいくつかのワイヤ上に配置された、制御されたパウリ回転の列( )で構成されます。 : 。特定のチェックにおいて、制御は単一のアンシラ量子ビット上で行われ、回転は単一のターゲット量子ビットのワイヤ上で発生します。 クリフォード回路において、あるチェックは、その逆伝播積が理想回路によって生成された状態の安定化子である場合に有効である。すなわち、 となる。ここで、 は、 から回路の開始点までにおける の逆伝播関数であり、 は、その回路のすべての安定化子の集合である。
チェックは、実装に必要な絡み合いゲートが少ない場合、軽量である。 小切手の選別アルゴリズムは、重量が軽く、かつ最も効果的なエラー検出が可能な小切手を優先して選別します。
あるチェックは、それによって生じるエラーよりもはるかに多くのエラーを検出できれば、有効である。 パウリチェックは、複数のエンタングルメントゲートで構成されているため、計算に追加のゲートノイズが生じることになります。 追加する各チェックが、何らかの追加的なエラー検出機能をもたらすようにすることが重要です。 一連のチェックの有効性は、それらのチェックによって検出されたパウリ誤りを事後選択されたノイズチャネルに組み込み、その影響を計算することで概算することができる。 アンカバード逆ノイズチャネルを実装する際のサンプリングオーバーヘッドを最小限に抑えることは、優れたチェックを選択するための確かな経験則となる。なぜなら、それによって、そのチェックでは検出できない誤差の量がどの程度かを見極める手がかりとなるからである。 より時間はかかるが、より現実的なアプローチとしては、ノイズの混じった状態からモンテカルロサンプリングを行い、ポストセレクションされた分布の論理誤り率を実験的に算出する方法がある。 これら2つのアプローチは、いずれもこの qiskit_paulice.add_pauli_checks 関数に組み込みのコスト関数として用意されています。
症候群データに基づくサンプルの事後選択
このパッケージでは、1つのアンシラ量子ビットと1つのターゲット量子ビット間のエンタングルメントゲートを用いてチェックが実装されています。 各アンシラは から開始するため、 は入力状態を安定化させます。 アンシラの開始点からチェック対象の回路全体にわたって を順方向に伝播させると、出力にパウリ演算子が生じ、その重みが大きくなり、ペイロード回路にまで及ぶ可能性があります。 この出力演算子が非単位項を持つ量子ビットのインデックスは、そのチェックの「サポート」と呼ばれ、チェックのサポートに含まれるビット のパリティが偶数である場合、つまり となる場合、そのチェックは合格となります。各チェックのパリティチェックの結果が となる場合、そのサンプルは保持されます。
ソフトウェアの機能
- バックエンドのベンチマークデータからのノイズモデルの自動生成
- Rustを活用したチェック発見の高速化
- 小切手の検索に役立つ3つの組み込みアルゴリズム
- 事後選択された逆ノイズチャネルのサンプリングオーバーヘッド、あるいはノイズの混入した状態のモンテカルロサンプリングに基づく論理誤り率に基づいて、チェックの有効性を評価する
- 指定されたバックエンドに対して、アンシラ/ターゲット量子ビットのペアを検索するためのヘルパー機能
既知の問題
- アイドル時の騒音データは 経由
NoiseModel.get_backendで提供されず、チェックピッキング中は無視されます - このアルゴリズムにおける多くの確率的な処理は、乱数シードによって制御可能ですが、一部の機能には、シードでは制御できないランダム性が存在します。 具体的には、に対する
add_pauli_checks以下の kwargs の値は、不確定なチェックの選択を引き起こします:cost="LER"、method="genetic"、およびmethod="windowed_genetic"。add_pauli_checks(..., cost="gamma", method="windowed")確定的な動作を得るには、デフォルト値である を使用してください。
今後の課題
- 非クリフォード系の処理に対するサポート
- ポストセレクションされたノイズチャネルの分析に対するさらなる支援
- 小切手の仕分け作業中のアイドリング音への対応
- 論理誤り率コスト関数および遺伝的探索アルゴリズムのための制御可能なランダム性
寄稿
ソースコードは GitHub で公開されています。
開発者向けガイドは、このプロジェクトのリポジトリのルートディレクトリにある CONTRIBUTING.md にあります。 参加される際は、Qiskitの行動規範を遵守していただくようお願いいたします。
このパッケージを参照する
このパッケージを研究で使用する場合は、本プロジェクトのリポジトリにある CITATION.bib ファイルを参照し、適切な参考文献を記載してください。
ライセンス
非推奨ポリシー
弊社ではセマンティック・バージョニングを採用しています。 ユーザー体験を向上させるため、時折、互換性を損なう変更を行う場合があります。 可能な限り、古いインターフェースは、新しいインターフェースと共存できるのであれば、そのまま残し、非推奨としてマークします。 大幅な機能改善、互換性を損なう変更、または非推奨となる機能については、すべてリリースノートに記載されます。
参照
Simon Martiel、Ali Javadi-Abhari、 「時空間符号を用いた低オーバーヘッドのエラー検出」、 arXiv:2504.15725 [quant-ph]。