从向量相乘说起
假设我们有两个向量【注:本文所言及的向量均指列向量】 α m × 1 , β n × 1 \alpha_{m\times 1},\beta_{n\times 1} αm×1,βn×1。
那么我们知道:
[ β ] ⋅ [ α ] [\beta]\cdot [\alpha] [β]⋅[α] | α m × 1 \alpha_{m\times 1} αm×1 | α 1 × m ′ \alpha^{\prime}_{1\times m} α1×m′ |
---|---|---|
β n × 1 \beta_{n\times 1} βn×1 | m=1,是个数。否则无意义 | A n × m A_{n\times m} An×m |
β 1 × n ′ \beta^{\prime}_{1\times n} β1×n′ | n 1 × 1 n_{1\times1} n1×1(即一个数) | n=1,是个数。否则无意义 |
向量乘矩阵
假设我们有一个矩阵 B m × n B_{m\times n} Bm×n。此处排除掉 m = 1 , n = 1 m=1,n=1 m=1,n=1的情况。那么我们只能做如下的运算:
[ matrix ] ⋅ [ vector ] [\text{matrix}]\cdot [\text{vector}] [matrix]⋅[vector] | α 1 × m ′ \alpha^{\prime}_{1\times m} α1×m′ | β n × 1 \beta_{n\times 1} βn×1 |
---|---|---|
B m × n B_{m\times n} Bm×n | α ′ B \alpha^{\prime}B α′B,行向量 | B β B\beta Bβ,列向量 |
分块矩阵相乘
这个时候有力的工具就是把矩阵视作元素。
记矩阵有 A , B , P A,B,P A,B,P三个
设想有如下形式的矩阵乘法:
P ⋅ [ A B ] P\cdot [A \qquad B] P⋅[AB]
我们把每个矩阵当作一个数,那么 P P P就是一个“1×1”的“数”。【注:P的维度可以是mxn,这里是只是看做一个数】。
那么 [ A B ] [A \qquad B] [AB]就是一个有两个数的行向量了。
根据矩阵乘法的原理:“1×1” x “1×2” = “1×2”
结果是一个”1×2″的 “行向量”。要注意,这里的行向量里的元素是矩阵。
那么我们有:
P ⋅ [ A B ] = [ P A P B ] P\cdot [A \qquad B]=[PA \qquad PB] P⋅[AB]=[PAPB]我们再考虑如下形式:
[ A B ] ⋅ P [A \qquad B]\cdot P [AB]⋅P
根据上面的考量,这里相当于是
“1×2” x “1×1”
明显不能这么运算!
但我们知道,当 A m × k , B m × p A_{m\times k },B_{m\times p} Am×k,Bm×p时,令 C m × ( k + p ) = [ A B ] C_{m\times (k+p)}=[A\qquad B] Cm×(k+p)=[AB],只要 P ( k + p ) × n P_{(k+p)\times n} P(k+p)×n,上面这个运算其实是可以进行的,并且结果为: C m × ( k + p ) P ( k + p ) × n = D m × n C_{m\times (k+p)}P_{(k+p)\times n}=D_{m\times n} Cm×(k+p)P(k+p)×n=Dm×n
为了使运算能够有意义,我们必须对P矩阵做拆分,让他也变成一个分块矩阵。
P = [ P 1 P 2 ] P=\begin{bmatrix} P_1 \\ P_2 \end{bmatrix} P=[P1P2]
则:
[ A B ] ⋅ P = [ A B ] [ P 1 P 2 ] = A P 1 + B P 2 [A \qquad B]\cdot P= [A \qquad B]\begin{bmatrix} P_1 \\ P_2 \end{bmatrix}=AP_1+BP_2 [AB]⋅P=[AB][P1P2]=AP1+BP2类似地,我们有:
P ⋅ [ A B ] P\cdot \begin{bmatrix} A \\ B \end{bmatrix} P⋅[AB]
“1×1” x”2×1″
为有意义:
P = [ P a P b ] P=[P_a\qquad P_b] P=[PaPb]
则:
P ⋅ [ A B ] = [ P a P b ] [ A B ] = P a A + P b B P\cdot \begin{bmatrix} A \\ B \end{bmatrix}=[P_a\qquad P_b]\begin{bmatrix} A \\ B \end{bmatrix}=P_aA+P_bB P⋅[AB]=[PaPb][AB]=PaA+PbB
- 对于
[ A B ] ⋅ P \begin{bmatrix} A \\ B \end{bmatrix}\cdot P [AB]⋅P
“2×1” x “1×1”
立即推:
[ A B ] ⋅ P = [ A P B P ] \begin{bmatrix} A \\ B \end{bmatrix}\cdot P=\begin{bmatrix} AP \\ BP \end{bmatrix} [AB]⋅P=[APBP]
如有错误,欢迎指出!