量子ビットの復習（2量子ビットのもつれ）

#はじめに
複数量子ビットの状態ベクトル（テンソル）を見て、それがもつれているのか、もつれていないのか、判断するのが苦手なのでゆっくり見てみたいと思う。

#もつれとは
もつれとは、複数の量子ビット間に相関があり、個々の量子ビットを独立して記述できない状態のこと。
以下、2量子ビットで考える。

#2量子ビットの例
##2量子ビットの状態ベクトル
2つの量子ビットを$|a\rangle, |b\rangle$としたとき、2量子ビットの状態ベクトルはテンソル積で作られた4次元正規直交基底で表すことができる。

```math
|a\rangle = \left(\begin{matrix}a_0\\a_1\end{matrix}\right), 
|b\rangle = \left(\begin{matrix}b_0\\b_1\end{matrix}\right)\\
|a\rangle \otimes |b\rangle =
\left(\begin{matrix}
a_0\left(\begin{matrix}b_0\\b_1\end{matrix}\right)\\
a_1\left(\begin{matrix}b_0\\b_1\end{matrix}\right)
\end{matrix}\right)
= \left(\begin{matrix}a_0 b_0\\a_0 b_1\\a_1 b_0\\a_1 b_1\end{matrix}\right)
```

このベクトルの要素は上から順に、基底$|00\rangle, |01\rangle, |10\rangle, |11\rangle$の確率振幅を表す。

##もつれていない場合
各量子ビットは、独立して記述できる。つまりテンソル積の記号を一つだけ使って表すことができる。

例1: $|00\rangle = \left(\begin{matrix}1\\\0\\\0\\\0\end{matrix}\right) = |0\rangle \otimes |0\rangle$
1番目の量子ビットは$|0\rangle$、2番目の量子ビットは$|0\rangle$

例2: $\frac{1}{\sqrt{2}}(|00\rangle + |01\rangle) = \frac{1}{\sqrt{2}}\left(\begin{matrix}1\\\1\\\0\\\0\end{matrix}\right) = |0\rangle \otimes \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle)$
1番目の量子ビットは$|0\rangle$、2番目の量子ビットは$|0\rangle$と$|1\rangle$の均等重ね合わせ

##もつれている場合
各量子ビットは、独立して記述できない。結果、テンソル積の記号が一つでは記述できない。

例3: $\frac{1}{\sqrt{2}}(|00\rangle + |11\rangle) = \frac{1}{\sqrt{2}}\left(\begin{matrix}1\\\0\\\0\\\1\end{matrix}\right) = \frac{1}{\sqrt{2}}(|0\rangle \otimes |0\rangle) + |1\rangle \otimes |1\rangle)$
1番目の量子ビットが$|0\rangle$のとき2番目の量子ビットは$|0\rangle$、1番目の量子ビットが$|1\rangle$のとき2番目の量子ビットは$|1\rangle$

