
先讲原理。通常逆矩阵有四种求法。
第一种:高斯消元法高斯消元法是最经典也是最广为人知的一种矩阵求逆方法,但是在现实应用中很少用到高斯消元法来进行矩阵的逆矩阵的求解。(考试或者手算会用到)
高斯消元法有两个版本:行变换版本与列变换版本,在日常应用中行变换应用的更广泛。这两个基本原理都是相同的。高斯消元法先将矩阵A与单位矩阵I进行连接形成一个新的增广矩阵.
上面的方法在中学比赛或者是考研经常用这种方法,手算一下。
第二种:LU分解法LU分解法其实是高斯消元法的一种变种算法。LU分解是将矩阵A分解为一个下三角矩阵与一个上三角矩阵的乘积。所谓的三角阵就是一半为零的矩阵。L是下三角矩阵(Lower TriangularMatrix),即主对角线以上的元素全部都是0的矩阵。U是上三角矩阵(Upper Triangular Matrix),即主对角线以下的元素全部都是0的矩阵。
然LU分解是高斯消元法的一种表现形式,但是相对于高斯消元法,LU分解更易于实现并行化。计算机基本用这种方法。比如求 50000*50000的这种大型矩阵。
第三种:SVD分解法
SingularValue Decomposition分解法也叫做奇异值分解,也是线性代数中十分重要的矩阵分解法,同样的能用来求解矩阵的逆矩阵。不同于LU分解中将矩阵A分解为下三角矩阵L与上三角矩阵U的乘积,SVD分解将矩阵A分解为三个矩阵的乘积,分别为:正交矩阵U、对角矩阵W以及正交矩阵V的转置矩阵V.
第四种:QR分解法
QR分解同样将原始矩阵A分解为两个矩阵的乘积,不同的是这两个矩阵分别为正交矩阵Q和上三角矩阵R。
上诉三种,目前在机器上用得最多的是LU分解法。它是套路化,并且可以分成小矩阵运算的。从而达到并行化处理。单机上的套路如下:
L矩阵求逆的套路如下:
U矩阵求逆的套路如下:
矩阵的转置的逆矩阵等于矩阵的逆矩阵的转置。同时又因为下三角矩阵的转置矩阵就是上三角矩阵,因此在求解上三角矩阵的逆矩阵的时候可以先将其转置为下三角矩阵,然后利用求解下三角矩阵的逆矩阵算法来对其进行求解,再对结果进行转置就可以求解出上三角矩阵的逆矩阵。
所以整个的求解就是基于三角阵捣鼓来捣鼓去求解。
不想懂原理的,用excel就可以,考试用的,用第一种方法,就是高斯消除法。
最后再次强调下, LU分解的方法最好,因为可以实行并行求解。
具体的运用,一般是考试,搞技巧方面,或者说做题方面,比较多的是伴随矩阵捣鼓。原理就是高斯消元法。
笨一点的人,就是背公式。比如LU分解法。
如果不是考试,那就简单了,直接用excel一下子搞定。
上面四个链接都是决策与实验室方法即DEMATEL相关的运用。DEMATEEL中关键的一步是求逆矩阵。上面几个链接都有详细的计算过程。它采用的是LU分解法。
说了这么多,意思就是,考试的时候自己算。
真实运用的时候,自己写程序算,或者用工具算,或者请人算。更重要的是理解求逆是干嘛用的
