量子情報に関する備忘録

$$
\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}}
\def\ketround#1{\mathinner{\left|{\,#1\,}\right)}}
$$

# はじめに
量子コンピュータ関連の勉強をしているので、備忘録を兼ねていろいろ書き残しておく。随時更新予定。

# 量子力学のおさらい
量子力学の基本的な部分を押えておく。

## シュレーディンガー方程式
量子力学的な系は（時間依存）シュレーディンガー方程式に従う。

```math
i \hbar \frac{\partial}{\partial t} \ket{\psi (t)} = H \ket{\psi (t)}
```
ハミルトニアンが時間に依存しない場合には、解は形式的に

```math
\ket{\psi (t)} = e^{-\frac{i}{\hbar}Ht } \ket{\psi (t = 0)} \equiv e^{-\frac{i}{\hbar}Ht } \ket{\psi} 
```
と書ける。$\ket{\psi (t=0)} \equiv \ket{\psi}$は、

```math
H \ket{\psi} = E \ket{\psi}, \quad E = const.
```
となり、固有値問題に帰着する。$\hat{U}(t) \equiv e^{-\frac{i}{\hbar}Ht}$は時間発展演算子と呼ばれる。

## 固有関数と物理量
固有値問題

```math
H \ket{\psi} = E \ket{\psi}
```
の固有関数$\phi _{i}$は、異なる固有値を持つ状態同士は直交する[^2]。したがって、

```math
\braket{\phi _{m}}{\phi _{n}} = \delta _{m, n}
```
である。ただし、$\delta _{m, n}$はクロネッカーのデルタである。

```math
\delta _{m, n} = \left\{ \begin{array}{c}
1 & (m = n) \\
0 & (m \neq n)
\end{array}
\right.
```

## 重ね合わせの原理
時間発展演算子$\hat{U}$が線形であることから、重ね合わせの原理が成立する。$\phi_{1}(t)$および$\phi_{2}(t)$がともにシュレーディンガー方程式の解であるとする。各状態に対応する固有値が$E_{i}$と書ける場合、

```math
\ket{\phi _{i} (t)} = e^{-\frac{i}{\hbar} E_{i}t} \ket{\phi _{i}}
```
である。ここで、重ね合わせ状態$\psi$を定義する。

```math
\ket{\psi (t)} = \alpha \ket{\phi _{1}(t)} + \beta \ket{\phi _{2}(t)} 
```
シュレーディンガー方程式の左辺に代入すると、

```math
\begin{align}
i \hbar \frac{\partial}{\partial t} \ket{\psi (t)} 
&= i \hbar \frac{\partial}{\partial t} \left( \alpha \ket{\phi _{1}(t)} + \beta \ket{\phi _{2}(t)} \right) \\
&= i \hbar \alpha \ket{\phi _{1}} \frac{\partial}{\partial t} e^{-\frac{i}{\hbar} E_{1}t}
+  i \hbar \beta \ket{\phi _{2}} \frac{\partial}{\partial t} e^{-\frac{i}{\hbar} E_{2}t} \\
&= \alpha E_{1} e^{-\frac{i}{\hbar} E_{1}t} \ket{\phi _{1}} + \alpha E_{2} e^{-\frac{i}{\hbar} E_{2}t}\ket{\phi _{2}} 
\end{align}
```
を得る。一方、シュレーディンガー方程式の右辺は、

```math
\begin{align}
H \ket{\psi (t)} &= H \left( \alpha e^{-\frac{i}{\hbar} E_{1}t} \ket{\phi _{1}} + \beta e^{-\frac{i}{\hbar} E_{2}t} \ket{\phi _{2}} \right) \\
&= \alpha E_{1} e^{-\frac{i}{\hbar} E_{1}t} \ket{\phi _{1}} 
+ \beta E_{2} e^{-\frac{i}{\hbar} E_{2}t} \ket{\phi _{2}} \\
\end{align}
```

と展開できる。以上から、異なる状態同士を足し合わせた状態もまたシュレーディンガー方程式の解であり、重ね合わせの原理が成立する。

# 量子情報
量子コンピュータについて勉強する上で必要な内容をまとめる。

## 量子ビット
量子コンピュータで扱うデータは、量子ビット（quantum bit: q-bit）によって表現される。量子ビットも（古典的な）ビット同様に、0と1のいずれかの値を取る。1量子ビット状態を、以下の2次元ベクトルで定義する[^1]。

```math
\ket{0} = \left( \begin{array}{c}
1 \\
0
\end{array}
\right), \, 
\ket{1} = \left( \begin{array}{c}
0 \\
1
\end{array}
\right)
```
2つの状態がシュレーディンガー方程式の固有関数であり、以下の固有値に対応すると仮定する。

```math
H \ket{0} = E_{0} \ket{0}, \quad H \ket{1} = E_{1} \ket{1}
```
このとき、重ね合わせの原理から、以下で定義される状態$\psi$はシュレーディンガー方程式の解である。

```math
\ket{\psi (t)} = \alpha e^{-\frac{i}{\hbar} E_{0}t} \ket{0} + \beta e^{-\frac{i}{\hbar} E_{0}t} \ket{1}
 \equiv p_{0}(t) \ket{0} + p_{1}(t) \ket{1}
```
2状態は固有関数であるため、以下が成立する。

```math
\begin{align}
\braket{0}{0} &= \braket{1}{1} = 1, \\
\braket{0}{1} &= \braket{1}{0} = 0
\end{align}
```

