初识矩阵的乘法,就跟很多人一样,将定义机械地记忆下来:
两个矩阵相乘,要求前一个矩阵的列数和后一个矩阵的行数相等. 乘积矩阵的第 i i i 行第 j j j 列的元素等于前一个矩阵的第 i i i 个行向量与后一个矩阵的第 j j j 个列向量的内积(或点乘),用数学符号来描述就是:
假设有两个矩阵
A
=
(
a
i
j
)
m
×
n
,
B
=
(
b
i
j
)
n
×
s
A=(a_{ij})_{m\times n},\, B=(b_{ij})_{n\times s}
A=(aij)m×n,B=(bij)n×s则
C
=
A
B
=
(
c
i
j
)
m
×
s
C=AB=(c_{ij})_{m\times s}
C=AB=(cij)m×s
c
i
j
=
∑
k
=
1
n
a
i
k
b
k
j
c_{ij}=\sum_{k=1}^{n}a_{ik}b_{kj}
cij=k=1∑naikbkj
但矩阵乘法究竟该如何理解?下面给出我的答案:
一、从定义的角度进行解释
最符合直觉的一种方式,即与定义最为接近的一种理解方式:
对
A
\small A
A 进行行分块:
A
=
(
α
1
T
α
2
T
⋮
α
m
T
)
A= \begin{pmatrix} \alpha_1^T \\ \alpha_2^T \\ \vdots \\ \alpha_m^T \\ \end{pmatrix}
A=⎝⎜⎜⎜⎛α1Tα2T⋮αmT⎠⎟⎟⎟⎞对
B
\small B
B 进行列分块:
B
=
(
β
1
β
2
⋯
β
s
)
B=\begin{pmatrix} \beta_1 \; \beta_2 \; \cdots \; \beta_s \\ \end{pmatrix}
B=(β1β2⋯βs)则
C
=
(
α
1
T
α
2
T
⋮
α
m
T
)
(
β
1
β
2
⋯
β
s
)
=
(
α
1
T
β
1
α
1
T
β
2
⋯
α
1
T
β
s
α
2
T
β
1
α
2
T
β
2
⋯
α
2
T
β
s
⋮
⋮
⋱
⋮
α
m
T
β
1
α
m
T
β
2
⋯
α
m
T
β
s
)
C=\begin{pmatrix}\alpha_1^T \\ \alpha_2^T\\ \vdots \\ \alpha_m^T\end{pmatrix}(\beta_1\,\beta_2\,\cdots\,\beta_s)=\begin{pmatrix} \alpha_1^T\beta_1 & \alpha_1^T\beta_2 & \cdots & \alpha_1^T\beta_s \\ \alpha_2^T\beta_1 & \alpha_2^T\beta_2 & \cdots & \alpha_2^T\beta_s \\ \vdots & \vdots & \ddots & \vdots \\ \alpha_m^T\beta_1 & \alpha_m^T\beta_2 & \cdots & \alpha_m^T\beta_s \\ \end{pmatrix}
C=⎝⎜⎜⎜⎛α1Tα2T⋮αmT⎠⎟⎟⎟⎞(β1β2⋯βs)=⎝⎜⎜⎜⎛α1Tβ1α2Tβ1⋮αmTβ1α1Tβ2α2Tβ2⋮αmTβ2⋯⋯⋱⋯α1Tβsα2Tβs⋮αmTβs⎠⎟⎟⎟⎞乘积矩阵
C
\small C
C 中的每个元素都是对应行向量与列向量的点乘.
现在逆向思维,将思路反过来.
已知向量
α
=
(
a
1
a
2
⋯
a
n
)
T
,
β
=
(
b
1
b
2
⋯
b
n
)
T
\alpha=(a_1\,a_2\,\cdots\,a_n)^T,\beta=(b_1\,b_2\,\cdots\,b_n)^T
α=(a1a2⋯an)T,β=(b1b2⋯bn)T,则两者的点积为
(
α
,
β
)
=
∑
i
=
1
n
a
i
b
i
(\alpha,\beta)=\sum_{i=1}^n a_ib_i
(α,β)=i=1∑naibi可以写作
(
α
,
β
)
=
(
a
1
a
2
⋯
a
n
)
(
b
1
b
2
⋮
b
n
)
=
α
T
β
(\alpha,\beta)=(a_1\,a_2\,\cdots\,a_n)\begin{pmatrix}b_1 \\ b_2 \\ \vdots \\ b_n\end{pmatrix}=\alpha^T\beta
(α,β)=(a1a2⋯an)⎝⎜⎜⎜⎛b1b2⋮bn⎠⎟⎟⎟⎞=αTβ现在假设有一组向量
β
1
,
β
2
,
⋯
,
β
s
\beta_1,\beta_2,\cdots,\beta_s
β1,β2,⋯,βs,按照这种排列构成一个矩阵
B
=
(
β
1
β
2
⋯
β
s
)
\small B=(\beta_1\,\beta_2\,\cdots\,\beta_s)
B=(β1β2⋯βs),则可以定义
α
T
\alpha^T
αT 与矩阵
B
\small B
B 的乘法如下:
α
T
B
=
α
T
(
β
1
β
2
⋯
β
s
)
=
(
α
T
β
1
α
T
β
2
⋯
α
T
β
s
)
\alpha^T B=\alpha^T(\beta_1\,\beta_2\,\cdots\,\beta_s)=(\alpha^T\beta_1\,\alpha^T\beta_2\,\cdots\,\alpha^T\beta_s)
αTB=αT(β1β2⋯βs)=(αTβ1αTβ2⋯αTβs)再假设有一组向量
α
1
,
α
2
,
⋯
,
α
m
\alpha_1,\alpha_2,\cdots,\alpha_m
α1,α2,⋯,αm,则其与
B
\small B
B 的乘积定义如下:
令
A
=
(
α
1
T
α
2
T
⋮
α
m
T
)
A=\begin{pmatrix}\alpha_1^T \\ \alpha_2^T \\ \vdots \\ \alpha_m^T\end{pmatrix}
A=⎝⎜⎜⎜⎛α1Tα2T⋮αmT⎠⎟⎟⎟⎞则
A
B
=
(
α
1
T
α
2
T
⋮
α
m
T
)
(
β
1
β
2
⋯
β
s
)
=
(
α
1
T
β
1
α
1
T
β
2
⋯
α
1
T
β
s
α
2
T
β
1
α
2
T
β
2
⋯
α
2
T
β
s
⋮
⋮
⋱
⋮
α
m
T
β
1
α
m
T
β
2
⋯
α
m
T
β
s
)
AB=\begin{pmatrix}\alpha_1^T \\ \alpha_2^T \\ \vdots \\ \alpha_m^T\end{pmatrix}(\beta_1\,\beta_2\,\cdots\,\beta_s)=\begin{pmatrix} \alpha_1^T\beta_1 & \alpha_1^T\beta_2 & \cdots & \alpha_1^T\beta_s \\ \alpha_2^T\beta_1 & \alpha_2^T\beta_2 & \cdots & \alpha_2^T\beta_s \\ \vdots & \vdots & \ddots & \vdots \\ \alpha_m^T\beta_1 & \alpha_m^T\beta_2 & \cdots & \alpha_m^T\beta_s \\ \end{pmatrix}
AB=⎝⎜⎜⎜⎛α1Tα2T⋮αmT⎠⎟⎟⎟⎞(β1β2⋯βs)=⎝⎜⎜⎜⎛α1Tβ1α2Tβ1⋮αmTβ1α1Tβ2α2Tβ2⋮αmTβ2⋯⋯⋱⋯α1Tβsα2Tβs⋮αmTβs⎠⎟⎟⎟⎞
二、从行(列)向量组的角度进行解释
1. 行向量组
对
B
\small B
B 进行行分块:
B
=
(
β
1
T
β
2
T
⋮
β
n
T
)
B=\begin{pmatrix} \beta_1^T \\ \beta_2^T \\ \vdots \\ \beta_n^T \\ \end{pmatrix}
B=⎝⎜⎜⎜⎛β1Tβ2T⋮βnT⎠⎟⎟⎟⎞
A
=
(
a
11
a
12
⋯
a
1
n
a
21
a
22
⋯
a
2
n
⋮
⋮
⋱
⋮
a
m
1
a
m
2
⋯
a
m
n
)
A=\begin{pmatrix} 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{pmatrix}
A=⎝⎜⎜⎜⎛a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn⎠⎟⎟⎟⎞则
C
=
A
B
=
(
a
11
β
1
T
+
a
12
β
2
T
+
⋯
+
a
1
n
β
n
T
a
21
β
1
T
+
a
22
β
2
T
+
⋯
+
a
2
n
β
n
T
⋯
a
m
1
β
1
T
+
a
m
2
β
2
T
+
⋯
+
a
m
n
β
n
T
)
C=AB=\begin{pmatrix} a_{11}\beta_1^T+a_{12}\beta_2^T+\cdots+a_{1n}\beta_n^T \\ a_{21}\beta_1^T+a_{22}\beta_2^T+\cdots+a_{2n}\beta_n^T \\ \cdots \\ a_{m1}\beta_1^T+a_{m2}\beta_2^T+\cdots+a_{mn}\beta_n^T \end{pmatrix}
C=AB=⎝⎜⎜⎛a11β1T+a12β2T+⋯+a1nβnTa21β1T+a22β2T+⋯+a2nβnT⋯am1β1T+am2β2T+⋯+amnβnT⎠⎟⎟⎞
即乘积矩阵
C
\small C
C 的每个行向量都是矩阵
B
\small B
B 行向量组的线性组合,第
i
i
i 个行向量的组合系数是矩阵
A
\small A
A 的第
i
i
i 行,
i
=
1
,
2
,
⋯
,
m
i=1,2,\cdots,m
i=1,2,⋯,m.
所以,左乘一个矩阵就相当于对原矩阵进行了行变换.
2.列向量组
对
A
\small A
A 进行列分块:
A
=
(
α
1
α
2
⋯
α
n
)
A=\begin{pmatrix}\alpha_1 \, \alpha_2 \, \cdots \, \alpha_n \end{pmatrix}
A=(α1α2⋯αn)
B
=
(
b
11
b
12
⋯
b
1
s
b
21
b
22
⋯
b
2
s
⋮
⋮
⋱
⋮
b
n
1
b
n
2
⋯
b
n
s
)
B=\begin{pmatrix} b_{11} & b_{12} & \cdots & b_{1s} \\ b_{21} & b_{22} & \cdots & b_{2s} \\ \vdots & \vdots & \ddots & \vdots \\ b_{n1} & b_{n2} & \cdots & b_{ns} \\ \end{pmatrix}
B=⎝⎜⎜⎜⎛b11b21⋮bn1b12b22⋮bn2⋯⋯⋱⋯b1sb2s⋮bns⎠⎟⎟⎟⎞则
C
=
A
B
=
(
b
11
α
1
+
b
21
α
2
+
⋯
+
b
n
1
α
n
b
12
α
1
+
b
22
α
2
+
⋯
+
b
n
2
α
n
⋯
b
1
s
α
1
+
b
2
s
α
2
+
⋯
+
b
n
s
α
n
)
C=AB=\\(b_{11}\alpha_1+b_{21}\alpha_2+\cdots+b_{n1}\alpha_n\,\,b_{12}\alpha_1+b_{22}\alpha_2+\cdots+b_{n2}\alpha_n \,\, \cdots \,\, b_{1s}\alpha_1+b_{2s}\alpha_2+\cdots+b_{ns}\alpha_n )
C=AB=(b11α1+b21α2+⋯+bn1αnb12α1+b22α2+⋯+bn2αn⋯b1sα1+b2sα2+⋯+bnsαn)
即乘积矩阵 C \small C C 的每个列向量都是矩阵 A \small A A 列向量组的线性组合,第 j j j 个列向量的组合系数是矩阵 B \small B B 的第 j j j 列, j = 1 , 2 , ⋯ , s j=1,2,\cdots,s j=1,2,⋯,s.
右乘一个矩阵就相当于对原矩阵进行了列变换.
三、复合线性映射
首先来说一下矩阵与线性映射的关系,用一句话来说就是,二者一一对应,即给定一个线性映射,可以唯一确定一个矩阵,反之亦然。下面进行解释。
设
V
1
\small V_1
V1 是数域
P
\small P
P 上的
n
n
n 维线性空间,
ϵ
1
,
ϵ
2
,
⋯
,
ϵ
n
\epsilon_1,\epsilon_2,\cdots,\epsilon_n
ϵ1,ϵ2,⋯,ϵn 为
V
1
\small V_1
V1 的一组基,
V
2
\small V_2
V2 是数域
P
\small P
P 上的
m
m
m 维线性空间,
η
1
,
η
2
,
⋯
,
η
m
\eta_1,\eta_2,\cdots,\eta_m
η1,η2,⋯,ηm 为
V
2
\small V_2
V2 的一组基,
A
\mathscr{A}
A 是
V
1
\small V_1
V1 到
V
2
\small V_2
V2 的一个线性映射. 则
A
(
ϵ
i
)
∈
V
2
\small \mathscr{A}(\epsilon_i)\in V_2
A(ϵi)∈V2,可以由
η
1
,
η
2
,
⋯
,
η
m
\eta_1,\eta_2,\cdots,\eta_m
η1,η2,⋯,ηm 线性表出,设
{
A
(
ϵ
1
)
=
a
11
η
1
+
a
21
η
2
+
⋯
+
a
m
1
η
m
A
(
ϵ
2
)
=
a
12
η
1
+
a
22
η
2
+
⋯
+
a
m
2
η
m
⋯
=
⋯
⋯
A
(
ϵ
n
)
=
a
1
n
η
1
+
a
2
n
η
2
+
⋯
+
a
m
n
η
m
\begin{cases} \mathscr{A}(\epsilon_1)=a_{11}\eta_1+a_{21}\eta_2+\cdots+a_{m1}\eta_m\\ \mathscr{A}(\epsilon_2)=a_{12}\eta_1+a_{22}\eta_2+\cdots+a_{m2}\eta_m\\ \quad\,\,\cdots\,=\cdots\cdots\\ \mathscr{A}(\epsilon_n)=a_{1n}\eta_1+a_{2n}\eta_2+\cdots+a_{mn}\eta_m\\\end{cases}
⎩⎪⎪⎪⎨⎪⎪⎪⎧A(ϵ1)=a11η1+a21η2+⋯+am1ηmA(ϵ2)=a12η1+a22η2+⋯+am2ηm⋯=⋯⋯A(ϵn)=a1nη1+a2nη2+⋯+amnηm表示为矩阵形式
A
(
ϵ
1
,
ϵ
2
,
⋯
,
ϵ
n
)
=
(
η
1
,
η
2
,
⋯
,
η
m
)
A
\mathscr{A}(\epsilon_1,\epsilon_2,\cdots,\epsilon_n)=(\eta_1,\eta_2,\cdots,\eta_m)A
A(ϵ1,ϵ2,⋯,ϵn)=(η1,η2,⋯,ηm)A其中
A
=
[
a
11
a
12
⋯
a
1
n
a
21
a
22
⋯
a
2
n
⋮
⋮
⋱
⋮
a
m
1
a
m
2
⋯
a
m
n
]
A=\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}
A=⎣⎢⎢⎢⎡a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn⎦⎥⎥⎥⎤ 因为
η
1
,
η
2
,
⋯
,
η
m
\eta_1,\eta_2,\cdots,\eta_m
η1,η2,⋯,ηm 线性无关,所以组合系数唯一,可以由线性映射
A
\small \mathscr{A}
A 唯一确定矩阵
A
\small A
A.
另一方面,若已知矩阵 A \small A A,可以构造如上的线性映射. ∀ α ∈ V 1 \small \forall \, \alpha\in V_1 ∀α∈V1, α \alpha α 可以由 ϵ 1 , ϵ 2 , ⋯ , ϵ n \epsilon_1,\epsilon_2,\cdots,\epsilon_n ϵ1,ϵ2,⋯,ϵn 线性表出,设 α = k 1 ϵ 1 + k 2 ϵ 2 + ⋯ + k n ϵ n \alpha=k_1\epsilon_1+k_2\epsilon_2+\cdots+k_n\epsilon_n α=k1ϵ1+k2ϵ2+⋯+knϵn,根据映射的线性性 A ( α ) = A ( α ) = k 1 A ( ϵ 1 ) + k 2 A ( ϵ 2 ) + ⋯ + k n A ( ϵ n ) = A ( ϵ 1 , ϵ 2 , ⋯ , ϵ n ) ( k 1 k 2 ⋮ k n ) = ( η 1 , η 2 , ⋯ , η m ) A k ⃗ \begin{aligned}\mathscr{A}(\alpha)&=\mathscr{A}(\alpha)\\&=k_1\mathscr{A}(\epsilon_1)+k_2\mathscr{A}(\epsilon_2)+\cdots+k_n\mathscr{A}(\epsilon_n)\\&=\mathscr{A}(\epsilon_1,\epsilon_2,\cdots,\epsilon_n)\begin{pmatrix}k_1\\k_2\\\vdots\\k_n\end{pmatrix}\\&=(\eta_1,\eta_2,\cdots,\eta_m)A\vec{k}\end{aligned} A(α)=A(α)=k1A(ϵ1)+k2A(ϵ2)+⋯+knA(ϵn)=A(ϵ1,ϵ2,⋯,ϵn)⎝⎜⎜⎜⎛k1k2⋮kn⎠⎟⎟⎟⎞=(η1,η2,⋯,ηm)Ak其中 A k ⃗ \small A\vec{k} Ak 为 m m m 维列向量,即 A ( α ) \small \mathscr{A}(\alpha) A(α) 在基 η 1 , η 2 , ⋯ , η m \eta_1,\eta_2,\cdots,\eta_m η1,η2,⋯,ηm 下的坐标. 故可以根据矩阵 A \small A A 唯一确定线性映射 A \small \mathscr{A} A.
所以,给定两组基的情况下,矩阵与线性映射一一对应.
下面从复合线性映射的角度来理解矩阵乘法:
增设
V
3
\small V_3
V3 为数域
P
\small P
P 上的
s
s
s 维线性空间,
ξ
1
,
ξ
2
,
⋯
,
ξ
s
\xi_1,\xi_2,\cdots,\xi_s
ξ1,ξ2,⋯,ξs 为
V
3
\small V_3
V3 的一组基,
B
\small \mathscr{B}
B 为
V
2
\small V_2
V2 到
V
3
\small V_3
V3 的一个线性映射,表示成矩阵形式
B
(
η
1
,
η
2
,
⋯
,
η
m
)
=
(
ξ
1
,
ξ
2
,
⋯
,
ξ
s
)
B
\mathscr{B}(\eta_1,\eta_2,\cdots,\eta_m)=(\xi_1,\xi_2,\cdots,\xi_s)B
B(η1,η2,⋯,ηm)=(ξ1,ξ2,⋯,ξs)B考虑复合映射
C
=
B
∘
A
\mathscr{C}=\mathscr{B}\circ\mathscr{A}
C=B∘A,则
C
\small \mathscr{C}
C 为
V
1
\small V_1
V1 到
V
3
\small V_3
V3 的线性映射,表示成矩阵形式
C
(
ϵ
1
,
ϵ
2
,
⋯
,
ϵ
n
)
=
(
ξ
1
,
ξ
2
,
⋯
,
ξ
s
)
C
\mathscr{C}(\epsilon_1,\epsilon_2,\cdots,\epsilon_n)=(\xi_1,\xi_2,\cdots,\xi_s)C
C(ϵ1,ϵ2,⋯,ϵn)=(ξ1,ξ2,⋯,ξs)C另一方面
C
(
ϵ
1
,
ϵ
2
,
⋯
,
ϵ
n
)
=
B
∘
A
(
ϵ
1
,
ϵ
2
,
⋯
,
ϵ
n
)
=
B
(
η
1
,
η
2
,
⋯
,
η
m
)
A
=
(
B
(
η
1
,
η
2
,
⋯
,
η
m
)
)
A
=
(
ξ
1
,
ξ
2
,
⋯
,
ξ
s
)
B
A
\begin{aligned}\mathscr{C}(\epsilon_1,\epsilon_2,\cdots,\epsilon_n)&=\mathscr{B}\circ\mathscr{A}(\epsilon_1,\epsilon_2,\cdots,\epsilon_n)\\&=\mathscr{B}(\eta_1,\eta_2,\cdots,\eta_m)A\\&=\big(\mathscr{B}(\eta_1,\eta_2,\cdots,\eta_m)\big)A\\&=(\xi_1,\xi_2,\cdots,\xi_s)BA\end{aligned}
C(ϵ1,ϵ2,⋯,ϵn)=B∘A(ϵ1,ϵ2,⋯,ϵn)=B(η1,η2,⋯,ηm)A=(B(η1,η2,⋯,ηm))A=(ξ1,ξ2,⋯,ξs)BA由唯一性
C
=
B
A
C=BA
C=BA
Plus: 如有错误、可以改进的地方、或任何想说的,请在评论区留言!