#2量子ビットの状態ベクトルのもつれの見分け方
書籍[「みんなの量子コンピュータ」](https://www.shoeisha.co.jp/book/detail/9784798163574)の72ページに「(2量子ビットのテンソル積のベクトルの)外側の項の積が内側の項の積と等しい場合、量子ビットはもつれません。積が等しくない場合、量子ビットはもつれます」とある。
上の例で計算してみると、確かにそうなっている。

なぜそうなるんんだろう？（爆）

考えてもわからないのでそのまま憶えるけど、このままだと3量子ビット以上の応用がきかない。誰か説明してくれないかなあ。

#練習
これだけだとなんなので、状態ベクトルからテンソル積にする部分を分解してみる。

##もつれていない場合
例2: $\frac{1}{\sqrt{2}}\left(\begin{matrix}1\\\1\\\0\\\0\end{matrix}\right)$

まず、もつれていない状態ベクトルは、以下のように変換できる。

```math
\left(\begin{matrix}a_0 b_0\\a_0 b_1\\a_1 b_0\\a_1 b_1\end{matrix}\right)
= \left(\begin{matrix}
a_0\left(\begin{matrix}b_0\\b_1\end{matrix}\right)\\
a_1\left(\begin{matrix}b_0\\b_1\end{matrix}\right)
\end{matrix}\right)
= |a\rangle \otimes |b\rangle
```

面倒なので$\frac{1}{\sqrt{2}}$は一旦除外して考える。
また$a_0, a_1, b_0, b_1$は0または1とする。

①今$a_0 = 0$とすると、$a_0 b_0, a_0 b_1$が0になり例のベクトルと合わなくなるので、$a_0 = 1$
②そうすると$b_0 = 1, b_1 = 1$
③ここで$a_1$を考えると$a_1 = 0$
④よって$|a\rangle = \left(\begin{matrix}1\\\0\end{matrix}\right) = |0\rangle, |b\rangle = \left(\begin{matrix}1\\\1\end{matrix}\right)$
1量子ビットは正規なので、除外した$\frac{1}{\sqrt{2}}$を戻して、$|b\rangle = \frac{1}{\sqrt{2}}\left(\begin{matrix}1\\\1\end{matrix}\right) = \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle)$
⑤最終的に$\frac{1}{\sqrt{2}}\left(\begin{matrix}1\\\1\\\0\\\0\end{matrix}\right) = |0\rangle \otimes \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle)$

...。いや、このぐらいだったら、こんなことしなくても直感的にわかるわ。

流れとしては、まず単独基底の量子ビットを外出しして、残りを整理すれば良いようだ。

##もつれている場合
例3: $\frac{1}{\sqrt{2}}\left(\begin{matrix}1\\\0\\\0\\\1\end{matrix}\right)$

再度以下の式を見る。

```math
\left(\begin{matrix}a_0 b_0\\a_0 b_1\\a_1 b_0\\a_1 b_1\end{matrix}\right)
= \left(\begin{matrix}
a_0\left(\begin{matrix}b_0\\b_1\end{matrix}\right)\\
a_1\left(\begin{matrix}b_0\\b_1\end{matrix}\right)
\end{matrix}\right)
= |a\rangle \otimes |b\rangle
```

①この式から$a_0, a_1$両方とも0ではないことがわかる。よって$a_0 = 1, a_1 = 1$と仮定する
②しかし、①の仮定では$b_0, b_1$が一意に決まらないのでおかしい。
③$a_0 = 1$とすると、$b_0 = 1, b_1 = 0$。全体を同時に満足する$a_1$はない。
④$a_1 = 1$とすると、$b_0 = 0, b_1 = 1$。全体を同時に満足する$a_0$はない。
⑤なんか全体が同時に一意に決まらない感じなので、最初の状態ベクトルを分割してみる。

```math
\frac{1}{\sqrt{2}}\left(\begin{matrix}1\\0\\0\\1\end{matrix}\right)
= \frac{1}{\sqrt{2}}\left(\left(\begin{matrix}1\\0\\0\\0\end{matrix}\right) + \left(\begin{matrix}0\\0\\0\\1\end{matrix}\right)\right)
```

⑥最初の項は$a_0 = 1, b_0 = 1, b_1 = 0, a_1 = 0$。つまり$|0\rangle \otimes |0\rangle$。
⑦第二項は$a_1 = 1, b_0 = 0, b_1 = 1, a_0 = 0$。つまり$|1\rangle \otimes |1\rangle$。
⑧全体としては$\frac{1}{\sqrt{2}}(|0\rangle \otimes |0\rangle + |1\rangle \otimes |1\rangle)$

最終的な式がテンソル積の記号一つでは表せない。

なるほど、もつれているときは状態ベクトルをそのまま計算するとうまくいかないのか。もつれた状態の式がちょっとわかった気がする。

#終わりに
状態ベクトルがうまくテンソル積に分解できなかったら、まずは状態ベクトルを分割してから計算してみる。項をまとめて最終的に状態ベクトルが一つのテンソル積で表せなかったら、その量子状態はもつれている。

2量子ビットの場合は状態ベクトルの外項の積と内項の積が同じだったらもつれていないという計算が成り立つらしい。原理を理解できていないので、これは今後の課題。