初等行变换求逆矩阵

设要求出 n 阶矩阵 A 的逆矩阵 B

对于一个矩阵的初等行变换,有三种:
1. 交换两行。
2. 将某一行的所有元素乘以一个非零实数 k
3. 将某一行 j ,加上某一行 i(ij )乘以一个非零实数 k ,即 Aj=Aj+Aik

可以发现的是,每种变换其实都可以等价于乘以某个矩阵,事实上称其为初等矩阵。

那么,当我们不停地对 A 进行初等变换,并且用另外一个矩阵 C 不停地乘上这种变换对应的初等矩阵,那么当 A 变为 I() 时, C 就是 A 的逆矩阵了。
怎么样将 A 变为 I ?我们类似于高斯消元一样,一行一行一列一列地扫过去。由于最终要保证 Ai,i=1 ,其他为 0
设当前扫到第 i 行,那么对于 Ai,1i1=0 。但是对于 j<iAj,i 可能不等于0。但我们初等变换中可以先对第 i 行除以 Ai,i ,即保证 Ai,i=1 ,接着用 i 整行去消 j<i 。那么 Aj,i 就等于0了。那么我们这样一行一行地消下去即可。我们对 A 中做的所有操作,顺便对 C 同时做就好了。反正都是乘上同一个矩阵。

一开始没有操作时 C 就是 I

最后我们用 O(N3) 的复杂度求出了逆矩阵。

你可能感兴趣的:(初等行变换求逆矩阵)