线性代数入门:第三讲 - 矩阵乘法与逆矩阵解析
怎么计算两个矩阵相乘?
A*B=C
(1)A的第i行点乘B的第j列得到C的第i行第j列结果
这个不多说了
(2)A乘B的列,即对A的列进行线性操作得到C的对应列
(3)同理,A的每一行对B进行行操作得到C的每一列
(4)分块矩阵乘法
(5)(这个想法比较新)上面的想法都是左边矩阵看行、右边矩阵看列。如果我拿左边的列向量乘左边的行向量会怎么样?
举例,
一个列向量乘上一个行向量,会张成一个矩阵。这个矩阵的每一行都与右边行向量平行,每一列都与左边列向量平行。(以后会讲到,这种矩阵秩为1)
AB可以看作为A的每一列乘B的对应列的矩阵的和。
A的逆矩阵?
首先A的逆矩阵存在吗?
A可逆的充分必要条件为A不是奇异矩阵。
为什么奇异矩阵的逆不存在?
不严谨地从各个方面“证明”一下。。。
(1)A 的determinant为0. 然后根据矩阵乘法的行列式的性质,得出,不存在这样的矩阵使得乘A以后得到单位矩阵(determinant=1)
(2)A乘一个矩阵,或者一个矩阵乘A,就是对A进行列或者行的线性操作,然而,观察这个A,它的行向量或者说列向量只有一个方向,咋可能线性组合出[0,1]和[1,0]呢
(3)存在x不等于0,使得Ax=0。用反证法,如果A有逆,那么,
;矛盾
所以A没有逆。
假设A有逆,那么我应该如何求出A的逆矩阵呢?
求逆其实和解方程组是一回事。
我希望求解出abcd,
[a,b]' 列操作A得到[1,0]'
[c,d]'列操作A得到[0,1]'
引出高斯-若当方法。
然后行操作消元法使左边半边的矩阵成为单位矩阵,然后右边半边就是我们要求的逆矩阵了。
怎么理解这个方法?
对矩阵行操作消元其实就是在矩阵左乘了一个矩阵E。
EA=I,(E其实就是A的逆矩阵了)
同时,从block的角度,E乘了上面那个高斯若当矩阵右半边,
EI=E,
这样看右半边就得到结果了。
上一篇: 分块矩阵的总结
下一篇: 搞定矩阵求逆!C++实现的多种方法大汇总