メインコンテンツへスキップ

スタビライザー符号

ここでは、スタビライザー符号を一般的な形で定義します。 また、状態をどのようにエンコードするか、およびこれらの符号を用いてエラーをどのように検出・訂正するかなど、基本的な性質と動作原理についても説明します。

スタビライザー符号の定義

nn量子ビットのスタビライザー符号は、nn量子ビットのパウリ演算子のリスト P1,,PrP_1,\ldots,P_r によって定められます。 これらの演算子はこの文脈ではスタビライザー生成元と呼ばれ、以下の3つの条件を満たす必要があります。

  1. スタビライザー生成元はすべて互いに可換です。

    PjPk=PkPj(for all j,k{1,,r})P_j P_k = P_k P_j \qquad \text{(for all $j,k\in\{1,\ldots,r\}$)}
  2. スタビライザー生成元は極小生成系を形成します。

    PkP1,,Pk1,Pk+1,,Pr(for all k{1,,r})P_k \notin \langle P_1,\ldots,P_{k-1},P_{k+1},\ldots,P_r\rangle \qquad \text{(for all $k\in\{1,\ldots,r\}$)}
  3. すべてのスタビライザー生成元によって固定される量子状態ベクトルが少なくとも1つ存在します。

    InP1,,Pr-\mathbb{I}^{\otimes n} \notin \langle P_1,\ldots, P_r\rangle

    (すべてのスタビライザー生成元によって固定される量子状態ベクトル ψ\vert\psi\rangle、すなわち P1ψ==Prψ=ψP_1 \vert\psi\rangle = \cdots = P_r \vert\psi\rangle = \vert\psi\rangle を満たすものが存在することが、InP1,,Pr-\mathbb{I}^{\otimes n} \notin \langle P_1,\ldots, P_r\rangle と同値であることは自明ではありませんが、実際にそうであり、その理由はこのレッスンの後半で説明します。)

このようなリスト P1,,PrP_1,\ldots,P_r が与えられたとき、これらのスタビライザー生成元によって定義される符号空間は、rr 個のスタビライザー生成元すべてによって固定されるあらゆる nn 量子ビット状態ベクトルを含む部分空間 C\mathcal{C} です。

C={ψ:P1ψ==Prψ=ψ}\mathcal{C} = \bigl\{ \vert\psi\rangle \,:\, P_1 \vert\psi\rangle = \cdots = P_r \vert\psi\rangle = \vert\psi\rangle \bigr\}

この部分空間内の量子状態ベクトルが、まさに量子状態の有効なエンコードとして見なせるものです。 実際のエンコード手順については後ほど説明します。

最後に、スタビライザー生成元 P1,,PrP_1, \ldots, P_r によって定義される符号のスタビライザーとは、これらの演算子によって生成される集合のことです。

P1,,Pr.\langle P_1,\ldots,P_r\rangle.

スタビライザー符号について自然な考え方は、スタビライザー生成元を観測量として捉え、これらの観測量に対応する測定の結果をまとめてエラーシンドロームと解釈することです。 有効なエンコードとは、固有値としての測定結果がすべて +1+1 となることが保証された nn 量子ビット状態ベクトルです。 少なくとも1つの測定結果が 1-1 となるような、それ以外のシンドロームは、エラーが検出されたことを示します。

いくつかの例をすぐに見ていきますが、まずスタビライザー生成元に課される3つの条件についていくつか補足します。

第1の条件は、スタビライザー生成元を観測量として解釈することを考えると自然です。これは測定を行う順序が関係ないことを意味します。観測量が可換であるため、測定も可換になります。 これにより、スタビライザー符号の動作に重要な代数的制約が自然に課されます。

第2の条件は、スタビライザー生成元が極小生成系を形成すること、すなわちそのうちのどれか1つを取り除くとスタビライザーが小さくなることを要求します。 厳密に言えば、この条件はスタビライザー符号が操作的な意味でどのように機能するかには本質的ではなく、次のレッスンで見るように、この条件を満たさない符号のスタビライザー生成元の集合について考えることが有意義な場合もあります。 しかし、スタビライザー符号を解析し、その性質を説明するためには、この条件を仮定します。 要するに、この条件によって、エラーシンドロームを得るために測定する各観測量が、他のスタビライザー生成元の測定から推定できる冗長な情報ではなく、起こりうるエラーについての新たな情報をもたらすことが保証されます。

第3の条件は、すべてのスタビライザー生成元によって固定される非ゼロベクトルが少なくとも1つ存在することを要求します。これは In-\mathbb{I}^{\otimes n} がスタビライザーに含まれないことと同値です。 この条件が必要な理由は、互いに可換な nn 量子ビットパウリ演算子の極小生成系を選ぶことが実際に可能であっても、すべての演算子によって固定される非ゼロベクトルが存在しない場合があるためです。 有効なエンコードが存在しない「符号」には興味がないので、この可能性を定義の一部としてこの条件によって排除します。

以下は、nn が小さい場合のスタビライザー符号の例です。 次のレッスンでは、nn がはるかに大きくなりうる例を含む、さらなる例を見ていきます。

3ビット反復符号

3ビット反復符号はスタビライザー符号の一例であり、スタビライザー生成元は ZZIZ \otimes Z \otimes \mathbb{I}IZZ\mathbb{I} \otimes Z \otimes Z です。

