基本矩陣運算的定義

本文的閱讀等級:初級

德國數學家希爾伯特 (David Hilbert) 說[1]:「一個數學理論不被認為是完整的,直到你可以說得很清楚──你能解釋給第一個在街上相遇的人聽。」長久以來,這個問題一直困擾著許多線性代數初學者:基本矩陣運算,包括矩陣加法、純量乘法以及矩陣乘法,是如何被定義出來的?基本矩陣運算的數學原因既不是商業機密亦非神祕主義,矩陣與其基本運算源自於線性代數的核心運轉機制──線性變換 (或稱線性映射)。定義於有限維向量空間 (譬如,實座標向量空間 \mathbb{R}^2,複座標向量空間 \mathbb{C}^3) 的線性變換可以用矩陣表示,矩陣加法、純量乘法與矩陣乘法分別對應線性變換的加法、純量乘法以及複合 (composition)。換句話說,線性變換涉及的所有計算工作都可以透過矩陣運算實現。有別於一般基礎線性代數教科書直接給出計算公式,本文從線性變換觀點定義基本矩陣運算,並利用此定義證明相關的運算法則。

 
我們用 \mathbb{F} (稱為體或域,field) 代表實數系 \mathbb{R} 或複數系 \mathbb{C} (見“線性代數裡的代數結構”)。設 T:\mathbb{F}^n\to\mathbb{F}^m 為一個從座標向量空間 \mathbb{F}^n 映至 \mathbb{F}^m 的變換 (或映射),它是一個數學機器,圖示如下:

\mathbf{x}\longrightarrow\boxed{~~{T}~~}\longrightarrow T(\mathbf{x})

其中 \mathbf{x}\in\mathbb{F}^n 是輸入向量,對應的輸出向量 T(\mathbf{x})\in\mathbb{F}^m 稱為 \mathbf{x} 經變換 T 得到的像 (image)。對於 \mathbf{x},\mathbf{y}\in\mathbb{F}^n 與純量 \alpha\in\mathbb{F},若

\begin{aligned} T(\mathbf{x}+\mathbf{y})&=T(\mathbf{x})+T(\mathbf{y})\\ T(\alpha\mathbf{x})&=\alpha T(\mathbf{x}), \end{aligned}

我們稱 T 是一個線性變換。直白地說,向量加法和純量乘法可在線性變換的輸入端執行 (等號左邊),也可在輸出端執行 (等號右邊),兩者有相同的結果。例如,T_a(x_1,x_2)=(2x_1,x_2,x_1-3x_2) 是一個線性變換,但 T_b(x_1,x_2)=\sqrt{x_1^2+x_2^2}T_c(x_1,x_2)=(2x_1+4,x_2,x_1-3x_2) 不是線性變換。

 
矩陣向量乘法

考慮這個核心問題:線性變換 T:\mathbb{F}^n\to\mathbb{F}^m 是如何運作的?向量空間 \mathbb{F}^n 的標準基底為 \{\mathbf{e}_1,\ldots,\mathbf{e}_n\},其中單位向量 \mathbf{e}_j 的第 j 元是 1,其餘元是 0。任一向量 \mathbf{x}=(x_1,\ldots,x_n)\in\mathbb{F}^n 可表示成 \mathbf{e}_1,\ldots,\mathbf{e}_n 的線性組合,以行向量 (column vector) 書寫如下:

\mathbf{x}=\begin{bmatrix} x_1\\ x_2\\ \vdots\\ x_n \end{bmatrix}=x_1\begin{bmatrix} 1\\ 0\\ \vdots\\ 0 \end{bmatrix}+x_2\begin{bmatrix} 0\\ 1\\ \vdots\\ 0 \end{bmatrix}+\cdots+x_n\begin{bmatrix} 0\\ 0\\ \vdots\\ 1 \end{bmatrix}=x_1\mathbf{e}_1+x_2\mathbf{e}_2+\cdots+x_n\mathbf{e}_n

將上式代入 T(\mathbf{x}),使用線性變換的定義性質,可得

