回転表面符号でlattice surgery【量子計算】

Oct. 17, 2023, 2:59 p.m. edited Oct. 22, 2023, 3:50 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}} $$

最近の表面符号の論文ではほとんどが回転表面符号を利用している。しかし、どうにも基本的な情報があまり見つけられなかったので、今回は試しにスタビライザーを追いつつ lattice surgery を回転表面符号でやってみる。

回転表面符号とは

そもそも回転表面符号とは何かというと、その名の通り、通常の回転していない表面符号を回転させたものである(図はStimで作成した。赤丸が \(X\) スタビライザー、青丸が \(Z\) スタビライザーの補助ビットである):


thumbnail

これによるメリットは、符号距離が変わらないものの必要な物理量子ビット数が減ることである。

論理演算 \(X_L,Z_L\)

回転表面符号で表される論理量子ビットに対して、まずは最もシンプルな論理演算である論理 \(X\) ゲート (\(X_L\)) を作用させてみる。それぞれのデータ量子ビットや補助ビットのインデックスを左上から順にそれぞれ番号づけると、下の図における符号距離 \(d=3\) の回転表面符号の格子におけるスタビライザー生成子の組は

$$\left\langle\bar{X}_0,\bar{X}_1,\bar{X}_2,\bar{X}_3,\bar{Z}_0,\bar{Z}_1,\bar{Z}_2,\bar{Z}_3,Z_L\right\rangle$$

と表される。ただし、例えば \(\bar{X}_0=X_0X_1\) である。そして、この組の中に \(Z_L=Z_0Z_3Z_6\) (\(\bar{X}_0,\bar{X}_1\) と可換)があることから、論理量子ビットの状態は \(\ket{0}\) とすることにする。

ここに \(X_L=X_0X_3X_6\) をクリフォードゲートとして作用させる(つまり 0, 3, 6 番目のデータ量子ビットに \(X\) ゲートを直接作用させる)と、これはすべての \(\bar{X}_i, \bar{Z}_i\) スタビライザーと可換であり、かつ \(Z_L\) と反可換である(\(Z_0\) が \(X_0\) と反可換)ため、その後のスタビライザー生成子の組は

$$\left\langle\bar{X}_0,\bar{X}_1,\bar{X}_2,\bar{X}_3,\bar{Z}_0,\bar{Z}_1,\bar{Z}_2,\bar{Z}_3,-Z_L\right\rangle$$

となる。

lattice surgery

lattice surgery により平面符号で表される論理量子ビット同士の2量子ビット演算を実現できる。lattice surgery は merge と split の2種類の操作からなり、それぞれ \(Z\) boundary 同士を繋ぐ/切り離す rough および \(X\) boundary 同士を繋ぐ/切り離す smooth が存在する。とはいえ、 rough と smooth はただ \(Z\) と \(X\) を入れ替えれば良いだけなので、ここでは rough だけを考える。さらに、 lattice surgery の解説記事にあるように \(\ket{00}_L\) のみをきっちり見れば、他の項は同様に考えられるので、ここでは \(\ket{00}_L\) のみを追うことにする。

上図のように 2 つの回転表面符号の格子を横に並べて、その間に新たに 3 つのデータ量子ビット(すべて \(\ket{0}\))と 4 つの補助ビット(\(X\) スタビライザー)を設置する。このときの全体のスタビライザー生成子の組は

$$\left\langle\bar{X}_0,\bar{X}_1,\bar{X}_2,\bar{X}_3,\bar{Z}_0,\bar{Z}_1,\bar{Z}_2,\bar{Z}_3,Z_L,\bar{X}_4,\bar{X}_5,\bar{X}_6,\bar{X}_7,\bar{Z}_4,\bar{Z}_5,\bar{Z}_6,\bar{Z}_7,Z_L',Z_{18},Z_{19},Z_{20}\right\rangle$$

となる。ただし、インデックスはスタビライザーについて 0-3 が左側の格子の左上から右下まで、 4-7 が右側の格子の左上から右下まで、そして 18-20 はデータ量子ビットについてのインデックスで中央に加えた 3 つを表す。また、 \(\bar{Z}_1=Z_2Z_{18}Z_5Z_{19}\), \(\bar{Z}_6=Z_{19}Z_{12}Z_{20}Z_{15}\) としている。

