量子コンピュータの基本 - 混合状態と密度行列

## :shield: この記事の目的

量子コンピュータが動作するとき、量子ビットの保持している状態(ビットの値)を**量子状態**と言います。量子状態は、特定の値のみを保持している状態(**純粋状態**)と様々な状態が混在している状態(**混合状態**)とに分けられます。
この記事では、純粋状態と混合状態を確率的に説明する方法と、その際の観測量や期待値について解説します。

## :shield: 純粋状態と混合状態

冒頭でも説明しましたが、量子状態がある特定の量子状態のみで構成されている場合を純粋状態と呼びます。例えば、全ての量子ビットが$|0〉$である場合や、全ての量子ビットが$|1〉$である場合、また、全ての量子状態がアダマール状態($\frac{1}{\sqrt{2}}(|0〉+|1〉)$)の場合も純粋状態です。
これを図に示すと以下のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/fc8dcd2a-7ed5-071a-c76b-76cc0414088d.png)
一方、混同状態とは、異なる量子状態が混在している状態を言います。
同様にこれを図に示すと以下のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/d9b62c0d-b7ea-a715-c8f8-6c30cd6366d6.png)

## :shield: 混合状態と密度行列

混合状態ですが、何がどのくらい混合されているのか漠然としていては状態の把握や理解ができません。そこで、混合状態を統計的な観点から記述する方法を考えます。ここで用いるものが**密度行列**です。

ある純粋状態について、状態を表す振幅ベクトルを$\alpha$とし、その内容を以下とします。

```math
\mathbf{\alpha}=(\alpha_1,\alpha_2,...,\alpha_N)^T
```

密度行列($\rho$)は以下のように定義します。

```math
\rho=\mathbf{\alpha}\mathbf{\alpha}^\dagger\quad(式1)
```

(式1)を展開すると、

```math
\begin{align}
\rho&=\mathbf{\alpha}\mathbf{\alpha}^\dagger \\
&=\begin{pmatrix} \alpha_1 \\ \alpha_2 \\ ... \\ \alpha_N \end{pmatrix}
\begin{pmatrix} \alpha_1^* & \alpha_2^* & ... & \alpha_N^* \end{pmatrix} \\
&=\begin{pmatrix} |\alpha_1|^2 & \alpha_1\alpha_2^* & ... & \alpha_1\alpha_N^* \\ \alpha_2\alpha_1^* & |\alpha_2|^2 & ... & \alpha_2\alpha_N^* \\ & & \ddots & \\ \alpha_N\alpha_1^* & \alpha_N\alpha_2^* & ... & |\alpha_N|^2 \end{pmatrix}\quad(式2)
\end{align}
```

また混合状態の場合について、上記の系(量子状態)$\mathbf{\alpha}$に加え、系(量子状態)$\mathbf{\beta}$が混在しているとします。
$\mathbf{\alpha}$と同様に$\mathbf{\beta}$を以下とします。

```math
\mathbf{\beta}=(\beta_1,\beta_2,...,\beta_N)^T
```

混合状態では、系$\alpha$と系$\beta$をそれぞれ確率$p_1$、$p_2$で結合させて記述します。

```math
\begin{align}
\rho&=p_1\mathbf{\alpha}\mathbf{\alpha}^\dagger + p_2\mathbf{\beta}\mathbf{\beta}^\dagger\\
&=\begin{pmatrix} p_1|\alpha_1|^2 + p_2|\beta_1|^2 & p_1\alpha_1\alpha_2^* + p_2\beta_1\beta_2^* \\ p_1\alpha_2\alpha_1^* + p_2\beta_2\beta_1^* & p_1|\alpha_2|^2 + p_2|\beta_2|^2 \end{pmatrix}\quad(式3)
\end{align}
```

## :shield: 密度行列とトレース

密度行列に対する**トレース**(対角成分の和)について見てみます。
トレースは常に1になりますが、このことについて、2行x2列の密度行列を例にして確認しましょう。

まず、純粋状態について3つの事例を確認します。

#####<純粋状態 事例1>

ディラック表記を用いて、ある純粋状態$|\psi_1〉$を以下とします。

```math
|\psi_1〉=|0〉
```

密度行列は以下となります。

```math
\begin{align}
\rho&=|\psi_1〉〈\psi_1|\\
&=|0〉〈0|\\
&=\begin{pmatrix} 1 \\ 0 \end{pmatrix}\begin{pmatrix} 1 & 0 \end{pmatrix}\\
&=\begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} \quad(式4)
\end{align}
```

トレースtr($\rho$)は1+0=1より、1となります。

#####<純粋状態 事例2>

同様に、ある純粋状態$|\psi_2〉$を以下とします。

```math
|\psi_2〉=|1〉
```

密度行列は以下となります。

```math
\begin{align}
\rho&=|\psi_2〉〈\psi_2|\\
&=|1〉〈1|\\
&=\begin{pmatrix} 0 \\ 1 \end{pmatrix}\begin{pmatrix} 0 & 1 \end{pmatrix}\\
&=\begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix} \quad(式5)
\end{align}
```

トレースtr($\rho$)は0+1=1より、1となります。

#####<純粋状態 事例3>

純粋状態$|\psi_3〉$を以下のようなアダマール状態とします。