\displaystyle \begin{aligned} T(\mathbf{x})&=T(x_1\mathbf{e}_1+x_2\mathbf{e}_2+\cdots+x_n\mathbf{e}_n)\\ &=T(x_1\mathbf{e}_1)+T(x_2\mathbf{e}_2)+\cdots+T(x_n\mathbf{e}_n)\\ &=x_1T(\mathbf{e}_1)+x_2T(\mathbf{e}_2)+\cdots+x_nT(\mathbf{e}_n). \end{aligned}

如果我們知道 T(\mathbf{e}_1),\ldots,T(\mathbf{e}_n),便可按係數 x_1,\ldots,x_n 合成 T(\mathbf{x}),這是線性變換的一個重要特性。根據這個思想,設標準基底向量 \mathbf{e}_j 的像為

T(\mathbf{e}_j)=\mathbf{a}_j=\begin{bmatrix} a_{1j}\\ a_{2j}\\ \vdots\\ a_{mj} \end{bmatrix},~~~j=1,\ldots,n

給定 \mathbf{x}T(\mathbf{x}) 的線性組合表達式如下:

T(\mathbf{x})=x_1\mathbf{a}_1+x_2\mathbf{a}_2+\cdots+x_n\mathbf{a}_n=x_1\begin{bmatrix} a_{11}\\ a_{21}\\ \vdots\\ a_{m1} \end{bmatrix}+x_2\begin{bmatrix} a_{12}\\ a_{22}\\ \vdots\\ a_{m2} \end{bmatrix}+\cdots+x_n\begin{bmatrix} a_{1n}\\ a_{2n}\\ \vdots\\ a_{mn} \end{bmatrix}

線性變換 T:\mathbb{F}^n\to\mathbb{F}^m 的作為完全由 \{a_{ij}, 1\le i\le m, 1\le j\le n\} 決定,於是有了這個想法:將向量 \mathbf{a}_1,\ldots,\mathbf{a}_n 合併成一個 m\times n 階矩陣

A=\begin{bmatrix} \mathbf{a}_1&\mathbf{a}_2&\cdots&\mathbf{a}_n \end{bmatrix}=\begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\ \vdots&\vdots&\ddots&\vdots\\ a_{m1}&a_{m2}&\cdots&a_{mn} \end{bmatrix}

稱為線性變換 T:\mathbb{F}^n\to\mathbb{F}^m 的標準矩陣,其中 (A)_{ij}=a_{ij}\in\mathbb{F} 表示 A(i,j) 元。上面的論述並未定義「矩陣」,我們定義的是「線性變換參考標準基底的表示矩陣」。在許多理論與應用場合,矩陣自有其存在的原因,譬如,一張圖片包含的像素或一頁試算表儲存的資料皆構成矩陣。在線性代數中,矩陣一般用來表示線性變換 (參考某個基底)。

 
對於 \mathbf{x}\in\mathbb{F}^n,我們定義矩陣 A 與向量 \mathbf{x} 之積 A\mathbf{x}A 的行向量 \mathbf{a}_1,\ldots,\mathbf{a}_n 的線性組合,並以 \mathbf{x} 的元 x_1,\ldots,x_n 當作組合係數:

A\mathbf{x}=\begin{bmatrix} \mathbf{a}_1&\mathbf{a}_2&\cdots&\mathbf{a}_n \end{bmatrix}\begin{bmatrix} x_1\\ x_2\\ \vdots\\ x_n \end{bmatrix}=x_1\mathbf{a}_1+x_2\mathbf{a}_2+\cdots+x_n\mathbf{a}_n

我們如此定義矩陣向量乘法的用意是使 T(\mathbf{x})=A\mathbf{x} 成立。請注意,A 的行向量數必須與 \mathbf{x} 的維數 (即 n) 相等方可定義 A\mathbf{x}。若 T:\mathbb{F}^n\to\mathbb{F}^m 使得每一 \mathbf{x}\in\mathbb{F}^nT(\mathbf{x})=\mathbf{0},則 T 的標準矩陣為零矩陣 00\mathbf{x}=\mathbf{0}。給定線性變換 T_1:\mathbb{F}^n\to\mathbb{F}^mT_2:\mathbb{F}^n\to\mathbb{F}^m,若每一 \mathbf{x}\in\mathbb{F}^n 使得 T_1(\mathbf{x})=T_2(\mathbf{x}),則 T_1T_2 有相同的標準矩陣,也就是說 T_1=T_2。換一個說法,對於每一 \mathbf{x}\in\mathbb{F}^n,如果 m\times n 階矩陣 AB 滿足 A\mathbf{x}=B\mathbf{x},則 A=B。稍後我們將利用這個性質證明一些矩陣運算法則。若 \mathbf{x}, \mathbf{y}\in\mathbb{F}^n 且純量 \alpha\in\mathbb{F},請你自行驗證可加性與均勻性成立 (使用向量加法分配律與純量乘法結合律):

  1. A(\mathbf{x}+\mathbf{y})=A\mathbf{x}+A\mathbf{y}
  2. A(\alpha\mathbf{x})=\alpha(A\mathbf{x})

 
