次に、3ビット反復符号を再度取り上げ、今回はパウリ演算の観点から説明します。
これがスタビライザー符号の最初の例となります。
反復符号のパウリオブザーバブル
3ビット反復符号を量子ビットに適用すると、ある量子ビットの状態ベクトル α∣0⟩+β∣1⟩ が次のように符号化されることを思い出してください。
∣ψ⟩=α∣000⟩+β∣111⟩.
この形の状態 ∣ψ⟩ はいずれも、ある量子ビット状態の有効な3量子ビット符号化です。しかし、よくわからない状態があった場合、以下の2つの等式を確認することで有効な符号化であるかどうかを検証できます。
(Z⊗Z⊗I)∣ψ⟩(I⊗Z⊗Z)∣ψ⟩=∣ψ⟩=∣ψ⟩
最初の等式は、∣ψ⟩ の左端の2量子ビットに Z 演算を適用しても何も変わらないことを述べており、すなわち ∣ψ⟩ が固有値 1 を持つ Z⊗Z⊗I の固有ベクトルであることを意味します。
2番目の等式も同様ですが、Z 演算は右端の2量子ビットに適用されます。
∣ψ⟩ を標準基底状態の線形結合として考えると、最初の等式は左端の2ビットが偶数パリティ(すなわち等しい)を持つ標準基底状態にのみ非ゼロ係数を持てることを意味し、2番目の等式は右端の2ビットが偶数パリティを持つ標準基底状態にのみ非ゼロ係数を持てることを意味します。
同等に、2つのパウリ演算 Z⊗Z⊗I と I⊗Z⊗Z をオブザーバブルとして見て、前のセクションの末尾で示した回路を用いて両方を測定すると、∣ψ⟩ が固有値 1 を持つ両方のオブザーバブルの固有ベクトルであるため、+1 固有値に対応する測定結果が必ず得られます。
しかし、両方のオブザーバブルを独立に測定するための(合成)回路の簡略版は、ここに示す通り、3ビット反復符号のパリティチェック回路に他なりません。

したがって、上記の2つの等式は、パリティチェック回路が 00 を出力することを示唆しており、これはエラーが検出されなかったことを示すシンドロームです。
3量子ビットのパウリ演算 Z⊗Z⊗I と I⊗Z⊗Z は、この符号のスタビライザー生成元と呼ばれ、符号のスタビライザーはスタビライザー生成元によって生成される集合です。
⟨Z⊗Z⊗I,I⊗Z⊗Z⟩={I⊗I⊗I,Z⊗Z⊗I,Z⊗I⊗Z,I⊗Z⊗Z}
スタビライザーはこの符号に関連する根本的に重要な数学的対象であり、それが果たす役割については、レッスンが進むにつれて説明します。
ここで、選択した生成元のいずれかの代わりに Z⊗I⊗Z を使って異なる生成元を選ぶこともできましたが、その場合でもスタビライザー自体と符号は変わらなかったでしょう。
エラー検出
次に、3ビット反復符号のビットフリップ検出を検討し、関与するパウリ演算(スタビライザー生成元とエラーそのもの)間の相互作用と関係に注目します。
3ビット反復符号を使って量子ビットを符号化し、左端の量子ビットにビットフリップエラーが発生したとします。
これにより、状態 ∣ψ⟩ は X 演算(または X エラー)の作用によって変換されます。
∣ψ⟩↦(X⊗I⊗I)∣ψ⟩
このエラーは、前のレッスンで説明した通り、3ビット反復符号のパリティチェックを実行することで検出できます。これは、スタビライザー生成元 Z⊗Z⊗I と I⊗Z⊗Z をオブザーバブルとして非破壊的に測定することと等価です。
最初のスタビライザー生成元から始めましょう。
状態 ∣ψ⟩ は左端の量子ビットに X エラーの影響を受けており、このスタビライザー生成元のオブザーバブルとしての測定がこのエラーによってどのように影響を受けるかを理解することが目標です。
X と Z は反交換する一方、すべての行列は恒等行列と交換することから、Z⊗Z⊗I は X⊗I⊗I と反交換します。
一方、∣ψ⟩ は量子ビットの有効な符号化であるため、Z⊗Z⊗I は ∣ψ⟩ に対して自明に作用します。
(Z⊗Z⊗I)(X⊗I⊗I)∣ψ⟩=−(X⊗I⊗I)(Z⊗Z⊗I)∣ψ⟩=−(X⊗I⊗I)∣ψ⟩
したがって、(X⊗I⊗I)∣ψ⟩ は固有値 −1 を持つ Z⊗Z⊗I の固有ベクトルです。
オブザーバブル Z⊗Z⊗I に関連する測定が状態 (X⊗I⊗I)∣ψ⟩ に対して行われると、その結果は必ず固有値 −1 に対応するものになります。
同様の推論を2番目のスタビライザー生成元にも適用できますが、今回はエラーがスタビライザー生成元と反交換するのではなく交換するため、この測定の結果は固有値 +1 に対応するものになります。
(I⊗Z⊗Z)(X⊗I⊗I)∣ψ⟩=(X⊗I⊗I)(I⊗Z⊗Z)∣ψ⟩=(X⊗I⊗I)∣ψ⟩
これらの等式を考察すると、元の状態 ∣ψ⟩ に関わらず、破損した状態は両方のスタビライザー生成元の固有ベクトルであり、固有値が +1 か −1 かはエラーが各スタビライザー生成元と交換するか反交換するかによって決まることがわかります。
パウリ演算で表されるエラーの場合、任意の2つのパウリ演算は交換するか反交換するかのどちらかであるため、常にどちらかになります。
一方、実際の状態 ∣ψ⟩ は、スタビライザー生成元がこの状態に自明に作用するという事実を除けば、重要な役割を果たしません。
このため、一般的に作業している特定の符号化状態に注意を払う必要はありません。
重要なのは、エラーが各スタビライザー生成元と交換するか反交換するかだけです。
特に、この符号のこの特定のエラーに関して関係する等式は以下の通りです。
(Z⊗Z⊗I)(X⊗I⊗I)(I⊗Z⊗Z)(X⊗I⊗I)=−(X⊗I⊗I)(Z⊗Z⊗I)=(X⊗I⊗I)(I⊗Z⊗Z)
以下の表は、各スタビライザー生成元を行、各エラーを列として示しています。
表の各エントリは、エラーとスタビライザー生成元が交換するか反交換するかに応じて +1 または −1 となります。
表には、1ビットフリップに対応するエラーの列と、エラーなし(恒等演算を3回テンソル積したもの)の列のみが含まれています。
他のエラーの列を追加することもできますが、今はこれらのエラーのみに注目します。
Z⊗Z⊗II⊗Z⊗ZI⊗I⊗I+1+1X⊗I⊗I−1+1I⊗X⊗I−1−1I⊗I⊗X+1−1
表の各エラーについて、対応する列は、そのエラーが任意の符号化を各スタビライザー生成元の +1 または −1 固有ベクトルにどのように変換するかを示しています。
同等に、列はパリティチェックから得られるシンドロームを表しており、これはスタビライザー生成元をオブザーバブルとして非破壊的に測定することと等価です。
もちろん、表のエントリは 0 と 1 ではなく +1 と −1 です。シンドロームをバイナリ文字列として考えることが一般的ですが、+1 と −1 のエントリを持つこれらのベクトルをシンドロームとして考えることで、スタビライザー生成元の固有値と直接結びつけることもできます。
一般に、シンドロームは発生したエラーについて何かを教えてくれ、表に列挙された4つの可能なエラーのいずれかが発生したとわかっている場合、シンドロームはどのエラーが発生したかを示します。
シンドローム
3ビット反復符号の符号化は3量子ビット状態であるため、8次元複素ベクトル空間の単位ベクトルです。
4つの可能なシンドロームはこの8次元空間を効果的に4つの2次元部分空間に分割し、各部分空間内の量子状態ベクトルは常に同じシンドロームをもたらします。
以下の図は、2つのスタビライザー生成元によって8次元空間がどのように分割されるかを具体的に示しています。

