天天看點

【線性代數】 抽絲剝繭系列之多角度了解矩陣乘法

引言

線性代數

可以說是噩夢,今天一位巨佬說學習線性代數就是

從抽象入門再到具體

,最後

再回歸抽象

的過程,是以我決定再失敗一次。

今天的例子,對于矩陣乘法比如下式:

$\begin{bmatrix}

\ 1 & 2 \

\ 2 & 0 \

\ 4 & 3

\end{bmatrix}$ $\begin{bmatrix}

\ 1 & 3 & 2\

\ 2 & 4 & 1

\end{bmatrix}$= $\begin{bmatrix}

\ 5 & 11&3 \

\ 2 & 6&2 \

10 &24&7\

\end{bmatrix}$

​ $(A)$       $(B)$       $(C)$

它可以用四種了解方式來了解:

單元素乘積表示

列向量表示

行向量表示

以及

行列乘積表示

正文

1. 單元素乘積表示

對于

C

矩陣中的第二行第二列元素$C_{22}$而言:

$C_{22} = A_{21}*B_{12} + A_{22}*B_{22}$

也就

C

當中

(2,1)

的元素其實對應的是

A

中的

(2,1)

B

中的

(1,2)

相乘

這可以幫助我們了解

矩陣元素

的拆解

2. 行向量表示

可以将

C

矩陣用看作是

A

矩陣的

行向量

線性表示:

$\begin{bmatrix}

\ \dots & \dots \

\ 2 & 0 \

\ \dots & \dots &

\end{bmatrix}$ $\begin{bmatrix}

\ 1 & 3 & 2\

\ 2 & 4 & 1

\end{bmatrix}$ = $\begin{bmatrix}

\ & \cdots& \

\ 2 & 6&2 \

\ & \cdots &\

\end{bmatrix}$

​ $(A_{2i}(i=1,2))$    $(B)$       $(C)$

矩陣A

第2行

元素和

矩陣B

相乘後會得到

C

矩陣當中的

第2行元素

,即

C

矩陣可以由

A矩陣的行向量

線性表出(示)

這可以幫助我們了解

矩陣

的橫向拆解

3. 列向量表示

同理,也可以将

C

矩陣用看作是

B

矩陣的

列向量

的線性表示:

$\begin{bmatrix}

\ 1 & 2 \

\ 2 & 0 \

\ 4 & 3

\end{bmatrix}$ $\begin{bmatrix}

\ \vdots & 3 & \vdots\

\ \vdots & 4 & \vdots

\end{bmatrix}$ = $\begin{bmatrix}

\ & 11 & \

\ \vdots & 6&\vdots \

\ & 24 &\

\end{bmatrix}$

​ $(A)$    $(B_{j2}(j=1,2))$   $(C)$

矩陣A

矩陣B

第2列

元素相乘後會得到

C

矩陣當中的

第2列元素

,即

C

矩陣可以由

B矩陣的列向量

線性表出(示)

這可以幫助我們了解

矩陣

的縱向拆解

4. 行列乘積表示

最重要的莫過于結合

行列

來了解矩陣乘法,結合上面的知識, $3\times2$ 的

A

矩陣可以被拆解為

一個3維列向量和一個2維行向量相乘

,同理,

矩陣B

可以被了解為

一個2維行向量和一個3維列向量相乘

,對應的,

C

可以被了解為

一個3維行向量和一個3維列向量相乘

原式可以被了解為:

$\begin{bmatrix}

\ 1 & 2 \

\ 2 & 0 \

\ 4 & 3

\end{bmatrix}$ $\begin{bmatrix}

\ 1 & 3 & 2\

\ 2 & 4 & 1

\end{bmatrix}$= $\begin{bmatrix}

\ 5 & 11&3 \

\ 2 & 6&2 \

10 &24&7\

\end{bmatrix}$ $\Longrightarrow$ $\begin{bmatrix}\alpha_1\\alpha_2\\alpha_3\\end{bmatrix}$$\begin{bmatrix}\beta_1\beta_2\beta_3\\end{bmatrix}= C$

​ $(A)$     $(B)$        $(C)$

可以看到此時

C矩陣

通過另外的方式被表示出來了,更為簡單和直覺。

這可以幫助我們了解

矩陣的分解

補充

1.矩陣乘向量

矩陣乘向量本質為列的線性組合,如:

$\begin{bmatrix}2&3\2&4\3&7\end{bmatrix} \begin{bmatrix}x_1\x_2\end{bmatrix} = x_1\begin{bmatrix}2\2\3\end{bmatrix} + x_2\begin{bmatrix}3\4\7\end{bmatrix}$

2. 矩陣乘矩陣

附錄: python實作矩陣相乘

import numpy as np

A = np.array([[1,2],[2,0],[4,3]])
B = np.array([[1,3,1],[2,4,1]])

print(np.dot(A, B))
           
  • 輸出結果
>>> [[ 5 11  3]
>>> [ 2  6  2]
>>> [10 24  7]]
           

繼續閱讀