繼續討論前,先看一個例子。考慮線性變換 T:\mathbb{R}^2\to\mathbb{R}^3,如下:

\displaystyle T(x_1,x_2)=(2x_1,x_2,x_1-3x_2)

即有 T(1,0)=(2,0,1)T(0,1)=(0,1,-3),故 T 的標準矩陣為

\displaystyle A=\left[\!\!\begin{array}{cr} 2&0\\ 0&1\\ 1&-3 \end{array}\!\!\right]

給定 \mathbf{x}=(2,3),以矩陣向量乘法計算 T(\mathbf{x}),可得

\displaystyle \left[\!\!\begin{array}{cr} 2&0\\ 0&1\\ 1&-3 \end{array}\!\!\right]\begin{bmatrix} 2\\ 3 \end{bmatrix}=2\begin{bmatrix} 2\\ 0\\ 1 \end{bmatrix}+3\left[\!\!\begin{array}{r} 0\\ 1\\ -3 \end{array}\!\!\right]=\begin{bmatrix} 4\\ 0\\ 2 \end{bmatrix}+\left[\!\!\begin{array}{r} 0\\ 3\\ -9 \end{array}\!\!\right]=\left[\!\!\begin{array}{r} 4\\ 3\\ -7 \end{array}\!\!\right]

 
矩陣加法

矩陣加法僅定義於相同大小的矩陣。考慮 m\times n 階矩陣 A=[a_{ij}]B=[b_{ij}],分別代表從 \mathbb{F}^n 映射至 \mathbb{F}^m 的線性變換 T_1T_2。我們定義 AB 之和,S=A+B,若每一 \mathbf{x}\in\mathbb{F}^n 皆使 S\mathbf{x}=A\mathbf{x}+B\mathbf{x},即 (A+B)\mathbf{x}=A\mathbf{x}+B\mathbf{x}。欲求出 S=[s_{ij}],將 \mathbf{x}=\mathbf{e}_j1\le j\le n,代入 S\mathbf{x}=A\mathbf{x}+B\mathbf{x},可得

\displaystyle \begin{bmatrix} s_{1j}\\ s_{2j}\\ \vdots\\ s_{mj} \end{bmatrix}=\begin{bmatrix} a_{1j}\\ a_{2j}\\ \vdots\\ a_{mj} \end{bmatrix}+\begin{bmatrix} b_{1j}\\ b_{2j}\\ \vdots\\ b_{mj} \end{bmatrix}=\begin{bmatrix} a_{1j}+b_{1j}\\ a_{2j}+b_{2j}\\ \vdots\\ a_{mj}+b_{mj} \end{bmatrix}

比較等號兩邊,S=A+B 的元為

\displaystyle s_{ij}=(A+B)_{ij}=a_{ij}+b_{ij}1\le i\le m1\le j\le n

 
考慮矩陣 A0 的和,顯然 A+0=A,而且 0 是唯一一個滿足 A+B=AB 矩陣。對於每一個矩陣 A,令矩陣 -A 使得 (-A)\mathbf{x}=-(A\mathbf{x}),則有 A+(-A)=0,且 -A 是唯一一個滿足 A+B=0B 矩陣。設 A,B,C 為相同大小矩陣,向量加法滿足交換律與結合律,故 A\mathbf{x}+B\mathbf{x}=B\mathbf{x}+A\mathbf{x}(A\mathbf{x}+B\mathbf{x})+C\mathbf{x}=A\mathbf{x}+(B\mathbf{x}+C\mathbf{x})。因此,矩陣加法也滿足交換律與結合律:

  1. A+B=B+A
  2. (A+B)+C=A+(B+C)

 
