Skip to main content
IBM Quantum Platform

包装済みの箱

量子回路の実行中に生じる物理的なノイズのメカニズムは、文脈に依存する。 互いに交わらない量子ビットの集合に対して演算を同時に適用する場合、その演算全体のノイズ特性は、各構成要素を個別に適用した場合のノイズ特性とは異なる可能性がある。 同様に、同じ量子ビット上で理想的には可換である演算であっても、個々の演算に伴うノイズプロファイルは可換ではない可能性があり、演算の順序が変われば、まったく異なるものになる可能性がある。 したがって、ノイズを抑制・軽減・修正するためのプロトコルでは、ノイズが発生する文脈を把握しておく必要がある。

Samplomaticは、ボックスに関する指示を用いて、安定したノイズコンテキストを持つものとして扱うべき回路操作の集合について推論を行い、ボックスへの注釈を通じて、ユーザーがその意図を宣言・設定できるようにしています。 各ボックスは、一連の量子ビット、それらの量子ビットに対して作用する演算、および注釈のリストを保持するスコープです。 Samplomaticの注釈には、 ディレクティブや装飾が指定されます。 ディレクティブは、ボックスに対してどのような操作を行うかを指定します。例えば、「ボックスをくるくると回す」といった操作です。 ドレッシングとは、ボックスの左側または右側に追加するためのパラメータ化されたゲートのグループであり、例えば、単一クビットゲートの層などがこれにあたります。 ドレッシング内のゲートには、ボックス内のゲートに加え、指令を実行するために必要な操作が含まれます。具体的には、次のようなものがあります:

  • ボックス内のゲートで、パラメータ化されたゲートと互換性があり、かつ同じ側にあるもの。
  • ボックスをランダム化するために、セットからサンプリングされた回転するゲート。
  • パウリ・リンドブラッド写像からサンプリングされたノイズ注入ゲート。
  • ユーザーが指定した基底を変更するゲート。

ディレクティブは、他のボックスの装飾を変更する可能性があることに注意してください。


例

次の回路を「トゥワール」したいと仮定する。具体的には、並列に配置されたエンタングルメントゲートの前後に、回路の論理的内容は変えないが、有効ノイズモデルを変えるランダムなパウリゲートを追加する。

../_images/undressed_pauli.drawio.png

サーキットからパウリ・トゥワールへ。

これは、回路をボックスごとに層分けし、ツイール注釈を追加することで実現されます。

../_images/dressed_pauli_twirl.drawio.png

パウリの回転指令を持つ回路。 記号 @ はディレクティブを指定するために使用され、デフォルトでは左揃えになります。

各ドレスドボックスには、単一量子ビットゲートの層と、互いに交わらない量子ビットのペアに対する2量子ビットのエンタングルメントゲートの層が含まれている。 エンタングルメントゲートの層は、ボックスの論理的な動作が変わらないように、ランダムなパウリゲートの層で囲まれている。 これらのランダムなパウリ層は、仮想Zゲートと同様に仮想的なものです。 これらは回路に演算を追加するものではなく、隣接する単一量子ビットゲートの実装方法を変更するための指示として機能します。

../_images/pauli_twirl.drawio.png

指令に基づく配線とゲートを備えた回路。 ドレッシングは破線の枠で囲まれた部分です。 矢印で結ばれたパウリ層は互いに打ち消し合う。 最後のパウリ層は、測定結果に対するビット反転として適用される。

エンタングルメントゲートと単一量子ビットゲートの間に配置されたランダムなパウリ層は、単一量子ビットゲートの層に組み込まれ、そのドレッシングにおいて実装される。 もう一方のランダムなパウリ層は、次にドレッシングが施されるボックスのドレッシングに組み込まれることになる。

要約すると、左(または右)の「twirl」ディレクティブは、このボックスのドレッシングにおいてランダムなパウリ演算を実装し、次の(または前の)ボックスのドレッシングにおいて、それを元に戻すパウリ演算を適用する。 「inject noise」ディレクティブと「basis change」ディレクティブは類似しています。


仮想ゲートを用いた回路のランダム化

Samplomaticは、 仮想ゲートのフレームワークを用いて、装飾されたボックスからなる回路を推論します。 概念的には、また プロセス build() によって生成された インスタンス Samplex での実装においても、仮想ゲートは、そのドレッシングと反対側のボックスの境界で生成されます。 これらの仮想ゲートは、所定の方法で回路内を移動させられ、ドレッシングとして構成される必要があります。 すべての仮想ゲートをドレッシングに組み込むことができれば、回路のランダム化を手続き的に構築することができる。

../_images/dressed_box.drawio.png

twirl、basis change、および inject noise ディレクティブを含む回路。

ドレッシングのテンプレートのパラメータ設定と互換性のある、ドレッシング側面のゲートは、そのテンプレートに組み込むことができ、それによって物理的なゲートの数を減らすことができます。 これらは「 イージーゲート」 と呼ばれています。 ボックスの残りの部分は「 ハード」 と呼ばれ、そのまま実装されます。

../_images/dressed_box_uncollected.drawio.png

仮想ゲートがぶら下がっている回路の例。 ドレッシングの反対側にある仮想ゲートは、実装する場所がありません。

../_images/dressed_box_collected.drawio.png

すべての仮想ゲートがドレッシングで構成されている回路の例。 測定には、それらが引き起こすビットフリップを考慮して構成されたパウリゲートが用いられる。

../_images/dressed_box_mixed_collect.drawio.png

すべての仮想ゲートがまとめられている複雑な例。 1つのボックスで生成された仮想ゲートは、さまざまなドレッシングに組み合わせて使用することができます。

これにより、仕上げ済みの箱の幅をすべて同じにする必要のない構造が可能になります。

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