量子計算
量子コンピュータは、従来のコンピュータ(古典コンピュータ)とは根本的に異なる物理法則である「量子力学」の性質を利用して計算を行うシステムです。
古典コンピュータが「0か1か」のビットをベースにするのに対し、量子コンピュータは「0であり、かつ1でもある」状態を扱います。この仕組みを数式を交えて詳しく解説します。
1. 量子ビット(Qubit)の数式表現
古典ビットは $0$ または $1$ のいずれかの状態しか取れません。しかし、量子ビットはこれらの重ね合わせ(Superposition)状態を取ることができます。
量子ビットの基本状態(基底)をケット記法を用いて $|0\rangle$ および $|1\rangle$ と表すと、任意の量子ビットの状態 $|\psi\rangle$ は以下の線形結合(結合状態)で表現されます。
$$|\psi\rangle = \alpha|0\rangle + \beta|1\rangle$$
ここで、$\alpha$ と $\beta$ は確率振幅と呼ばれる複素数です。
確率の正規化条件
量子ビットを「測定」すると、状態は $|0\rangle$ または $|1\rangle$ のいずれかに収縮します。それぞれが観測される確率は確率振幅の絶対値の2乗で表され、全確率の和は必ず $1$ になります。
$$|\alpha|^2 + |\beta|^2 = 1$$
- $|\alpha|^2$ : 状態 $|0\rangle$ が観測される確率
- $|\beta|^2$ : 状態 $|1\rangle$ が観測される確率
2. 量子コンピュータの3大特性
量子コンピュータが圧倒的な計算能力(特定の計算において)を持つ理由は、主に以下の3つの量子力学的性質にあります。
① 重ね合わせ(Superposition)
$N$ 個の古典ビットがあるとき、表現できる状態は $2^N$ 通りのうちのどれか1つです。
しかし、$N$ 個の量子ビットがあれば、$2^N$ 通りの状態を同時に保持できます。
例えば、3量子ビットの状態は以下のように表されます。
$$|\psi\rangle = c_0|000\rangle + c_1|001\rangle + c_2|010\rangle + \dots + c_7|111\rangle$$
$$\sum_{i=0}^{7} |c_i|^2 = 1$$
これにより、1回の操作で $2^N$ 個のデータに同時にアプローチする「量子並列性」が生まれます。
② 量子もつれ(Entanglement)
2つ以上の量子ビット間に強い相関を持たせる状態です。例えば、以下のベル状態(Bell state)が代表例です。
$$|\Phi^+\rangle = \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle)$$
この数式は、「1文字目が $|0\rangle$ なら2文字目も必ず $|0\rangle$」「1文字目が $|1\rangle$ なら2文字目も必ず $|1\rangle$」であることを意味します。片方のビットを測定した瞬間に、どれだけ離れていてももう片方の状態が瞬時に確定します。この性質が、超高速な情報伝達や複雑なデータ同士の結合に寄与します。
③ 量子干渉(Interference)
確率振幅 $\alpha, \beta$ は複素数であるため、波のように「強め合い」や「弱め合い」を起こせます。
量子アルゴリズムの目的は、「求めたい正解の確率振幅(確率)を強め合い、不要な計算結果の確率振幅を互いに打ち消し合わせる(弱め合う)」ことです。
3. 量子ゲート(計算の仕組み)
量子コンピュータの計算は、量子ビットの状態ベクトルにユニタリ行列を掛け算することで進みます。状態を変化させる操作を「量子ゲート」と呼びます。
代表的な量子ゲートの数式
1. パウリXゲート(NOTゲートに相当)
状態の $|0\rangle$ と $|1\rangle$ を反転させます。
$$X = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$$
$$X|0\rangle = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \end{pmatrix} = |1\rangle$$
2. アダマールゲート(Hゲート)
もっとも重要なゲートで、完全に均等な「重ね合わせ状態」を作ります。
$$H = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$$
$$H|0\rangle = \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle)$$
3. 制御NOTゲート(CNOTゲート)
2量子ビットを制御するゲートで、量子もつれを作るときに使用します。1つのビット(制御ビット)が $|1\rangle$ のときだけ、もう1つのビット(標的ビット)を反転させます。
$$CNOT = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix}$$
4. 古典コンピュータとの違い(まとめ)
量子計算の本質は、下表のように「確率の波」を巧みに操作する点にあります。
| 項目 | 古典コンピュータ | 量子コンピュータ |
| 基本単位 | ビット ($0$ または $1$) | 量子ビット ($ |
| 状態の表現 | 離散的な値 | 複素ベクトル空間(ヒルベルト空間) |
| 計算処理 | 論理ゲート (AND, OR, NOT) | ユニタリ行列による線形変換 (X, H, CNOTなど) |
| 得意な計算 | 日常的な事務処理、ストリーミングなど全て | 因数分解、新素材・医薬品開発の分子シミュレーション、最適化問題 |
さらに踏み込んで、量子コンピュータの数理的な核心である「多量子ビットの数理(テンソル積)」、「計算の可逆性」、そして量子コンピュータが実際にどうやって答えを導き出すのか、代表的な「グローバーのアルゴリズム」を例に数式で解説します。
1. 多量子ビットの合成と「テンソル積」
複数の量子ビットが合わさったシステムを数式で表すには、テンソル積($\otimes$)を使用します。これが量子並列性の数学的基盤です。
例えば、2つの量子ビット $| \psi_1 \rangle = \alpha_1|0\rangle + \beta_1|1\rangle$ と $| \psi_2 \rangle = \alpha_2|0\rangle + \beta_2|1\rangle$ があるとき、全体のシステム $| \Psi \rangle$ は以下のように計算されます。
$$| \Psi \rangle = | \psi_1 \rangle \otimes | \psi_2 \rangle$$
$$= (\alpha_1|0\rangle + \beta_1|1\rangle) \otimes (\alpha_2|0\rangle + \beta_2|1\rangle)$$
$$= \alpha_1\alpha_2|00\rangle + \alpha_1\beta_2|01\rangle + \beta_1\alpha_2|10\rangle + \beta_1\beta_2|11\rangle$$
これをベクトル表現にすると、4次元の複素ベクトルになります。
$N$ 個の量子ビットになると、状態空間の次元数は $2^N$ 次元 に膨れ上がります。
量子もつれの数学的定義
すべての多量子ビット状態が、上記のように個々の量子ビットのテンソル積(掛け算)に分解できるわけではありません。
前述したベル状態 $|\Phi^+\rangle = \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle)$ を例に考えてみます。
この状態を、どうにかして $(a|0\rangle + b|1\rangle) \otimes (c|0\rangle + d|1\rangle)$ の形に分解しようとすると、展開式は $ac|00\rangle + ad|01\rangle + bc|10\rangle + bd|11\rangle$ となります。
ベル状態と一致させるには、以下の連立方程式を満たす必要があります。
- $ac = \frac{1}{\sqrt{2}}$
- $ad = 0$
- $bc = 0$
- $bd = \frac{1}{\sqrt{2}}$
しかし、$ad = 0$ かつ $bc = 0$ であるためには、$a, b, c, d$ のいずれかが $0$ でなければなりませんが、そうすると $ac$ や $bd$ も $0$ になってしまい矛盾します。
このように「個々の量子ビットの状態の積として分離できない状態」のことを、数学的に量子もつれ(エンタングルメント)と定義します。
2. 量子計算の「可逆性」とユニタリ行列
古典コンピュータの「AND」や「OR」ゲートは、入力が2ビットで出力が1ビットであるため、出力から入力を逆算できない「不可逆」な計算です。このとき、情報が失われるため熱(ランダウアーの限界)が発生します。
一方で、量子コンピュータの計算はすべて「可逆(Reversible)」です。物理的には、孤立した量子系の時間発展がシュレーディンガー方程式に従うためです。数学的には、量子ゲートを表す行列 $U$ が必ずユニタリ行列であるという性質に由来します。
ユニタリ行列は、以下の条件を満たします。
$$U^\dagger U = U U^\dagger = I$$
※ $U^\dagger$(ウ dagger)は、行列 $U$ の複素共役転置(エルミート共役)を表し、$I$ は単位行列です。
確率が保存される理由
ユニタリ変換を行っても、状態ベクトルの「長さ(ノルム)」は変わりません。変化前の状態を $|\psi\rangle$、変化後を $|\psi'\rangle = U|\psi\rangle$ とすると、変化後の長さの2乗は以下のようになります。
$$\langle \psi' | \psi' \rangle = (U|\psi\rangle)^\dagger (U|\psi\rangle) = \langle \psi | U^\dagger U | \psi \rangle = \langle \psi | I | \psi \rangle = \langle \psi | \psi \rangle = 1$$
これにより、計算の途中で状態がどのように変化しても、「すべての確率を足すと 100%($1$)になる」というルールが絶対に崩れないようになっています。
3. 量子アルゴリズムの真髄:グローバーの探索アルゴリズム
量子コンピュータが実際にどうやって計算を高速化しているのか、データベース検索を行う「グローバーのアルゴリズム」を例に、数式の動きを見てみましょう。
未整理のデータが $N$ 個(例えば $N=8$)あり、その中に1つだけ正解のデータ $\omega$ があるとします。古典コンピュータでは平均して $N/2$ 回、最悪で $N$ 回データを調べる必要がありますが、量子コンピュータなら約 $\sqrt{N}$ 回のステップで正解を見つけ出せます。
ステップ1:一様重ね合わせ状態の作成
初期状態として、すべてを等確率の重ね合わせ状態にします。$N=8$ の場合、3量子ビットを使って以下のような状態を作ります。
$$|s\rangle = \frac{1}{\sqrt{8}} \sum_{x=0}^{7} |x\rangle$$
このとき、全状態の確率振幅はすべて均等に $\frac{1}{\sqrt{8}}$ です。
ステップ2:オラクル(反転)操作
正解の状態 $|\omega\rangle$ だけ、確率振幅の「符号(プラスマイナス)」を反転させます。
数式で表すと、正解の項だけ $1 \rightarrow -1$ になります。
$$U_\omega |x\rangle = \begin{cases} -|x\rangle & (\text{if } x = \omega) \\ |x\rangle & (\text{if } x \neq \omega) \end{cases}$$
例えば、正解が $|011\rangle$(3)だとすると、状態は以下のようになります。
$$\frac{1}{\sqrt{8}}|000\rangle + \frac{1}{\sqrt{8}}|001\rangle + \dots - \frac{1}{\sqrt{8}}|011\rangle + \dots + \frac{1}{\sqrt{8}}|111\rangle$$
※この時点では、2乗すると確率はすべて $\frac{1}{8}$ のままで、測定しても正解が出る確率は上がりません。
ステップ3:平均値に関する反転(拡散変換)
ここが量子干渉の真骨頂です。すべての確率振幅の「平均値」を基準にして、各振幅を折り返します(反転させます)。
- 正解の振幅だけがマイナスになっているため、全体の「平均値」は少し下がります。
- 平均値を基準に反転させると、もともとプラスだった不正解の振幅は少し小さくなり、マイナスだった正解の振幅だけがプラス方向に大きく突き抜けます(強め合い)。
数式的には、この操作は $U_s = 2|s\rangle\langle s| - I$ というユニタリ行列で行われます。
ステップ4:測定
この「ステップ2と3」を約 $\sqrt{N}$ 回繰り返すと、正解 $|\omega\rangle$ の確率振幅の絶対値がほぼ $1$ に近づきます。この状態で量子ビットを測定すると、ほぼ 100% の確率で正解データが得られます。
4. なぜ今、実現が難しいのか?(量子誤り訂正)
数式の上では完璧に見える量子コンピュータですが、現実のハードウェア(超伝導回路やイオンペントラップなど)は、外部の熱や電磁波といったノイズに非常に弱いです。
ノイズによって、せっかく作った重ね合わせ状態 $|\psi\rangle = \alpha|0\rangle + \beta|1\rangle$ の位相($\alpha$ と $\beta$ の関係性)が壊れてしまう現象を量子デコヒーレンスと呼びます。
これを防ぐために、数学的な「符号理論」を応用した量子誤り訂正(Quantum Error Correction)の研究が現在世界中で激しく行われています。1つの「論理量子ビット」を正しく動かすために、数千〜数万個の「物理量子ビット」を並列して制御する必要があり、これが2020年代現在の技術的な最大の壁となっています。

