量子コンピュータ入門 #4:テンソル積とエンタングルメント
サイエンス

量子コンピュータ入門 #4:テンソル積とエンタングルメント

1つの量子ビットはブロッホ球上の点で表せました。では、2つの量子ビットがあるとき、その状態は「2つのブロッホ球」で表せるでしょうか? 答えは No です。ここに量子力学の最も本質的で、古典直感とかけ離れた性質「エンタングルメント(量子もつれ)」が潜んでいます。

1. 多量子ビット系の記述:テンソル積

2つの系 A と B を合成した系(全体)の状態空間は、個々のベクトル空間の テンソル積(Tensor Product) で構成されます。

定義

系 A の基底を {|0>_A, |1>_A}、系 B の基底を {|0>_B, |1>_B} とすると、合成系の基底は以下の4つのベクトルの組み合わせになります。

00=0A0B=(10)01=0A1B=(0100)10=1A0B=(0010)11=1A1B=(0001)|00\rangle = |0\rangle_A \otimes |0\rangle_B = \begin{pmatrix} 1 \\ 0 \\ \\ \\ \end{pmatrix} \\ |01\rangle = |0\rangle_A \otimes |1\rangle_B = \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix} \\ |10\rangle = |1\rangle_A \otimes |0\rangle_B = \begin{pmatrix} 0 \\ 0 \\ 1 \\ 0 \end{pmatrix} \\ |11\rangle = |1\rangle_A \otimes |1\rangle_B = \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \end{pmatrix}

次元の爆発

一般に nn 個の量子ビットがある場合、その状態ベクトルは 2n2^n 次元の複素ベクトルになります。 ψ=x=02n1cxx|\psi\rangle = \sum_{x=0}^{2^n-1} c_x |x\rangle

  • n=1n=1: 2次元
  • n=2n=2: 4次元
  • n=10n=10: 1024次元
  • n=50n=50: 約1,125兆次元

この指数関数的な次元の増大が、量子コンピュータが古典コンピュータではシミュレーション不可能な計算能力を持つ源泉の一つです。

2. エンタングルメントの数学的定義

2量子ビット系のすべての状態が、個々の量子ビットの状態の積(テンソル積)で書けるわけではありません。

分離可能状態(Separable State)

ある状態 ψ|\psi\rangle が、以下のように個別の状態の積として書けるとき、その状態は 分離可能 であると言います。

ψ=ψAψB|\psi\rangle = |\psi_A\rangle \otimes |\psi_B\rangle

この場合、それぞれの量子ビットは独立した状態を持っています(相関がない)。

エンタングル状態(Entangled State)

分離可能 でない 状態、つまりどうしても積の形に因数分解できない状態を、エンタングル状態(量子もつれ状態) と呼びます。

ψψAψB|\psi\rangle \neq |\psi_A\rangle \otimes |\psi_B\rangle

証明:ベル状態は因数分解できない

最も有名なエンタングル状態である「ベル状態」の一つを考えます。

Φ+=12(00+11)|\Phi^+\rangle = \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle)

これが分離可能であると仮定して、矛盾を導きます。 仮に分離可能だとすると、ある α0,α1,β0,β1\alpha_0, \alpha_1, \beta_0, \beta_1 が存在して以下のように書けるはずです。

(α00+α11)(β00+β11)=α0β000+α0β101+α1β010+α1β111(\alpha_0|0\rangle + \alpha_1|1\rangle) \otimes (\beta_0|0\rangle + \beta_1|1\rangle) = \alpha_0\beta_0|00\rangle + \alpha_0\beta_1|01\rangle + \alpha_1\beta_0|10\rangle + \alpha_1\beta_1|11\rangle

これを Φ+|\Phi^+\rangle の係数と比較します。

  1. α0β0=12\alpha_0\beta_0 = \frac{1}{\sqrt{2}}
  2. α0β1=0\alpha_0\beta_1 = 0
  3. α1β0=0\alpha_1\beta_0 = 0
  4. α1β1=12\alpha_1\beta_1 = \frac{1}{\sqrt{2}}

式(2)より、α0=0\alpha_0 = 0 または β1=0\beta_1 = 0 です。

  • もし α0=0\alpha_0 = 0 なら、式(1)は 0=1/20 = 1/\sqrt{2} となり矛盾。
  • もし β1=0\beta_1 = 0 なら、式(4)は 0=1/20 = 1/\sqrt{2} となり矛盾。

したがって、ベル状態をテンソル積で表す解は存在しません。証明終了。 この事実は、「個々の粒子の状態は定義できず、全体系としての状態しか存在しない」ことを意味します。

3. エンタングルメントを作る:CNOTゲート

では、どうやってこの不思議な状態を作るのでしょうか? これには2量子ビットゲートである CNOT(制御NOT)ゲート が必要です。

CNOTゲートの作用

CNOTゲートは、制御ビット(1ビット目)が 1|1\rangle のときだけ、標的ビット(2ビット目)を反転(Xゲート適用)させます。

CNOT=(1000010000010010)CNOT = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix}

ベル状態生成回路

以下の手順でベル状態 Φ+|\Phi^+\rangle を生成します。初期状態は 00|00\rangle です。

ステップ1:アダマールゲートを1ビット目に適用

(HI)00=(H0)0=(0+12)0=12(00+10)(H \otimes I) |00\rangle = (H|0\rangle) \otimes |0\rangle = \left(\frac{|0\rangle + |1\rangle}{\sqrt{2}}\right) \otimes |0\rangle = \frac{1}{\sqrt{2}}(|00\rangle + |10\rangle)

この時点ではまだ分離可能状態です。

ステップ2:CNOTゲートを適用

CNOT(12(00+10))=12(CNOT00+CNOT10)CNOT \left( \frac{1}{\sqrt{2}}(|00\rangle + |10\rangle) \right) = \frac{1}{\sqrt{2}} (CNOT|00\rangle + CNOT|10\rangle)

線形性により各項に作用します。

  • 00|00\rangle:制御ビットが0なので変化なし 00\to |00\rangle
  • 10|10\rangle:制御ビットが1なので標的ビット反転 11\to |11\rangle

=12(00+11)=Φ+= \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle) = |\Phi^+\rangle

これでエンタングルメントが生成されました。

4. 量子もつれの物理的意味

測定の相関

生成された状態 Φ+|\Phi^+\rangle を測定してみましょう。

  • 1ビット目を測定して 00 が出た場合: 状態は 00|00\rangle に収縮します。よって2ビット目は 必ず 00 です。
  • 1ビット目を測定して 11 が出た場合: 状態は 11|11\rangle に収縮します。よって2ビット目は 必ず 11 です。

2つのビットは完全に相関しており、片方の測定結果がもう片方を即座に決定します。これは2つのビットがどれだけ離れていても(例えば銀河の彼方であっても)成立します。

まとめ

  • テンソル積: 量子ビットが増えると、状態空間の次元は指数関数的に爆発する。
  • エンタングルメント: 複数の量子ビットが強い相関を持ち、個別に記述できない状態。数学的には「因数分解できない状態」。
  • 生成方法: 重ね合わせ(Hゲート)と相互作用(CNOTゲート)を組み合わせることで生成できる。

次回は、これらの原理を応用して、量子コンピュータがどのように計算を高速化するのか、その最初期の例である「ドイチュ・ジョサのアルゴリズム」を通じて解説します。

次へ:量子コンピュータ入門 #5:量子アルゴリズムの仕組み


参考資料


更新履歴

更新日 内容
2025-12-22 初版公開

ご注意: 本記事は2025年12月時点の情報に基づいています。最新情報は公式サイトをご確認ください。

この記事をシェア