これら2つのスタビライザー生成元が必要条件を満たすことは容易に確認できます。 まず、2つのスタビライザー生成元 ZZIZ \otimes Z \otimes \mathbb{I}IZZ\mathbb{I} \otimes Z \otimes Z は互いに可換です。

(ZZI)(IZZ)=ZIZ=(IZZ)(ZZI)(Z \otimes Z \otimes \mathbb{I})(\mathbb{I} \otimes Z \otimes Z) = Z \otimes \mathbb{I} \otimes Z = (\mathbb{I} \otimes Z \otimes Z)(Z \otimes Z \otimes \mathbb{I})

次に、極小生成系であることを確認します(この場合はほぼ自明です)。

ZZIIZZ={III,IZZ}IZZZZI={III,ZZI}\begin{aligned} Z \otimes Z \otimes \mathbb{I} \notin \langle\mathbb{I} \otimes Z \otimes Z\rangle & = \{\mathbb{I}\otimes\mathbb{I}\otimes\mathbb{I}, \mathbb{I} \otimes Z \otimes Z\}\\[1mm] \mathbb{I} \otimes Z \otimes Z \notin \langle Z \otimes Z \otimes \mathbb{I}\rangle & = \{\mathbb{I}\otimes\mathbb{I}\otimes\mathbb{I}, Z \otimes Z \otimes \mathbb{I}\} \end{aligned}

そして第3に、000\vert 000\rangle111\vert 111\rangle、およびこれらのベクトルの任意の線形結合が ZZIZ \otimes Z \otimes \mathbb{I}IZZ\mathbb{I} \otimes Z \otimes Z の両方によって固定されることはすでに知っています。 あるいは、定義における同値条件を使って結論を導くこともできます。

IIIZZI,IZZ={III,ZZI,ZIZ,IZZ}-\mathbb{I}\otimes\mathbb{I}\otimes\mathbb{I}\notin \langle Z \otimes Z \otimes \mathbb{I}, \mathbb{I} \otimes Z \otimes Z\rangle = \{ \mathbb{I}\otimes\mathbb{I}\otimes\mathbb{I}, Z\otimes Z\otimes\mathbb{I}, Z\otimes\mathbb{I}\otimes Z, \mathbb{I}\otimes Z\otimes Z \}

これらの条件は、より複雑なスタビライザー符号では確認がはるかに難しくなります。

修正3ビット反復符号

前のレッスンでは、3ビット反復符号をビット反転エラーではなく位相反転エラーから保護するように修正することが可能であることを見ました。 スタビライザー符号として、この新しい符号は簡単に記述できます。そのスタビライザー生成元は XXIX \otimes X \otimes \mathbb{I}IXX\mathbb{I} \otimes X \otimes X です。

今度はスタビライザー生成元が ZZZ\otimes Z 観測量ではなく XXX\otimes X 観測量を表しているので、標準基底でのパリティチェックではなくプラス/マイナス基底でのパリティチェックに相当します。 スタビライザー生成元に課される3つの必要条件は、通常の3ビット反復符号と同様の方針で容易に検証できます。

9量子ビットShor符号

以下は、スタビライザー生成元で表現された9量子ビットShor符号です。これもスタビライザー符号の一例です。

ZZIIIIIIIIZZIIIIIIIIIZZIIIIIIIIZZIIIIIIIIIZZIIIIIIIIZZXXXXXXIIIIIIXXXXXX\begin{gathered} Z \otimes Z \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I}\\[1mm] \mathbb{I} \otimes Z \otimes Z \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I}\\[1mm] \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes Z \otimes Z \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I}\\[1mm] \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes Z \otimes Z \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I}\\[1mm] \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes Z \otimes Z \otimes \mathbb{I}\\[1mm] \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes Z \otimes Z\\[1mm] X \otimes X \otimes X \otimes X \otimes X \otimes X \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I}\\[1mm] \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I}\otimes X \otimes X \otimes X \otimes X \otimes X \otimes X \end{gathered}

この場合、3量子ビットずつの3つのブロックそれぞれに対して3ビット反復符号のコピーが3つあるほか、この符号の位相反転を検出する回路を思わせる形をした最後の2つのスタビライザー生成元があります。

最後の2つのスタビライザー生成元の別の考え方は、位相反転に対する3ビット反復符号と同じ形を取りつつ、XX の代わりに XXXX\otimes X\otimes X が置き換えられているというものです。これは、XXXX\otimes X\otimes X が3ビット反復符号でエンコードされた論理量子ビットへの XX 演算に対応するという事実と整合しています。

他の例に移る前に、テンソル積の記号はスタビライザー符号をスタビライザー生成元のリストで記述する際にしばしば省略されることに注意してください。読みやすくなり、パターンが見やすくなる傾向があるためです。 例えば、9量子ビットShor符号の上記と同じスタビライザー生成元は、テンソル積の記号を明示的に書かないと次のようになります。

ZZIIIIIIIIZZIIIIIIIIIZZIIIIIIIIZZIIIIIIIIIZZIIIIIIIIZZXXXXXXIIIIIIXXXXXX\begin{array}{ccccccccc} Z & Z & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I}\\[1mm] \mathbb{I} & Z & Z & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I}\\[1mm] \mathbb{I} & \mathbb{I} & \mathbb{I} & Z & Z & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I}\\[1mm] \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & Z & Z & \mathbb{I} & \mathbb{I} & \mathbb{I}\\[1mm] \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & Z & Z & \mathbb{I}\\[1mm] \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & \mathbb{I} & Z & Z\\[1mm] X & X & X & X & X & X & \mathbb{I} & \mathbb{I} & \mathbb{I}\\[1mm] \mathbb{I} & \mathbb{I} & \mathbb{I}& X & X & X & X & X & X \end{array}

