矩阵乘法的简单理解

初识矩阵的乘法,就跟很多人一样,将定义机械地记忆下来:

  两个矩阵相乘,要求前一个矩阵的列数和后一个矩阵的行数相等. 乘积矩阵的第 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=1naikbkj

但矩阵乘法究竟该如何理解?下面给出我的答案:

一、从定义的角度进行解释

最符合直觉的一种方式,即与定义最为接近的一种理解方式:
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 α=(a1a2an)T,β=(b1b2bn)T,则两者的点积为 ( α , β ) = ∑ i = 1 n a i b i (\alpha,\beta)=\sum_{i=1}^n a_ib_i (α,β)=i=1naibi可以写作 ( α , β ) = ( 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 (α,β)=(a1a2an)b1b2bn=α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=a11a21am1a12a22am2a1na2namn
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βnTam1β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=b11b21bn1b12b22bn2b1sb2sbns
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αnb1sα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=a11a21am1a12a22am2a1na2namn  因为 η 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)k1k2kn=(η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=BA,则 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)=BA(ϵ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: 如有错误、可以改进的地方、或任何想说的,请在评论区留言!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值