目录
逆矩阵的概念
矩阵运算中,是没有除法的,也就是不能除以一个矩阵,这时就需要逆矩阵了。
注意:矩阵一定是方正(行和列的数目相同),才能有逆矩阵。
假设知道矩阵 A 和 B,而需要求矩阵 X:
这里不能除以矩阵A(X=B/A),但是可以每边都乘以 :
因为 A = I (I 是单位矩阵),所以:
最后得出 :
求解逆矩阵
逆矩阵求解公式:
调换 a 和 d 的位置,把 负号放在 b 和 c 前面,然后除以矩阵的行列式(ad-bc)。
应用例子
题目:一帮人坐公交车,车费是小孩¥3,大人¥3.2,总共是¥118.4。回程他们搭地铁,车费是小孩¥3.5,大人¥3.6,总共是¥135.2。请问几个小孩和几个大人?
解:设小孩 x1个,大人x2个。
先求左侧矩阵的逆:
得出结果:
答:16个小孩,22个大人。
可能没有逆矩阵
如果矩阵的行列式为零,这时就没有逆矩阵。如:
这种矩阵叫 "降秩矩阵",就是行列式为零的矩阵。
从该矩阵看出,第二行是第一行的两倍(或n倍),它们的行列式一定是零,这并没有提供新的信息或特征。
如上面的例子中,如果地铁的车费全是比公交车贵一半,我们便不能找出大人和小孩的分别。一定要有某些信息或特征来区别他们的不同,才可以算出小孩和大人的数量。
求解逆-方法1:初等行运算(高斯-若尔当)
计算 2x2 矩阵的逆是很容易的,但是计算更大的矩阵就比较复杂了。
这里介绍一种求解大矩阵的逆的方法:初等行运算(高斯-若尔当)。求解方法:
把矩阵 A 和 单位矩阵 I 放到一起,然后通过运算把 A 变成 I,这时 I 就变成了 。
例子:求 A 的逆矩阵。解:
直观理解该方法:
求解逆-方法2:余子式、代数余子式和伴随
余子式、代数余子式和伴随来求逆矩阵,计算过程比较繁琐。有以下步骤:
1、求余子式矩阵
2、转成代数余子式矩阵
3、转成伴随矩阵
4、乘以 1/行列式
例子:求 A 的逆矩阵。解:
余子式矩阵(计算行列式):
代数余子式矩阵(加入相隔正负号):
转成伴随矩阵(转置):
乘以 1/行列式:
矩阵A的行列式 = 3×2 - 0×2 + 2×2 = 10
求解逆-方法3:程序库
1、使用 Octave 中的 pinv(A)。
2、使用 Python 中 numpy.linalg.inv(A)。