各スタビライザー生成元は空間を等しい次元の2つの部分空間、すなわちそのオブザーバブルの +1 固有ベクトル空間と −1 固有ベクトル空間に分割します。
例えば、Z⊗Z⊗I の +1 固有ベクトルは左端の2ビットが偶数パリティを持つ標準基底状態の線形結合であり、−1 固有ベクトルは左端の2ビットが奇数パリティを持つ標準基底状態の線形結合です。
もう一方のスタビライザー生成元についても状況は同様ですが、こちらは左端の2ビットではなく右端の2ビットです。
4つの可能なシンドロームに対応する4つの2次元部分空間は、この場合、非常に単純な符号であることから容易に説明できます。
特に、シンドローム (+1,+1) に対応する部分空間は ∣000⟩ と ∣111⟩ によって張られる空間であり、これは有効な符号化の空間(符号空間とも呼ばれます)です。一般に、各空間は対応する正方形に示された標準基底によって張られます。
シンドロームはまた、3量子ビットのパウリ演算すべてを、そのエラーとして生じるシンドロームに応じて4つの等サイズのコレクションに分割します。
例えば、両方のスタビライザー生成元と交換する任意のパウリ演算はシンドローム (+1,+1) をもたらし、64の可能な3量子ビットパウリ演算の中で、このカテゴリに属するものはちょうど16個あります(例えば I⊗I⊗Z、Z⊗Z⊗Z、X⊗X⊗X などを含む)。他の3つのシンドロームについても同様です。
これらの2つの性質、すなわちシンドロームが符号化の存在する状態空間と、その空間上のすべてのパウリ演算の両方を等サイズのコレクションに分割するという性質は、スタビライザー符号一般に当てはまります。スタビライザー符号については次のセクションで正確に定義します。
この時点では主に余談になりますが、言及する価値があります。両方のスタビライザー生成元と交換する、すなわちシンドローム (+1,+1) をもたらすパウリ演算のうち、それ自体がスタビライザーの要素に比例しないものは、この符号において符号化された量子ビット(つまり論理量子ビット)に対する1量子ビットパウリ演算と同様に振る舞います。
例えば、X⊗X⊗X は両方のスタビライザー生成元と交換しますが、それ自体はスタビライザーのどの要素にも比例しておらず、この演算が符号化に与える効果は、符号化されている論理量子ビットへの X ゲートの適用と等価です。
(X⊗X⊗X)(α∣000⟩+β∣111⟩)=α∣111⟩+β∣000⟩
繰り返しになりますが、これはすべてのスタビライザー符号に一般化される現象です。