純量乘法

對於線性變換 T:\mathbb{F}^n\to\mathbb{F}^mm\times n 階標準矩陣 A 與純量 \alpha\in\mathbb{F},我們定義 \alphaA 之積,M=\alpha A,若每一 \mathbf{x}\in\mathbb{F}^n 皆使 M\mathbf{x}=\alpha(A\mathbf{x}),即 (\alpha A)\mathbf{x}=\alpha(A\mathbf{x})。欲求出 M=[m_{ij}],將 \mathbf{x}=\mathbf{e}_j1\le j\le n,代入 M\mathbf{x}=\alpha(A\mathbf{x}),可得

\displaystyle \begin{bmatrix} m_{1j}\\ m_{2j}\\ \vdots\\ m_{mj} \end{bmatrix}=\alpha\begin{bmatrix} a_{1j}\\ a_{2j}\\ \vdots\\ a_{mj} \end{bmatrix}=\begin{bmatrix} \alpha a_{1j}\\ \alpha a_{2j}\\ \vdots\\ \alpha a_{mj} \end{bmatrix}

M=\alpha A 的元為

\displaystyle m_{ij}=(\alpha A)_{ij}=\alpha a_{ij}1\le i\le m1\le j\le n

 
對於每一個矩陣 A1A=A。對於 \alpha,\beta\in\mathbb{F},純量乘法滿足結合律 \alpha(\beta A)=(\alpha\beta)A。設 A,B 為相同大小矩陣,向量加法與純量乘法滿足分配律,(\alpha+\beta)(A\mathbf{x})=\alpha(A\mathbf{x})+\beta(A\mathbf{x})\alpha(A\mathbf{x}+B\mathbf{x})=\alpha(A\mathbf{x})+\alpha(B\mathbf{x})。因此,矩陣的分配律也成立:

  1. (\alpha+\beta)A=\alpha A+\beta A
  2. \alpha(A+B)=\alpha A+\alpha B

 
矩陣乘法

考慮兩個線性變換 T:\mathbb{F}^p\to\mathbb{F}^nS:\mathbb{F}^n\to\mathbb{F}^m,將它們串接在一起,圖示如下:

\mathbf{x}\longrightarrow\boxed{~~{T}~~}\longrightarrow T(\mathbf{x})\longrightarrow\boxed{~~{S}~~}\longrightarrow S\left(T(\mathbf{x})\right)

其中 \mathbf{x}\in\mathbb{F}^pT(\mathbf{x})\in\mathbb{F}^nS\left(T(\mathbf{x})\right)\in\mathbb{F}^m。我們以 S\circ T 代表 ST 的複合線性變換,即 (S\circ T)(\mathbf{x})=S\left(T(\mathbf{x})\right),圖示為

\mathbf{x}\longrightarrow\boxed{~~{S\circ T}~~}\longrightarrow S(T(\mathbf{x}))

n\times p 階矩陣 B 為線性變換 T 的標準矩陣且 m\times n 階矩陣 A 為線性變換 S 的標準矩陣。複合線性變換 S(T(\mathbf{x})) 可用矩陣向量乘法運算實現,S(T(\mathbf{x}))=A(B\mathbf{x})。明顯地,複合線性變換 S\circ T 的標準矩陣由 AB 決定。我們定義 AB 之積,P=AB,若每一 \mathbf{x}\in\mathbb{F}^p 皆使 P\mathbf{x}=A(B\mathbf{x}),即 (AB)\mathbf{x}=A(B\mathbf{x})。因此,複合線性變換 S\circ T 的標準矩陣即為 AB。矩陣乘法的定義表明左右順序的重要性,我們先算出 \mathbf{x} 的像 B\mathbf{x},接著求得 B\mathbf{x} 通過 A 而得的像 A(B\mathbf{x})。因為這個緣故,即便當 m=n=pAB 不總是等於 BA,即矩陣乘法不具有交換律。

 
下面推導 P=[p_{ij}]=AB 的計算公式。設 B 的行向量為 \mathbf{b}_1,\ldots,\mathbf{b}_p,則