ここで、中央に加えた 4 つの \(X\) スタビライザー(\(\bar{X}_8,\bar{X}_9,\bar{X}_{10},\bar{Z}_{11}\))を上から順にスタビライザー測定していく(このときの得られた測定値をそれぞれ \(\epsilon_8,\epsilon_9,\epsilon_{10},\epsilon_{11}\) とする)。まず、 \(\bar{X}_8\) とは \(Z_L=Z_0Z_1Z_2\) および \(Z_{18}\) が反可換なので、スタビライザー生成子の組にて \(Z_L\) を \(Z_0Z_1Z_2Z_{18}\) としたうえで \(Z_{18}\) を削除し \(\epsilon_8\bar{X}_8\) を追加する。次に \(\bar{X}_9\) とは \(Z_0Z_1Z_2Z_{18}\) と \(Z_L'=Z_9Z_{10}Z_{11}\) と \(Z_{19}\) が反可換なので、スタビライザー生成子の組にて前者 2 つを \(Z_0Z_1Z_2Z_{18}Z_{19}\), \(Z_9Z_{10}Z_{11}Z_{19}\) としたうえで \(Z_{19}\) を削除し \(\epsilon_9\bar{X}_9\) を追加する。\(\bar{X}_{10}\) とは \(Z_0Z_1Z_2Z_{18}Z_{19}\) と \(Z_9Z_{10}Z_{11}Z_{19}\) と \(Z_{20}\) が反可換なので、スタビライザー生成子の組にて前者 2 つを \(Z_0Z_1Z_2Z_{18}Z_{19}Z_{20}\), \(Z_9Z_{10}Z_{11}Z_{19}Z_{20}\) としたうえで \(Z_{20}\) を削除する。そして \(\bar{X}_{11}\) とは \(Z_0Z_1Z_2Z_{18}Z_{19}Z_{20}\) と \(Z_9Z_{10}Z_{11}Z_{19}Z_{20}\) の 2 つが反可換なので、スタビライザー生成子の組では前者に後者を掛けて \(Z_0Z_1Z_2Z_{18}Z_9Z_{10}Z_{11}=Z_LZ_{18}Z_L'\) としたうえで後者を削除し \(\epsilon_{11}\bar{X}_{11}\) を追加する。

このとき、スタビライザー生成子の組は次のようになる:

\begin{align} &\left\langle\bar{X}_0,\bar{X}_1,\bar{X}_2,\bar{X}_3,\bar{Z}_0,\bar{Z}_1,\bar{Z}_2,\bar{Z}_3,Z_LZ_{18}Z_L',\bar{X}_4,\bar{X}_5,\bar{X}_6,\bar{X}_7,\bar{Z}_4,\bar{Z}_5,\bar{Z}_6,\bar{Z}_7,\epsilon_8\bar{X}_8,\epsilon_9\bar{X}_9,\epsilon_{10}\bar{X}_{10},\epsilon_{11}\bar{X}_{11}\right\rangle \\ =&\left\langle\bar{X}_0,\bar{X}_1,\bar{X}_2,\bar{X}_3,\bar{Z}_0,\bar{Z}_1,\bar{Z}_2,\bar{Z}_3,Z_LZ_{18}Z_L',\bar{X}_4,\bar{X}_5,\bar{X}_6,\bar{X}_7,\bar{Z}_4,\bar{Z}_5,\bar{Z}_6,\bar{Z}_7,\epsilon_8\epsilon_9\epsilon_{10}\epsilon_{11}\bar{X}_8\bar{X}_9\bar{X}_{10}\bar{X}_{11},\epsilon_9\bar{X}_9,\epsilon_{10}\bar{X}_{10},\epsilon_{11}\bar{X}_{11}\right\rangle \\ =&\left\langle\bar{X}_0,\bar{X}_1,\bar{X}_2,\bar{X}_3,\bar{Z}_0,\bar{Z}_1,\bar{Z}_2,\bar{Z}_3,Z_LZ_{18}Z_L',\bar{X}_4,\bar{X}_5,\bar{X}_6,\bar{X}_7,\bar{Z}_4,\bar{Z}_5,\bar{Z}_6,\bar{Z}_7,\epsilon_8\epsilon_9\epsilon_{10}\epsilon_{11}X_2X_9X_{12}X_5X_8X_{15},\epsilon_9\bar{X}_9,\epsilon_{10}\bar{X}_{10},\epsilon_{11}\bar{X}_{11}\right\rangle \\ =&\left\langle\bar{X}_0,\bar{X}_1,\bar{X}_2,\bar{X}_3,\bar{Z}_0,\bar{Z}_1,\bar{Z}_2,\bar{Z}_3,Z_LZ_{18}Z_L',\bar{X}_4,\bar{X}_5,\bar{X}_6,\bar{X}_7,\bar{Z}_4,\bar{Z}_5,\bar{Z}_6,\bar{Z}_7,\epsilon_8\epsilon_9\epsilon_{10}\epsilon_{11}X_LX_L',\epsilon_9\bar{X}_9,\epsilon_{10}\bar{X}_{10},\epsilon_{11}\bar{X}_{11}\right\rangle \end{align}

ただし、 \(X_L=X_2X_5X_8\), \(X_L'=X_9X_{12}X_{15}\) である。これは上に挙げた解説記事にある通常の回転しない表面符号とほぼ同じ形であるため、このあとは同様の議論で同じような形の rough merge の式が得られるのだろう。同様に smooth merge, rough split, smooth split でもおそらくそうであろうから、こうして回転表面符号における lattice surgery が導かれたといえるだろう。