行列式展开和行列式计算,就是把较高阶的行列式转化为较低阶行列式,从而得到计算行列式的另一种基本方法——降阶法。
行列式的展开
余因式
又称“余子式”、“余因子”。
对一个阶的行列式$$M$$,去掉$$M$$的第
$$i$$行第$$j$$列后形成的$$n-1$$阶的行列式叫做$$M$$关于元素$${\displaystyle m_{ij}}$$的余因式。记作$$M_{ij}$$。
$$M_{ij}={\begin{vmatrix}
m_{1,1}&\dots &m_{1,j-1}&m_{1,j+1}&\dots &m_{1,n} \\
\vdots &&\vdots &\vdots &&\vdots \\
m_{i-1,1}&\dots &m_{i-1,j-1}&m_{i-1,j+1}&\dots &m_{i-1,n}\\
m_{i+1,1}&\dots &m_{i+1,j-1}&m_{i+1,j+1}&\dots &m_{i+1,n}\\
\vdots &&\vdots &\vdots &&\vdots \\
m_{n,1}&\dots &m_{n,j-1}&m_{n,j+1}&\dots &m_{n,n}
\end{vmatrix}}$$
代数余子式
关于元素的代数余子式记作。。
行列式关于行和列的展开
一个阶的行列式可以写成一行(或一列)的元素与对应的代数余子式的乘积之和,叫作行列式按一行(或一列)的展开。
这个公式又称拉普拉斯公式,把维矩阵的行列式计算变为了个维的行列式的计算。另一方面,拉普拉斯公式可以作为行列式的一种归纳定义:在定义了二维行列式后,维矩阵的行列式可以借助拉普拉斯公式用维的行列式来定义。这样定义的行列式与前面的定义是等价的。
行列式的计算
计算行列式的值是一个常见的问题。最简单的方法是按照定义计算或按照拉普拉斯公式进行递归运算。这样的算法需要计算次的加法,复杂度是指数函数。在实际的计算中只能用于计算阶数很小的行列式。注意到拉普拉斯公式的性质,如果一行或一列里面有很多个0,那么就可以把行列式按这一行或一列展开,这时数值为零的系数所对应的代数余子式就不必计算了,因为最后要乘以0,这样就可以简化计算。然而更加简便的算法是利用高斯消元法或LU分解法,把矩阵通过初等变换变成三角矩阵或三角矩阵的乘积来计算行列式的值。这些算法的复杂度都是级别,远远小于直接计算的复杂度。
如果一个算法可以在时间内算出矩阵乘法,那么可以构造出一种时间内的行列式求值算法。这说明求矩阵的行列式的值和矩阵的乘法有相同的复杂度。于是,通过分治算法或者其它的方法,可以达到比更好的结果。比如,存在复杂度的行列式求值算法。
行列式函数
由行列式的一般表达形式中可以看出,矩阵$$A$$的行列式是关于其系数的多项式。因此行列式函数具有良好的光滑性质。
单变量的行列式函数
设矩阵函数为(k阶连续可导)的函数,则由于行列式函数只不过是矩阵的某些系数的乘积,所以也是的。其对t的导数为
,其中的每个是矩阵的第i个行向量(也可以全部是列向量)。
矩阵的行列式函数
函数是连续的。由此,n阶一般线性群是一个开集,因为是开区间R-{0}的原像,而特殊线性群则是一个闭集,因为是闭集合{1,-1}的原像。
函数也是可微的,甚至是光滑的。它在某个矩阵处的展开为
也就是说,在装备正则范数的矩阵空间中,伴随矩阵是行列式函数的梯度
特别当为单位矩阵时,