B\mathbf{x}=\begin{bmatrix} \mathbf{b}_1&\mathbf{b}_2&\cdots&\mathbf{b}_p \end{bmatrix}\begin{bmatrix} x_1\\ x_2\\ \vdots\\ x_p \end{bmatrix}=x_1\mathbf{b}_1+x_2\mathbf{b}_2+\cdots+x_p\mathbf{b}_p

使用矩陣向量乘法定義以及可加性與均勻性,

\begin{aligned} A(B\mathbf{x})&=A\left(x_1\mathbf{b}_1+x_2\mathbf{b}_2+\cdots+x_p\mathbf{b}_p\right)\\ &=A(x_1\mathbf{b}_1)+A(x_2\mathbf{b}_2)+\cdots+A(x_p\mathbf{b}_p)\\ &=x_1(A\mathbf{b}_1)+x_2(A\mathbf{b}_2)+\cdots+x_p(A\mathbf{b}_p)\\ &=\begin{bmatrix} A\mathbf{b}_1&A\mathbf{b}_2&\cdots&A\mathbf{b}_p \end{bmatrix}\begin{bmatrix} x_1\\ x_2\\ \vdots\\ x_p \end{bmatrix}\\ &=\begin{bmatrix} A\mathbf{b}_1&A\mathbf{b}_2&\cdots&A\mathbf{b}_p \end{bmatrix}\mathbf{x}.\end{aligned}

令上式等於 (AB)\mathbf{x},因為 \mathbf{x} 是任一向量,故得

AB=A\begin{bmatrix} \mathbf{b}_1&\mathbf{b}_2&\cdots&\mathbf{b}_p \end{bmatrix}=\begin{bmatrix} A\mathbf{b}_1&A\mathbf{b}_2&\cdots&A\mathbf{b}_p \end{bmatrix}

此即以「行」為運算單元的矩陣乘法 (見“矩陣乘法的現代觀點 (一)”)。注意,AB 的第 j 行,A\mathbf{b}_j,是 A 的行向量 \mathbf{a}_1,\ldots,\mathbf{a}_n 的線性組合,係數為 \mathbf{b}_j 的元 b_{1j},\ldots,b_{nj}。因此,矩陣乘法 AB 僅定義於 A 的行向量數等於 B 的列向量數 (即 \mathbf{b}_j 的維數 n)。使用上面 AB 的計算公式可推得以「元」為運算單元的矩陣乘法公式:

\displaystyle\begin{aligned} p_{ij}&=(AB)_{ij}=(A\mathbf{b}_j)_i=\left(b_{1j}\mathbf{a}_1+b_{2j}\mathbf{a}_2+\cdots+b_{nj}\mathbf{a}_n\right)_{i}\\ &=a_{i1}b_{1j}+a_{i2}b_{2j}+\cdots+a_{in}b_{nj}=\sum_{k=1}^na_{ik}b_{kj}, \end{aligned}

其中 (A\mathbf{b}_j)_i 表示向量 A\mathbf{b}_j 的第 i 元。

 
矩陣乘法具備結合律與加法分配律:

  1. (AB)C=A(BC)
  2. \alpha(AB)=(\alpha A)B=A(\alpha B)\alpha\in\mathbb{F}
  3. A(B+C)=AB+AC
  4. (A+B)C=AC+BC

利用矩陣加法與乘法定義很容易證明這些等式。下面展示等式1與3的證明[2]

\displaystyle \begin{aligned} (A(BC))\mathbf{x}&=A((BC)\mathbf{x})=A(B(C\mathbf{x}))\\ &=(AB)(C\mathbf{x})=((AB)C)\mathbf{x}, \end{aligned}

\displaystyle \begin{aligned} (A(B+C))\mathbf{x}&=A((B+C)\mathbf{x})=A(B\mathbf{x}+C\mathbf{x})\\ &=A(B\mathbf{x})+A(C\mathbf{x})=(AB)\mathbf{x}+(AC)\mathbf{x}\\ &=(AB+AC)\mathbf{x}.\end{aligned}

