矩阵大家一定都很熟悉它是线性代数中的一个术语,它在生产实践科研,等各学科都有不可替代的作用求逆矩阵当然是矩阵的一种常用操作,今天就写了个求逆矩陣的程序巩固下基本功
首先让我们回忆一下你矩阵的定义:
逆矩阵:设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩阵B使嘚: AB=BA=E。 则我们称B是A的逆矩阵而A则被称为可逆矩阵。
接下来我带大家回忆一下在“线性代数”中求逆矩阵的两种方法:
(以下方法来至维基百科)
如果矩阵可逆则其中是的。
注意:中元素的排列特点是的第列元素是的第行元素的要求得即为求解的的。
由条件以及的定义可知矩阵和都是。再由条件以及定理“两个矩阵的乘积的等于这两个矩阵的行列式的乘积”可知这两个矩阵的行列式都不为0。也就是说這两个等于它们的级数(或称为阶,也就是说A与B都是方阵,且rank(A) = rank(B) = n)换句话说,这两个矩阵可以只经由或者只经由,变为单位矩阵
因為对矩阵施以初等行变换(初等列变换)就相当于在的左边(右边)乘以相应的,所以我们可以同时对和施以相同的初等行变换(初等列變换)这样,当矩阵被变为时就被变为的逆阵。
接下来让我们来分别看看两个实际的小题回忆一下解法:
1.伴随矩阵法求逆矩阵:
接丅来我就用第二种方法,做一下第一题代码如下:
/*定义得到的逆矩阵*/ /*初始化扩展矩阵*/ /*调整扩展矩阵,若某一列全为0则行列式的值等于0,不存在逆矩阵*/ /*用计算过的扩展矩阵取后面的N*N矩阵为所求*/ /*初始化扩展矩阵*/ /*调整扩展矩阵,若某一列全为0则行列式的值等于0,不存在逆矩阵*/ /*搜索该列其他不为0的行如果都为0,则返回false*/ /*把其他行再该列的数值都化为0*/ /*用计算过的扩展矩阵取后面的N*N矩阵为所求*/ /*矩阵做乘法,验證结果*/转载请保留原文地址: