色符号(color code)と戯れる【誤り耐性量子計算】

Aug. 12, 2024, 11:37 a.m. edited Aug. 14, 2024, 12:52 a.m.

#量子情報  #量子力学 

以前、表面符号と戯れたので、今回は色符号(color code)と戯れます。これは表面符号と似た構造・論理エラー確率を持っていますが、表面符号では transversal1 に実現できない S ゲートを transversal に実行できます。一方、表面符号よりもシンドローム測定回路が深くなりがちという欠点もあります。

ここでは Fault-tolerant quantum computing with color codes の内容を参考にしつつ、色符号のうち最も量子ビット数を少なく抑えられる 4.8.8 色符号に着目してまとめていきます。表面符号を知っていれば親しみやすいところもあるんじゃないかと思います。

色符号を見てみる

表面符号と同様に二次元平面上に物理量子ビットを並べて論理量子ビットを表現します。辺の数を 3 で割った数だけ論理量子ビットを持つことができますが、以下のような 4.8.8 色符号では三角形となっているので、 3/3=1 論理量子ビットを表現できます。ここで、なぜ 4.8.8 であるかというと、赤が 4 角形、緑が 8 角形、青が 8 角形の形に並んだデータ量子ビットで形作られているからです。他には 6.6.6 色符号や 4.6.12 色符号も存在します。そして、表面符号でもあった測定量子ビット(補助量子ビットやシンドローム量子ビットなどともいう)は、それぞれの面に X も Z も存在しています。

符号距離 \(d\) は表面符号と同様に一辺の長さと一致しています。上図であれば一辺に 11 個のデータ量子ビットが存在するので、 \(d=11\) となります。

シンドローム測定

表面符号と同様にシンドローム測定回路を常に実行することで、エラーを検知して訂正できるようにします。そのシンドローム測定回路自体は表面符号と同様です。しかし、面によって頂点数が異なるので、シンドローム測定回路の必要な CNOT の回数が増えている、つまり回路深さが大きくなっています。最大の頂点数を持つ面は 8 角形なので、「測定量子ビットの初期化」・「8 回の CNOT」・「測定」の合わせて 10 ステップが X と Z それぞれで必要になります。ゆえに、合計で 20 ステップも必要になってしまいそうですが、うまく X と Z それぞれのシンドローム測定回路の CNOT スケジュールを調節すれば(論文 Fig.7 参照)、10 ステップで実行することができます。

論理演算子

表面符号では正方格子の向かい合う境界同士を繋ぐように演算子の積をとってやると、それがすべてのスタビライザ演算子と交換する論理演算子となります。しかし、今回の色符号は三角形なので、そのような演算子の積はとれなさそうに思います。そこで、色符号では 3 つの辺すべてからある一点に向かって結んでやり、その上での演算子の積をとることで論理演算子を作ります。

上図のように、異なる色同士の面の間にもう一つの色の辺を定義し、それを外側のその色に繋がるように繋いでいきます。すると、その過程で通るデータ量子ビット上の演算子の数の合計が確かに符号距離 \(d=11\) になっています。また、それぞれの面のスタビライザ演算子 \(\bar{X}_i\) とこうして作った論理 \(Z_L\) が交換しているのもわかります(それぞれの面ごとに偶数個の頂点が論理演算子に使われているため、マイナスを偶数回掛けてプラスになる)。

このように論理演算子を作っている図はこの論文の Fig.1 などで見られます。

エラー箇所推定(デコード)

表面符号では効率的なデコード手法として最小重み完全マッチングなど色々有名なものがありますが、色符号では表面符号と比べてまだまだ研究途上となっています。とはいえ、色々研究はされており、例えば表面符号を利用する方法や、イジングモデルの最適化問題として解く方法などがあります。

まとめ

表面符号と同じように隣接する物理量子ビット同士の演算だけで構成できる量子誤り耐性符号である色符号(color code)を理解しました。表面符号と比べて回路深さが大きくなる点やデコード方法など難しいところもまだありますが、理論的にも transversal S ゲートのような実用的にも面白いものが多いです。こちらにも今後注目していきたいところです。


  1. transversal: それぞれの物理データ量子ビットに共通の操作をするだけで論理量子ビットへのゲート操作が実現できること