因為 \mathbf{x} 是任一向量,即證明所求。

 
最後討論一個矩陣乘法的簡單應用:在二維平面上,求出順時針旋轉 45^\circ,再放大X座標 3 倍的幾何變換矩陣。第一個方法寫出線性變換的標準矩陣:\displaystyle B=\frac{1}{\sqrt{2}}\left[\!\!\begin{array}{cr} 1&-1\\ 1&1 \end{array}\!\!\right] 是旋轉矩陣,A=\begin{bmatrix} 3&0\\ 0&1 \end{bmatrix} 是放大矩陣 (見“幾何變換矩陣的設計”)。自然地,我們會以「元」為運算單元的矩陣乘法公式 (AB)_{ij}=\sum_{k}a_{ik}b_{kj} 計算複合變換矩陣

\displaystyle AB=\begin{bmatrix} 3&0\\ 0&1 \end{bmatrix}\frac{1}{\sqrt{2}}\left[\!\!\begin{array}{cr} 1&-1\\ 1&1 \end{array}\!\!\right]=\frac{1}{\sqrt{2}}\left[\!\!\begin{array}{cr} 3&-3\\ 1&1 \end{array}\!\!\right]

第二個方法採用本文所述的矩陣乘法定義:對於任一 \mathbf{x}\in\mathbb{R}^2(AB)\mathbf{x}=A(B\mathbf{x})。求出標準基底向量 \begin{bmatrix} 1\\ 0 \end{bmatrix}\begin{bmatrix} 0\\ 1 \end{bmatrix} 的像,合併即得所求的變換矩陣:\begin{bmatrix} 1\\ 0 \end{bmatrix} 旋轉 45^\circ 的像是 \displaystyle\frac{1}{\sqrt{2}}\begin{bmatrix} 1\\ 1 \end{bmatrix},放大X座標 3 倍,可得 \displaystyle\frac{1}{\sqrt{2}}\begin{bmatrix} 3\\ 1 \end{bmatrix}\begin{bmatrix} 0\\ 1 \end{bmatrix} 旋轉 45^\circ 的像是 \displaystyle\frac{1}{\sqrt{2}}\left[\!\!\begin{array}{r} -1\\ 1 \end{array}\!\!\right],放大X座標 3 倍,可得 \displaystyle\frac{1}{\sqrt{2}}\left[\!\!\begin{array}{r} -3\\ 1 \end{array}\!\!\right]。因此,變換矩陣為 \displaystyle \frac{1}{\sqrt{2}}\left[\!\!\begin{array}{cr} 3&-3\\ 1&1 \end{array}\!\!\right]。第一個方法是靜態的,兩個幾何變換矩陣擺在那裡靜止不動,算出它們的積便得到複合變換矩陣;第二個方法是動態的,雖然我們沒有明示的變換矩陣,但幾乎可以「看見」兩個標準基底向量的幾何變換過程,它們的像組成了複合變換矩陣。究竟那一個方法比較適合解釋給第一個在街上相遇的人聽?這是一個值得考慮的問題。

 
註解
[1] 英譯文是 “A mathematical theory is not to be considered complete until you have made it so clear that you can explain it to the first man whom you meet on the street.”
[2] 如果採用以「元」為運算單元的矩陣乘法公式,

\displaystyle\begin{aligned} (A(BC))_{ij}&=\sum_ka_{ik}(BC)_{kj}=\sum_ka_{ik}\sum_{l}b_{kl}c_{lj}\\ &=\sum_l\left(\sum_ka_{ik}b_{kl}\right)c_{lj}=\sum_l(AB)_{il}c_{lj}\\ &=((AB)C)_{ij}, \end{aligned}

\displaystyle\begin{aligned} (A(B+C))_{ij}&=\sum_ka_{ik}(B+C)_{kj}=\sum_ka_{ik}(b_{kj}+c_{kj})\\ &=\sum_ka_{ik}b_{kj}+\sum_ka_{ik}c_{kj}=(AB)_{ij}+(AC)_{ij}\\ &=(AB+AC)_{ij}. \end{aligned}

相關閱讀:
This entry was posted in 線性變換, 線性代數專欄 and tagged , , . Bookmark the permalink.

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

你正使用 WordPress.com 帳號留言。 登出 / 變更 )

Twitter picture

你正使用 Twitter 帳號留言。 登出 / 變更 )

Facebook照片

你正使用 Facebook 帳號留言。 登出 / 變更 )

Google+ photo

你正使用 Google+ 帳號留言。 登出 / 變更 )

連結到 %s