これまで、9量子ビットのショア符号の文脈で X 誤りと Z 誤りを考えてきました。本節では、任意の誤りについて考えます。
結論として、このような誤りに対処するために、これまでに説明した内容とは異なる操作は一切必要ありません。
X 誤り、Z 誤り、あるいはその両方を訂正できれば、任意の誤りを訂正できることが示されます。
この現象は、誤りの離散化と呼ばれることがあります。
ユニタリな量子ビット誤り
まず、1量子ビットのユニタリ誤りから始めましょう。
例えば、このような誤りはブロッホ球の非常に小さな回転に対応することがあります。これは、完全ではないゲートによって生じる誤りを表している場合などが考えられます。
あるいは、恒等操作に近いとは限らない、量子ビット上の任意のユニタリ演算である可能性もあります。
このような誤りを訂正することは難しいように思えるかもしれません。
というのも、このような誤りは無限に存在し、それぞれの誤りを正確に特定してから元に戻すことは考えにくいからです。
しかし、ビット反転、位相反転、またはその両方を訂正できる限り、本レッスンで先に説明した手順を用いることで、任意の1量子ビットユニタリ誤りの訂正に成功します。
これがなぜ成り立つかを理解するために、まず、1量子ビット上の誤りを表す任意の 2×2 ユニタリ行列 U を、4つのパウリ行列(恒等行列を含む)の線形結合として表せることを確認しましょう。
U=αI+βX+γY+δZ
これから見ていくように、誤り検出回路を実行したとき、シンドロームビットを与える測定によって、エンコードされた状態は確率的に崩壊し、4つのパウリ行列のうちの1つで表される誤り(または誤りなし)が生じた状態へと収束します。
(U がユニタリであることから、α, β, γ, δ は ∣α∣2+∣β∣2+∣γ∣2+∣δ∣2=1 を満たす必要があります。
実際、∣α∣2, ∣β∣2, ∣γ∣2, ∣δ∣2 の値は、対応するパウリ誤りが発生した状態へとエンコードされた状態が崩壊する確率を表しています。)
より詳細に説明するために、どの量子ビットにある量子ビットユニタリ演算が作用するかを示す添字を用いると便利です。
例えば、Qiskit の量子ビット番号付け規則 (Q8,Q7,…,Q0) をショア符号で使用する9量子ビットの番号付けに用いると、1量子ビット上の様々なユニタリ演算について次の式が得られます。各演算では、そのユニタリ行列を他のすべての量子ビット上の恒等行列とテンソル積します。
X0Z4U7=I⊗I⊗I⊗I⊗I⊗I⊗I⊗I⊗X=I⊗I⊗I⊗I⊗Z⊗I⊗I⊗I⊗I=I⊗U⊗I⊗I⊗I⊗I⊗I⊗I⊗I
そのため、特定の量子ビットユニタリ演算 U について、量子ビット k に U を作用させた効果を次の式で表せます。これは前述の式と同様ですが、各行列が量子ビット k に作用する演算を表している点が異なります。
Uk=αIk+βXk+γYk+δZk
ここで、∣ψ⟩ をある量子ビット状態の9量子ビット符号化とします。
量子ビット k で誤り U が生じると、状態 Uk∣ψ⟩ が得られます。これは ∣ψ⟩ に作用するパウリ演算の線形結合として次のように表せます。
Uk∣ψ⟩=α∣ψ⟩+βXk∣ψ⟩+γYk∣ψ⟩+δZk∣ψ⟩
ここで Y=iXZ という置き換えを行います。
Uk∣ψ⟩=α∣ψ⟩+βXk∣ψ⟩+iγXkZk∣ψ⟩+δZk∣ψ⟩
次に、先に説明した誤り検出と訂正のステップを考えます。
外側の符号のパリティチェック1つと、内側の3つの符号のパリティチェックの測定結果をまとめて、8ビットからなる1つのシンドロームと考えることができます。
これらのシンドロームビットを生成する実際の標準基底測定の直前、状態は次の形をしています。
α∣I syndrome⟩⊗∣ψ⟩+β∣Xk syndrome⟩⊗Xk∣ψ⟩+iγ∣XkZk syndrome⟩⊗XkZk∣ψ⟩+δ∣Zk syndrome⟩⊗Zk∣ψ⟩
ここで明確にしておくと、この時点で2つの系があります。
左の系はシンドロームを得るために測定する8量子ビットであり、∣I syndrome⟩,
∣Xk syndrome⟩, などは、対応する誤り(または誤りなし)と整合する任意の8量子ビット標準基底状態を指します。
右の系は符号化に使用している9量子ビットです。
これら2つの系は(一般的に)相関を持っており、これがこの手法が機能する鍵です。
シンドロームを測定することで、右の9量子ビットの状態は、測定されたシンドロームと整合するパウリ誤りがいずれかの量子ビットに適用された状態へと実質的に崩壊します。
さらに、シンドローム自体が、誤りを元に戻して元の符号化 ∣ψ⟩ を回復するのに十分な情報を提供します。
特に、シンドローム量子ビットを測定して適切な訂正を行うと、密度行列として表せる状態が得られます。
ξ⊗∣ψ⟩⟨ψ∣,
ここで、
ξ=∣α∣2∣I syndrome⟩⟨I syndrome∣+∣β∣2∣Xk syndrome⟩⟨Xk syndrome∣+∣γ∣2∣XkZk syndrome⟩⟨XkZk syndrome∣+∣δ∣2∣Zk syndrome⟩⟨Zk syndrome∣.
重要な点は、これが積状態であることです。
右のテンソル因子として元の、破損していない符号化を持ち、左には無作為な誤りシンドロームを記述する密度行列 ξ があります。
誤りが訂正されたため、私たちが関心を持つ右の系との相関はもはや存在しません。
この時点で、シンドローム量子ビットを破棄するか、リセットして再利用することができます。
これが、誤りによって生成されたランダム性、すなわちエントロピーがシステムから取り除かれる仕組みです。
これがユニタリ誤りの特殊な場合における誤りの離散化です。
本質的には、シンドロームを測定することで、誤りをパウリ行列で記述される誤りへと実質的に射影しているのです。
一見すると、非常に小さくてそれ単体ではほとんど気づかないような任意のユニタリ誤りをこのように訂正できるのは、良すぎる話に思えるかもしれません。
しかし、ここで重要なのは、これは1つの量子ビットに対するユニタリ誤りであり、符号の設計上、1量子ビット演算は符号化された論理量子ビットの状態を変えることができないという点です。
1量子ビット演算にできることは、状態を有効な符号化の部分空間の外に移動させることだけです。しかし、誤り検出が状態を崩壊させ、訂正によって元の状態に戻されます。
任意の量子ビット誤り
最後に、必ずしもユニタリではない任意の誤りを考えます。
より正確には、任意の量子ビットチャネル Φ によって記述される誤りを考えます。
例えば、デフェージングチャネルや脱分極チャネル、リセットチャネル、あるいはこれまで考えたことのない特異なチャネルなどが該当します。
最初のステップは、Φ の任意のクラウス表現を考えることです。
Φ(σ)=j∑AjσAj†
これは量子ビットチャネルであるため、各 Aj は 2×2 行列であり、パウリ行列の線形結合として表せます。
Aj=αjI+βjX+γjY+δjZ
これにより、選んだ量子ビット k に対する誤り Φ の作用を、次のようにパウリ行列を用いて表すことができます。
Φk(∣ψ⟩⟨ψ∣)=j∑(αjIk+βjXk+γjYk+δjZk)∣ψ⟩⟨ψ∣(αjIk+βjXk+γjYk+δjZk)†
簡単に言えば、すべてのクラウス行列をパウリ行列の線形結合として展開しただけです。
次に誤りシンドロームを計算して測定し、明らかになった誤りを訂正すると、ユニタリ誤りの場合と同様の状態が得られます。
ξ⊗∣ψ⟩⟨ψ∣,
ここでは、
ξ=j∑(∣αj∣2∣I syndrome⟩⟨I syndrome∣+∣βj∣2∣Xk syndrome⟩⟨Xk syndrome∣+∣γj∣2∣XkZk syndrome⟩⟨XkZk syndrome∣+∣δj∣2∣Zk syndrome⟩⟨Zk syndrome∣).
詳細はやや複雑であるため、ここでは省略します。
概念的には、ユニタリの場合と全く同じ考え方です。
一般化
誤りの離散化は、複数量子ビットの誤りを検出・訂正できる符号を含む、他の量子誤り訂正符号にも一般化されます。
そのような場合、複数量子ビットの誤りはパウリ行列のテンソル積として表すことができ、対応する異なるシンドロームは、1量子ビットだけでなく複数量子ビットに対して行われるパウリ演算の訂正を指定します。
やはり、シンドロームを測定することで、誤りはパウリ行列のテンソル積で表された離散的な可能性の集合へと実質的に射影または崩壊し、それらのパウリ誤りを訂正することで元のエンコードされた状態を回復できます。
一方、このプロセスで生成されたランダム性はシンドローム量子ビットに移行し、廃棄またはリセットされることで、このプロセスで生成されたランダム性が符号化を保持するシステムから取り除かれます。