行列式展开和行列式计算

行列式展开和行列式计算,就是把较高阶的行列式转化为较低阶行列式,从而得到计算行列式的另一种基本方法——降阶法。

行列式的展开

余因式

又称“余子式”、“余因子”。
对一个n阶的行列式$$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}}$$

代数余子式

M关于元素{\displaystyle m_{ij}}的代数余子式记作C_{ij}C_{ij}=(-1)^{(i+j)}\cdot M_{ij}

行列式关于行和列的展开

一个n阶的行列式M可以写成一行(或一列)的元素与对应的代数余子式的乘积之和,叫作行列式按一行(或一列)的展开。

{\displaystyle \det {M}=\sum_{i=1}^{n}m_{i;j}C_{i,j}},
\det {M}=\sum_{j=1}^{n}m_{i;j}C_{i,j}

这个公式又称拉普拉斯公式,把n维矩阵的行列式计算变为了nn-1维的行列式的计算。另一方面,拉普拉斯公式可以作为行列式的一种归纳定义:在定义了二维行列式后,n维矩阵的行列式可以借助拉普拉斯公式用n-1维的行列式来定义。这样定义的行列式与前面的定义是等价的。

行列式的计算

计算行列式的值是一个常见的问题。最简单的方法是按照定义\det(A)=\sum_{\sigma \in S_{n}}\operatorname {sgn}(\sigma )\prod_{i=1}^{n}a_{i,\sigma (i)}计算或按照拉普拉斯公式进行递归运算。这样的算法需要计算n!次的加法,复杂度是指数函数。在实际的计算中只能用于计算阶数很小的行列式。注意到拉普拉斯公式的性质,如果一行或一列里面有很多个0,那么就可以把行列式按这一行或一列展开,这时数值为零的系数所对应的代数余子式就不必计算了,因为最后要乘以0,这样就可以简化计算。然而更加简便的算法是利用高斯消元法或LU分解法,把矩阵通过初等变换变成三角矩阵或三角矩阵的乘积来计算行列式的值。这些算法的复杂度都是n^{3}级别,远远小于直接计算的复杂度。

如果一个算法可以在{\mathit {O}}(n^{s})时间内算出矩阵乘法,那么可以构造出一种{\mathit {O}}(n^{s})时间内的行列式求值算法。这说明求矩阵的行列式的值和矩阵的乘法有相同的复杂度。于是,通过分治算法或者其它的方法,可以达到比{\mathit {O}}(n^{3})更好的结果。比如,存在复杂度{\mathit {O}}(n^{2.376})的行列式求值算法。

行列式函数

由行列式的一般表达形式中可以看出,矩阵$$A$$的行列式是关于其系数的多项式。因此行列式函数具有良好的光滑性质。

单变量的行列式函数

设矩阵函数t\mapsto A(t){\mathcal {C}}^{k}(k阶连续可导)的函数,则由于行列式函数t\mapsto \det A(t)只不过是矩阵A(t)的某些系数的乘积,所以也是{\mathcal {C}}^{k}的。其对t的导数
行列式展开和行列式计算
,其中的每个A_{i}(t)是矩阵A(t)的第i个行向量(也可以全部是列向量)。

矩阵的行列式函数

函数A\mapsto \det A是连续的。由此,n阶一般线性群是一个开集,因为是开区间R-{0}的原像,而特殊线性群则是一个闭集,因为是闭集合{1,-1}的原像。

函数A\mapsto \det A也是可微的,甚至是光滑的({\displaystyle {\mathcal {C}}^{\infty }}。它在某个矩阵A处的展开为

\det(A+H)=\det A+{\rm {tr}}({}^{t}{\rm {Com}}(A).H)+o(||H||)
也就是说,在装备正则范数的矩阵空间{\displaystyle M_{n}(\mathbb {R} )}中,伴随矩阵是行列式函数的梯度

\nabla \det(A)={\rm {Com}}(A)特别当A为单位矩阵时,
\det(I+H)=1+{\rm {tr}}(H)+o(||H||),\qquad \nabla \det(I)=I

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程