トポロジカルな繰り返し符号【誤り耐性量子計算】

Nov. 4, 2023, 12:59 a.m. edited Nov. 4, 2023, 1:38 p.m.

#量子情報  #量子力学 

$$ \def\bra#1{\mathinner{\left\langle{#1}\right|}} \def\ket#1{\mathinner{\left|{#1}\right\rangle}} \def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}} $$

繰り返し符号というと、よく Shor の符号を想像される場合が多い(実際、 Google 翻訳で「繰り返し符号 量子」と検索するとこうなる)が、 IBM Qiskit のページにもあるようにトポロジカル符号の繰り返し符号も存在する。そのトポロジカルなタイプの繰り返し符号に最近よく遭遇し、これはなんだとなりがちだったので、ここに自分の理解をまとめておく。

まず、 2 ラウンドの符号距離 2 の繰り返し符号は次のようになる:

これはビット反転エラーを検知することができる。データ量子ビットは上下のビットであり、補助ビットは中央となる。初めの 2 つの CNOT は 表面符号で各サイクルで使われる回路は何を表しているのか【量子計算】 の \(Z\) スタビライザーのところで書いたように、 \(Z_0Z_1\) の固有状態への射影である。ゆえに、途中でビット反転が 1 つ起きると \(M_0\) にて固有値 \(-1\) となるため検知できる。しかし、 2 つ起きると打ち消しあって検知できない。これは符号距離が 2 であるため論理エラーとなるためである。となると、逆に論理演算子は \(Z_L=Z_0Z_1\) とすれば良いのだろう。

2 ラウンド目でも同様に \(M_2\) でエラーを検知するが、実際には \(M_0,M_2\) の排他的論理和が用いられる。これにより検査行列が疎に保たれるのだろう。それから最後に \(M_1,M_2,M_3\) の排他的論理和でもエラー検知をする。これにより、最後の CNOT と測定の間で起きたエラーも検知できるらしい。

最後に、論理測定については、 \(M_1\) を測定するだけで十分なようだ。これで論理状態が \(\ket{0}_L\) であれば 0 が、 \(\ket{1}_L\) であれば 1 が手に入る。

…まあ、実用的には表面符号使う方がいいけどね!!(こっちの方がシンプルだから例にあがりやすいのだろう)