本篇为MIT公开课——线性代数 笔记。
矩阵乘法的运算规则
1.行乘列
乘法一般性法则:行乘列得到一个数。
假设有两个矩阵 (A、B) ,并且我们让 (A*B=C), 可以求得矩阵 (C) 中 (i) 行 (j) 列元素:
[C_{ ext{ij}}=( ext{row$\_$i} ext{at} A) ( ext{column$\_$j} ext{at} B)
]
即矩阵 (A) 中 (i) 行点乘以矩阵 (B) 中的 (j) 列,就是矩阵 (C) 中 (i) 行 (j) 列的元素。
注意是 “行*列”。
例如
[A=left(
egin{array}{cccc}
square & square & square & square \
square & square & square & square \
a_{31} & a_{32} & a_{33} & cdots \
square & square & square & square \
square & square & square & square \
end{array}
ight)
]
[B=left(
egin{array}{ccccc}
square & square & square & b_{14} & square \
square & square & square & b_{24} & square \
square & square & square & b_{34} & square \
square & square & square & cdots & square \
end{array}
ight)
]
则 矩阵 (C) 中 第3行4列元素为:
[egin{align}
C_{34}&=a_{31} b_{14}+a_{32} b_{24}+a_{33} b_{34}+cdots ext{}+a_{3 n} b_{ ext{n4}}\&=sum _{k=1}^n a_{3 k} b_{ ext{k4}}
end{align}
]
前提条件是矩阵 (A) 的总列数 必须和矩阵 (B) 中的总行数相等。
假设矩阵 (A) 是 (m*n) 矩阵,矩阵 (B) 是 (n*p) 矩阵, 那么 矩阵 (C=A*B), 矩阵 (C) 是 (m*p) 矩阵。
其实很好理解,原来 矩阵(A) 的一行与矩阵 (B) 的一列的点乘,可以得到矩阵(C) 中的一个元素,那么 (m) 行乘以 (p) 列就可以得到 (m*p) 个元素,所以矩阵 (C) 是 (m*p) 矩阵。
2.矩阵列的线性组合
举例:
[left(
egin{array}{ccc}
square & square & cdots \
square & square & cdots \
cdots & cdots & cdots \
end{array}
ight) left(
egin{array}{ccc}
square & square & cdots \
square & square & cdots \
cdots & cdots & cdots \
end{array}
ight)=left(
egin{array}{ccc}
square & square & cdots \
square & square & cdots \
cdots & cdots & cdots \
end{array}
ight)
]
[A*B=C
]
矩阵 (A) 的所有列乘以 (B) 的列1得到矩阵 (C) 的列1,矩阵 (A) 乘以 (B) 的列2得到矩阵 (C) 的列2....
将矩阵乘法考虑为矩阵乘以向量,矩阵 (B) 可以看成 p 个单独的列向量,只是这里排在一起。用矩阵 (A) 乘以每个列向量,相应得到 矩阵 (C) 的各列。
矩阵 (C) 中的各列,是矩阵 (A) 中各列的线性组合,矩阵 (B) 表示是怎么样的线性组合。
3.矩阵行的线性组合
[left(
egin{array}{ccc}
square & square & cdots \
square & square & cdots \
cdots & cdots & cdots \
end{array}
ight) left(
egin{array}{ccc}
square & square & cdots \
square & square & cdots \
cdots & cdots & cdots \
end{array}
ight)=left(
egin{array}{ccc}
square & square & cdots \
square & square & cdots \
cdots & cdots & cdots \
end{array}
ight)
]
[A*B=C
]
同样的例子,我们从矩阵行的角度看,可以看成矩阵 (A) 的每一行乘以矩阵 (B) 所有行,可以得到相应矩阵(C) 的每一行。
比如矩阵 (A) 的第一行乘以矩阵(B) 的所有行,可以得到矩阵 C的第一行。
矩阵 (C) 中的各行,是矩阵 (B) 中各行的线性组合,矩阵 (A) 表示是怎么样的线性组合。
4.列乘行
如果用矩阵 (A) 一列乘以矩阵 (B) 的一行,将得到一个完整的矩阵。
例如:矩阵 (A) 为 (m*1) ,矩阵(B) 为 (1*p),
[left(
egin{array}{c}
2 \
3 \
4 \
end{array}
ight) left(
egin{array}{cc}
1 & 6 \
end{array}
ight)=left(
egin{array}{cc}
2 & 12 \
3 & 18 \
4 & 24 \
end{array}
ight)
]
延申
[left(
egin{array}{cc}
2 & 7 \
3 & 8 \
4 & 9 \
end{array}
ight) left(
egin{array}{cc}
1 & 6 \
0 & 0 \
end{array}
ight)=left(
egin{array}{c}
2 \
3 \
4 \
end{array}
ight)left(
egin{array}{cc}
1 & 6 \
end{array}
ight) +left(
egin{array}{c}
7 \
8 \
9 \
end{array}
ight)left(
egin{array}{cc}
0 & 0 \
end{array}
ight)
]
列一乘以行一,列二乘以行二,然后相加。
5.分块乘法
我们还可以将矩阵切割成块,对块进行乘法。
例如:我们将方阵 (A) 切割成4份,方阵 (B) 切割成 4份。
[left(
egin{array}{cc}
A_1 & A_2 \
A_3 & A_4 \
end{array}
ight).left(
egin{array}{cc}
B_1 & B_2 \
B_3 & B_4 \
end{array}
ight)=left(
egin{array}{cc}
A_1 B_1+A_2 B_3 & cdots \
cdots & cdots \
end{array}
ight)
]
逆矩阵
矩阵的逆,不一定存在。
假设矩阵 (A) 可逆,那么存在一个逆矩阵,我们记为 (A^{-1}),使得
[A^{-1}*A=I
]
(I) 是单位矩阵。
注意这里只是左乘,如果 (A) 是方阵,就存在左乘等于右乘,即
[A^{-1}*A=A*A^{-1}=I
]
但如果是非方阵,左乘就不等于右乘。
逆不存在的情况
举例:
[left(
egin{array}{cc}
1 & 3 \
2 & 6 \
end{array}
ight)
]
理由阐述可以从以下不同角度:
1)这个矩阵由于列向量在同一条直线上,所以他们的线性组合被限定在这条直线上,不存在某个逆矩阵,使得他们相乘后结果为单位矩阵。
2)从行列式角度,取行列式结果为0(后面学)
3)假设存在某个非零矩阵 (X) ,使得
[A*X=0
]
那么 (A) 就没有逆矩阵。
这个例子中,我们就可以找到一个 (X) ,如
[left(
egin{array}{cc}
1 & 3 \
2 & 6 \
end{array}
ight) left(
egin{array}{c}
3 \
-1 \
end{array}
ight)=left(
egin{array}{c}
0 \
0 \
end{array}
ight)
]
我们可以用反证法证明:假设 (A) 存在逆矩阵,那么存在
[A^{-1}*A=I
]
[A^{-1}*A*X=0
]
[X=0
]
很明显,和前面 (X) 是非0矩阵矛盾。
结论:不可逆矩阵的列能通过线性组合得到0.
回归逆存在情况
再假设一个可逆矩阵 (A),使得
[left(
egin{array}{cc}
1 & 3 \
2 & 7 \
end{array}
ight) left(
egin{array}{cc}
a & c \
b & d \
end{array}
ight)=left(
egin{array}{cc}
1 & 0 \
0 & 1 \
end{array}
ight)
]
看成列的线性组合,就是求解两个线性方程组,
求解我们可以用“高斯-若尔当”,它能同时处理两个方程组
[left(
egin{array}{cc}
1 & 3 \
2 & 7 \
end{array}
ight) left(
egin{array}{c}
a \
b \
end{array}
ight)=left(
egin{array}{c}
1 \
0 \
end{array}
ight)\
left(
egin{array}{cc}
1 & 3 \
2 & 7 \
end{array}
ight) left(
egin{array}{c}
c \
d \
end{array}
ight)=left(
egin{array}{c}
0 \
1 \
end{array}
ight)
]
利用“高斯-若尔当”思想一起计算,同时考虑系数矩阵和两个右侧向量,写出增广矩阵,然后对其消元
[left(
egin{array}{cccc}
1 & 3 & 1 & 0 \
2 & 7 & 0 & 1 \
end{array}
ight)
ightarrow left(
egin{array}{cccc}
1 & 3 & 1 & 0 \
0 & 1 & -2 & 1 \
end{array}
ight)
ightarrow left(
egin{array}{cccc}
1 & 0 & 7 & -3 \
0 & 1 & -2 & 1 \
end{array}
ight)
]
第二步就是我们前面学过的高斯消元,即“向下消元”
而第三步是若尔当消元,即“向上消元”,主元是第二行第二个元素“1”.
这里我们就求出我们要的 (A) 的逆矩阵为:
[left(
egin{array}{cc}
7 & -3 \
-2 & 1 \
end{array}
ight)
]
因为:
[E*left[
egin{array}{cc}
A & I \
end{array}
ight]=[I quad E]=left[Iquad A^{-1}
ight]
]
(E) 表示我们引入的总的消元矩阵,最左边就表示对增广矩阵消元,因为(E*A=I) ,所以(E) 就是(A) 的逆矩阵。
以上就是求逆的方法和过程。