A Game of Surface Codes 詳細解説
表面符号計算をタイル、時間ステップ、格子手術、蒸留工場の配置問題として読むための整理です。抽象的な fault-tolerant 回路を、盤面上の資源見積もりへ落とし込む流れを追います。
0. 読み方
このレポートは、まずタイルゲームの操作を押さえ、その後 Clifford+\(T\) 回路、データブロック、蒸留ブロック、\(T\) count / \(T\) depth の制約を順に読む構成です。数式の前に「どの資源を数えているか」を確認すると、各 Scheme の違いを追いやすくなります。
1. 中核アイデア
Litinski の枠組みでは、表面符号上の計算を「どれだけの盤面を、何ステップ占有するか」に翻訳します。Clifford 操作は比較的安く、\(T\) ゲートは魔法状態の準備と消費により支配的なコストになります。
したがって設計問題は、データブロックと蒸留ブロックをどう並べ、必要な魔法状態を \(T\) depth に間に合う速度で供給するか、という空間時間最適化になります。
ゲームの基本操作
| 操作 | 内容 | コスト | 表面符号での意味 |
|---|---|---|---|
| 初期化 | 1量子ビットパッチを \(|+\rangle\) または \(|0\rangle\) に初期化。2量子ビットパッチを \(|+\rangle^{\otimes2}\) または \(|0\rangle^{\otimes2}\) に初期化。任意状態も注入可能だが、確率 \(p\) の未検出 Pauli エラーがあり得る。 | \(0\tau\) | Pauli 固有状態の初期化は後続の格子手術と同時に安定化子測定を進められる。任意状態注入は \(d\) に比例しない時間。 |
| 単一パッチ測定 | パッチ内の量子ビットを \(X\) または \(Z\) 基底で測る。2量子ビットパッチでは2量子ビットを同時に同じ基底で測る。測定後パッチは盤面から消える。 | \(0\tau\) | 全物理データ量子ビットを測定し、古典補正する。時間は \(d\) に比例しない。 |
| 2パッチ測定 | 隣接する辺の Pauli 演算子の積を測る。複数辺が同時に接すると、\(Y=iXZ\) を含む積測定もできる。 | \(1\tau\) | twist を含む格子手術。測定エラー対策のため \(d\) コードサイクル。 |
| 多パッチ測定 | 任意形状の補助パッチを作り、その境界に接する複数 Pauli 演算子の積を1回で測る。 | \(1\tau\) | multi-qubit lattice surgery。補助領域を \(|+\rangle\) で初期化し、新しい check の積を読む。 |
| パッチ変形 | 辺を外側に伸ばす、内側に縮める、角を境界上で動かす。伸長や角移動は時間がかかり、縮小は測定で即時。 | 伸長/角移動 \(1\tau\)、縮小 \(0\tau\) | code deformation。境界変更による新 check を \(d\) 回測る。 |
タイルゲームと物理コスト
符号距離 \(d\) の場合、1タイルは約 \(d^2\) の物理データ量子ビット、1ステップは約 \(d\) コードサイクルです。したがって、\(s\) タイルを \(t\) ステップ使うプロトコルの leading 空間時間コストは
総物理量子ビット数の見積もりでは、超伝導量子ビットのように syndrome 測定用の補助量子ビットが必要な場合、論文はデータ量子ビット数を約2倍します。
3. Clifford+\(T\) 回路の整理
表面符号で自然なのは、Clifford 操作が比較的安く、非 Clifford の \(T\) ゲートが高価であるという分離です。論文では、標準的な \(H,S,\mathrm{CNOT},T\) の表記ではなく、Pauli 積回転で回路を書き直します。
Pauli 積回転
ここで \(P\) は Pauli 積、例えば \(Z\)、\(Y\otimes X\)、\(X\otimes I\otimes X\) です。この記法では、
CNOT は制御 Pauli と標的 Pauli を一般化した \(C(P_1,P_2)\) の特殊例です。
Clifford を後ろに押し出す
Clifford ゲートは Pauli を Pauli に写すため、回路中の \(\pi/4\) 回転を右へ交換していくと、\(\pi/8\) 回転の軸だけが変わります。最後に残った Clifford は、最終 Pauli 測定の測定基底へ吸収できます。結果として任意の Clifford+\(T\) 回路は、
交換規則の要点
\(P\) と \(P'\) が可換なら、\(P_{\pi/4}\) は \(P'_\phi\) を変えずに通過します。反可換なら、軸が \(iPP'\) に変わります。制御 Pauli ゲート \(C(P_1,P_2)\) についても、対象の Pauli \(P'\) が \(P_1\) または \(P_2\) と反可換かどうかに応じて、軸に \(P_2\)、\(P_1\)、または \(P_1P_2\) が掛かります。
\(T\) count と \(T\) depth
\(\pi/8\) 回転の総数を \(T\) count と呼びます。互いに可換な \(\pi/8\) 回転は同じ層にまとめられ、層数を \(T\) depth と呼びます。通常の \(T\) depth では1層に高々 \(n\) 個の \(T\) が入りますが、ここでは Pauli 積回転の層なのでその制限はありません。
論文中の greedy layer reduction algorithm
repeat
for each layer i do
for each rotation j in layer i+1 do
if rotation j commutes with all rotations in layer i then
move rotation j from layer i+1 to layer i
end if
end for
end for
until the partitioning no longer changes
同じ軸の \(\pi/8\) 回転が同じ層に入ると、2つを \(\pi/4\) 回転に合成でき、これは Clifford として末尾に送れるため、\(T\) count も減る可能性があります。
魔法状態で \(\pi/8\) 回転を実行する
表面符号のネイティブ操作だけでは \(P_{\pi/8}\) を直接行えません。そのため、魔法状態
論文ではしばしば正規化係数を省略しています。物理状態としては \((|0\rangle+e^{i\pi/4}|1\rangle)/\sqrt2\) です。
を消費します。データ上の \(P_{\pi/8}\) は、データと魔法状態の間で \(P\otimes Z\) を測ることで実行されます。測定結果が \(-1\) の場合は \(P_{\pi/4}\) の Clifford 補正が必要です。さらに魔法状態を \(X\) 測定で捨てる際、\(X=-1\) なら \(P_{\pi/2}=P\) の Pauli 補正が必要です。これらの Clifford/Pauli 補正は、後続の Pauli 軸を古典的に更新することで処理できます。
4. データブロック
データブロックは、アルゴリズムのデータ量子ビットを保持し、蒸留ブロックが供給する魔法状態を消費する領域です。論文は3種類のブロックを提示し、量子ビット数と速度のトレードオフを明確にします。
| ブロック | タイル数 | 魔法状態消費時間 | 考え方 | 向く状況 |
|---|---|---|---|---|
| compact | \(1.5n+3\) | 最大 \(9\tau\) | 各データ量子ビットを正方形パッチで格納。空間は小さいが、アクセスできる Pauli 辺が制限される。 | 蒸留が遅く、データ消費速度が律速でない小規模構成。 |
| intermediate | \(2n+4\) | 最大 \(5\tau\) | 1行配置によりパッチ回転を並列化し、compact より速い。 | 蒸留ブロックを少し増やした中間規模。 |
| fast | \(2n+\sqrt{8n}+1\) | \(1\tau\) | 2量子ビットパッチにより全 Pauli 演算子へアクセス。多パッチ測定で毎ステップ消費。 | 大規模で魔法状態供給が速い構成。 |
compact block の詳細
compact block では正方形パッチを使うため、補助領域に面している演算子は通常 \(Z\) です。\(X\) を測りたい場合はパッチを回転します。\(Y\) はさらに難しく、\(Y_{\pi/4}=Z_{\pi/4}X_{\pi/4}Z_{-\pi/4}\) の関係を使い、\(\pi/4\) 回転を挿入して \(X\) または \(Z\) に変換します。
最悪ケースは偶数個の \(Y\) を含む \(\pi/8\) 回転で、論文の例は
この場合、2つの明示的 \(\pi/4\) 回転、上段・下段のパッチ回転、最後の Pauli 積測定を経て、合計最大 \(9\tau\) かかります。
intermediate block の詳細
qubit を2段ではなく1段に並べます。これにより、パッチ回転を同時に進められます。測定したい Pauli 文字列に応じて、一部のパッチを反対側へ移動し、一部を回転します。最大時間は、\(\pi/4\) 回転2ステップ、パッチ準備2ステップ、魔法状態消費1ステップで \(5\tau\) です。
fast block の詳細
fast block は、2タイルで2量子ビットを表す6辺パッチを用います。各量子ビットの \(X,Z\) 演算子が補助領域にアクセス可能なため、任意の Pauli 積測定を \(1\tau\) で実行できます。\(n\) 量子ビットを格納するタイル数は近似的に
\(\sqrt{n/2}\) が整数でない場合は、なるべく正方形に近い配置にし、最後の列を短くします。
5. 蒸留ブロック
非 Pauli 固有状態の注入はエラーを含むため、魔法状態 \(|m\rangle\) をそのまま大量計算に使うことはできません。そこで複数の低忠実度魔法状態から少数の高忠実度魔法状態を作る magic state distillation が必要になります。
15-to-1 蒸留
15-to-1 は、15個の入力魔法状態から1個の高忠実度魔法状態を作るプロトコルです。15量子ビット、距離3、1論理量子ビットの符号に基づき、物理 \(T\) を全 qubit に transversal にかけると、論理 \(T\) に対応します。
元の encode-\(T\)-decode 回路は、エンコードとデコードの多標的 CNOT を交換規則で打ち消すと、Z 型 Pauli 積 \(\pi/8\) 回転だけの回路になります。さらに冗長な qubit を除き、5 qubit・11個の \(\pi/8\) 回転からなる回路に簡約されます。入力エラー率を \(p\) とすると、出力エラー率は leading order で
15-to-1 の行列 \(M_{15\to1}\)
上4行は \(X\) stabilizer、下1行は logical \(X\) を表します。各列が1つの \(\pi/8\) 回転の軸を与えます。
一般化: transversal \(T\) 符号から蒸留回路へ
\(n\) 物理量子ビット、\(m_x\) 個の \(X\) stabilizer、\(k\) 論理量子ビットを持つ transversal \(T\) 符号からは、\(m_x+k\) qubit 上の \(n-m_x\) 個の \(\pi/8\) 回転回路が得られます。各列は、その物理 qubit がどの stabilizer/logical \(X\) に含まれるかを表します。
三直交行列と半三直交行列
Bravyi-Haah 型の蒸留符号は triorthogonal matrix から構成できます。行列 \(G\) が三直交であるとは、各行の1の数、各2行の重なり、各3行の重なりが次を満たすことです。
行基本変形後、1だけを含む列を puncture すると蒸留符号が得られます。15-to-1 は1回 puncture、14-to-2 は2回 puncture した例です。14-to-2 は距離2で、出力エラーは \(7p^2\) です。
例: 16列の三直交行列 \(G\) と 14-to-2 行列
行階段形 \\tilde{G} と半三直交 seed matrix
論文は、16列の三直交行列を Gaussian elimination で行階段形にし、1が単独で立つ列を puncture して 15-to-1 や 14-to-2 を得ます。
また、20-to-4 では次のような半三直交 seed matrix が使われます。半三直交では、三直交の合同条件を mod 2 の意味で満たすため、最終的に Clifford correction が必要になります。
20-to-4 蒸留
20-to-4 は、半三直交行列から得られる高 yield プロトコルです。7 qubit・17個の \(\pi/8\) 回転で4個の出力魔法状態を作ります。ただし半三直交であるため Clifford 補正が必要になることがあり、論文の具体例では最初の3 qubit に対する4つの \(\pi/4\) 回転として扱えます。4出力のいずれかがエラーを持つ確率は leading order で \(22p^2\) です。1状態あたり \(5.5p^2\) と見積もることもできますが、出力間エラー相関に注意が必要です。
20-to-4 の行列 \(M_{20\to4}\) と Clifford correction 行列
表面符号での実装コスト
蒸留回路は Z 型 \(\pi/8\) 回転だけなので、compact block に近い構成でも高速に実装できます。通常の魔法状態消費では50%の確率で Clifford 補正が必要ですが、蒸留回路ではそれが最終測定を複雑化し得るため、論文は auto-corrected \(\pi/8\) rotation を使います。
この auto-correction は、\(|0\rangle\) 補助 qubit を使う選択的 \(\pi/4\) 回転に基づきます。\(P\otimes Z\) と \(Z\otimes Y\) を同時に測り、最初の測定結果に応じて補助 \(|0\rangle\) を \(X\) または \(Z\) で測ることで、必要な Clifford 補正を自動的に含めます。
| プロトコル | タイル | 時間 | leading 空間時間コスト | 比較上の意味 |
|---|---|---|---|---|
| 7-to-1 \(|Y\rangle\) | 7 | \(4\tau\) | \(28d^3\) | 本フレームワークでは \(|Y\rangle\) 蒸留は不要だが benchmark 用。 |
| 15-to-1 | 11 | \(11\tau\) | \(121d^3\) | 穴欠陥 braiding の \(750d^3\) に対し大幅削減。 |
| 20-to-4 | 14 | \(17\tau\) | \(238d^3\) | 穴欠陥 braiding の \(2344d^3\) に対し約90%削減。 |
一般コスト関数
\(n\) 物理 qubit、\(m_x\) 個の \(X\) stabilizer、\(k\) 論理 qubit の符号に基づく蒸留プロトコルは、平均的な1出力魔法状態あたりの leading cost として
成功確率 \((1-p)^n\) を分母に入れている点が重要です。単に出力/入力比 \(k/n\) が良いプロトコルを選ぶだけでは、失敗確率や空間時間コストを見誤ります。
高忠実度プロトコル
連結 225-to-1
15-to-1 を2段にすると、出力エラーは
論文の未最適化構成では176タイル、\(15\tau\)、\(2640d^3\)。低段の符号距離を小さくするとさらに削減可能です。
116-to-12
\(n=116,k=12,m_x=17\)。各出力のエラーは
44タイル・\(99\tau\) で1出力あたり \(363d^3\)。補助領域を増やして2操作並列にすると81タイル・\(50\tau\)、1出力あたり \(337.5d^3\)。
912-to-112 のような高 yield プロトコルもありますが、\(p=10^{-3}\) では成功確率 \((1-p)^{912}\) が約40%に落ち、実効コストが大きく増えます。これが「出力/入力比だけでは不十分」という論文の重要な指摘です。
6. \(T\) count に制限された空間時間トレードオフ
ここから論文は、具体的な例題を通じて「量子コンピュータを大きくすれば速くできる」ことを定量化します。例題は、100 qubit、\(10^8\) 個の \(T\) ゲート、\(10^6\) の \(T\) layers を持つ回路です。コードサイクルは \(1\mu s\)、物理エラー率は \(p=10^{-4}\) と \(p=10^{-3}\) の2ケースです。
Step 1: 必要な蒸留プロトコル
\(10^8\) 個の \(T\) に対して、全 \(T\) エラー確率を1%未満にするには、各魔法状態のエラー率を \(<10^{-10}\) にします。
| 物理エラー率 | 選択プロトコル | 理由 |
|---|---|---|
| \(p=10^{-4}\) | 15-to-1 | \(35p^3=3.5\times10^{-11}\) で十分。 |
| \(p=10^{-3}\) | 116-to-12 | 15-to-1 の \(3.5\times10^{-8}\) は不十分。116-to-12 は \(41.25p^4=4.125\times10^{-11}\)。 |
Step 2: minimal setup
まず最小構成で符号距離を見積もります。
\(p=10^{-4}\)
compact data block は \(1.5\times100+3=153\) タイル。15-to-1 は11タイル。合計164タイル。魔法状態を平均 \(11\tau\) ごとに1個生産し、計算は \(11\times10^8\) steps。
\(p=10^{-3}\)
compact data block 153タイル、116-to-12 蒸留44タイル、12出力保存用13タイル。合計210タイル。99 steps で12個、成功確率約89%なので、平均 \(9.27\tau\) ごとに1状態。
Step 3: 符号距離
論文は circuit-level noise の論理エラー率を次で近似します。
全論理エラー確率を1%未満にする条件は、タイル数 \(s\)、時間ステップ \(t\) に対して概ね
具体的には
前者は \(d=13\)、後者は \(d=27\) で満たされます。総物理量子ビット数は測定補助 qubit を含め \(2sd^2\) と見積もります。
Step 4: 蒸留ブロックを増やす
minimal setup では蒸留に使うタイルが少ないため、蒸留ブロックを増やすと空間時間コストが大きく改善します。
| ケース | 構成 | タイル | 物理 qubit | 時間 |
|---|---|---|---|---|
| \(p=10^{-4}\) minimal | compact + 15-to-1 ×1 | 164 | 約55,400 | 約4時間 |
| \(p=10^{-4}\) intermediate | intermediate + 15-to-1 ×2 | 226 | 約76,400 | 約2時間 |
| \(p=10^{-4}\) fast | fast + 15-to-1 ×11 | 363 | 約123,000 | 約21分40秒 |
| \(p=10^{-3}\) minimal | compact + 116-to-12 compact | 210 | 約306,000 | 約7時間 |
| \(p=10^{-3}\) intermediate | intermediate + 116-to-12 fast | 322 | 約469,000 | 約3.75時間 |
| \(p=10^{-3}\) fast | fast + 116-to-12 ×5 | 696 | 約1,020,000 | 約45分 |
古典処理の遅延を隠す
魔法状態消費では測定結果に応じて後続の Pauli 軸を更新するため、古典処理が遅いと計算が止まります。論文は auto-corrected \(\pi/8\) rotation を使い、蒸留ブロックが \(|m\rangle\)-\(|c\rangle\) ペアを出力するよう変更することで、次の魔法状態消費と古典処理を重ねます。古典処理が平均 \(1\tau\) より短ければ、\(T\) count 制約の構成では律速になりません。
7. \(T\) depth に制限された空間時間トレードオフ
前節では \(T\) ゲートを1個ずつ \(1\tau\) で実行するところまで高速化しました。さらに速くするには、同じ \(T\) layer にある多数の可換な \(T\) 回転を並列に処理します。ここでの核心は 量子テレポーテーション です。
テレポーテーションで層を先に作る
Bell pair の片側にゲート \(U\) を先に作用させ、入力 \(|\psi\rangle\) と Bell pair のもう片側を Bell 基底で測ると、\(|\psi\rangle\) は \(U\) を通ってテレポートされたようになります。ただし Bell 測定結果に応じて \(UX|\psi\rangle\)、\(UY|\psi\rangle\)、\(UZ|\psi\rangle\) のような補正が必要です。
\(U=P_{\pi/8}\) の場合、Pauli 補正は \(P_{\pi/8}\) の符号を \(P_{-\pi/8}\) に変えます。そこで論文は post-corrected \(\pi/8\) rotation を使います。これは魔法状態 \(|m\rangle\) と補正 qubit \(|c\rangle\) の2 qubit resource により、後から「実行されたのが \(+\pi/8\) か \(-\pi/8\) か」を選べる仕組みです。
time-optimal circuit
\(T\) layer ごとに Bell pair preparation、post-corrected \(T\) layer execution、Bell measurement を用意しておくと、多数の \(T\) layers を同時に準備できます。最後に各 layer の補正 qubit を順に測定して、古典処理で次の測定基底を決めます。したがって実行時間は、符号距離ではなく測定+古典処理時間 \(t_m\) によって
になります。ここで \(n_L\) は \(T\) layer 数です。
ユニット
無限に qubit を使えば全 layer を一度に準備できますが、現実には有限です。そこで論文は、\(2n\) qubit を持つグループを unit と呼び、\(n_u\) units で \(n_u-1\) 個の \(T\) layers を同時に処理します。
unit preparation は次の3段階です。
したがって unit preparation の時間は
最大ユニット数は
例題では \(n=100\)、\(n_T=100\) なので \(t_u=113\tau\)。\(d=13\) なら \(1469\mu s\)、\(d=27\) なら \(3051\mu s\) です。\(t_m=1\mu s\) とすると time optimal にはそれぞれ1470 units、3052 units が必要です。
ユニットの具体的サイズ
| ケース | unit 構成 | unit タイル | 概算物理 qubit |
|---|---|---|---|
| \(p=10^{-4}\) | 200-qubit fast data block、200 correction storage、十分な modified 15-to-1 blocks。 | \(37\times21=777\) | 約260,000/unit。分散リングでは correction storage が半減し約220,000/unit。 |
| \(p=10^{-3}\) | 200-qubit fast data block、200 correction storage、modified 116-to-12 blocks。 | \(54\times21=1134\) | 約1,650,000/unit。分散リングでは約1,470,000/unit。 |
分散量子計算
ユニットは隣接ユニットと Bell pair を共有すればよく、それ以外は独立に動けます。したがって、各ユニットを別々の量子コンピュータに置き、隣接機間で Bell pair を共有するリング型ネットワークを構成できます。Bell pair の忠実度が低い場合は entanglement distillation を使えます。リング配置では「最初」と「最後」のユニットがなくなるため、correction storage は \(2n_T\) ではなく \(n_T\) で足ります。
8. Clifford+\(T\) を超えたトレードオフ
Clifford+\(T\) の time-optimal 化では、最終的に1 \(T\) layer あたり測定+古典処理時間 \(t_m\) が限界になります。しかし、多くの量子シミュレーションでは、自然な操作は \(T\) ゲートではなく小角度の Pauli 回転です。それを Clifford+\(T\) に合成すると、1つの小角度回転に多数の \(T\) が必要になり、回路が不必要に深くなります。
Clifford+\(\phi\) 回路
論文は、任意角 Pauli 回転 \(P_\phi\) を含む Clifford+\(\phi\) 回路を考えます。Clifford は同様に末尾へ送れるので、互いに可換な任意角回転を layer 化できます。同じ軸の回転 \(P_{\phi_1}\)、\(P_{\phi_2}\) が同じ layer に入れば、\(P_{\phi_1+\phi_2}\) に合成できます。
角度 \(\phi\) の回転には resource state
を使います。消費時に \(P_\phi\) ではなく \(P_{-\phi}\) が起きることがあり、その補正は \(P_{2\phi}\) です。これも失敗すると \(P_{4\phi}\)、さらに \(P_{8\phi}\) という cascade になります。したがって、\(|\phi\rangle,|2\phi\rangle,|4\phi\rangle,\ldots\) の resource states を用意します。\(n\) 段まで必要になる確率は \(2^{-n}\) なので、全回路で失敗を低く保つための resource 数は回転 count に対して対数的に増えます。
効果
もし1つの任意角回転を Clifford+\(T\) で実装するのに100個の \(T\) が必要なら、\(T\) count 制約の設定では単純に100倍程度の短縮があり得ます。\(\phi\) layer の time-optimal 設定では、100回転/layer の場合、measurement cascade が平均約 \(8t_m\) で終わると論文は見積もります。これは100 \(T\)/rotation の場合、\(T\) layer 並列化に比べ約12.5倍の短縮です。
多重制御 Pauli ゲート
Toffoli や CCZ のような多重制御 Pauli ゲートも、Pauli 回転に分解できます。
- \(C(P_1,P_2,P_3)\) は7個の \(\pi/8\) 回転で書けます。\(C(Z,Z,X)\) は Toffoli です。この回路の \(T\) depth は1です。
- \(C(P_1,P_2,P_3,P_4)\) は15個の \(\pi/16\) 回転で書けます。
- 一般に \(n\) 個の制御を持つ Pauli ゲートは、\(2^n-1\) 個の \(P_{\pi/2^n}\) 回転で、rotation depth 1 にできます。
短い測定と古典処理限界
最終的な速度限界は、物理 qubit の測定時間と古典処理です。測定時間を短くすると測定 fidelty は落ちますが、測定対象の論理 qubit の符号距離を上げれば論理測定の fidelty を保てます。特に大きくすべきなのは、layer 実行時に測定する correction qubit だけです。ただし最終的には古典処理、feed-forward、decoding の速度がボトルネックになります。
9. 付録A-Dの詳細
付録A: 表面符号パッチと格子手術
付録Aは、ゲームのタイル操作が実際の表面符号操作にどう対応するかを説明します。各タイルは \(d^2\) 個の物理データ qubit を持つ表面符号パッチに対応し、図37では \(d=5\) の例が描かれます。明るい面は \(Z\) stabilizer、暗い面は \(X\) stabilizer、境界は logical \(X/Z\) 演算子に対応します。
2量子ビットパッチの6つの境界は、時計回りに \(X_1,Z_1,X_1X_2,Z_2,X_2,Z_1Z_2\) を表します。solid/dashed と \(X/Z\) の対応は入れ替え可能です。
| ゲーム操作 | 付録Aでの実装 |
|---|---|
| 状態初期化 | \(|0\rangle\), \(|+\rangle\) は全物理 qubit 初期化と stabilizer 測定。後続の格子手術と同時進行できるため \(0\tau\)。任意状態は非耐故障な state injection で、時間は \(d\) 非依存。 |
| Bell pair 作成 | 2パッチ間で \(Z\otimes Z\) 格子手術。新しい \(Z\) stabilizer 群の積が論理 \(Z\otimes Z\) 測定値。 |
| \(Y\) 測定 | twist-based lattice surgery。dislocation operators と twist defect を含むが、正方格子の最近接結合で測定可能。 |
| 多パッチ測定 | 補助領域を \(|+\rangle\) で初期化し、新 check を \(d\) cycles 測る。赤点 check の積が目的 Pauli 積。 |
| 境界移動/角移動 | 境界 stabilizer を変更し、新 check を \(d\) cycles 測る。縮小は物理 qubit 測定で即時。 |
付録B: 拡張ルール
本文では4隅パッチと6隅パッチだけを使いますが、付録Bでは \((2N+2)\) 隅パッチが \(N\) qubit を表せることを述べます。破線境界は
実線境界は
を表します。短い境界を許すと、必要タイル数は減りますが、その境界が表す Pauli エラーが各 step で確率 \(p_{\mathrm{err}}\) で起こります。表面符号的には境界長が \(d\) 未満になり、対応する logical operator の距離が短くなります。
多隅パッチを使うと、多パッチ測定ルールを別に置かなくても同等の操作ができます。付録の例では8隅補助パッチを \(|+\rangle^{\otimes3}\) で初期化し、複数の \(Z_i\) が最終的に打ち消し合うように4つの Pauli 積測定を行います。
付録C: 原理実証デバイス
蒸留なしの魔法状態を使えば、すべての操作を示す2 qubit universal error-corrected quantum computer を小さく作れます。必要な物理データ qubit 数は
したがって \(d=3\) なら48、\(d=5\) なら140、\(d=7\) なら280データ qubit です。測定補助 qubit が必要なら約2倍です。付録Cでは \(Z\otimes Z\)、\(Y\otimes X\)、\(Y\otimes Y\) の \(\pi/8\) 回転例を示します。\(Y\otimes Y\) では両方の \(Y\) を同時にアクセスする空間が足りないため、明示的 Clifford \(Z_{\pi/4}\) を入れて別の回転に変換します。
付録D: 7-to-1 \(|Y\rangle\) 蒸留
7 qubit Steane code を用いた \(|Y\rangle\) 蒸留です。本フレームワークでは \(|Y\rangle\) 蒸留は不要ですが、既存方式との比較のため提示されます。3つの \(X\) stabilizer と logical \(X\) に対応する4 qubit の回路となり、角の3 qubit の単一 \(Z_{\pi/4}\) 回転は初期状態に吸収できます。残る4回転を7タイル・\(4\tau\) で実行し、leading cost は \(28d^3\) です。
10. 数式カタログ
| 内容 | 式 | 意味 |
|---|---|---|
| Pauli回転 | \(P_\phi=e^{-iP\phi}\) | Clifford+\(T\)、Clifford+\(\phi\) の統一記法。 |
| 制御 Pauli | \(C(P_1,P_2)=(P_1\otimes P_2)_{\pi/4}(I\otimes P_2)_{-\pi/4}(P_1\otimes I)_{-\pi/4}\) | CNOT は \(C(Z,X)\)。 |
| leading cost | \(s t d^3\) | \(s\) tiles、\(t\) steps、距離 \(d\)。 |
| compact tiles | \(1.5n+3\) | \(n\) data qubits。 |
| intermediate tiles | \(2n+4\) | \(n\) data qubits。 |
| fast tiles | \(2n+\sqrt{8n}+1\) | 2-qubit patches で高速消費。 |
| 15-to-1 error | \(35p^3\) | 距離3の検出能力。 |
| 14-to-2 error | \(7p^2\) | 距離2。 |
| 20-to-4 error | \(22p^2\) | 4出力のいずれかがエラーを持つ確率。 |
| 116-to-12 error | \(41.25p^4\) | 高忠実度プロトコル。 |
| 225-to-1 error | \(1{,}500{,}625p^9\) | 15-to-1 の2段連結。 |
| 蒸留 cost | \(\frac{[1.5(m_x+k)+4](n-m_x)}{k(1-p)^n}d^3\) | 成功確率込みの平均 cost。 |
| 論理エラー率 | \(p_L(p,d)=0.1(100p)^{(d+1)/2}\) | circuit-level noise の近似。 |
| unit preparation | \(t_u=(n_T+\sqrt n+3)\tau\) | BP + T + BM。 |
| time optimal units | \(n_{\max}=t_u/t_m+1\) | 線形配置の場合。 |
| 任意角 resource | \(|\phi\rangle=|0\rangle+e^{i2\phi}|1\rangle\) | Clifford+\(\phi\) 回転用。 |
11. 図表・ページ別ガイド
論文中の視覚要素は、パッチ配置やプロトコルの理解に非常に重要です。以下はページ単位で何が示されているかの詳細ガイドです。
12. 論文の結論と Scheme A-P の資源表
結論部では、論文の戦略全体を「小さい量子コンピュータは遅いが、大きい量子コンピュータは速い」と要約できます。minimal setup から始め、蒸留ブロックを増やして \(T\) count に比例する時間へ移行し、さらに unit を並列化して \(T\) depth に比例する時間へ移行します。
図36は、\(p=10^{-4}\)、100 qubit、\(10^8\) \(T\) gates、\(10^6\) \(T\) layers、1 \(\mu s\) code cycle、1 \(\mu s\) measurement+classical processing の仮定で、空間時間・空間・時間を minimal setup で規格化して示します。表2は同じ構成の絶対値をまとめます。
| scheme | 構成 | 物理 qubit 数 | 計算時間 | 読み方 |
|---|---|---|---|---|
| A | compact block + 1 distillation block | 55,400 | 4 h | 最小構成。空間は最小だが遅い。 |
| B | intermediate block + 2 distillation blocks | 76,400 | 2 h | 蒸留を増やすだけで時間が半減し、空間時間も改善。 |
| C-K | fast block + 3-11 distillation blocks | 90,200 - 123,000 | 79 - 22 min | \(T\) gate を最終的に \(1\tau\) ごとに実行。 |
| L | 2 units | 447,000 | 12 min | unit 並列化開始。初期は空間時間 cost が上がる。 |
| M | 3 units | 679,000 linear: 788,000 | 490 sec linear: 734 sec | ring/circular arrangement の方が correction storage が少ない。 |
| N-P | 10 units - time optimal 1469/1470 units | 2,230,000 - 328,000,000 linear: 2,630,000 - 386,000,000 | 147 sec - 1 sec linear: 163 sec - 1 sec | unit 数を増やすと時間はほぼ線形に短縮し、最終的に1 \(T\) layer / \(t_m\)。 |
結論で挙げられる最適化余地
- 入力回路を知っていれば、同じ data block 内で複数 \(T\) gates を並列実行できる可能性がある。
- データ領域と蒸留領域を厳密に分けず、タイルを共有すれば空間 overhead が下がる可能性がある。
- 蒸留プロトコルはごく一部しか検討されていないため、式 \(\mathrm{cost}(n,m_x,k,p,d)\) を最小にする探索が残る。
- Clifford+\(\phi\) 用の任意角 resource states の蒸留・保存・消費レイアウトは、今後の具体設計課題である。
表面符号以外への拡張
このタイルゲームは表面符号を意識して設計されていますが、Majorana surface-code patches や color-code patches のような toric-code 系パッチにも原理的に適用可能です。color code は符号化密度を上げられる一方、高重み check 測定が難しくなります。Pauli 積測定の補助パッチは surface-code patch のままにし、color-to-surface code lattice surgery を使う案も述べられています。
Outlook
論文は、Hubbard model のような \(10^8\) \(T\)-count 級の classically intractable problem には、仮定が成り立てば6万-30万程度の物理 qubits が必要と見積もります。さらにネットワーク化された量子コンピュータがあれば time-optimal quantum computing が現実味を持ちます。一方で、測定・feed-forward・decoding を含む古典制御が速度向上の主要な障壁になると強調します。
13. 解釈・注意点・実務上の読みどころ
1. leading order と実時間は同じではない
論文の \(s t d^3\) は主項です。状態注入、古典処理、feed-forward、デコーダ、測定回路の定数時間は別に存在します。論文はそれらを隠すための追加 \(|0\rangle\)-\(|m\rangle\) blocks や auto/post correction を提案しますが、実装では制御ハードウェアが鍵になります。
2. 回路最適化は入力回路に依存する
本論文のブロック設計は、回路詳細に依存せず \(T\) count と \(T\) depth だけで見積もれる点が強みです。一方、具体的な回路が分かれば、同じ data block 内で複数 \(T\) を並列実行したり、蒸留領域とデータ領域を共有したりして、さらに改善できる余地があります。
3. 蒸留プロトコル選択では成功確率が重要
高 yield でも \((1-p)^n\) が小さいと実効 cost は増えます。912-to-112 の議論はこの点を示すために置かれています。実務では、入力エラー率、目標出力エラー率、求める生産レートを含めた最適化が必要です。
4. time-optimal は巨大な空間コストを要求する
1秒級の実行時間は非常に魅力的ですが、1500-3000個の unit、または同数規模の量子コンピュータを Bell pair でつなぐ想定です。これは「大きな量子コンピュータは速い」という設計原理を示しますが、ネットワーク化・エンタングルメント蒸留・同期制御が実装上の大課題です。
5. Clifford+\(\phi\) はアルゴリズム依存で非常に重要
量子化学やハミルトニアンシミュレーションでは、Clifford+\(T\) への合成だけを見ると過度に悲観的な資源見積もりになる場合があります。任意角 resource state の蒸留・保存レイアウトをどう設計するかは、本論文が示した大きな未解決設計課題の一つです。