tecktom.com

フォールトトレラント量子計算

2026年10月15日7分で読めますAI生成教科書『基礎理論』第2章 量子誤り訂正とフォールトトレラント計算
目次
  1. 誤りはどう伝播するか
  2. 横断的ゲート
  3. フォールトトレラント ゲート
  4. フォールトトレラント測定
  5. 木下の層

AI 生成・木下が未勉強

量子情報入門 第2章 §2.9

ここまでは静止した量子情報の保護を論じてきたが、実際の計算では、状態準備・ゲート・測定・配線のすべてが雑音に冒される中で計算を進めねばならない。素朴に「復号 →\to ゲート →\to 再符号化」を行うと復号中の誤りに無防備になるので、符号化されたまま論理ゲートを実行する。これがフォールトトレラント量子計算である。

誤りはどう伝播するか

設計の敵は誤りの伝播である。これを定量的に追う道具が、前章で鍛えた共役である。CNOT(ユニタリ UU)の直前に第1ビットで XX 誤りが起きたとすると、回路全体の作用は

UX1=UX1U† U=(X1X2) UUX_1 = UX_1U^\dagger\,U = (X_1X_2)\,U

——「完璧なCNOTの後に、両方のビットに XX 誤りが起きた」ことと等価である。共役表のとおり XX は制御から標的へ増殖し、ZZ は標的から制御へ逆流する。1個の誤りが2個に化ける——これを符号ブロックの内部で許すと、訂正能力(t=1t=1)が一撃で飽和してしまう。

ゲート自身が故障する場合も同じ枠組みで扱える。雑音のあるCNOTの量子操作 E\mathcal E は E=(E∘U−1)∘U\mathcal E=(\mathcal E\circ\mathcal U^{-1})\circ\mathcal U(U\mathcal U は完璧なCNOT)と書き直せるので、「完璧なゲート+その後の小さな雑音(Pauli誤りが確率 pp 程度で乗る)」とモデル化してよい。以降、誤りは I,X,Y,ZI,X,Y,Z が確率的に乗るものとして数える(誤りの離散化により、これで一般性を失わない)。

要点

フォールトトレラントな手続きの定義:手続き中のただ1つの部品(ゲート・測定・配線・状態準備)が故障しても、出力の各符号ブロックに生じる誤りが高々1個にとどまること。測定の手続きにはさらに、1部品の故障のもとでも測定結果自体が確率 1−O(p2)1-O(p^2) で正しいことを要求する(結果は古典制御に使われ、誤った結果は多数のビットに波及するため)。

横断的ゲート

最も簡単にフォールトトレランスを実現するのが、符号の各物理ビットに独立にゲートを作用させる横断的(transversal)実装である。ビット同士が一切相互作用しないので、1部品の故障は1ビットにしか影響できず、定義が自動的に満たされる。誤りの通過も無害である:たとえば横断的 Hˉ=H⊗7\bar H=H^{\otimes7} の直前に ZZ 誤りがあっても、HZ=XHHZ=XH より「完璧な Hˉ\bar H の後の XX 誤り1個」に化けるだけで、誤りの個数は増えない。

Steane符号では次が横断的に実装できる(論理演算子 Zˉ=Z⊗7\bar Z=Z^{\otimes7}, Xˉ=X⊗7\bar X=X^{\otimes7} を共役でどう動かすかを確かめればよい):

  • Pauli:Xˉ=X⊗7\bar X=X^{\otimes7}、Zˉ=Z⊗7\bar Z=Z^{\otimes7}。
  • Hadamard:Hˉ=H⊗7\bar H=H^{\otimes7} は共役で Zˉ↔Xˉ\bar Z\leftrightarrow\bar X を交換する——論理レベルでHadamardの定義を満たす。
  • 位相ゲート:素朴な S⊗7S^{\otimes7} は Xˉ↦−Yˉ\bar X\mapsto-\bar Y と符号が余るので、Zˉ\bar Z で符号を直した (ZS)⊗7(ZS)^{\otimes7} が論理 Sˉ\bar S になる。
  • CNOT:2つの符号ブロックの対応するビット同士を7本のCNOTで結ぶ。CNOTは誤りを増殖させるが、増殖先は別ブロックの対応ビットであり、各ブロック内では高々1個のまま——「ブロックをまたぐ伝播は許容、ブロック内の増殖は禁止」という設計原理の見本である。

H,S,CNOTH,S,\mathrm{CNOT} が揃ったので、前章の定理によりClifford群のすべてがフォールトトレラントに実行できる。しかしGottesman–Knillの教えるとおり、Cliffordだけでは古典を超えられない。残るは TT(π/8\pi/8)ゲートである。

フォールトトレラント π/8\pi/8 ゲート

TT はSteane符号で横断的に実装できない。代わりに測定と古典制御で「ゲートを注入する」構成を用いる。用意するのは補助の論理ビット1つ、状態

∣Θ⟩=∣0L⟩+eiπ/4∣1L⟩2=TˉHˉ∣0L⟩\ket\Theta = \frac{\ket{0_L}+e^{i\pi/4}\ket{1_L}}{\sqrt2} = \bar T\bar H\ket{0_L}

である(この状態の準備が非自明な部分で、後述)。手順は3手:

(1) データ ∣ψ⟩=a∣0L⟩+b∣1L⟩\ket\psi=a\ket{0_L}+b\ket{1_L} を標的、∣Θ⟩\ket\Theta を制御として、横断的CNOTを作用させる。状態を書き下すと

12[(a∣0⟩+beiπ/4∣1⟩)∣0⟩+(b∣0⟩+aeiπ/4∣1⟩)∣1⟩]\frac{1}{\sqrt2}\Bigl[\bigl(a\ket0+be^{i\pi/4}\ket1\bigr)\ket0 + \bigl(b\ket0+ae^{i\pi/4}\ket1\bigr)\ket1\Bigr]

(添字 LL を省略;第1因子が元 ∣Θ⟩\ket\Theta 側)。

(2) 第2レジスタ(元データ側)を計算基底でフォールトトレラントに測定する。

(3) 結果が 00 ならそのまま、11 なら残ったレジスタに SˉXˉ\bar S\bar X を適用する。SX(b∣0⟩+aeiπ/4∣1⟩)∝a∣0⟩+beiπ/4∣1⟩SX(b\ket0+ae^{i\pi/4}\ket1) \propto a\ket0+be^{i\pi/4}\ket1 となり、どちらの場合も残りは Tˉ∣ψ⟩\bar T\ket\psi(全体位相を除く)——TT ゲートが完成する(両分岐とも状態ベクトル計算で数値検証済み)。

この構成の要点は、難しいゲート TT の適用を「特殊な状態 ∣Θ⟩\ket\Theta の準備」に置き換えたことである。回路本体はCNOT・測定・SXSX(いずれもフォールトトレラント化済み)だけで、これは第4章のテレポーテーションの発想の転用——ゲートテレポーテーション——である。∣Θ⟩\ket\Theta のような状態は魔法状態(magic state)と呼ばれ、その供給がフォールトトレラント計算の律速資源になる。

では ∣Θ⟩\ket\Theta 自身はどう用意するか。∣Θ⟩\ket\Theta は演算子 e−iπ/4SXe^{-i\pi/4}SX の固有値 +1+1 の固有状態である(THZHT†=TXT†=e−iπ/4SXTHZH T^\dagger = TXT^\dagger = e^{-i\pi/4}SX による)。そこで論理 ∣0L⟩\ket{0_L} を用意し、e−iπ/4SXe^{-i\pi/4}SX を次節の方法でフォールトトレラントに測定する。結果 +1+1 ならそのまま ∣Θ⟩\ket\Theta、結果 −1-1 なら ZSXZ=−SXZSXZ=-SX より横断的 Zˉ\bar Z 1発で +1+1 固有状態に直せる。同じ思想の(より複雑な)構成でToffoliゲートもフォールトトレラント化でき、{H,S,CNOT,T}\{H,S,\mathrm{CNOT},T\}——普遍ゲート集合の全部——が揃う。

フォールトトレラント測定

残る部品は「演算子 MM(固有値 ±1\pm1、横断的実装 M′⊗nM'^{\otimes n} を持つ)のフォールトトレラントな測定」である。前章の1補助ビット回路(補助 ∣+⟩\ket+ から制御 MM)をそのまま符号ブロックに使うと、1つの補助ビットがすべてのデータビットに触るため、補助の誤り1個が全データへ増殖して失格である。

解決は猫状態 (∣0⋯0⟩+∣1⋯1⟩)/2(\ket{0\cdots0}+\ket{1\cdots1})/\sqrt2(データビットと同数の補助)を使うことである。

  1. 準備と検証:猫状態を作る回路自体はフォールトトレラントでないので、作った後にペアのパリティ ZiZjZ_iZ_j を追加ビットで検査し、不合格なら捨てて作り直す(検証)。
  2. 制御 M′M' の横断的適用:猫状態の第 ii ビットを制御に、データ第 ii ビットへ制御 M′M' を1対1で張る。猫が ∣0⋯0⟩\ket{0\cdots0} 成分なら何もせず、∣1⋯1⟩\ket{1\cdots1} 成分なら符号化された MM が丸ごと作用する——1補助ビット回路と同じキックバックが起こるが、補助とデータの接触が1対1なので誤りはブロック内で増殖しない。
  3. 復号と多数決:猫状態をCNOT列と HH で1ビットに畳んで測る。補助内の ZZ 誤りはデータへは伝播しないが測定結果を狂わせうるので、全体を3回繰り返して多数決を取る。1回の結果が狂うには故障が要るから、多数決が狂う確率は O(p2)O(p^2) に抑えられる。XX/YY 誤りは高々1個しか補助に残らないことが示せ、データへの影響も高々1個——定義の両条件が満たされる。

MM が1論理ビットの観測量である必要はない。スタビライザー生成元(X1Z2X3X_1Z_2X_3 のようなPauliテンソル積)の測定にもそのまま一般化でき、これでフォールトトレラントな症候測定・符号化(論理 ∣0L⟩\ket{0_L} 準備=全生成元と Zˉ\bar Z の測定+符号合わせ)・最終読み出し(論理 Zˉ\bar Z の測定)のすべてが手に入る。

木下の勉強ステータス

木下はまだこの記事を勉強していません。

AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com

← AI生成教科書『基礎理論』の記事一覧へ