量子計算の重要定理メモ【量子コンピューター Advent Calendar 2025 4日目】

Dec. 19, 2025, 12:20 a.m. edited Dec. 23, 2025, 2:13 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}} $$

量子計算(誤り訂正など)やるにあたって、重要な定理(・用語)の早引き用メモ

(なお、この記事はアドベントカレンダーに参加していると銘打っているが、12/20になんとなくアドベントカレンダーを見たら12/4が空いていたので、そこに入れさせていただいたという経緯である)

no-cloning定理(複製不可能性定理)

任意の量子状態を複製できる操作は存在しない。

参考:コラム1:量子複製不可能 (No-Cloning) 定理【Quantum Native Dojo】

(なお、量子情報科学入門 p.175では、純粋状態の密度演算子を使った説明がされており、その証明にて忠実度の単調性を利用している。忠実度の単調性自体はUhlmannの定理から求まるが、その直感的な理解はこれ

Gottesman-Knillの定理

クリフォードゲートのみで構成された量子計算は、古典計算で簡単にシミュレートできる。

クリフォードゲートとは、スタビライザ状態をスタビライザ状態に移すゲートのこと。 \(H\), \(S\), \(CNOT\) とか。これ以上詳しくは藤井先生のスライドが良い(p.20まで見ればこの定理まで出てくる)

他の参考:クリフォードゲートと Gottesman-Knill の定理【物理とか】

Solovay–Kitaevの定理

あるゲート集合が \(SU(2)\) で稠密ならばすぐに \(SU(2)\) を覆い尽くす。

要は、nonクリフォードゲートが一つでもあればuniversalということ。先ほど、Gottesman-Knillの定理によりクリフォードゲートのみだと古典計算で簡単にシミュレートできてしまうと示されたが、そこにnonクリフォードゲート(\(T\)とか\(CCZ\)とか)を一つでも加えれば簡単には古典計算でシミュレートできなくない万能量子計算となる。

これにより任意の回転ゲートが実現できる様子は、やはり藤井先生のスライドのp.21-22を見ると良い。

Eastin-Knillの定理

トランスバーサルにすべてのゲートを実行できる量子誤り訂正符号は存在しない。

トランスバーサルにゲートを実行する、とは、量子誤り訂正符号を構成するすべての物理量子ビットそれぞれに \(O(1)\) 回の操作を実行するだけで、その論理状態に(論理)ゲートを実行できるということ。例えば、

$$ \ket{\psi}=\alpha\ket{0}+\beta\ket{1} $$

を最も簡単に3 qubit codeで符号化すると

$$ \ket{\psi}_L=\alpha\ket{000}+\beta\ket{111} $$

となる(\(S=\langle Z_1 Z_2, Z_2 Z_3\rangle\) でスタビライズされている)。この論理状態に対して論理 \(X\) を作用させるには、単純にすべての物理量子ビットに対して物理的に \(X\) ゲートを 1 回ずつ実行するだけでよい:

$$ \begin{align} &X_0 X_1 X_2 (\alpha\ket{000}+\beta\ket{111}) \\ =&\alpha\ket{111}+\beta\ket{000} \\ =&X_L \ket{\psi}_L \end{align} $$

これがトランスバーサルにゲートを実行できたということである。しかし、論理 \(H\) を作用させるにはこのように単純にはできず、つまりEastin-Knillの定理が効いているということである。

なお、採用する量子誤り訂正符号によって、どのゲートがtransversalに打てないかが変わってくる。表面符号だと例えばnonクリフォードゲートのTゲートがtransversalに打てないので、魔法状態蒸留や魔法状態栽培 (magic state cultivation) によって持ってくる必要がある。

CSS符号

スタビライザがXだけの積とZだけの積に分離可能

トポロジカル符号

検査行列が疎かつ、個々のシンドロームの検査対象の量子ビットが \(O(1)\) の距離に収まっている

つまり、表面符号はCSS符号&トポロジカル符号

閾値定理

エラー確率が閾値より低ければ論理エラー確率を任意に小さくできる。

物理量子ビット数を増やすことや、連結符号 (concatenated code) の連結数を増やすことによって実現される。

現在、量子コンピュータ屋さんが全力を注いでいるのはこれの実現である。わかりやすくかつ実応用の面で重要な表面符号を例に挙げる。表面符号とは、簡単に言えば、物理量子ビットを物理的に正方格子状に並べて実現される量子誤り訂正符号である。その符号距離(誤りがいくつ未満なら発生しても修正できるかという値)は、わかりやすいことにその正方格子の一辺の長さである。


(出典: [A. Fowler et al., 2012] Fig. 4上)

この図は、横軸に物理エラー確率、縦軸に論理エラー確率をとったもので、表面符号の符号距離 \(d\) ごとにその関係性がプロットされている。重要なことに、符号距離が大きくなるにつれて、論理エラー確率がどんどん小さくなることが見える。しかし、それは図の \(p_{th}\) で表わされる閾値より小さい範囲の話である。したがって、いくら大きな表面符号を作れたとしても、構成する物理量子ビットのエラー確率が閾値以下になっていないと何の意味もないのである。

この事情から、世界中の量子コンピュータ屋さんはなんとか物理量子ビットの質を上げるように苦心しているのである。そのようななか、Googleがついに閾値未満のエラー確率の量子コンピュータを実現して表面符号で実際に符号距離伸長に伴う論理エラー確率低減を示したのが2022年(Nature論文)。さらに、その性能を向上させて符号距離 \(d=7\) の表面符号を実現したのが2024年であった(Nature論文)。各社、これに追いつこうと必死なのである。

表面符号の細かいやつ

青いの赤いの

パッチで大体は、青はZスタビライザ、赤はXスタビライザ。少なくともGidneyはそうしてる。巨人に倣おう

なお、ピンクはYらしい。by Gidney

rough boundary / smooth boundary

  • rough boundary: (パッチの向きにもよるが)左右のZ境界のこと。Z境界同士を結ぶようにZ論理演算子がある(すべてのスタビライザと可換となっているのが確認できる)
  • smooth boundary: (パッチの向きにもよるが)上下のX境界のこと。X境界同士を結ぶようにX論理演算子がある

rough merge / smooth merge

2つのパッチの論理状態を \(\ket{\psi}_L=\alpha\ket{0}_L+\beta\ket{1}_L=\bar{\alpha}\ket{+}_L+\bar{\beta}\ket{-}_L\), \(\ket{\phi}_L\) とする。ただし

$$ \begin{align} \bar{\alpha}&=\frac{1}{\sqrt{2}}(\alpha+\beta) \\ \bar{\beta}&=\frac{1}{\sqrt{2}}(\alpha-\beta) \end{align} $$

  • rough merge: Z境界同士を結合する。間のデータ量子ビットを \(\ket{0}\) に初期化して、Xスタビライザ測定によって実現(XX測定)。 \(\alpha\ket{\phi}+(-1)^M \beta X_L'\ket{\phi}\) が得られる。ただし、 \(M\) はこのXスタビライザ測定結果の積、 \(X_L'\) は単に \(\ket{\phi}\) に論理Xが作用することを表している
  • smooth merge: X境界同士を結合する。間のデータ量子ビットを \(\ket{+}\) に初期化して、Zスタビライザ測定によって実現(ZZ測定)。 \(\bar{\alpha}\ket{\phi}+(-1)^M \bar{\beta} Z_L'\ket{\phi}\) が得られる。ただし、 \(M\) はこのZスタビライザ測定結果の積、 \(Z_L'\) は単に \(\ket{\phi}\) に論理Zが作用することを表している

rough split / smooth split

  • rough split: 間のデータ量子ビットをZ測定して、Z境界同士が向かい合った状態になること。 \(\alpha\ket{+}_L+\beta\ket{-}_L\to\alpha\ket{++}_L+\beta\ket{--}_L\) となる
  • smooth split: 間のデータ量子ビットをX測定して、X境界同士が向かい合った状態になること。 \(\alpha\ket{0}_L+\beta\ket{1}_L\to\alpha\ket{00}_L+\beta\ket{11}_L\) となる

論理CNOT

パッチ \(\ket{C}=\alpha\ket{0}_L+\beta\ket{1}_L=\bar{\alpha}\ket{+}_L+\bar{\beta}\ket{-}_L\) からパッチ \(\ket{T}\) にCNOTをする。補助状態としてパッチ \(\ket{INT}=\ket{+}_L\) を用意する。

  1. \(\ket{C}\) と \(\ket{INT}\) でsmooth merge
  2. \(\ket{C}\) と \(\ket{INT}\) でsmooth split
  3. \(\ket{INT}\) と \(\ket{T}\) でrough merge
  4. \(\ket{T}\) までパッチ縮小

なお、Gidneyによるとdラウンド (つまり1クロック) で実現する別解があるらしい

終わりに

とりあえずここまで。他にあったらまた追記していく。