時刻$t$において、状態$\ket{x}$が観測される確率を$P(x)$と表現すると、

```math
P(x, t) = \left| p_{x} \ket{x} \braket{x}{\psi (t)} \right| ^{2}
```
と書けるので、

```math
P(0, t) = \left| p_{0}(t) \right| ^{2} = \left| \alpha \right|^{2}, \quad P(1, t) = \left| p_{1}(t) \right| ^{2} = \left| \beta \right|^{2}
```
を得る。各状態が観測される確率の総和は$1$になることが要請されるので、

```math
\left| \alpha \right| ^{2} + \left| \beta \right| ^{2}  = 1
```
でなければならない。$\alpha$および$\beta$は複素数である。

## 2量子ビット状態
2つの量子ビットが存在する状態を記述する。2量子ビット状態を、以下のように定義する。

```math
\ket{x, y} \equiv \ket {x} \otimes \ket{y}
```

```math
\begin{align}
\ket{0, 0} &= \ket{0} \otimes \ket{0} = \left( \begin{array}{c}
1 \\
0
\end{array} \right) \otimes \left( \begin{array}{c}
1 \\
0
\end{array} \right) = \left( \begin{array}{c}
1 \\
0 \\
0 \\
0
\end{array} \right) \\
\ket{0, 1} &= \ket{0} \otimes \ket{1} = \left( \begin{array}{c}
1 \\
0
\end{array} \right) \otimes \left( \begin{array}{c}
0 \\
1
\end{array} \right) = \left( \begin{array}{c}
0 \\
1 \\
0 \\
0
\end{array} \right) \\
\ket{1, 0} &= \ket{1} \otimes \ket{0} = \left( \begin{array}{c}
0 \\
1
\end{array} \right) \otimes \left( \begin{array}{c}
1 \\
0
\end{array} \right) = \left( \begin{array}{c}
0 \\
0 \\
1 \\
0
\end{array} \right) \\
\ket{1, 1} &= \ket{1} \otimes \ket{1} = \left( \begin{array}{c}
0 \\
1
\end{array} \right) \otimes \left( \begin{array}{c}
0 \\
1
\end{array} \right) = \left( \begin{array}{c}
0 \\
0 \\
0 \\
1
\end{array} \right) 
\end{align}
```

古典的なコンピュータでは、２ビットで0から3の値を表現できる。これに倣って、量子コンピュータでも同様に２量子ビットを使って0から3の値を表現できる。$j \in \\{ 0, 1, 2, 3 \\}$の状態$\phi_{j}$を、以下のように定義する。

```math
\begin{align}
\ket{\phi _{0}} &\equiv \ket{0, 0} = \ket{0} \otimes \ket{0} \\
\ket{\phi _{1}} &\equiv \ket{0, 1} = \ket{0} \otimes \ket{1} \\
\ket{\phi _{2}} &\equiv \ket{1, 0} = \ket{1} \otimes \ket{0} \\
\ket{\phi _{3}} &\equiv \ket{1, 1} = \ket{1} \otimes \ket{1} \\
\end{align}
```

量子コンピュータが威力を発揮するのは、上記のような異なる値を取る状態の重ね合わせを同時に表現できることにある。１量子ビット状態の重ね合わせ状態$(\ket{0} + \ket{1})/\sqrt{2}$の直積を取る。

```math
\begin{align}
\frac{\ket{0} + \ket{1}}{\sqrt{2}} \otimes \frac{\ket{0} + \ket{1}}{\sqrt{2}}
&= \frac{1}{2} \left( \ket{0} \otimes \ket{0} + \ket{0} \otimes \ket{1} + \ket{1} \otimes \ket{0} + \ket{1} \otimes \ket{1} \right) \\
&= \frac{1}{2} \sum _{j = 0} ^{3} \ket{\phi _{j}}
\end{align}
```
この結果は一般化できて、$n$量子ビット状態について以下が成り立つ。

```math
\prod _{i = 1} ^{n} \otimes \frac{\ket{0} + \ket{1}}{\sqrt{2}} = \frac{1}{\sqrt{2^{n}}} \sum _{j = 0} ^{2^{n} - 1} \ket{\phi _{j}}
```

すなわち、$n$量子ビット状態で表現できる$2^{n}$個の状態を、重ね合わせによって同時に表現できる。古典的なコンピュータでは、各ビットは決まった値しか取れないために、複数の異なるデータを扱うためには、そのデータの数だけビットを用意しなければならない。$n$ビットで表現できるすべてのデータを用意するには、$N_{c}(n) = n \times 2^{n}$個のビットが必要になる。$n=2$であれば、$2$ビットで表現できる4つの異なるデータを用意するために、$N_{c}(2) = 2 \times 2^{2} = 8$ビットが必要になる。一方、量子コンピュータでは複数の状態の重ね合わせを作ることができるため、$N_{c} = n$ビットあればよい。必要なビット数の比を取ると、

```math
Ratio = \frac{N_{q}}{N_{c}} = \frac{n}{n \times 2^{n}} = 2^{-n}
```
となるため、ビット数が増えると指数関数的に比が減少する。

[^1]: ベクトルの表現はただ1つに定まるわけではない。0と1のベクトルの定義を入れ替えても何ら問題はないが、このように定義されることが多い。
[^2]: シュレーディンガー方程式の解はヒルベルト空間内に属し、状態間に内積が定義される。