矩阵乘以矩阵
乘法定义
进一步分析基变换关系,
n
n
n 维空间中任意向量
x
=
a
1
v
1
+
⋯
+
a
n
v
n
\mathbf{x}=a_1\mathbf{v_1}+\cdots+a_n\mathbf{v_n}
x=a1v1+⋯+anvn ,用矩阵乘以向量表示为
x
=
V
a
\mathbf{x} = V\mathbf{\mathbf{a}}
x=Va ,矩阵
V
V
V 由
n
n
n 维空间中基构成, 称为基矩阵,
n
n
n 维向量
a
\mathbf{a}
a 是表示向量。变换为
m
m
m 维空间的向量
y
=
a
1
w
1
+
⋯
+
a
n
w
n
\mathbf{y} = a_1\mathbf{w_1}+\cdots+a_n\mathbf{w_n}
y=a1w1+⋯+anwn ,用矩阵乘以向量表示为
y
=
W
a
\mathbf{y} = W\mathbf{a}
y=Wa ,矩阵
W
W
W 由基变换向量组构成,称为基象矩阵。
x
=
V
a
y
=
A
x
y
=
W
a
A
(
V
a
)
=
W
a
\mathbf{x} = V\mathbf{a} \\ \mathbf{y} = A\mathbf{x} \\ \mathbf{y} = W\mathbf{a} \\ \\ A(V\mathbf{a}) = W\mathbf{a}
x=Vay=Axy=WaA(Va)=Wa
对任意
n
n
n 维向量
a
\mathbf{a}
a 均成立。
如何理解最后一个等式? A ( V a ) A(V\mathbf{a}) A(Va) 是变换矩阵 V V V 先把向量 a \mathbf{a} a 变换为向量 x \mathbf{x} x ,然后变换矩阵 A A A 把向量 x \mathbf{x} x 变换为向量 y \mathbf{y} y ; W a W\mathbf{a} Wa 是变换矩阵 W W W 把向量 a \mathbf{a} a 变换为向量 y \mathbf{y} y ,等式对任意向量 a \mathbf{a} a 均成立!这表明矩阵 A , V A, V A,V 两次变换的总效果和矩阵 W W W 一次变换效果一样。从变换角度看,矩阵 W W W 与矩阵 A , V A, V A,V 等价。形式上 A ( V a ) A(V\mathbf{a}) A(Va) 类似代数乘法,故定义为矩阵乘法。根据基变换关系,积矩阵 W W W 的每个向量为 ( w 1 = A v 1 , ⋯ , w n = A v n ) (\mathbf{w_1}=A\mathbf{v_1},\cdots,\mathbf{w_n}=A\mathbf{v_n}) (w1=Av1,⋯,wn=Avn) 。
定义 矩阵乘法 任意矩阵 A A A 乘以基矩阵 V V V , A V = [ A v 1 , ⋯ , A v n ] = W AV=\left[ A\mathbf{v_1},\cdots,A\mathbf{v_n} \right]=W AV=[Av1,⋯,Avn]=W ,其中向量 v i \mathbf{v_i} vi 为基矩阵 V V V 的第 i i i 个向量。
几何意义是,积矩阵 W W W 、矩阵 A V AV AV 对任意向量的变换相等。
重要性质 A ( V a ) = W a = ( A V ) a A(V\mathbf{a}) = W\mathbf{a} = (AV)\mathbf{a} A(Va)=Wa=(AV)a 。
两个矩阵相乘,必须满足形状要求,因为矩阵乘以向量,要求向量维度等于矩阵的列数,所以矩阵 A m n A_{mn} Amn 与矩阵 V n n V_{nn} Vnn 相乘,矩阵 A A A 的列数( n n n)必须等于矩阵 V V V 的行数( n n n),积矩阵的尺寸为 W m n W_{mn} Wmn 。
矩阵乘法,还可以从矩阵乘以向量角度观察, A V = A [ v 1 , ⋯ , v n ] = [ A v 1 , ⋯ , A v n ] AV=A\left[ \mathbf{v_1},\cdots,\mathbf{v_n} \right]=\left[ A\mathbf{v_1},\cdots,A\mathbf{v_n} \right] AV=A[v1,⋯,vn]=[Av1,⋯,Avn] ,即矩阵 A A A 乘以基矩阵 V V V 每个向量,这种看法有助于记忆矩阵乘法,和化简矩阵乘法有关的表达式。
重要性质 A V = A [ v 1 , ⋯ , v n ] = [ A v 1 , ⋯ , A v n ] AV=A\left[ \mathbf{v_1},\cdots,\mathbf{v_n}\right]=\left[A\mathbf{v_1},\cdots,A\mathbf{v_n} \right] AV=A[v1,⋯,vn]=[Av1,⋯,Avn] .
上面定义矩阵乘法,要求矩阵 V V V 为基矩阵,如果是任意向量组构成的矩阵,怎么定义矩阵乘法呢?有两种方法,结果相同。
第一种方法方便记忆,就是对基矩阵乘法的推广,利用 A V = A [ v 1 , ⋯ , v n ] = [ A v 1 , ⋯ , A v n ] AV=A\left[ \mathbf{v_1},\cdots,\mathbf{v_n}\right]=\left[ A\mathbf{v_1},\cdots,A\mathbf{v_n}\right] AV=A[v1,⋯,vn]=[Av1,⋯,Avn] ,把向量 v i \mathbf{v_i} vi 看成任意向量,数量也任意。
第二种方法,和基矩阵看法一样,即把矩阵
B
B
B 的向量组看成空间的生成向量。令变换矩阵
A
m
n
A_{mn}
Amn 把
n
n
n 维空间中向量组
B
n
p
=
(
b
1
,
⋯
,
b
p
)
B_{np} = (\mathbf{b_1},\cdots,\mathbf{b_p})
Bnp=(b1,⋯,bp) ,变换为
m
m
m 维空间中
p
p
p 个向量
(
w
1
=
A
b
1
,
⋯
,
w
p
=
A
b
p
)
(\mathbf{w_1}=A\mathbf{b_1},\cdots,\mathbf{w_p}=A\mathbf{b_p})
(w1=Ab1,⋯,wp=Abp) ,则向量组
B
n
p
B_{np}
Bnp 张开的子空间中任意向量
a
1
b
1
+
⋯
+
a
p
b
p
a_1\mathbf{b_1}+\cdots+a_p\mathbf{b_p}
a1b1+⋯+apbp ,矩阵
A
m
n
A_{mn}
Amn 把其变换为
m
m
m 维空间的向量
A
(
B
a
)
=
A
(
a
1
b
1
+
⋯
+
a
p
b
p
)
=
a
1
A
b
1
+
⋯
+
a
p
A
b
p
=
a
1
w
1
+
⋯
+
a
p
w
p
=
W
a
得
W
=
A
B
=
[
A
b
1
,
⋯
,
A
b
p
]
A(B\mathbf{a})= A(a_1\mathbf{b_1}+\cdots+a_p\mathbf{b_p}) = a_1A\mathbf{b_1}+\cdots+a_pA\mathbf{b_p} \\ = a_1\mathbf{w_1}+\cdots+a_p\mathbf{w_p} \\ = W\mathbf{a} \\ 得 \quad W = AB = \left[ A\mathbf{b_1},\cdots,A\mathbf{b_p}\right]
A(Ba)=A(a1b1+⋯+apbp)=a1Ab1+⋯+apAbp=a1w1+⋯+apwp=Wa得W=AB=[Ab1,⋯,Abp]
定义 矩阵乘法 任意矩阵 A A A 乘以任意矩阵 B B B , A B = [ A b 1 , ⋯ , A b p ] AB=\left[ A\mathbf{b_1},\cdots,A\mathbf{b_p}\right] AB=[Ab1,⋯,Abp] ,其中向量 b i \mathbf{b_i} bi 为矩阵 B B B 的第 i i i 个向量。
即矩阵 A A A 乘以矩阵 B B B 每个向量。
重要性质 任意两个矩阵相乘,必须满足形状要求,因为矩阵乘以向量,要求向量维度等于矩阵的列数,所以矩阵 A m n A_{mn} Amn 与矩阵 B n p B_{np} Bnp 相乘,矩阵 A A A 的列数( n n n)必须等于矩阵 B B B 的行数( n n n),积矩阵的尺寸为 W m p W_{mp} Wmp 。
定义 方阵 矩阵的行数等于列数时,矩阵称为方阵。
定义 n n n 阶方阵 行数为 n n n 的方阵。
重要性质 矩阵自身相乘时,根据形状要求,矩阵 A A A 必须为方阵,即 A n n A n n = B n n A_{nn}A_{nn}=B_{nn} AnnAnn=Bnn 。
例如:
A
=
[
0
2
1
3
]
B
=
[
4
6
5
7
]
A
b
1
=
[
0
2
1
3
]
[
4
5
]
=
[
0
∗
4
+
2
∗
5
1
∗
4
+
3
∗
5
]
=
[
10
19
]
A
b
2
=
[
0
2
1
3
]
[
6
7
]
=
[
0
∗
6
+
2
∗
7
1
∗
6
+
3
∗
7
]
=
[
14
27
]
A
B
=
[
A
b
1
,
A
b
2
]
=
[
10
14
19
27
]
A= \left[ \begin{matrix} 0 & 2 \\ 1 & 3 \end{matrix} \right] \quad B =\left[ \begin{matrix} 4 & 6 \\ 5 & 7 \end{matrix} \right] \\ A\mathbf{b_1}= \left[ \begin{matrix} 0 & 2 \\ 1 & 3 \end{matrix} \right] \left[ \begin{matrix} 4 \\ 5 \end{matrix} \right]= \left[ \begin{matrix} 0*4 + 2*5 \\ 1*4 + 3*5 \end{matrix} \right]= \left[ \begin{matrix} 10 \\ 19 \end{matrix} \right] \\ A\mathbf{b_2}= \left[ \begin{matrix} 0 & 2 \\ 1 & 3 \end{matrix} \right] \left[ \begin{matrix} 6 \\ 7 \end{matrix} \right]= \left[ \begin{matrix} 0*6 + 2*7 \\ 1*6 + 3*7 \end{matrix} \right]= \left[ \begin{matrix} 14 \\ 27 \end{matrix} \right] \\ AB=\left[ A\mathbf{b_1},A\mathbf{b_2}\right]= \left[ \begin{matrix} 10 & 14 \\ 19 & 27 \end{matrix} \right]
A=[0123]B=[4567]Ab1=[0123][45]=[0∗4+2∗51∗4+3∗5]=[1019]Ab2=[0123][67]=[0∗6+2∗71∗6+3∗7]=[1427]AB=[Ab1,Ab2]=[10191427]
可见,矩阵乘法运算量很大,小型(
m
,
n
<
4
m,n<4
m,n<4)矩阵还勉强可以手算。矩阵运算基本都靠计算机,读者工作中千万不要手算,慢且极容易出错。