---
# System prepended metadata

title: 11 Qubits（上）
tags: [量子演算法（上）, 基礎教學文章]

---

# 多個量子位元（上）
在前幾節，我們學習了如何用數學表示一個 qubit 的狀態，以及對單個 qubit 做 quantum gate 操作。這一節，我們將近一步探討如何用數學描述多個 qubits 的狀態，並討論如何對多個 qubit 做 gate 操作。

## Tensor product
當今天有多個 qubits 時，通常會使用 [tensor product](https://www.entangletech.tw/lesson/math-06) $\otimes$ 描述他們的狀態，例如，如果我們有兩個 qubits，且它們都處於 $|0\rangle$ 的狀態

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/rJ8d9XP3A.svg" 
         alt="2 qubits with 0" width="30%"/>
    <br>兩個 qubits（藍點），狀態都是 0
    <p>
    </p>
</div>

它們的狀態可以表示為：

\begin{split}
|0\rangle \otimes |0\rangle
\end{split}

為了簡潔與方便，通常會簡寫成這樣：

\begin{split}
|0\rangle|0\rangle \space\text{或}\space |00\rangle
\end{split}

假設我們有兩個 qubits，分別叫 $Q_1$ 和 $Q_2$，它們都處於疊加態：

\begin{split}
Q_1=\alpha_1 |0\rangle+\beta_1|1\rangle \\
Q_2=\alpha_2 |0\rangle+\beta_2|1\rangle
\end{split}

那它們的狀態可以表示為：

\begin{split}
Q_1 \otimes Q_2&=(\alpha_1 |0\rangle+\beta_1|1\rangle)\otimes (\alpha_2 |0\rangle+\beta_2|1\rangle) \\
&=\alpha_1\alpha_2|00\rangle+\alpha_1\beta_1|01\rangle+\beta_1\alpha_2|10\rangle+\beta_1\beta_2|11\rangle \\
&=c_0|00\rangle+c_1|01\rangle+c_2|10\rangle+c_3|11\rangle
\end{split}

在最後一行中，為了讓書寫變得簡潔，將機率幅換成其他符號。當我們對這兩個 qubits 做測量時，看到狀態 $|00\rangle$ 的機率是 $|c_0|^2$，看到 $|01\rangle$ 的機率是 $|c_1|^2$，以此類推。所有可能狀態的機率總和必須等於 1：

\begin{split}
|c_0|^2+|c_1|^2+|c_2|^2+|c_3|^2=1
\end{split}

如這兩個 qubits，第一個是 1，第二個是 0，便可以表示為 $|10\rangle$

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/SkRjc7DhR.svg" 
         alt="2 qubits with 10" width="30%"/>
    <br>
    <p>
    </p>
</div>

這換成十進位就是數字 $2$，所以也可以改寫成

\begin{split}
|10\rangle=|2\rangle
\end{split}

## 如何用矩陣表示多個 qubits
在量子計算的數學基礎中，我們提到可以透過 tensor product 將多個 qubits 的資訊以一個矩陣做表達。比方說，有兩個 qubits 都為 0 的時候，我們需要用兩個矩陣表達他們的狀態 

\begin{split}
|00\rangle=|0\rangle |0\rangle=|0\rangle \otimes |0\rangle=
\begin{bmatrix}
1 \\
0
\end{bmatrix} \otimes
\begin{bmatrix}
1 \\
0
\end{bmatrix}
\end{split}

利用 tensor product，能用一個矩陣表達這兩個 qubits 的狀態

\begin{split}
|00\rangle=
\begin{bmatrix}
1 \\
0
\end{bmatrix} \otimes
\begin{bmatrix}
1 \\
0
\end{bmatrix}=
\begin{bmatrix}
1 
\begin{bmatrix}
1 \\
0
\end{bmatrix} \\
0
\begin{bmatrix}
1 \\
0
\end{bmatrix}
\end{bmatrix}
=\begin{bmatrix}
1 \\
0 \\
0 \\
0 
\end{bmatrix}
\end{split}

同理，
\begin{split}
|01\rangle=
\begin{bmatrix}
0 \\
1 \\
0 \\
0
\end{bmatrix} \\
|10\rangle=
\begin{bmatrix}
0 \\
0 \\
1 \\
0
\end{bmatrix} \\
|11\rangle=
\begin{bmatrix}
0 \\
0 \\
0 \\
1
\end{bmatrix}
\end{split}

處於疊加態的兩個 qubits 的狀態可以改寫成

\begin{split}
Q_1 \otimes Q_2&=c_0|00\rangle+c_1|01\rangle+c_2|10\rangle+c_3|11\rangle \\
&=
\begin{bmatrix}
c_0 \\
c_1 \\
c_2 \\
c_3 
\end{bmatrix}
\end{split}

以一個矩陣表示兩個 qubits 狀態的原因將會在多 qubits quantum gate 揭曉。

## 測量 qubits 狀態
假設有兩個 qubits，$Q_1$ 和 $Q_2$

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/ryrWs7whR.svg" 
         alt="2 qubits, Q1 and Q2" width="30%"/>
    <br>有兩個 qubits，左邊的叫 Q1，右邊的叫 Q2
    <p>
    </p>
</div>

他們的狀態是

\begin{split}
|Q_1Q_2\rangle=\frac{1}{\sqrt{2}}|00\rangle+\frac{1}{2}|01\rangle+\frac{\sqrt{3}}{4}|10\rangle+\frac{1}{4}|11\rangle
\end{split}

如果我們對兩個 qubits **同時**測量，看到 $|00\rangle$ 的機率是 $\frac{1}{2}$，$|01\rangle$ 的機率是 $\frac{1}{4}$...以此類推。

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/ByorimPnR.svg" 
         alt="2 qubits, measure together" width="60%"/>
    <br>如果今天對 Q1 與 Q2 同時做測量（黑色框框即為測量之意），並重複測量 1000 次，看到 00 的次數有 500 次（即 50%），看到 01 的次數有 250 次（即 25% 機率）...以此類推
    <p>
    </p>
</div>

但如果改先測量 $Q_1$，再測量 $Q_2$，情況會如何呢？先測量 $Q_1$，得到 $|0\rangle$ 的機率為：

\begin{split}
|\frac{1}{\sqrt{2}}|^2+|\frac{1}{2}|^2=\frac{3}{4}
\end{split}

得到 $Q_1$ 為 $|1\rangle$ 的機率為：

\begin{split}
|\frac{\sqrt{3}}{4}|^2+|\frac{1}{4}|^2=\frac{1}{4}
\end{split}

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/SkfJn7P3C.svg" 
         alt="2 qubits, Q1 and Q2" width="60%"/>
    <br>先測量 Q1 qubits，重複測量 1000 次，其中有 750 次得到的結果是 0，250 次是 1
    <p>
    </p>
</div>

若 $Q_1$ 測量到 $|0\rangle$，這時候 $Q_2$ 的狀態會變成：

\begin{split}
|Q_1Q_2\rangle=A(\frac{1}{\sqrt{2}}|00\rangle+\frac{1}{2}|01\rangle)
\end{split}

其中 $A$ 是一個我們還不知道是多少的常數（稱作 normalization constant）。從中我們知道 $Q_2$ 測量後看到是 $|0\rangle$ 的機率是 $\frac{1}{2}A^2$，$|1\rangle$ 的機率為 $\frac{1}{4}A^2$，我們又知道 $Q_2$ 出現 0 與 1 的機率總和一定是 1，因此：

\begin{split}
\frac{1}{2}A^2+\frac{1}{4}A^2&=1 \\
\frac{3}{4}A^2 &= 1 \\
A&=\frac{2}{\sqrt{3}}
\end{split}

將 $A$ 代回去得到

\begin{split}
|Q_1Q_2\rangle=\sqrt{\frac{2}{3}}|00\rangle+\frac{1}{\sqrt{3}}|01\rangle)
\end{split}

這時候再測量 $Q_2$，得到 $|0\rangle$ 的機率為 $\frac{2}{3}$，$|1\rangle$ 則為 $\frac{1}{3}$。我們來算算看當 $Q_1$ 為 $|0\rangle$ 且 $Q_2$ 為 $|1\rangle$ 的機率是多少：

\begin{split}
P(|00\rangle)=P(|0\rangle_1)P(|0\rangle_2)=\frac{3}{4}\frac{2}{3}=\frac{1}{2}
\end{split}

<blockquote>
上面這式子的意思是，最後得到 00 結果的機率是，先測量 Q1 後得到 0 的機率，與後測量 Q2 後得到 0 的機率做相乘
</blockquote>

剛好與兩個 qubits 一起做測量後看到是 $|00\rangle$ 的機率是一樣的。其他種狀態可以試著在紙上自己動手算，你會發現，兩個 qubits 一起測量和分開測量，得到各狀態的機率是一樣的。