7量子ビットSteane符号

以下は、7量子ビットSteane符号として知られるスタビライザー符号の別の例です。 この符号はいくつかの注目すべき特徴を持っており、コースの残りのレッスンを通じて折に触れて取り上げます。

ZZZZIIIZZIIZZIZIZIZIZXXXXIIIXXIIXXIXIXIXIX\begin{array}{ccccccc} Z & Z & Z & Z & \mathbb{I} & \mathbb{I} & \mathbb{I} \\[1mm] Z & Z & \mathbb{I} & \mathbb{I} & Z & Z & \mathbb{I} \\[1mm] Z & \mathbb{I} & Z & \mathbb{I} & Z & \mathbb{I} & Z \\[1mm] X & X & X & X & \mathbb{I} & \mathbb{I} & \mathbb{I} \\[1mm] X & X & \mathbb{I} & \mathbb{I} & X & X & \mathbb{I} \\[1mm] X & \mathbb{I} & X & \mathbb{I} & X & \mathbb{I} & X \end{array}

ここでは、これが有効なスタビライザー符号であることを単純に確認しましょう。 最初の3つのスタビライザー生成元は、ZZ が自身と可換であり恒等演算子はすべてと可換であるため、明らかに互いに可換です。最後の3つのスタビライザー生成元についても同様です。 残るは、ZZ スタビライザー生成元(最初の3つのいずれか)と XX スタビライザー生成元(最後の3つのいずれか)を1つずつ取り上げた場合に、これら2つが可換であることを確認することであり、9通りの組み合わせを検証することで確認できます。 これらすべての場合において、XXZZ のパウリ行列は常に同じ位置で偶数回現れるため、XXX\otimes XZZZ\otimes Z が可換であるのと同様に、2つの生成元は可換になります。 これも極小生成系であり、自明でない符号空間を定義しています。これらの事実は読者の考察に委ねます。

7量子ビットSteane符号は、1量子ビットをエンコードし、1量子ビット上の任意のエラーを訂正できるという点で9量子ビットShor符号と似ていますが、必要な量子ビット数が9ではなく7です。

5量子ビット符号

1量子ビットをエンコードして1量子ビット上の任意のエラーから保護するために必要な量子ビット数は7が最小ではありません。以下は、わずか5量子ビットでこれを実現するスタビライザー符号です。

XZZXIIXZZXXIXZZZXIXZ\begin{array}{ccccc} X & Z & Z & X & \mathbb{I} \\[1mm] \mathbb{I} & X & Z & Z & X \\[1mm] X & \mathbb{I} & X & Z & Z \\[1mm] Z & X & \mathbb{I} & X & Z \\[1mm] \end{array}

この符号は通常5量子ビット符号と呼ばれます。 これは、任意の1量子ビットエラーを訂正できる量子誤り訂正符号における量子ビット数の最小値です。

1次元スタビライザー符号

以下はスタビライザー符号の別の例ですが、実際にはいかなる量子ビットもエンコードしません。符号空間が1次元なのです。 しかしながら、定義によればこれは依然として有効なスタビライザー符号です。

ZZXX\begin{array}{cc} Z & Z \\[1mm] X & X \end{array}

具体的には、符号空間はeビット ϕ+\vert\phi^+\rangle によって張られる1次元空間です。

以下は、GHZ状態 (000+111)/2(\vert 000\rangle + \vert 111\rangle)/\sqrt{2} によって張られる1次元空間を符号空間とするスタビライザー符号の関連する例です。

ZZIIZZXXX\begin{array}{cc} Z & Z & \mathbb{I} \\[1mm] \mathbb{I} & Z & Z \\[1mm] X & X & X \end{array}

符号空間の次元

nn 量子ビットのスタビライザー生成元 P1,,PrP_1,\ldots,P_r によって記述されるスタビライザー符号があるとします。 この符号について最初に浮かぶ疑問は、「この符号は何量子ビットをエンコードするか?」というものでしょう。

この疑問には簡単な答えがあります。 nn 量子ビットのスタビライザー生成元 P1,,PrP_1, \ldots, P_r が定義の3つの要件(すなわち、スタビライザー生成元がすべて互いに可換であること、極小生成系であること、符号空間が空でないこと)を満たすならば、このスタビライザー符号の符号空間は次元 2nr2^{n-r} を持ち、この符号を用いて nrn-r 量子ビットをエンコードできます。

直感的に言えば、このエンコードに nn 個の量子ビットを使い、各スタビライザー生成元がエンコードできる量子ビット数の観点から実質的に「量子ビットを1つ取り除く」ことになります。 これはどのような、またはいくつのエラーを検出・訂正できるかという話ではなく、あくまで符号空間の次元に関する記述です。

例えば、3ビット反復符号とその位相反転エラー版の修正符号はどちらも n=3n=3 量子ビットと r=2r=2 個のスタビライザー生成元を持つため、各符号は1量子ビットをエンコードできます。 別の例として5量子ビット符号を考えると、5量子ビットと4つのスタビライザー生成元があるため、符号空間は次元2を持ち、この符号を用いて1量子ビットをエンコードできます。 最後の例として、スタビライザー生成元が XXX\otimes XZZZ\otimes Z の符号は1次元の符号空間を持ち、状態 ϕ+\vert\phi^+\rangle によって張られます。これは n=2n=2 量子ビットと r=2r=2 個のスタビライザー生成元と整合しています。

