共用方式為


量子運算中的向量和矩陣

一些熟悉線性代數對於瞭解量子運算至關重要。 本文介紹線性代數的基本概念,以及如何在量子運算中使用向量和矩陣。

向量

列向量,也稱為向量 v 的維度(或大小)n,是 n 個複數的集合 (v_1, v_2, \ldots, v_n) ,排列為一列:

$$v =\begin{bmatrix} v_1\\ v_2\\ \vdots\\ v_n \end{bmatrix}$$

向量 $v 的常態定義為 $\sqrt{\sum_i v_i||^2}$$。 當向量的範數為 1 時,我們稱其為單位向量。

列向量$v$的伴隨向量是表示為$v^\dagger$的行向量,並定義為$v$的共軛轉置。 對於維度為 $n$ 的數據列向量 $v$,其伴隨向量是維度 $1 \times n$ 的數據行向量。

$$\begin{bmatrix}v_1 \ \vdots \ v_n \end{bmatrix}^\dagger=\begin{bmatrix}v_1^* & \cdots& v_n^* \end{bmatrix}$$

其中 $v_i^*$ 表示 $v_i$的共軛複數。

使用線性代數,量子位的狀態 $\psi= a \ket{0} + b \ket{1}$ 被描述為 量子狀態向量$\begin{bmatrix} a \ b \end{bmatrix}$,其中 $|a|^2 + |b|^2 = 1$。 如需詳細資訊,請參閱 量子位

純量產品

兩個向量可以乘以純量乘積,也稱為點乘積內部乘積 顧名思義,兩個向量純量乘積的結果是純量。 純量乘積會將一個向量投影到另一個向量,並用來將一個向量表示為其他更簡單向量的總和。 兩個列向量 u 和 v 的內積表示為 ⟨u, v⟩ = u^† v,並定義為

$$\langle u, v \rangle = u^\dagger v = \begin{bmatrix} u_1^* & \cdots & u_n^* \end{bmatrix} \begin{bmatrix} v_1 \\ \vdots \\ v_n \end{bmatrix} = u_1^* v_1 + \cdots + u_n^* v_n.$$ $$

透過純量乘積,向量 $v$ 的常態可以撰寫為 $\sqrt{\langle v、 v\rangle}$。

您可以將向量乘以一個數字$a$,以形成新向量,其分量乘以$a$。 您也可以將兩個向量$u$和$v$相加,以形成一個新的向量,其元素是$u$和$v$各元素的總和。 這些作業如下:

$$ au+bv =\begin{bmatrix} au_1+bv_1\\ au_2+bv_2\\ \vdots\\ au_n+bv_n \end{bmatrix}$$

矩陣

大小為m \times n$的矩陣是由$m\cdot n$個複數組成的集合,排列成$m$行和$n$列,如下所示:

$$M =\begin{bmatrix} M_{11} M_{12}\cdots M_{1n}\\ M_{{21} M_{22}\cdots M_{2n}\\\ddots\\ M_{m1} M_{m2}\cdots M_{mn}\\\end{bmatrix}$$

注意

請注意,維度 $n$ 的向量只是大小 $n \times 1$ 的矩陣。

量子運算會以 平方矩陣表示,也就是說,數據列和數據行數目相等。 例如,單一量子位作業會以 $2 \times 2$ 矩陣表示,例如 Pauli $X$ 操作

$$X =\begin{bmatrix} 0 & 1 1 \\& 0 \end{bmatrix}$$

提示

在Q#中,Pauli $X$操作是由X操作表示。

如同向量,您可以將矩陣乘以數字 $c$,以取得新的矩陣,其中每個元素皆乘以 $c$,而且可以將兩個相同大小的矩陣相加,以產生新的矩陣,其元素為兩個矩陣的相應元素之和。

矩陣乘法

您也可以將維度 $m $ n$ 的矩陣 \timesM$ 與維度 $n $ p$ 的矩陣 \timesN$ 相乘,以獲得一個維度 $m $ p$ 的新矩陣 \timesP$,如下所示:

$$ \begin{ \begin{align} &\begin{bmatrix} M_{{11} M_{12}\cdots M_{1n}\\ M_{{21} M_{22}\cdots M_{2n}\\\ddots\\ M_{m1} M_{m2}\cdots M_{mn}\end{bmatrix}\begin{bmatrix} N_{{11} N_{{12}\cdots N_{1p}\\ N_{{21} N_{22}\cdots N_{2p}\\\ddots\\ N_{n1} N_{n2}\cdots N_{np}\end{bmatrix}=\begin{bmatrix} P_{{11} P_{12}\cdots P_{1p}\\ P_{21} P_{{22}\cdots P_{2p}\\\ddots\\ P_{m1} P_{m2}\cdots P_{mp}\end{bmatrix}\end{align}$$

其中$P$的元素是$P_{ik}=\sum_j M_{ij}N_{jk}$。 例如,條目$P_{11}$是$M$的第一行與$N$的第一列的純量積。 請注意,由於向量只是矩陣的特殊案例,因此此定義會延伸至矩陣向量乘法。

特殊類型的矩陣

一個特殊的平方矩陣是單位矩陣,通常表示為 \(\mathbb{I}\),其所有對角線元素均等於 1,其他元素等於 0:

$\mathbb{ \mathbb{I}=\begin{bmatrix} 1 0 \cdots 0\\ 0 1 \cdots 0\\\ddots\\ 0 0 \cdots 1 \end{bmatrix}。$

對於方陣 \(A\),如果 \(AB = BA = \mathbb{I}\),則矩陣 \(B\) 是其逆矩陣。 如果矩陣 $A$ 有逆矩陣,則逆矩陣是唯一的,並表示為 $A^{-1}$。

對於任何矩陣 M,M 的伴隨矩陣或共軛轉置是矩陣 N,使得 N_{ij} = M_{ji}^*。 $M$的伴隨表示為$M^\dagger$。

若矩陣 \( U \) 滿足 \( UU^\dagger = U^\dagger U = \mathbb{I} \),則稱矩陣 \( U \) 為酉矩陣。 一元矩陣的一個重要屬性是它們會保留向量的常態。 這是因為

$\langle v,v \rangle=v^{\dagger} v = v^{\dagger} U^{{-1} U v = v^{\dagger} U^{\dagger} U v =\langle U v,U v\rangle。$

注意

量子運算是以單一矩陣表示,這些矩陣是正方形矩陣,其相鄰的矩陣等於其反向矩陣。

如果矩陣$M$滿足$M= = {\dagger}$M^†,則稱為Hermitian

在量子運算中,基本上只有兩個矩陣,您遇到的矩陣是:赫米蒂安和單一矩陣。

張量積

另一個重要的運算是「張量乘積」,也稱為「矩陣直積」或「克羅內克乘積」。

請考慮兩個向量 $v=\begin{bmatrix}a \\ b \end{bmatrix}$ 和 $u =\begin{bmatrix} c \\ d \end{bmatrix}$。 其張量乘積會表示為 $v \otimes u$ ,並且產生區塊矩陣。

$$ \begin{bmatrix} a \\ b \end{bmatrix}\otimes\begin{bmatrix} c \\ d \end{bmatrix}=\begin{bmatrix} a \begin{bmatrix} c \\ d \end{bmatrix} b \begin{bmatrix} c \\ d \end{bmatrix}\end{bmatrix}=\begin{bmatrix} a c \\ a d \\ b c \\ b d \end{bmatrix}$$

注意

請注意,張量乘法與矩陣乘法不同,這是完全不同的運算。

張量乘積用來表示多個量子位的合併狀態。 量子運算的真正能力來自於利用多個量子位來執行計算。 如需進一步了解,請參閱《多比特運算》。