最近由于项目任务较少,手上有不少空闲的时间,所以抽空研究了一下矩阵行列式的算法。
先来说说行列式,以下摘自百度百科:
行列式在数学中,是由解线性方程组产生的一种算式。行列式的特性可以被概括为一个多次交替线性形式,这个本质使得行列式在欧几里德空间中可以成为描述“体积”的函数。
[1] 其定义域为nxn的矩阵A,取值为一个标量,写作det(A)或 | A | 。行列式可以看作是有向面积或体积的概念在一般的欧几里得空间中的推广。或者说,在n维欧几里得空间中,行列式描述的是一个线性变换对“体积”所造成的影响。无论是在线性代数、多项式理论,还是在微积分学中(比如说换元积分法中),行列式作为基本的数学工具,都有着重要的应用。 行列式概念最早出现在解线性方程组的过程中。十七世纪晚期,关孝和与莱布尼茨的著作中已经使用行列式来确定线性方程组解的个数以及形式。十八世纪开始,行列式开始作为独立的数学概念被研究。
十九世纪以后,行列式理论进一步得到发展和完善。矩阵概念的引入使得更多有关行列式的性质被发现,行列式在许多领域都逐渐显现出重要的意义和作用,出现了线性自同态和向量组的行列式的定义。
n阶行列式的计算公式:
设有n²个数,排列成n行n列的表
a11 a12 ... a1n
a21 a22 ... a2n
... ... ... ...
an1 an2 ... ann
作出表中位于不同行不同列的n个数的乘积,并冠以符号(-1)t,得到形如 (-1)t a1p1*a2p2 ... anpn的项,其中p1,p2,....pn为自然数1,2,...n的一个排列,t为这个排列的逆序数,由于这样的排列