では、この事実をどのように証明するか見ていきましょう。 最初のステップは、スタビライザー生成元が可換であり、すべてのパウリ演算子がそれ自身の逆元であることから、スタビライザーの各要素は次の積として表せることを観察することです。

P1a1Prar,P_1^{a_1} \cdots P_r^{a_r},

ここで a1,,ar{0,1}a_1,\ldots,a_r\in\{0,1\} です。 同等に言えば、スタビライザーの各要素はスタビライザー生成元の部分集合の積として得られます。 {P1,,Pr}\{P_1,\ldots,P_r\} が極小生成系であるという条件により、実際にはスタビライザーの各要素はこの形で一意に表現できます。

次に、各 k{1,,r}k\in\{1,\ldots,r\} に対して、Πk\Pi_kPkP_k+1+1 固有ベクトルへの射影として定義します。 これらの射影は、対応するパウリ演算子と恒等演算子を次のように平均することで得られます。

Πk=In+Pk2\Pi_k = \frac{\mathbb{I}^{\otimes n} + P_k}{2}

符号空間 C\mathcal{C} は、スタビライザー生成元 P1,,PrP_1,\ldots,P_rrr 個すべて、あるいは同等に rr 個の射影 Π1,,Πr\Pi_1,\ldots,\Pi_r すべてによって固定されるすべてのベクトルの部分空間です。

スタビライザー生成元がすべて互いに可換であることから、射影 Π1,,Πr\Pi_1,\ldots,\Pi_r も互いに可換でなければなりません。 これにより線形代数の事実を使うことができます。それは、これらの射影のが各射影に対応する部分空間の共通部分への射影になるという事実です。 すなわち、積 Π1Πr\Pi_1\cdots\Pi_r は符号空間 C\mathcal{C} への射影です。

これらの射影の公式を用いて積 Π1Πr\Pi_1\cdots\Pi_r を展開すると、次の式が得られます。

Π1Πr=(In+P12)(In+Pr2)=12ra1,,ar{0,1}P1a1Prar\Pi_1\cdots\Pi_r = \biggl(\frac{\mathbb{I}^{\otimes n} + P_1}{2}\biggr)\cdots\biggl(\frac{\mathbb{I}^{\otimes n} + P_r}{2}\biggr) = \frac{1}{2^r}\sum_{a_1,\ldots,a_r \in \{0,1\}} P_1^{a_1}\cdots P_r^{a_r}

言葉で言えば、スタビライザー符号の符号空間への射影は行列として、その符号のスタビライザーに含まれるすべての要素の平均に等しいということです。

最後に、部分空間の次元は任意の部分空間への射影のトレースに等しいという事実を使って符号空間の次元を計算できます。 したがって、符号空間 C\mathcal{C} の次元は次の式で与えられます。

dim(C)=Tr(Π1Πr)=12ra1,,ar{0,1}Tr(P1a1Prar)\operatorname{dim}(\mathcal{C}) = \operatorname{Tr}(\Pi_1\cdots\Pi_r) = \frac{1}{2^r} \sum_{a_1,\ldots,a_r \in \{0,1\}} \operatorname{Tr}(P_1^{a_1}\cdots P_r^{a_r})

いくつかの基本的な事実を用いてこの式を評価できます。

  • P10Pr0=InP_1^0 \cdots P_r^0 = \mathbb{I}^{\otimes n} であるため、

    Tr(P10Pr0)=2n.\operatorname{Tr}(P_1^{0}\cdots P_r^{0}) = 2^n.
  • (a1,,ar)(0,,0)(a_1,\ldots,a_r) \neq (0,\ldots,0) のとき、積 P1a1PrarP_1^{a_1}\cdots P_r^{a_r} は必ず ±1\pm 1 倍のパウリ演算子になります。しかし In\mathbb{I}^{\otimes n} は得られません。これは集合 {P1,,Pr}\{P_1,\ldots,P_r\} の極小性に矛盾するからです。また In-\mathbb{I}^{\otimes n} も得られません。スタビライザー生成元の第3の条件がそれを禁じているからです。したがって、非恒等パウリ演算子のトレースはゼロであることから、

    Tr(P1a1Prar)=0.\operatorname{Tr}(P_1^{a_1}\cdots P_r^{a_r}) = 0.

したがって、符号空間の次元は主張の通り 2nr2^{n-r} です。

dim(C)=12ra1,,ar{0,1}Tr(P1a1Prar)=12rTr(P10Pr0)=2nr.\begin{aligned} \operatorname{dim}(\mathcal{C}) & = \frac{1}{2^r} \sum_{a_1,\ldots,a_r \in \{0,1\}} \operatorname{Tr}(P_1^{a_1}\cdots P_r^{a_r}) \\ & = \frac{1}{2^r} \operatorname{Tr}(P_1^{0}\cdots P_r^{0}) \\ & = 2^{n-r}. \end{aligned}

余談として、In-\mathbb{I}^{\otimes n} がスタビライザーに含まれないという仮定が、符号空間に少なくとも1つの量子状態ベクトルが含まれることを意味することが、これで分かります。 これは今確認したように、この仮定が符号空間の次元を 2nr2^{n-r} とすることを意味し、その値はゼロになれないからです。 逆方向の含意は自明です。In-\mathbb{I}^{\otimes n} がスタビライザーに含まれるならば、この演算子によって固定される非ゼロベクトルが存在しないため、符号空間は量子状態ベクトルを含むことができません。

