---
# System prepended metadata

title: Density
tags: [基礎教學文章]

---

# 補充：密度矩陣（Density Matrix）
本篇開始以後的內容並不影響你後續理解[量子演算法](https://www.entangletech.tw/courses/algorithm)，所以列為補充單元，你可以選擇繼續閱讀，或是直接跳過都可以。對於未來想要深入研究量子計算或是想做量子計算相關研究工作（像是 open quantum system 研究），那這篇會是重要的基礎知識，如果當下讀不懂也沒關係，可以等之後學了幾本量子力學概念後再回來研讀。

## 前情提要

接下來的內容會涉及到量子力學，因此我們會在內容開始之前先給個簡要的量子力學概念，先記得結果再往下閱讀，如果讀者很在意以下式子的由來，可以閱讀量子力學（因為目前我們尚未撰寫量子力學教學文章）。

### 機率
雖然我們花很很多章節說明 qubit 測量後觀測到各種狀態的機率是多少，但我們很少把這過程寫成更數學的形式，考量 [qubit 的量子態](https://www.entangletech.tw/lesson/basic-algorithm-07)，你可以很自然地寫下：

\begin{align}\tag{1}
|\psi\rangle = \alpha|0\rangle+\beta |1\rangle
\end{align}

當我們想知道觀測後看到 $|0\rangle$ 的機率，即 $P(|0\rangle)$，我們可以寫作：

\begin{align}
P(|0\rangle)&=|\langle 0|\psi\rangle|^2 \\
&=|\langle 0|(\alpha|0\rangle+\beta |1\rangle)|^2\\
&=|\alpha(\underbrace{\langle 0|0\rangle}_{=1}+\beta\underbrace{\langle 0|1\rangle)}_{=0}|^2\\
&=|\alpha|^2
\end{align}

也可以寫成更 general 的形式：

\begin{align}\tag{2}
P(|n\rangle)=|\langle n|\psi\rangle|^2
\end{align}

我們把它展開會變成

\begin{align}
P(|n\rangle)&=\langle n|\psi\rangle\langle\psi|n\rangle\\
&=\langle n|P_{\psi}|n\rangle
\end{align}

這邊我們定義了 projector operator（投影算符） $P_{\psi}=|\psi\rangle\langle\psi|$，這會與這篇要介紹的內容有關。

### 期望值
統計上的用詞，將每個數字出現的機率乘上該數字，並加總起來。以骰子為例，我們把每次投出來的點數記錄下來，長期下來，這些點數的平均就會是這骰子點數的期望值（expection value）：

\begin{align}
\frac{1}{6}(1+2+3+4+5+6)=3.5
\end{align}

### 觀測量
在入門系列中，我們提過在量子世界裡，所有性質的出現都帶有[機率](https://www.entangletech.tw/lesson/popular-03)性質，比方說粒子出現的位置，粒子帶有的動量，乃至 qubit 的狀態。常常我們想要知道這性質（位置、動量，或能量等）幾乎出現在哪裡，這時候就需要引入期望值，某個位置（或其他性質）乘上該位置出現的機率，寫成數學形式為：

\begin{align}
\langle x\rangle=\int \psi^* \hat{x} \psi dx = \langle\psi|\hat{x}|\psi\rangle
\end{align}

$\hat{x}$ 是位置算符（operator），$\psi$ 就是粒子波函數（wave function）。對於任何觀測量（observable）$\hat{O}$（像是動量 $\hat{p}$、能量 $\hat{H}$）的期望值就寫作：

\begin{align}\tag{3}
\langle O \rangle=\langle\psi|\hat{O}|\psi\rangle
\end{align}

我們來說明為什麼會是如此，期望值的定義是該狀態 $q_i$ 乘上該狀態出現的機率 $P(q_i)$：

\begin{align}
\langle O\rangle&=\sum_i q_i P(q_i)\\
&=\sum_i q_i |\langle q_i|\psi\rangle|^2 \space\text{由（2）式}\\
&=\sum_i q_i \langle\psi|q_i\rangle\langle q_i|\psi\rangle \\
&=\langle \psi|(\sum_i q_i|q_i\rangle\langle q_i|)|\psi\rangle\\
\end{align}

在量子力學中，observable 會是 [Hermitian](https://www.entangletech.tw/lesson/math-07)，說明他會有時數 eigenvalue $q_i$ 與 orthogonality 的 eigenvector $|q_i\rangle$ ：

\begin{align}
\hat{O}|q_i\rangle=q_i|q_i\rangle
\end{align}

代回去得到

\begin{align}
&=\langle \psi|(\sum_i \hat{O}|q_i\rangle\langle q_i|)|\psi\rangle\\
&=\langle \psi|( \hat{O}\underbrace{\sum_i|q_i\rangle\langle q_i|}_{=I})|\psi\rangle\\
&=\langle\psi|\hat{O}|\psi\rangle
\end{align}


得證。現在我們對（3）式插入單位矩陣 $I=\sum_n|n\rangle\langle n|$ 會得到

\begin{align}
\langle O \rangle&=\langle\psi|\hat{O}|\psi\rangle\\
&=\sum_n \langle\psi|\hat{O}|n\rangle\langle n|\psi\rangle \\
&=\sum_n \langle n\underbrace{|\psi\rangle\langle\psi|}_{=P_{\psi}}\hat{O}|n\rangle \\
&=\sum_n \langle n|P_{\psi}\hat{O}|n\rangle \tag{4}
\end{align}

最後一行我們用到剛剛介紹的 $P_{\psi}=|\psi\rangle\langle\psi|$，（3）式中 $P_{\psi}\hat{O}$ 項是一個矩陣，把一個矩陣對角線上的元素相加的數學操作稱作 "Trace"，記做 $\mathrm{Tr}$，即 

\begin{align}
\mathrm{Tr}(M)=\sum_n \langle n|M|n\rangle
\end{align}

比方說

\begin{align}
\mathrm{Tr}(
\begin{bmatrix}
1 & 0 \\
0 & 1 \\
\end{bmatrix}
)=1+1=2
\end{align}

利用這式子代回（4）式可以得到

\begin{align}
\langle O\rangle=\mathrm{Tr}(P_{\psi}\hat{O})
\end{align}

可以發現 $P_{\psi}$ 不僅能幫我們算機率，也能幫助我們算期望值，他記錄了 $|\psi\rangle$ 的所有資訊。



## 純態與混合態

在前面的章節裡，我們介紹的量子態 $|\psi\rangle$，都是我們已經對這系統（或說 qubits）有完整的了解，可以把各種可能的狀態與機率幅寫下來，這種量子態我們稱作純態（pure state），像是一個 qubit 處於疊加態：
 
\begin{align}\tag{5}
|\psi\rangle=\frac{1}{\sqrt 2} (|0\rangle+|1\rangle)
\end{align}

然而，在現實中，系統往往更為複雜，我們常常是完全不知道這系統會是處於什麼狀態，使得我們難以單純地用 $|\psi\rangle$ 描述這系統的狀態。像是一個 qubits 有 50% 的機率處於 $|0\rangle$，另外 50% 機率處於 $|1\rangle$：

\begin{align}\tag{6}
\text{50% } |0\rangle + \text{50% } |1\rangle
\end{align}

這與處於疊加態的 qubit（即（5）式） 不同，雖然第一次測量時，兩者都有 50% 機率會得到 $|0\rangle$，另外 50% 得到 $|1\rangle$，然而，第二次測量（實驗重做）時，兩者的行為不同：前者波函數塌縮， 50% 是 $|0\rangle$，另外 50% 機率會是 $|1\rangle$；後者就不會是了，後者是 qubit 本來就處於其中一種狀態，只是你不知道是哪一種，兩種出現的機率都是 50%，但第一次測量後你就知道他是 0 還是 1，所以第二次測量後你有 100% 的把握確認他會是 0 還是 1（忽略實驗誤差）。

另外在不同 basis 下[測量](https://www.entangletech.tw/lesson/basic-algorithm-15)也會得到不同的結果，前者在 $X$-basis 下測量，會得到 100% 處於 $|+\rangle$，對於後者第一次測量依然 50% 會是 $|+\rangle$，另外 50% 會是 $|-\rangle$，因為你根本不知道它處於什麼狀態。

像後者這種包含古典機率（50%）又有量子機率幅（這次的舉例沒有提到）的狀態，難以用單一的 $|\psi\rangle$ 描述，這種狀態我們稱之為混合態（mixed state）。

## Density Matrix（純態）

為了解決這問題，我們有必要找到一個新的數學語言描述混合態，von Neumann 和 Landau 獨立提出了 density matrix，他的樣子跟前面提到的 $P_{\psi}$ 很像，為了方便起見，我們先從最熟悉的純態開始。

純態的 density matrix 定義為：

\begin{align}
\rho=|\psi\rangle\langle\psi|
\end{align}

那（1）式的 density matrix 會是：

\begin{align}
\rho&=|\psi\rangle\langle\psi|\\
&=(\alpha|0\rangle+\beta|1\rangle)(\alpha^*\langle0|+\beta^*\langle 1|) \\
&=|\alpha|^2 |0\rangle\langle0|+\alpha \beta^* |0\rangle\langle1|+\beta\alpha^* |1\rangle\langle0|+|\beta|^2 |1\rangle\langle 1|
\end{align}


將上式全部展開會又臭又長，所以我們以第一項做例子．剩下三項讀者可以輕易地在紙上算出來：

\begin{align}
|\alpha|^2|0\rangle\langle 0|&=|\alpha|^2 
\begin{bmatrix}
1 \\
0
\end{bmatrix}
\begin{bmatrix}
1 & 0
\end{bmatrix} \\
&=
|\alpha|^2 
\begin{bmatrix}
1 \begin{bmatrix}
1 & 0
\end{bmatrix}\\
0  \begin{bmatrix}
1 & 0
\end{bmatrix}
\end{bmatrix} \\
&=
\begin{bmatrix}
|\alpha|^2 & 0 \\
0 & 0
\end{bmatrix}
\end{align}

所以 $\rho$ 全部展開後會是如此：

\begin{align}\tag{7}
\rho = 
\begin{bmatrix}
|\alpha|^2 & \alpha\beta^* \\
\beta\alpha^* & |\beta|^2
\end{bmatrix}
\end{align}

一個簡單的矩陣就記錄了各個狀態出現的機率。

<blockquote>
非對角元素反應了 coherence，不是本篇重點
</blockquote>
    
假設我們想知道觀測到 $|0\rangle$ 的機率，可以這樣算：

\begin{align}
\langle 0|\rho|0\rangle=\langle 0|\psi\rangle\langle \psi|0\rangle=|\langle0|\psi\rangle|^2=|\alpha|^2
\end{align}

以前面純態（5）式為例：

\begin{align}
\rho&=\frac{1}{\sqrt 2}(|0\rangle+|1\rangle)\frac{1}{\sqrt 2} (\langle0|+\langle 1|) \\
&=\frac{1}{2}(|0\rangle\langle0|+|0\rangle\langle1|+|1\rangle\langle 0|+|1\rangle\langle 1|)\\
&=\frac{1}{2}
\begin{bmatrix}
1 & 1 \\
1 & 1
\end{bmatrix}
\end{align}

## Density Matrix 的性質（純態）

Density matrix 會有以下四個性質：

### Hermiticity

$\rho$ 是 [Hermitian](https://www.entangletech.tw/lesson/math-07) 矩陣：

\begin{align}
\rho^\dagger&=(|\psi\rangle\langle\psi|)^\dagger \\
&=(\langle\psi|)^\dagger(|\psi\rangle)^\dagger \\
&=|\psi\rangle\langle\psi| \\
&=\rho
\end{align}

### Positivity

前面我們知道 $\rho$ 是 Hermitian 矩陣，其 [eigenvalue](https://www.entangletech.tw/lesson/math-08) $\lambda$ 為實數，找一個 [orthogonality](https://www.entangletech.tw/lesson/math-04) 的狀態向量 $|\phi\rangle$，不一定得是 $|\psi\rangle$：

\begin{align}
\rho|\phi\rangle=\lambda|\phi\rangle
\end{align}

因此：

\begin{align}
\langle\phi|\rho|\phi\rangle=\langle\phi|\lambda|\phi\rangle=\lambda\langle\phi|\phi\rangle=\lambda
\end{align}

然後：

\begin{align}
\langle\phi|\rho|\phi\rangle=\langle\phi|\psi\rangle\langle\psi|\phi\rangle=|\langle\phi|\psi\rangle|^2=\lambda\geq0
\end{align}

說明 $\rho$ 的 eigenvalue $\lambda$ 會是大於等於 $0$，因為這邊的 eigenvalue 與機率有關，表示機率不會是負數。

### Projector
$\rho$ 的平方還是自己 $\rho$：

\begin{align}
\rho^2&=(|\psi\rangle\langle\psi|)(|\psi\rangle\langle\psi|) \\
&=|\psi\rangle\langle\psi|\psi\rangle\langle\psi| \\
&=|\psi\rangle\langle\psi| \\
&=\rho
\end{align}

### Normalization
$\rho$ 矩陣對角線上的元素總合起來是 $1$，以（7）式的矩陣，對角線上的元素加起來是

\begin{align}
|\alpha|^2+|\beta|^2=1
\end{align}

對於某個矩陣 $A$，對角線上的元素相加起來，數學可以寫成這樣：

\begin{align}
\mathrm{Tr}(A)=\sum_n \langle n|A|n\rangle=A_{nn}
\end{align}

因此 $\rho$ 矩陣的對角線元素相加總和為：

\begin{align}
\mathrm{Tr}(\rho)&=\sum_n \langle n|\rho|n\rangle\\
&=\sum_n\langle n|\psi\rangle\langle\psi|n\rangle \\
&=\sum_n |\langle n|\psi\rangle|^2\\
&=\sum_n P(n)\\
&=1
\end{align}

同樣地，因為 $\rho=\rho^2$，所以

\begin{align}
\mathrm{Tr}{\rho^2}=1
\end{align}

這會是分辨純態與混合態的關鍵。

## Density Matrix（混合態）

據前面我們對混合態的範例（6），可以推論混合態是多個純態以古典機率混合的狀態，因此，其 density matrix $\rho^{\text{pure}}_i$ 是每個純態的 $\rho_i$ 乘上其出現的機率 $p_i$，加總起來：

\begin{align}\tag{8}
\rho=\sum_i p_i \rho^{\text{pure}}_i=\sum_i p_i |\psi_i\rangle\langle\psi_i|
\end{align}

對於純態，就是當 $i=j$ 時，$p_j=1$（即 100%），其他 $i\neq j$，$p_i=0$。對於混合態，測量後觀測到 $|0\rangle$ 的機率理應上是每種狀態出現 $|0\rangle$ 的機率做加權：

\begin{align}
\langle 0|\rho|0\rangle&=\langle0|(\sum_i p_i |\psi_i\rangle\langle \psi_i)|0\rangle \\
&=\sum_i p_i \langle0|\psi_i\rangle\langle \psi_i |0\rangle \\
&=\sum_ip_i |\langle0|\psi_i\rangle|^2
\end{align}

以前面混合態（6）為例：

\begin{align}
\rho&=\frac{1}{2}|0\rangle\langle0|+\frac{1}{2}|1\rangle\langle1|\\
&=\frac{1}{2}
\begin{bmatrix}
1 & 0 \\
0 & 1 \\
\end{bmatrix}
\end{align}

有沒有發現，這跟前面疊加態的 density matrix 不一樣。

## Density Matrix 的性質（混合態）

### Hermiticity

$\rho$ 是 [Hermitian](https://www.entangletech.tw/lesson/math-07) 矩陣：

\begin{align}
\rho^\dagger&=(\sum_ip_i|\psi_i\rangle\langle\psi_i|)^\dagger \\
&=\sum_i p_i (|\psi_i\rangle\langle\psi_i|)^\dagger \\
&=\sum_ip_i|\psi_i\rangle\langle\psi_i| \\
&=\rho
\end{align}

因為 $\rho$ 是 Hermitian 矩陣，為了後面推導方便，我們可以把（8）式轉成 eigenvalue $\lambda_i$ 與 eigenvector：[orthonormal basis](https://www.entangletech.tw/lesson/math-05) $|i\rangle$ 的組合，這操作就是 "Spectral decomposition"：

\begin{align}\tag{9}
\rho=\sum_i\lambda_i|i\rangle\langle i|，\text{其中 }\sum_i\lambda_i=1
\end{align}

這樣的矩陣會是對角化矩陣，即只有對角線上的數字可以不為 $0$，其他都是 $0$，這樣方便計算很多。

<div style="background-color: #E0E0E0; color: #333; padding: 15px; font-style: italic; border-radius: 5px;">
    <p>這邊看不懂的話，也沒關係，後面的推導都把 $\lambda_i$ 當作 $p_i$，|i\rangle\langle i| 都當作 |psi_i\rangle\langle\psi_i|，這種方法不太嚴謹，因為 $|\psi_i\rangle$ 互相不一定 orthogonality，所以得假設它 orthogonality 才成立
    </p>
</div>

### Positivity
同理混合態 $\rho$ 的 eigenvalue 大於等於 $0$：

\begin{align}
\langle\phi|\rho|\phi\rangle=\sum_i p_i\langle\phi|\psi_i\rangle\langle\psi_i|\phi\rangle=\sum_ip_i|\langle\psi_i|\phi\rangle|^2\geq0
\end{align}

### Normalization

對 $\rho$ 對角線上的元素加總起來也會是 $1$（Normalization）：

\begin{align}
\mathrm{Tr}(\rho)&=\sum_n \langle n|\rho|n\rangle \\
&=\sum_n \sum_i p_i \langle n|\psi_i\rangle\langle\psi_i|n\rangle \\
&=\sum_n\sum_i p_i |\langle n|\psi_i\rangle|^2\\
&=\sum_i p_i (\sum_n|\langle n|\psi_i\rangle|^2)\\
&=\sum_i p_i\cdot1\\
&=1
\end{align}

### No projector
前面三個性質都跟純態一樣，接下來就開始不一樣，這也是分辨純態與混合態的關鍵，首先就是 $\rho$ 的平方不等於自己（no projector）：

\begin{align}
\rho^2&= (\sum_i \lambda_i |i\rangle\langle i|)(\sum_j \lambda_j |j\rangle\langle j|)\\
&=\sum_i\sum_j \lambda_i\lambda_j |i\rangle\langle i|j\rangle\langle j| \\
&=\sum_i\sum_j \lambda_i\lambda_j |i\rangle\delta_{ij}\langle j| 
\end{align}

其中 $\delta_{ij}$ 是 Kronecker delta 符號，當 $i=j$ 時，$\delta_{ij}=1$，若不是則為 $0$。接著我們對 $j$ 做加總，因為當 $i\neq j$ 時，$\delta_{ij}=0$，因此只剩下 $i=j$ 的項：

\begin{align}
&=\sum_i \lambda_i^2 |i \rangle\langle i|\neq\rho
\end{align}

所以對於混合態：

\begin{align}
\rho^2\neq\rho
\end{align}

### Purity 

那當然對 $\rho$ 對角線元素相加也不會是 $1$：

\begin{align}
\mathrm{Tr}(\rho^2)&=\sum_n \langle n|\sum_i\sum_j \lambda_i\lambda_j |i\rangle\langle i|j\rangle\langle j|n\rangle \\
&=\sum_i\sum_j \lambda_i\lambda_j \langle i|j\rangle \langle j|\underbrace{\sum_n |n\rangle\langle n}_{=1}|i\rangle \\
&=\sum_i\sum_j \lambda_i\lambda_j |\langle i|j\rangle|^2 \\
&=\sum_i \lambda_i^2 
\end{align}

最後我們 利用 Cauchy–Schwarz inequality 得到：

\begin{align}
\sum_i \lambda_i^2 <\sum_i \lambda_i=1
\end{align}

如果你無法接受筆者隨便給的 inequality 來糊弄你的話，可以看附錄。或是你也可以這樣想，我們知道 $0\leq\lambda_i\leq1$，兩邊都乘上 $\lambda_i$，所以 $0\leq\lambda_i^2\leq\lambda_i$，因此 $\sum_i \lambda_i^2\leq \sum_i \lambda_i$。我們可以利用這樣的性質來判斷一個狀態是純態還是混合態，就看 $\mathrm{Tr}(\rho^2)$ 是不是 $1$，因此我們會把 $\mathrm{Tr}(\rho^2)$ 稱作 "Purity"（純度），看這系統有多 "純"。

現在我們知道 purity 最大值是 $1$，那最小值呢？$0$ 嗎？由於這會用到凸性性質，超出我們的範圍，所以這邊就直接給答案，如果系統的 Hilbert space（下一章會提及）是 $D$ 維空間（$n$ 個 qubits，$D=2^n$），那 purity 最小值是 $\frac{1}{D}$，處在這情況的系統，每個狀態的機率都相等，這種狀態我們稱作最大混合態（maximally mixed state）。

<div style="text-align: center;margin-top: 20px;">
    <img src="https://hackmd.io/_uploads/Hk7hxisJeg.svg" alt="Pure and mixed state" width="60%"/>
    <br>
    <p>對應到 Bloch sphere，純態存在球的表現上，混合態是在球內，最大混合態落在球體的中心點
    </p>
</div>

## Reduced Density Operators

很多時候我們只關心系統的一小部分（比方說環境與 quibt，或是多個 [entangled](https://www.entangletech.tw/lesson/basic-algorithm-12) 的 qubits），而非整個系統，這時候就得用到 Paul Diral 在 1930 年提出的 [reduced density operator](https://www.cambridge.org/core/journals/mathematical-proceedings-of-the-cambridge-philosophical-society/article/note-on-exchange-phenomena-in-the-thomas-atom/6C5FF7297CD96F49A8B8E9E3EA50E412) 來幫助我們專注在感興趣的子系統，忽略其他部分。

我們先考慮比較簡單的系統，兩個 qubit A 和 B 各自獨立，之間沒有 entanglement，所以他們的量子態為：

\begin{align}
|\psi_{AB}\rangle=|\psi_A\rangle\otimes|\psi_B\rangle=|\psi_A\rangle|\psi_B\rangle
\end{align}


那他們的 $\rho$ 則為：

\begin{align}
\rho_{AB}&=|\psi_{AB}\rangle\langle \psi_{AB}| \\
&=|\psi_A\rangle|\psi_B\rangle\langle\psi_B|\psi_A|
\end{align}

今天我們不關心 qubit B 只在意 qubit A，我們該如何把 B 的資訊抹去，只留下 A 的資訊。在數學上，我們需要對 qubit B 做 $\mathrm{Tr}$，這種數學操作我們稱作 partial trace ：

\begin{align}
\mathrm{Tr}_B(\rho_{AB})&=\mathrm{Tr}_B(|\psi_A\rangle\langle\psi_A|\otimes|\psi_B\rangle\langle\psi_B|)\\
&=|\psi_A\rangle\langle\psi_A| \space Tr(|\psi_B\rangle\langle\psi_B|)
\end{align}

而我們知道對於純態，$\mathrm{Tr}(|\psi_B\rangle\langle\psi_B|)=1$，因此上式變成：

\begin{align}
\mathrm{Tr}_B(\rho_{AB})=|\psi_A\rangle\langle\psi_A|=\rho_A
\end{align}

我們習慣把上式稱作 reduced density matrix of A。 
### 完整推導

假設有兩個 qubits，A 和 B，A qubit 的 basis 記做 $|i\rangle$，B qubit 則為 $|j\rangle$，他們整個的量子態為：

\begin{align}
|\psi_{AB}\rangle=\sum_i\sum_j c_{ij} |i\rangle\otimes|j\rangle，\text{其中 } \sum_i\sum_j |c_{ij}|^2=1
\end{align}

那這系統的 $\rho$ 就是：

\begin{align}
\rho_{AB}&=|\psi_{AB}\rangle\langle\psi_{AB}|\\
&=(\sum_i\sum_j c_{ij} |i\rangle\otimes|j\rangle)
(\sum_k\sum_l c_{kl}^* \langle k|\otimes\langle l|)\\
&=\sum_i\sum_j\sum_k\sum_l c_{ij}c_{kl}^* (|i\rangle\otimes|j\rangle)(\langle k|\otimes\langle l|)
\end{align}

我們只關注 qubit A，並不關心 qubit B，我們就針對 B 的部分做 trace（partial trace），即：

\begin{align}
\mathrm{Tr}_B(\rho_{AB})=\sum_j \langle j|\rho_{AB}|j\rangle
\end{align}

代入上式得到：

\begin{align}
\mathrm{Tr}_B(\rho_{AB})&=\sum_j \langle j|[
\sum_i\sum_j\sum_k\sum_l c_{ij}c_{kl}^* (|i\rangle\otimes|j\rangle)(\langle k|\otimes\langle l|)
]|j\rangle
\end{align}

如果你覺得上式看起來太嚇人，那就直接跳到範例，知道怎麼用這工具。我們先看其中一項 $\langle j|(|i\rangle\otimes |j\rangle)$：

\begin{align}
\langle j|(|i\rangle\otimes |j\rangle)=\langle j|i\rangle|j\rangle=\langle j|j\rangle|i\rangle=|i\rangle
\end{align}

另一項 $(\langle k|\otimes \langle l|)|j\rangle$（記得 $k$ 和 $j$ 都是 B qubit 的 basis）：

\begin{align}
(\langle k|\otimes \langle l|)|j\rangle=\langle k|\langle l|j\rangle=\delta_{lj} \langle k|
\end{align}

代入得到：

\begin{align}
\langle j|(|i\rangle\otimes |j\rangle)(\langle k|\otimes \langle l|)|j\rangle=|i\rangle\delta_{lj}\langle k|
\end{align}

對 $j$ 做總和：

\begin{align}
\sum_j\langle j|(|i\rangle\otimes |j\rangle)(\langle k|\otimes \langle l|)|j\rangle=\sum_j|i\rangle\delta_{lj}\langle k|=|i\rangle\langle k|\sum_j \delta_{lj} =|i\rangle\langle k|
\end{align}

原式變成

\begin{align}
\mathrm{Tr}_B(\rho_{AB})&=\sum_j \langle j|[
\sum_i\sum_j\sum_k\sum_l c_{ij}c_{kl}^* (|i\rangle\otimes|j\rangle)(\langle k|\otimes\langle l|)
]|j\rangle\\
&=\sum_i\sum_j\sum_k\sum_l c_{ij}c^*_{kl} |i\rangle\langle k|\sum_j\underbrace{\delta_{jj}}_{1}\delta_{lj}\\
&=\sum_i\sum_k\sum_j\sum_l c_{ij}c^*_{kl} |i\rangle\langle k|\delta_{jl}\\
&=\sum_i\sum_k\sum_j c_{ij}c^*_{kl} |i\rangle\langle k| \\
&=\sum_i\sum_k (\sum_j c_{ij}c^*_{kl})|i\rangle\langle k| \\
&=\rho_A
\end{align}

透過 partial trace 的過程，我們可以把 B 的資訊抹去，剩下 A 的資訊。

### 例子

假設今天有兩個 qubits，分別叫 A 與 B，他們處於 Bell state：

\begin{align}
|\psi_{AB}\rangle = \frac{1}{\sqrt 2}(|00\rangle+|11\rangle)
\end{align}

這個系統的 density matrix 為：

\begin{align}
\rho_{AB} &= |\psi_{AB}\rangle\langle\psi_{AB}|\\
&=\frac{1}{2} ( |00\rangle\langle 00|+
 |11\rangle\langle 11|+
|00\rangle\langle 11|+
 |11\rangle\langle 00|) \\
&=
\begin{bmatrix}
\frac{1}{2} & 0 & 0 & \frac{1}{2} \\
0       & 0 & 0 & 0        \\
0       & 0 & 0 & 0        \\
\frac{1}{2} & 0 & 0 & \frac{1}{2}
\end{bmatrix}
\end{align}

<div style="text-align: center;margin-top: 20px;">
    <img src="https://hackmd.io/_uploads/Sk7QZji1ge.svg" alt="Bell density matrix" width="60%"/>
    <br>
    <p>在這個矩陣中，橫軸和縱軸是 qubit A 與 B 的 basis 乘積，以 00 為例，前面的 0 是 qubit A 的 basis，後面的 0 是 qubit B 的
    </p>
</div>

今天我們只關心 qubit A，就把 qubit B "trace"：

\begin{align}
\rho_A &= \mathrm{Tr}_B(\rho_{AB})\\
&=\frac{1}{2} [ 
\mathrm{Tr}_B( |00\rangle\langle 00|)+
\mathrm{Tr}_B( |00\rangle\langle 11|)+
\mathrm{Tr}_B( |11\rangle\langle 00|)+
\mathrm{Tr}_B( |11\rangle\langle 11|)] \\
&=\frac{1}{2}(|0\rangle\langle 0| \underbrace{ \langle 0 | 0 \rangle }_{= 1}+
|0\rangle\langle 1| \underbrace{ \langle 1 | 0 \rangle }_{= 0}+
|1\rangle\langle0| \underbrace{ \langle 1 | 0 \rangle }_{= 0}+
|1\rangle\langle 1|\underbrace{ \langle 1 |1 \rangle }_{= 1}
) \\
&=\frac{1}{2}(|0\rangle\langle 0|+|1\rangle\langle1|) \\
&=\frac{1}{2}
\begin{bmatrix}
1 & 0 \\
0 &1
\end{bmatrix}\tag{10}
\end{align}

<div style="text-align: center;margin-top: 20px;">
    <img src="https://hackmd.io/_uploads/H1e5-sikle.svg" alt="rho A" width="70%"/>
    <br>
    <p>把上面難看的總和圖示化，要把 qubit A 的 density matrix 從中萃取出來就是把屬於 qubit A basis 的數字相加起來
    </p>
</div>

<div style="text-align: center;margin-top: 20px;">
    <img src="https://hackmd.io/_uploads/B1kVMssJel.svg" alt="rho B" width="70%"/>
    <br>
    <p>同樣地，要把 qubit B 的 density matrix 從中萃取出來就是把屬於 qubit B basis 的數字相加起來
    </p>
</div>

這邊有個很有趣的事情發生，系統 AB 是純態（可以自己證明看看），然而我們求得 A 系統是混合態：

\begin{align}
\mathrm{Tr}(\rho_A^2)=\frac{1}{4}\mathrm{Tr}(
\begin{bmatrix}
1 & 0 \\
0 &1
\end{bmatrix}
)=\frac{1}{2}<1
\end{align}

這是量子糾纏的重要特徵，因為 A 與 B entangle，單獨測量 A 會丟掉 B 的資訊，使得 $\rho_A$ 變成 mixed state。

## Entropy

讀過物理科普的讀者應該都聽過亂度或熵（Entropy），在熱力學第二定律中，孤立系統的狀態會朝 entropy 最大的方向演變，entropy 也代表這系統的無序程度，即亂度，entropy 越大代表系統越亂，也代表我們對這系統的狀態有著高度不確定性（可以這樣想，如果所有 qubit 的狀態都一樣，這系統的 entropy 最低，因為你對這系統的狀態完全確定，沒有不確定性）。在資訊理論裡也有 entropy 概念，來量化我們對資訊的不確定程度，或是說「無知」程度。

在資訊科學裡也有多種量化 entropy 的方法，這邊我們介紹最經典的 von Neumann entropy，可以幫助我們了解這系統離純態有多遠。

## von Neumann entropy 

要量化我們對量子系統的資訊有多少不了解，我們得從 $\rho$ 下手，因為 $\rho$ 裡面反映了我們對資訊的了解程度。von Neumann 這樣定義 entropy，記做 $S(\rho)$：

\begin{align}
S(\rho)=-\mathrm{Tr}(\rho\ln{\rho})
\end{align}

<div style="background-color: #E0E0E0; color: #333; padding: 15px; font-style: italic; border-radius: 5px;">
    <p>$\ln$ 就是 \log_{e}，e 是常數。有些教科書會用 $\log$，或是 $\log_2$，都可以
    </p>
</div>

這邊出現了很麻煩的東西，就是如何對 $\rho$ 取對數，為了方便計算，我們得用到前面提及的 spectral decomposition 形式（9），變成一個對角化矩陣。現在我們對其取對數：

\begin{align}
\ln{\rho}=\sum_i \ln \lambda_i|i\rangle\langle i|
\end{align}

然後：

\begin{align}
\rho\ln{\rho}
&=\mathrm{Tr}[(\sum_i \lambda_i|i\rangle\langle i|)(\sum_j \ln{\lambda_j}|j\rangle\langle j|)]\\
&=\sum_i\sum_j \lambda_i\ln{\lambda_j} |i\rangle\underbrace{\langle i|j\rangle}_{\delta_{ij}}\langle j|\\
&=\sum_i\sum_j \lambda_i\ln{\lambda_j }|i\rangle\delta_{ij}\langle j|\\
&=\sum_i \lambda_i \ln{\lambda_i} |i\rangle\langle i|
\end{align}

取 trace 後：

\begin{align}
\mathrm{Tr}(\rho\ln\rho)&=\mathrm{Tr}(\sum_i \lambda_i \ln{\lambda_i} |i\rangle\langle i|)\\
&=\sum_i \lambda_i \ln{\lambda_i} \underbrace{\mathrm{Tr}(|i\rangle\langle i|)}_{=1}\\
&=\sum_i \lambda_i\ln(\lambda_i)
\end{align}

所以

\begin{align}
S(\rho)&=-\mathrm{Tr}(\rho\ln{\rho})=-\sum_i \lambda_i \ln{\lambda_i}
\end{align}

這與古典資訊理論裡的 Shannon entropy 的公式類似。$\lambda_i$ 介於 0 與 1 之間，我們將其作圖得到：

<div style="text-align: center;margin-top: 20px;">
    <img src="https://hackmd.io/_uploads/r10xOqokxl.png" alt="Entropy" width="80%"/>
    <br>
    <p>
    </p>
</div>

從圖中我們知道，當 $\lambda_i\rightarrow 0$ 或 $\lambda_i\rightarrow 1$ 時，$\lambda_i\ln{\lambda_i}$ 接近 0；$S(\rho)$ 在 $\lambda_i=\frac{1}{e}$ 時達 $\lambda_i\ln{\lambda_i}$ 到最大值，表示這邊最亂（或是說「無知」程度最高）。

很合理地，純態，因為我們對其所帶的資訊完全了解，其 entropy 必須是 $0$（純態對應到（）式就代表某個 $\lambda_j=1$，其他都為 $0$）：

\begin{align}
S(\rho)&=-\sum_i \lambda_i \ln{\lambda_i}\\
&=-1\cdot\ln{1}-\sum_{i\neq j}\lambda_i \ln{\lambda_i}\\
&=-1\cdot\ln{1}-\sum_{i\neq j}\underbrace{0 \ln{0}}_{0}\\
&=0
\end{align}

<div style="background-color: #E0E0E0; color: #333; padding: 15px; font-style: italic; border-radius: 5px;">
    <p>$\ln{0}$ 其實沒有定義，用極限（limit）去逼近的話是趨近無限小，面對這種情況得使用 L’Hôpital’s Rule（微積分內容）求得 $0\ln{0}$ 的極限是 $0$
    </p>
</div>

所以我們得知 entropy 最小值為 $0$，entropy 是非負數：

\begin{align}
S(\rho)\geq0
\end{align}

那 entropy 可以到多大呢？你可以用 [Lagrange multiplers](https://cklixx.people.wm.edu/teaching/QC2021/QC-chapter3.pdf) 找出最大值，但這超過我們在這裡會用到的數學範圍，你也可以直接套用我們前面提到 purity 的最大值處在最大混合態，而最大混合態的特性是每個狀態的機率都一樣，所以：

\begin{align}
S(\rho)&=-\sum_i^D \frac{1}{D} \ln{\frac{1}{D}} \\
&=-D\frac{1}{D} \ln{\frac{1}{D}} \\
&=\ln{D}
\end{align}

von Neumann entropy 的其中一個用途是可以量化量子糾纏的強度，如果兩個子系統（像是 qubits）之間沒有糾纏且是純態，兩個子系統的 entropy 都會是 $0$，如果任一子系統，像是 A 系統的 entropy 達到最大值，代表系統處於最大糾纏態（像是 Bell state），數字越大，代表這兩個子系統之間的糾纏強度越強。

回到前面的 Bell state：

\begin{align}
|\psi_{AB}\rangle=\frac{1}{\sqrt 2}(|00\rangle+|11\rangle)
\end{align}

我們知道 qubit A 的 reduced density matrix 是：

\begin{align}
\rho_A=\frac{1}{2}
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}\tag{10}
\end{align}

你可以用之前我們提及的[方法](https://www.entangletech.tw/lesson/math-08)算出這矩陣的 eigenvalue，是 $\lambda_1=\frac{1}{2}, \lambda_2=\frac{1}{2}$，所以 qubit A 的 von Neumann entropy 為：

\begin{align}
S(\rho_A)=-\sum_i \lambda_i \ln{\lambda_i}=-2(\frac{1}{2}\ln{\frac{1}{2}})=\ln{2}\sim{0.693}
\end{align}

對於 qubit A 來說，他的 entropy 最大值為 $\ln{2}$，表示 qubit A 與 B 之間有最大糾纏。

量化無知程度不只有 von Neumann entropy，還有其他許多方法，像是可以量化兩個 $\rho$ 之間距離的 relative entropy、 negativity、mutual information、Rényi entropies 等等，而這也是目前學界的研究議題。

<!---
## Entropy

讀過物理科普的讀者應該當聽過亂度或是熵（Entropy），在熱力學第二定律中，（孤立）系統的 entropy 會隨著時間增加，反映系統的「無序程度」。在統計力學中，entropy 被定義為系統可能狀態數的對數（即亂度），用來量化我們對系統微觀狀態的「不確定性」。在資訊科學中，entropy 這種概念，用於衡量我們對系統的不確定性或「無知」程度，而這「無知」的程度反映在 $\rho$ 裡，如果今天這系統是純態，那這系統的資訊沒有任何不確定性，所以無知的程度是 $0$。

### von Neumann Entropy

von Neumann 提出了一種量化這種無知程度的方法 $S(\rho)$，稱作 von Neumann entropy，其定義如下：

\begin{align}
S(\rho)=-\mathrm{Tr}(\rho\log{\rho})
\end{align}

為了計算這 entropy，我們會需要用到 $\rho$ 的 spectral decomposition，前面我們說明 $\rho=\sum_i p_i|\psi_i\rangle\langle\psi_i|$，但 $|\psi_i\rangle$ 不一定會是 [orthogonality](https://www.entangletech.tw/lesson/math-04)。為了計算 $\log{\rho}$，我們假設 $\rho=\sum_i \lambda_i |i\rangle\langle i|$，其中 $\lambda_i\geq0$ 是 $\rho$ 的 [eigenvalue](https://www.entangletech.tw/lesson/math-08)（且 $\sum_i\lambda_i=1$），$|i\rangle$ 是 [orthogomal basis](https://www.entangletech.tw/lesson/math-05)，那：

\begin{align}
\log{\rho}=\sum_i \log \lambda_i|i\rangle\langle i|
\end{align}

因此

\begin{align}
\rho\log{\rho}&=(\sum_i \lambda_i|i\rangle\langle i|)(\sum_j \log{\lambda_j}|j\rangle\langle j|)\\
&=\sum_i\sum_j \lambda_i\log{\lambda_j} |i\rangle\langle i|j\rangle\langle j|\\
&=\sum_i\sum_j \lambda_i\log{\lambda_j }|i\rangle\delta_{ij}\langle j|\\
&=\sum_i \lambda_i \log{\lambda_i} |i\rangle\langle i|
\end{align}

所以

\begin{align}
S(\rho)&=-\mathrm{Tr}(\rho\log{\rho})=\sum_i \lambda_i \log{\lambda_i} \mathrm{Tr}(|i\rangle\langle i|)\\
&=-\sum_i \lambda_i \log{\lambda_i}
\end{align}

如果今天兩個系統 $S_1,S_2$ 相互獨立，

\begin{align}
\rho_{S_1}=\sum_i p_i |i\rangle\langle i| \\
\rho_{S_2}=\sum_i p_j |j\rangle\langle j|
\end{align}

這兩個系統的 $\rho_S$ 就是個別系統 $\rho$ 的乘積 $\rho_{S_1}\otimes\rho_{S_2}$，那這兩個系統的 entropy 為：

\begin{align}
S(\rho_S)&=-\sum_{i,j}p_ip_j \log{p_ip_j} \\
&=-\sum_{i,j} p_ip_j (\log{p_i}+\log{p_j}) \\
&=-(\sum_i p_i \log{p_i})\sum_jp_j-\sum_i p_i(\sum_j p_j\log{p_j})\\
&=-(\sum_i p_i \log{p_i})-(\sum_j p_j\log{p_j})\\
&=S(\rho_{S_1})+S(\rho_{S_2})
\end{align}

說明不確定性具有加成性。

對於純態，某項 $\lambda_j$ 會是 $1$，其他為 $0$，因此純態的 entropy 為：

\begin{align}
S(\rho)=-1\log{1}-\sum_{i\neq j}0\log{0}=0
\end{align}

其中第二項我們採用慣例 $0\log{0}=0$（也可以通過 $\lim_{x\rightarrow 0^+}x\log{x}=0$ 理解），說明純態的資訊沒有不確定性，無知程度為 0。

<!---
直觀上，如果兩個系統 $S_1$ 與 $S_2$ 相互獨立，那這兩個系統的總無知程度應該會是個別系統的無知程度做相加。現在我們記系統 $S_1$ 的 density matrix 是 $\rho_{S_1}$，系統 $S_2$ 則為 $\rho_{S_2}$，由於兩系統互相獨立，所以整體 density matrix 就是兩者的 $\rho$ 做相乘：

\begin{align}
\rho_S=\rho_{S_1}\otimes \rho_{S_2}
\end{align}

又因為滿足無知的程度可以相加，我們定義與 $\rho$ 相關的無知算法為：


\begin{align}
-\log{\rho}
\end{align}

不難驗證他有相加關係：

\begin{align}
-\log{\rho}=-\log{\rho_{S_1}\rho_{S_2}}=-\log{\rho_{S_1}}-\log{\rho_{S_2}}
\end{align}

如果 $\rho$ 是純態時，$\rho$ 可以寫成：

\begin{align}
\rho=1\cdot |\psi_i\rangle\langle \psi_i|+\sum_{j\neq i} 0\cdot |\psi_j\rangle\langle \psi_j|
\end{align}

其中 $|i\rangle$ 是其他的 basis vectors。計算其無知程度，理應會是 $0$：

\begin{align}
-\log{\rho}&=-\log(1)\cdot |\psi_i\rangle\langle \psi_i|-\sum_{i\neq j} \log(0)\cdot |\psi_j\rangle\langle \psi_j|\\
&= 0 \cdot |\psi_i\rangle\langle \psi_i| - \sum \log 0\cdot|\psi_j\rangle\langle \psi_j| \\
&=0
\end{align}

第二行 $\log{0}$ 趨近於負無限大，這邊可以透過數學上的處理（採用慣例 $0\log{0}=0$ 和 $\lim_{x\rightarrow 0^+}\log{x}=0$）。

我們從 $\rho$ 的定義我們知道：

\begin{align}
\rho |\psi_j\rangle &= \sum_i p_i |\psi_i\rangle\langle \psi_i|\psi_j\rangle  \\
&=p_j|\psi_j\rangle\langle \psi_j|\psi_j\rangle  \\
&=p_j|\psi_j\rangle
\end{align}

從中可以看到 $p_j$ 是 $\rho$ 的 eigenvalue，$|\psi_j\rangle$ 則為 eigenvector。同理：

\begin{align}
-\log{\rho} |\psi_i\rangle=-\log{p_i} |\psi_i\rangle
\end{align}

這代表測量結果會是 $-\log{p_i}$ 的機率為 $p_i$，所以他的期望值會是：

\begin{align}
\langle-\log{\rho}\rangle=\sum_i p_i(-\log{p_i})=-\sum_i p_i \log{p_i}=S(\rho) 
\end{align}

這就是 von Neumann entropy 的定義。我們也可以寫成

\begin{align}
S(\rho)&=\mathrm{Tr}(\rho \log{\rho})\\
&=\mathrm{Tr} (\sum_{i,j} p_i |i\rangle\langle i|\log{p_j}|j\rangle\langle j|) \\
&=\mathrm{Tr} (\sum_{i,j}p_i \log{p_j} |i\rangle\langle i|j\rangle\langle j|) \\
&=\mathrm{Tr}  (\sum_{i,j} p_i \log{p_j} |i\rangle \delta_{ij}\langle j|) \\
&=\mathrm{Tr} (\sum_i p_i\log{p_i} |i\rangle\langle i|)\\
&=\sum_i p_i \log{p_i} \mathrm{Tr} (|i\rangle\langle i|)\\
&=\sum_i p_i \log{p_i}
\end{align}


當我們對這系統的資訊完全了解時，$S(\rho)$ 會是 0，反之會是比 0 大的數字：

\begin{align}
S(\rho) \geq 0
\end{align}


### von Neumann Entropy 的最大值

假設今天有 $n$ 個 qubits（$2^n$-dimension Hillbert space），$n$ 個 qubits 的 density matrix 會是 $2^n\times 2^n$ 的矩陣（為簡單起便，我們暫且稱 $2^n=D$），所以：

\begin{align}
\rho=\sum_{i=1}^D p_i |\psi_i\rangle\langle \psi_i|
\end{align}

當系統狀態處於所有可能狀態的均勻分佈時（即 $p_i=\frac{1}{D}$），我們稱這系統是「最大混合態」，這系統的 density matrix 為：

\begin{align}
\rho=\frac{I^{D\times D}}{D}
\end{align}

其中 $I$ 是 $D\times D$ 單位矩陣。其 entropy 為：

\begin{align}
S(\rho)&=S(\frac{I}{D})=-\sum_{i=1}^D (\frac{1}{D}\log{\frac{1}{D}}) \\
&=-D\cdot \frac{1}{D}\log{\frac{1}{D}} \\
&=\log{D}
\end{align}

這是 entropy 的最大值。對於任意 $\rho$，有

\begin{align}
S(\rho)\leq \log{D}
\end{align}

<blockquote>
    上面關係是，實際要透過凹性性質證明
</blockquote>

在最大混合態時等號成立。

### 評估糾纏強度

von Neumann entropy 的其中一個用途是量化量子糾纏的強度，如果兩個子系統（像是 qubits）之間沒有糾纏且是純態，兩個子系統的 entropy 都會是 $0$，如果任一子系統，像是 A 系統的 entropy 達到最大值，代表系統處於最大糾纏態（像是 Bell state），數字越大，代表這兩個子系統之間的糾纏強度越強。

量化無知程度不只有 von Neumann entropy，還有其他許多方法，像是 relative entropy 和 negativity 等等，而這也是目前學界的研究議題。
--->
## 附錄

我們使用 Cauchy–Schwarz inequality 證明 $\sum_i \lambda^2_i\leq1$ 並找到其界限。從 Cauchy–Schwarz inequality 我們得知

\begin{align}
(\sum_{i=1}^n x_i y_i)&\leq (\sum_i^N x_i^2) (\sum_i^N y_i^2) 
\end{align}

設 $x_i=\lambda_i$，$y_i=1$，則：

\begin{align}
(\sum_i \lambda_i \cdot1)^2 &\leq (\sum_i \lambda_i^2)(\sum_i 1^2) \\
1&\leq (\sum_i \lambda_i^2)N \\
\end{align}

因此

\begin{align}
\sum_i \lambda_i^2 \geq \frac{1}{N}
\end{align}

接著我們要來看他的上界與下界是多少。對於純態，某個 $\lambda_j$ 會是 $1$，其他 $\lambda_i(i\neq j)$ 都會是 $0$，所以

\begin{align}
\sum_i \lambda^2_i=1^2+0+\cdots=1
\end{align}

對於最大混合態，每個狀態出現的機率都均勻，即 $\lambda_i=\frac{1}{N}$，則：

\begin{align}
\sum_i^N \lambda^2_i=\sum_i^N (\frac{1}{N})^2=N\cdot \frac{1}{N^2}=\frac{1}{N}
\end{align}

因此 $\sum_i \lambda_i^2$ 的範圍介於 $[\frac{1}{N},1]$，其中 $\frac{1}{N}$ 對應最最大混合態，$1$ 對應純態。當 $N$ 趨近於無限大時，下界 $\frac{1}{D}$ 趨近於 $0$，$\sum_i \lambda_i^2$ 趨近於 $0$，所以 $\sum_i \lambda_i^2$ 會介在 $0$～$1$ 之間。