```math
|\psi_3〉= \frac{1}{\sqrt{2}}(|0〉+|1〉)
```

密度行列は以下となります。

```math
\begin{align}
\rho&=|\psi_3〉〈\psi_3|\\
&=\frac{1}{\sqrt{2}}(|0〉+|1〉)\frac{1}{\sqrt{2}}(〈0|+〈1|)\\
&=\frac{1}{2}\Big(|0〉〈0|+|0〉〈1|+|1〉〈0|+|1〉〈1|\Big)\\
&=\frac{1}{2}\bigg(\begin{pmatrix} 1 \\ 0 \end{pmatrix}\begin{pmatrix} 1 & 0 \end{pmatrix} + \begin{pmatrix} 1 \\ 0 \end{pmatrix}\begin{pmatrix} 0 & 1 \end{pmatrix} + \begin{pmatrix} 0 \\ 1 \end{pmatrix}\begin{pmatrix} 1 & 0 \end{pmatrix} + \begin{pmatrix} 0 \\ 1 \end{pmatrix}\begin{pmatrix} 0 & 1 \end{pmatrix}\bigg)\\
&=\frac{1}{2}\begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}
\end{align}
```

これも同様に、トレースtr($\rho$)は(1+1)/2より、1となります。
以上で純粋状態の場合のトレースの確認ができました。

次に、混合状態の場合を確認します。
(式3)を引用しますが、ここでは複数の量子状態について、iをインデックスとして$|\psi_i〉$と書き表すことにします。
密度行列$\rho$は以下となります。

```math
\rho=\sum_{i}{}p_i|\psi_i〉〈\psi_i|\quad(式6)
```

異なる2つの量子状態を以下とします。

```math
|\psi_1〉=|0〉\\
|\psi_2〉=|1〉
```

ここで、それぞれの状態の確率を$p_1$、$p_2$とします。
$p_1$及び$p_2$は確率原則から以下を満たします。

```math
p_1+p_2=1 \quad(式7)
```

(式6)を展開すると、

```math
\begin{align}
\rho&=p_1|\psi_1〉〈\psi_1| + p_2|\psi_2〉〈\psi_2|\\
&=p_1|0〉〈0|+p_2|1〉〈1|\\
&=p_1\begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} + p_2\begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}\\
&=\begin{pmatrix} p_1 & 0 \\ 0 & p_2 \end{pmatrix} \quad(式8)
\end{align}
```

(式8)についてトレースを取ると、$p_1+p_2$となります。
$p_1+p_2$はそれぞれの状態の確率を足した値なので、(式7)から1となります。

よって、混合状態の場合においても密度行列のトレースは1となります。


## :shield: トレースと観測量、その期待値

量子系(物理系)においては、観測量Oの期待値を求めることは、トレースを求めることと同じ意味となります。以下のようにトレースを算出します。

```math
<O>=tr\{\rho O\}\quad(式9)
```

(式6)を代入すると、期待値(式9)は以下となります。

```math
<O> = tr\{\Big(\sum_{i}^{}p_i|\psi_i〉〈\psi_i|\Big)O\}\quad(式10)
```

ここで、以下の公理を使用します。

>ディラック表記でのトレース操作は、ブラケット内の式を全ての直交基底で挟んで以下のように書ける。

```math
tr\{X\} = \sum_{i}^{}〈e_i|X|e_i〉\quad(式11)
```

上記の直交基底が何かを解説します。
直交基底は互いに直交するペクトルの集合です。

ある一つの直交基底を$|e_i〉$とします。
別の直交基底を$|e_j〉$とします。

$|e_i〉$と$|e_j〉$は直交するので、以下が成立します。$\delta$はクロネッカーのデルタです。

```math
〈e_i|e_j〉=\delta_{ij}
```

(式11)を(式10)に適用します。

```math
<O>=\sum_{j}^{}〈e_j|\Big(\sum_{i}^{}p_i|\psi_i〉〈\psi_i|\Big)O|e_j〉
```

$\sum_{i}^{}$を外へ出します。

```math
<O>=\sum_{j}^{}\sum_{i}^{}〈e_j|p_i|\psi_i〉〈\psi_i|O|e_j〉
```

計算順序を入れ替えます。

```math
<O>=\sum_{j}^{}\sum_{i}^{}〈\psi_i|O|e_j〉〈e_j|p_i|\psi_i〉
```

ここで、以下の完全性を利用します。

```math
\sum_{i}^{}|e_i〉〈e_i| = I
```

上記$I$は単位行列です。
代入すると、

```math
\begin{align}
<O>&=\sum_{i}^{}〈\psi_i|OIp_i|\psi_i〉\\
&=\sum_{i}^{}〈\psi_i|Op_i|\psi_i〉\\
&=\sum_{i}^{}〈\psi_i|p_iO|\psi_i〉\quad(式12)
\end{align}
```

期待値Oは(式12)のように求めることができます。


## :shield: 関連情報

:paperclip: 量子コンピュータの基本 - 量子状態(物理状態)と観測量
https://qiita.com/ttabata/items/71ac0efb8f181871cdcc


## :shield: ご意見など

ご意見、間違い訂正などございましたらお寄せ下さい。