矩阵的乘法
首先乘法对两个矩阵的 size是有要求的,
左矩阵的列数 == 右矩阵的行数
X = [ a1 ... am ] X是m列的矩阵,列向量ai长是s的,
A = X 的转置,是m*s的矩阵
B是s*n的矩阵 B = [b1 ...bn], 列向量b长s
结果C 是m*n的
再考虑一个问题 A*B = O, 这里面有什么特殊关系呢?
A*B = [ Ab1 .... Abn] = O 说明 Abi=0.
Abi=0 这n个齐次方程,0向量必是一个解.
如果A是方阵且满秩,那么解是唯一的就是 0, 因此bi 全都是0向量。
如果A是方阵,不满秩。那就是说有无数解,随便选n个出来就可以组成矩阵B了。
A是非方阵,
如果行数m>s, 即b的维数小于A的维数, 线性变换A把b映射到更高维的线性空间中的 0点。
此时A一共有s个列向量ai,
如果A秩为s, 说明这s个向量之间线性不相关,那么bi只能都是0向量。
如果A秩小于s, 说明这s个向量之间线性相关,那么bi有无数选择。
如果行数m<s, b的维数更高,线性变换A把高维向量投射到低维的0。
这个时候A的列数大于行数,说明s个列向量必定是线性相关的,bi有无数选择。考虑增广矩阵[A 0], 秩是m,自由变量有m-s个,因此B的秩最多是m-s.
这时候把 A看作一个线性变换能不能直观的得出另一些结论呢?
随手记:
10a - 3b - 2c = 0
这样一个线性方程,如何表示他的解空间?
x = [ 0.3b+0.2c, b, c] = b*[0.3, 1, 0] + c*[0.2, 0, 1]
也就是说每一组解都可以表示为 两个向量的线性组合。
两个向量张成了一个平面, 正好和平面方程一致。