クリフォード演算とエンコード

次に、スタビライザー符号を用いて量子ビットをどのようにエンコードするかについて簡単に説明します。そのためにまずクリフォード演算を導入する必要があります。

クリフォード演算

クリフォード演算とは、任意の量子ビット数に対して、以下の限定されたゲートのセットで構成される量子回路によって実装できるユニタリ演算です。

  • アダマールゲート
  • SS ゲート
  • CNOTゲート

TT ゲートはこのリストに含まれていないことに注意してください。トフォリゲートやフレドキンゲートも同様です。 それらのゲートがリストに含まれていないだけでなく、実際にはここに挙げたゲートを使ってそれらのゲートを実装することは不可能です。つまり、これらはクリフォード演算ではありません。 一方、パウリ演算はクリフォード演算です。アダマールゲートと SS ゲートの列で実装できるからです。

クリフォード演算の定義としてはこれでシンプルですが、なぜこのように定義されているのか、あるいはこの特定のゲートの集まりに何が特別なのかは説明されていません。 クリフォード演算がこのように定義されている本当の理由は、大局的位相因子を除けば、クリフォード演算とはまさに共役によってパウリ演算を常にパウリ演算へと変換するユニタリ演算にほかならないからです。 より正確に言うと、nn 量子ビットのユニタリ演算 UU が位相因子を除いてクリフォード演算と等価であるのは、すべての nn 量子ビットのパウリ演算 PP に対して、

UPU=±QU P U^{\dagger} = \pm Q

を満たす nn 量子ビットのパウリ演算 QQ が存在する場合、かつその場合に限ります。

(なお、UU がユニタリで PPQQ がパウリ演算であるとき、α{+1,1}\alpha\notin\{+1,-1\} に対して UPU=αQU P U^{\dagger} = \alpha Q となることはありません。 これは、当該方程式の左辺の行列がユニタリかつエルミートであり、右辺もユニタリかつエルミートになるためには α\alpha+1+1 または 1-1 に限られることから従います。)

UU がアダマールゲート、SS ゲート、または CNOTゲートであるとき、上記の共役特性を確認するのは容易です。 特に、アダマールゲートについては次のように確認できます。

HXH=Z,HYH=Y,HZH=X,H X H^{\dagger} = Z, \qquad H Y H^{\dagger} = -Y, \qquad H Z H^{\dagger} = X,

SS ゲートについては次のとおりです。

SXS=Y,SYS=X,SZS=Z.S X S^{\dagger} = Y, \qquad S Y S^{\dagger} = -X, \qquad S Z S^{\dagger} = Z.

CNOTゲートについては、2量子ビット上の非恒等パウリ演算が15通りあるため、すべてを確認する必要があります。 それぞれを個別に確認することもできますが、前のレッスンで(回路の形式で)示した CNOTゲートと XXZZ ゲートの関係、およびパウリ行列の乗算規則を利用することで、同じ結論へのショートカットが得られます。

アダマール、SS、および CNOTゲートに対してこの共役特性が成り立つことがわかれば、これらのゲートで構成される回路、すなわちすべてのクリフォード演算に対しても成り立つことが直ちに導かれます。

逆方向の関係、すなわちあるユニタリ演算 UU がパウリ演算に対する共役特性を満たすならば、アダマール、SS、および CNOTゲートのみを使って(大局的位相を除いて)それを実装できなければならないという事実を証明するのは、より困難です。 このレッスンでは説明しませんが、これは真実です。

クリフォード演算は量子計算に対して普遍的ではありません。普遍的な量子ゲートのセットとは異なり、クリフォード演算を使って任意のユニタリ演算を所望の精度に近似することはできません。 実際、ある nn の値に対して、nn 量子ビットのクリフォード演算は(位相因子を除けば)有限個しか存在しません。 標準基底状態に対してクリフォード演算を行い、その後に標準基底測定を行うだけでは、古典アルゴリズムの手の届かない計算を行うことはできません。なぜなら、この形式の計算は古典的に効率よくシミュレートできるからです。 この事実はゴットスマン=クニル定理として知られています。

スタビライザー符号のエンコーダ

スタビライザー符号はある次元の符号空間を定義しますが、その符号空間をどのように利用するかは自由に選択できます。符号空間への量子ビットのエンコードを特定の方法で行うことを強制するものは何もありません。 ただし、それを選択する場合、常にクリフォード演算をエンコーダとして使用することができます。 より正確に言うと、mm 量子ビットを nn 量子ビットにエンコードする任意のスタビライザー符号に対して、任意の mm 量子ビットの量子状態ベクトル ϕ\vert\phi\rangle について、

ψ=U(0nmϕ)\vert\psi\rangle = U \bigl(\vert 0^{n-m} \rangle \otimes \vert \phi\rangle\bigr)

ϕ\vert\phi\rangle のエンコードとして解釈できる符号空間内の量子状態ベクトルになるような nn 量子ビットのクリフォード演算 UU が存在します。

これは好ましいことです。なぜなら、クリフォード演算は任意のユニタリ演算と比べて相対的に単純であり、ゴットスマン=クニル定理の証明に見られるものと類似した技術を使って実装を最適化できる方法があるからです。 その結果、スタビライザー符号を使った状態のエンコード回路は大きくなりすぎることがありません。 特に、nn 量子ビットのスタビライザー符号に対するエンコードは、O(n2/log(n))O(n^2/\log(n)) 個のゲートを必要とするクリフォード演算を使って常に実行できます。 これは、nn 量子ビット上のすべてのクリフォード演算がこのサイズの回路で実装できるためです。

