量子運算中的向量和矩陣
一些熟悉線性代數對於瞭解量子運算至關重要。 本文介紹線性代數的基本概念,以及如何在量子運算中使用向量和矩陣。
向量
數據行向量,或維度 v 的向$量(或 size) $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}$ 的狀態會描述為 b \end{bmatrix}$的量子狀態向量$\begin{bmatrix}\\,其中 $|a|^2 + |b|^2 = 1。$ 如需詳細資訊,請參閱 量子位。
純量產品
兩個向量可以乘以純量乘積,也稱為點乘積或內部乘積。 顧名思義,兩個向量純量乘積的結果是純量。 純量乘積會將一個向量投影到另一個向量,並用來將一個向量表示為其他更簡單向量的總和。 兩個數據行向量 u 和 v 之間的純量$乘積表示為 $\left\langle u、v=\right\rangle u^\dagger v$,並定義為$ $$
$$\left\langleu, v\right\rangle= u^\dagger v=\begin{bmatrix}u_1^* & \cdots&放大器;u_n^* v_1\\ \vdots\\ v_n \end{bmatrix}= u_1^* \end{bmatrix}\begin{bmatrix}v_1 + \cdots u_n^* v_n。 $$
透過純量乘積,向量 $v$ 的常態可以撰寫為 $\sqrt{\langle v、 v\rangle}$。
您可以將向量乘以數位 $a,以形成新向量,其專案乘以$$ 。$ 您也可以新增兩個向量 u 和 v,以形成新的向量$,其專案是 u$ 和 v$ 專案$的總和。$ $$$ 這些作業如下:
$$\mathrm{如果 u u_1 u_2 \vdots u_n 和 v\\ v_1 v_2 \vdots\\ \end{bmatrix}\\ v_n ,~\mathrm{則}~ au+bv =\begin{bmatrix} au_1+bv_1 au_2+\\bv_2\\ \vdots\\ au_n+bv_n =\begin{bmatrix}\\\\}~\\ =\begin{bmatrix}}~ \end{bmatrix}~\mathrm{\end{bmatrix}$$
矩陣
大小 m n 的矩陣是 m\cdot n$ 複數的集合$,以 $m$ 列和 $n$ 個數據行排列,如下所示:$ \times $
$M =\begin{bmatrix} M_{~~{11} M_{12}~~~~\cdots M_{1n M_ M_{22}{\cdots~~{~~ M_2n}\\{~~}\\{21}\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 的矩陣 M$ 和維度 $$n p$ 的矩陣 $$N$ \times 相乘,以取得維度 $m \times p$ 的新矩陣 $P$,如下所示:$\times
$$\begin{\begin{align}&放大器;\begin{bmatrix}M_{{12}\cdots{~~~~~~{11} M_ M_1n M_ M_ M_{2n}\\{21}~~\cdots{{~~~~}\\{22}\ddots\\ M_{m1{~~{~~}\cdots~~} M_m2 M_mn{11}\end{bmatrix}~~~~~~\begin{bmatrix}{}{12}{\cdots N_ N_ N_1p N_ N_ N_2p}\\~~{22}{21}{}\\\cdots{\ddots\\{~~~~ N_n1}{~~ N_n2}~~~~\cdots N_np\end{bmatrix}=\begin{bmatrix}} P_ P_{{{11}~~{12}~~\cdots~~{P_1p}\\ P_~~{21}{ P_{~~~~\cdots{22} P_2p}\\\ddots\\ P_{m1~~} P_{m2}~~~~\cdots P_mp{{}\end{bmatrix}\end{align}$$
其中 P 的專案$為 $P_{ik\sum}=_j M_{ij}N_{jk。}$$ 例如,專案$P_是 M$ 第一個數據列的純量乘積,第一個數據行$為 $N${11}$。 請注意,由於向量只是矩陣的特殊案例,因此此定義會延伸至矩陣向量乘法。
特殊類型的矩陣
一個特殊的平方矩陣是標識矩陣,表示\mathbb{I}$$\mathbb{,其所有對角線元素都$等於 1$,其餘元素等於 $0$:
$\mathbb{\mathbb{I}=\begin{bmatrix}1 ~~ 0 0\cdots~~~~ 0 ~~\\ 1~~ ~~\cdots0\ddots\\\\~~ 0 ~~ 0\cdots~~~~ 1 。\end{bmatrix}$
對於平方矩陣 $A,如果$AB = BA=\mathbb{I}$\mathbb{,矩陣 $B$ 是反轉矩陣。$ 如果矩陣 $A$ 有反轉,反矩陣是唯一的,而且會寫入為 $A^{-1}$。
對於任何矩陣 $M,M$$ 的相鄰或串連轉置$是矩陣 $N$,$因此N_{ij=} M_{ji}^*$。 M 的$相鄰表示 $M^\dagger$。$
如果 UU^ U^ U^=\dagger U =\mathbb{I}$ 或\dagger相等$的 U^ U^\dagger${-1}{=,矩陣 $U$ 是單位 U。$ 一元矩陣的一個重要屬性是它們會保留向量的常態。 這是因為
$\langlev,v\rangle=^ v^ =\dagger v^\dagger{-1} U=^ U v^\dagger U^\dagger U =\langle v v, U v.\rangle$
注意
量子運算是以單一矩陣表示,這些矩陣是正方形矩陣,其相鄰的矩陣等於其反向矩陣。
如果 $M^\dagger$,=矩陣 $M$ 稱為 Hermitian。
在量子運算中,基本上只有兩個矩陣,您遇到的矩陣是:赫米蒂安和單一矩陣。
Tensor 產品
另一個重要的作業是 張量乘積,也稱為 矩陣直接產品 或 克朗克產品。
請考慮兩個向量 $v=\begin{bmatrix}a \\ b \end{bmatrix}$ 和 $u =\begin{bmatrix} c \\ d \end{bmatrix}$。 其張量乘積會表示為 $v \otimes u$ ,併產生區塊矩陣。
$$\begin{bmatrix}a \\ b \end{bmatrix}\begin{bmatrix}\otimesc \\ d \end{bmatrix}=\begin{bmatrix} a \begin{bmatrix} c \\ d \end{bmatrix}\\[1.5em] b \begin{bmatrix} c \\ d\begin{bmatrix}=\end{bmatrix}\end{bmatrix} a c \\ a d b c d \\ \\\end{bmatrix}$$
注意
請注意,張量乘法與矩陣乘法不同,這是完全不同的運算。
張量乘積用來表示多個量子位的合併狀態。 量子運算的真正能力來自於利用多個量子位來執行計算。 如需詳細資訊,請參閱 多個量子位上的作業。
兩個平方矩陣 $M$ 和$ $n\times n$ 大小的$張量乘積是較大的矩陣 $P=M\otimes N$ 大小 $n^2 \times n^2$。 例如:
$$\begin{bmatrix}a\ b \\ c\ d \end{bmatrix}\otimes\begin{bmatrix} e\ f\\ g\ h\begin{bmatrix}=\end{bmatrix} a\begin{bmatrix} e\ f\\ g\ h \end{bmatrix} b\begin{bmatrix} e\ f\\ g\ h\\\end{bmatrix} [1em] c\begin{bmatrix} e\ f g\ h d\begin{bmatrix} e\ f\\\\ g\ h\end{bmatrix}\end{bmatrix}\begin{bmatrix} \end{bmatrix}=ae\ af\ be\ bf \\ ag\ ah\ bg\ bh \\ ce\ cf\ de\ df \\ cg\ ch\ dg\ dh .\end{bmatrix} $$
Eigenvalues 和 eigenvectors
請考慮平方矩陣 $M$ 和向量 $v$。 如果$某些數位 $c$ 的 Mv = cv$,向量 $v$ 是 M$ 的$特徵值。 整數 $c$ 是對應至 eigenvector $v$ 的 eigenvalue。
一般而言,矩陣 $M$ 可能會將向量轉換成任何其他向量。 特徵函式很特殊,因為它未變更,除了乘以數位。 如果 $v$ 是具有 eigenvalue c$ 的 eigenvector,則 $av$ 也是具有相同 eigenvalue $的任何非零 $$a 的 eigenvector。 例如,針對識別矩陣,每個向量 $v$ 都是具有 eigenvalue $1$ 的 eigenvector。
另一個範例是,請考慮對角矩陣 D$,該矩陣$在對角線上只有非零個專案:
$$\begin{bmatrix}d_1 & 0 & 0 0 \\ & d_2 & 0 \\ 0 amp; 0 && d_3 \end{bmatrix}。 $$
向量
$$\begin{bmatrix}1 \\ 0 0,0 \\ \begin{bmatrix}\end{bmatrix}\\ 1 \\ 0\end{bmatrix}\text{和}\begin{bmatrix}0 0 1 \\ \\\end{bmatrix}$$
是這個矩陣的 eigenvectors,分別具有 eigenvalues $d_1$、 $d_2$ 和 $d_3$。 如果d_1、d_2和d_3$是相異的數位,則這些向量(及其$倍數)是唯一矩陣 D$ 的$特徵值。$$$$
一般而言,對於對角矩陣,很容易閱讀 eigenvalues 和 eigenvectors。 eigenvalues 是出現在對角線上的所有數位,而其各自的特徵值是單位向量,其中一個專案等於 $1$ ,其餘專案等於 $0$。
請注意,在範例中,D 的 $eigenvector 會形成 3$ 維向量的基礎$。$ 基礎是一組向量,讓任何向量都可以寫入為它們的線性組合。 更明確地說,$如果任何向量 $v$ 可以撰寫為 $v=a_1 v_1 + a_2 v_2 +$ a_3 v_3,某些數位$$a_1、$a_2和a_3,v_1$$$$、$v_2$和$v_3會形成基礎。$