例えば、以下は7量子ビットのスティーン符号のエンコーダです。 これは確かにクリフォード演算であり、実はこの場合 SS ゲートすら必要としません。

7量子ビットスティーン符号のクリフォードエンコーダ

エラーの検出

スタビライザー生成元 P1,,PrP_1,\ldots, P_r によって記述される nn 量子ビットのスタビライザー符号において、エラー検出は次のように機能します。

エラーを検出するには、すべてのスタビライザー生成元を可観測量として測定します。 スタビライザー生成元は rr 個あり、したがって rr 個の測定結果が得られます。それぞれの測定結果は +1+1 または 1-1 です(00+1+1 に、111-1 に対応付けることにすれば二値でも表せます)。 rr 個の結果をまとめてベクトルまたは文字列として解釈したものをシンドロームと呼びます。 シンドローム (+1,,+1)(+1,\ldots,+1) はエラーが検出されなかったことを示し、シンドローム内のどこかに少なくとも一つの 1-1 があればエラーが検出されたことを示します。

特に、EE を仮定上のエラーを表す nn 量子ビットのパウリ演算とします。 (ここでパウリ演算のみをエラーとして考えているのは、9量子ビットのショア符号と同様に、任意のスタビライザー符号においてもエラーの離散化が同じように機能するためです。) EE がエラーとして検出されるかどうかを決定する3つのケースがあります。

エラー検出のケース

  1. 演算 EE がスタビライザーのある元に比例する。

    E=±Q  for some  QP1,,PrE = \pm Q \; \text{for some}\; Q \in \langle P_1,\ldots,P_r\rangle

    この場合、EE はすべてのスタビライザー生成元と可換でなければならないため、シンドローム (+1,,+1)(+1,\ldots,+1) が得られます。これは EE がエラーとして検出されないことを意味します。

  2. 演算 EE はスタビライザーの元に比例しないが、それでもすべてのスタビライザー生成元と可換である。

    E±Q  for  QP1,,Pr,  but  EPk=PkE  for every  k{1,,r}E\neq \pm Q\; \text{for} \; Q \in \langle P_1,\ldots,P_r\rangle, \;\text{but}\; E P_k = P_k E \;\text{for every}\; k\in\{1,\ldots,r\}

    これは符号空間内のベクトルを何らかの非自明な方法で変化させるエラーです。しかし、EE がすべてのスタビライザー生成元と可換であるため、シンドローム (+1,,+1)(+1,\ldots,+1) となり、EE は符号によって検出されません。

  3. 演算 EE が少なくとも一つのスタビライザー生成元と反可換である。

    PkE=EPk  for at least one  k{1,,r}P_k E = -E P_k \; \text{for at least one} \; k\in\{1,\ldots,r\}

    シンドロームが (+1,,+1)(+1,\ldots,+1) と異なるため、エラー EE が符号によって検出されます。

最初のケースでは、演算 EE は符号空間内のベクトルに対して何もしません(無関係な大局的位相を注入する可能性があるだけです)。つまり、符号化された任意の状態 ψ\ket{\psi} に対して Eψ=±ψE \ket{\psi} = \pm\ket{\psi} となります。本質的に、これは実際にはエラーではありません。EE が持つ可能性のある非自明な作用は符号空間の外で生じます。したがって、EE がエラーとして検出されないことは良いことです。何も対処する必要がないからです。

2番目のケースは、直感的に言えば、悪いケースです。 エラーが 1-1 をシンドローム内に出現させ、エラーを知らせるのはスタビライザー生成元との反可換性ですが、このケースではそれが起きません。 そのため、符号空間内のベクトルを何らかの非自明な方法で変化させるエラー EE が符号によって検出されないことになります。 例えば、3ビット繰り返し符号では、演算 E=XXXE = X\otimes X\otimes X がこのカテゴリに該当します。

そのようなエラー EE が符号空間内のベクトルを非自明な方法で変化させなければならないことは、次のように論じられます。 EEP1,,PrP_1,\ldots,P_r と可換であるがスタビライザーの元に比例しないという仮定から、P1,,PrP_1,\ldots,P_r に加えて EE をスタビライザー生成元として含めることで新しい有効なスタビライザー符号が得られると結論づけられます。 しかし、この新しい符号の符号空間は元の符号空間の次元の半分しかなく、そこから EE の元の符号空間への作用が恒等演算に比例し得ないことが結論づけられます。

3つのケースの最後、すなわちエラー EE が少なくとも一つのスタビライザー生成元と反可換であるケースでは、シンドロームの中に少なくとも一つの 1-1 があり、何かが間違っていることを示します。 すでに説明したように、シンドロームは一般に EE を一意に特定しないため、各シンドロームに対して訂正演算を選択する必要があり、その訂正演算がエラー EE を訂正できるかどうかはわかりません。 このステップについては、レッスンの最後の部分で間もなく説明します。

スタビライザー符号の距離

用語として、スタビライザー符号の距離とは、上記の2番目のカテゴリに該当するパウリ演算 EE(符号空間を何らかの非自明な方法で変化させるが符号はそれを検出しない)の最小重みを意味します。 スタビライザー符号が [[n,m,d]][[n,m,d]] スタビライザー符号(二重角括弧を使用)であると言われる場合、それは以下を意味します。

  1. エンコーディングの長さが nn 量子ビットであり、
  2. 符号が mm 量子ビットのエンコードを可能にし、
  3. 符号の距離が dd である。

例として、7量子ビットのスティーン符号を考えます。 この符号のスタビライザー生成元は次のとおりです。

ZZZZIIIZZIIZZIZIZIZIZXXXXIIIXXIIXXIXIXIXIX\begin{array}{ccccccc} Z & Z & Z & Z & \mathbb{I} & \mathbb{I} & \mathbb{I} \\[1mm] Z & Z & \mathbb{I} & \mathbb{I} & Z & Z & \mathbb{I} \\[1mm] Z & \mathbb{I} & Z & \mathbb{I} & Z & \mathbb{I} & Z \\[1mm] X & X & X & X & \mathbb{I} & \mathbb{I} & \mathbb{I} \\[1mm] X & X & \mathbb{I} & \mathbb{I} & X & X & \mathbb{I} \\[1mm] X & \mathbb{I} & X & \mathbb{I} & X & \mathbb{I} & X \end{array}

この符号の距離は3であり、次のように論じることができます。

まず、重みが最大2の任意のパウリ演算 EE を考え、この演算が6つのスタビライザー生成元すべてと可換であると仮定します。 そうすると、EE は恒等演算でなければならないと結論づけられます。恒等演算は(常に)スタビライザーの元です。 これにより、符号の距離が2より厳密に大きいことが示されます。 特に、EE が次の形をとると仮定します。

E=PQIIIIIE = P \otimes Q \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I}

ここで PPQQ はそれぞれ非恒等のパウリ行列である可能性があります。 これは一つのケースに過ぎず、EE のテンソル因子における非恒等パウリ行列の他のすべての可能な位置についても以下の議論を繰り返す必要がありますが、論拠はすべての可能な位置で本質的に同じです。

演算 EE は6つのスタビライザー生成元すべてと可換なので、特に次の2つと可換です。

ZIZIZIZXIXIXIX\begin{gathered} Z \otimes \mathbb{I} \otimes Z \otimes \mathbb{I} \otimes Z \otimes \mathbb{I} \otimes Z\\[1mm] X \otimes \mathbb{I} \otimes X \otimes \mathbb{I} \otimes X \otimes \mathbb{I} \otimes X \end{gathered}

エラー EE 内のテンソル因子 QQ は、これら両方のスタビライザー生成元の恒等行列と位置が対応しています(それがこれらを選んだ理由です)。 EE の右5つの位置に恒等行列があることから、PPXXZZ の両方と可換でなければならないと結論づけられます。さもなければ EE は2つの生成元のいずれかと反可換になってしまいます。 しかし、XXZZ の両方と可換なパウリ行列は恒等行列のみなので、P=IP = \mathbb{I} となります。

これがわかったので、左から2番目の位置に XXZZ を持つ2つのスタビライザー生成元をさらに選ぶことができ、同様の結論が導かれます。つまり Q=IQ = \mathbb{I} となります。 したがって、EE は恒等演算です。

すなわち、重みが最大2のエラーがこの符号によって検出されないことはあり得ません。ただし、エラーが恒等演算の場合は除きます(恒等演算はスタビライザーの元であり、実際にはエラーではありません)。 一方、6つのスタビライザー生成元すべてと可換であるが、スタビライザーの元に比例しない重み3のパウリ演算は存在します。例えば IIIIXXX\mathbb{I}\otimes\mathbb{I}\otimes\mathbb{I}\otimes\mathbb{I}\otimes X\otimes X\otimes XIIIIZZZ\mathbb{I}\otimes\mathbb{I}\otimes\mathbb{I}\otimes\mathbb{I}\otimes Z\otimes Z\otimes Z がそうです。 これにより、この符号の距離が主張通り3であることが確立されます。

エラーの訂正

このレッスンの最後のトピックは、スタビライザー符号におけるエラーの訂正です。 これまでと同様に、nn 量子ビットのスタビライザー生成元 P1,,PrP_1, \ldots, P_r によって指定されたスタビライザー符号があると仮定します。

nn 量子ビットのパウリ演算は、この符号を使ってエンコードされた状態に影響する可能性のあるエラーとして、それぞれが引き起こすシンドロームに従って等しいサイズの集合に分割されます。 異なるシンドロームは 2r2^r 種類あり、パウリ演算は 4n4^n 個あるので、各シンドロームを引き起こすパウリ演算は 4n/2r4^n/2^r 個あります。 対応するシンドロームを引き起こすエラーは、これらのいずれかである可能性があります。

ただし、各シンドロームを引き起こす 4n/2r4^n/2^r 個のパウリ演算の中には、等価と見なすべきものがあります。 特に、2つのパウリ演算の積がスタビライザーの元に比例する場合、それら2つの演算はエラーとして実質的に等価です。

別の言い方をすれば、エラー EE を訂正しようとして訂正演算 CC を適用する場合、合成 CECE がスタビライザーの元に比例する限りにおいてこの訂正は成功します。 スタビライザーには 2r2^r 個の元があることから、各訂正演算 CC2r2^r 個の異なるパウリエラーを訂正することになります。 これにより、各可能なシンドロームと整合する、エラーとして見た場合の不等価なパウリ演算のクラスが 4nr4^{n-r} 個残ります。

つまり、n=rn=r でない限り(その場合は自明な1次元符号空間を持つ符号になります)、スタビライザー符号によって検出されたすべてのエラーを訂正することは不可能です。 代わりに行う必要があるのは、各シンドロームに対してただ一つの訂正演算を選択し、そのシンドロームを引き起こす等価なエラークラスの中の一つだけを訂正できることを期待することです。

各シンドロームに対してどの訂正演算を行うかを選択する自然な戦略の一つは、そのシンドロームを引き起こすエラーとして最も重みの小さいパウリ演算を選択することです。 実際には、与えられたシンドロームと整合する最小重みのエラーが複数存在する場合もあり、その場合はいずれかを選択できます。 低重みのパウリ演算は、測定されたシンドロームに対してより可能性の高い説明を表しているという考え方です。 ノイズモデルによっては、これが実際には当てはまらない場合もあり、代替戦略として、選択したノイズモデルに基づいて与えられたシンドロームを引き起こす最も尤もらしいエラーを計算する方法もあります。 ただし、このレッスンでは話を単純にするため、最小重みの訂正のみを考えます。

距離 dd のスタビライザー符号において、訂正演算を測定されたシンドロームと整合する最小重みのパウリ演算として選択するこの戦略は、重みが dd の半分未満、すなわち重みが最大 (d1)/2(d-1)/2 のエラーを常に訂正できます。 これは例えば、7量子ビットのスティーン符号が任意の重み1のパウリエラーを訂正でき、エラーの離散化によって1量子ビットに対する任意のエラーを訂正できることを示します。

この仕組みを理解するために、以下の図を考えます。 左の円は、シンドローム (+1,,+1)(+1,\ldots,+1) をもたらすすべてのパウリ演算を表しています。これはエラーが発生しておらず何も問題がないことを示唆するシンドロームです。 これらの演算の中には、スタビライザーの元(より正確には、スタビライザーの元に比例する演算)と、符号空間を何らかの方法で変化させるが符号によって検出されない非自明なエラーが含まれています。 距離の定義により、このカテゴリのすべてのパウリ演算の重みは少なくとも dd でなければなりません。なぜなら dd はこれらの演算の最小重みとして定義されているからです。

右の円は、考慮するエラー EE(重みが d/2d/2 未満)を含む、異なるシンドローム s(+1,,+1)s\neq(+1,\ldots,+1) をもたらすパウリ演算を表しています。

最小重みエラー訂正の図

シンドローム ss に対して選択された訂正演算 CC は、図の右の円で表される集合内で最小重みのパウリ演算です(同点の場合はその中のいずれか一つ)。 したがって C=EC = E となる可能性もありますが、必ずしもそうとは限りません。 ただし確実に言えることは、CC の重みは EE の重みより大きくなり得ないということです。なぜなら CC はこの集合内で最小重みを持つからです。したがって CC の重みは d/2d/2 未満です。

次に、エラー EE が発生した後に得られた状態に訂正演算 CC を適用したときに何が起きるかを考えます。 元のエンコーディングが ψ\vert\psi\rangle だったと仮定すると、CEψCE\vert\psi\rangle が得られます。 CECE がスタビライザーの元に比例することを示すことが目標です。そうなれば訂正が成功し、(大局的位相を除いて)元のエンコードされた状態 ψ\vert\psi\rangle が残ります。

まず、EECC が同じシンドロームを引き起こすため、合成 CECE はすべてのスタビライザー生成元と可換でなければなりません。 特に、PkP_k が任意のスタビライザー生成元であるとすると、次が成り立ちます。

PkE=αEPkandPkC=αCPkP_k E = \alpha E P_k \quad\text{and}\quad P_k C = \alpha C P_k

ここで、同じ値 α{+1,1}\alpha\in\{+1,-1\} を取ります。なぜなら、これは CCEE の両方が生成するシンドローム ss における kk 番目の成分だからです。 したがって、

Pk(CE)=αCPkE=α2(CE)Pk=(CE)Pk,P_k (CE) = \alpha C P_k E = \alpha^2 (CE) P_k = (CE) P_k,

となり、PkP_kCECE と可換です。 これにより CECE が図の左の円に属することが示されました。シンドローム (+1,,+1)(+1,\ldots,+1) を生成するからです。

次に、合成 CECE の重みは CCEE の重みの和以下でなければなりません。これはパウリ演算の積についての一瞬の考察から従います。したがって CECE の重みは dd 未満です。 これは CECE が符号のスタビライザーの元に比例することを意味し、これが示したかったことです。 各シンドロームを生成するエラーの集合の中で最小重みの代表元を訂正演算として選択することで、符号の距離の半分未満の重みを持つパウリエラーを訂正することが保証されます。

ただし、一つの問題があります。 スタビライザー符号一般において、与えられたシンドロームを引き起こす最小重みのパウリ演算を計算することは、計算上困難な問題です。 (実際、古典符号についても同様であり、この文脈では古典符号をスタビライザー符号(スタビライザー生成元のテンソル因子として I\mathbb{I}ZZ のみが現れる符号)として考えることができます。) したがって、エンコードのステップとは異なり、今回はクリフォード演算が救いの手を差し伸べてくれることはありません。

解決策は、効率的に良い訂正が計算できる特定の符号を選択することですが、それには単純なレシピがありません。 端的に言えば、効率的に良い訂正演算を計算できるスタビライザー符号を考案することは、量子符号設計の芸術の一部です。 次のレッスンでは、この芸術が披露されるのを目にすることになります。