【高等代数】5. 行列式(2)
2.3 Laplace展开定理
Laplace展开是用于求行列式的值的常用方法。
-
子式:对于一个矩阵\(A=(a_{ij})_{n\times n}\),从中取出第\(i_1,i_2,\cdots,i_p\)行与第\(j_1,j_2,\cdots,j_p\)列交叉位置上的元素(这里\(i_1,\cdots,i_p\)和\(j_1,\cdots,j_p\)均严格递增),并按这些元素在原来行列式\(\det A\)中的次序排成一个\(p\)阶行列式,它称为行列式\(\det A\)的一个\(p\)阶子式,记作\(A\pmatrix{i_1i_2\cdots i_p\\j_1j_2\cdots j_p}\),即
\[A\pmatrix{i_1i_2\cdots i_p\\j_1j_2\cdots j_p}=\begin{vmatrix} a_{i_1j_1} & a_{i_1j_2} & \cdots & a_{i_1j_p} \a_{i_2j_1} & a_{i_2j_2} & \cdots & a_{i_2j_p} \\vdots & \vdots & & \vdots \a_{i_pj_1} & a_{i_pj_2} & \cdots & a_{i_pj_p} \end{vmatrix}. \] -
余子式:从行列式\(\det A\)中删去第\(i_1,i_2,\cdots,i_p\)行和第\(j_1,j_2,\cdots,j_p\)列,剩下的元素按它们在原来行列式\(\det A\)中的次序排成一个\(n-p\)阶子式,称为\(p\)阶子式\(A\pmatrix{i_1i_2\cdots i_p\\j_1j_2\cdots j_p}\)的余子式。不妨设剩下的行和列为\(i_{p+1},i_{p+2},\cdots, i_{n}\)和\(j_{p+1},j_{p+2},\cdots,j_{n}\),则上述余子式即\(A\pmatrix{i_{p+1}i_{p+2}\cdots i_n\\j_{p+1}j_{p+2}\cdots j_{n}}\)。
特别对\(a_{ij}\),子式\(A\pmatrix{i\\j}\)的余子式有时也称为\(a_{ij}\)的余子式。
-
代数余子式:子式\(A\pmatrix{i_1i_2\cdots i_p \\j_1j_2\cdots j_p}\)的代数余子式为\((-1)^{i_1+i_2+\cdots+i_p+j_1+j_2+\cdots+j_p}\pmatrix{i_{p+1}i_{p+2}\cdots i_{n}\\j_{p+1}j_{p+2}\cdots j_{n}}\)。
特别对\(a_{ij}\),其代数余子式往往记作\(A_{ij}\)。
现在,给出本节的主要结论:Laplace展开定理。
- Laplace展开定理:任意取定行指标\(1\le i_1<\cdots<i_p\le n\),有
\[\det A=\sum_{1\le j_1<\cdots<j_p\le n}A\pmatrix{i_1i_2\cdots i_p\\j_1j_2\cdots j_p}\left((-1)^{i_1+\cdots+i_p+j_1+\cdots+j_p}A\pmatrix{i_{p+1}i_{p+2}\cdots i_n\\j_{p+1}j_{p+2}\cdots j_n} \right). \]即固定行指标时,\(\det A\)的值为其所有包含这些行\(p\)阶子式与其代数余子式的乘积之和。一个明显的结果是,\(n\)阶行列式固定行时,有\(\mathrm{C}_{n}^{p}\)个\(p\)阶子式(和对应的代数余子式)。
由于行列式的行与列地位相等,因此取定列指标也能得到相应的Laplace定理。特别对\(p=1\)时,有如下特例:
-
定理:任给\(n\)阶行列式\(\det A=\det (a_{ij})\),有
\[\sum_{j=1}^{n}a_{ij}A_{kj}=\delta_{ik}\det A. \]这里\(\delta_{ik}\)是Kronecker符号,当\(i=k\)时\(\delta_{ik}=1\),否则\(\delta_{ik}=0\)。
当\(i=k\)时,此定理即Laplace按一行展开的形式。当\(i\ne k\)时,
\[\sum_{j=1}^{n}a_{ij}A_{kj}=\begin{vmatrix} a_{11} & \cdots & a_{1n} \\vdots & & \vdots \a_{k-1,1} & \cdots & a_{k-1,n} \a_{i1} & \cdots & a_{in} \a_{k+1,1} & \cdots & a_{k+1,n} \\vdots & & \vdots \a_{n1} & \cdots & a_{nn} \end{vmatrix}, \]容易看出此行列式第\(i\)行与第\(k\)行相同,故行列式的值为\(0\)。
本节内容主要针对行列式的计算,证明并不重要,在实际面对一个行列式待求值时,Laplace展开提示我们尽量选择含\(0\)多的行或列进行展开,以此减小计算量。最后,给出一个数学分析中可能用到的结果。
-
行列式的求导:设\(n\)阶方阵\(A=(a_{ij}(x))\),这里\(a_{ij}(x)\)是关于\(x\)的可微函数,\(\forall i,j=1,\cdots,n\),有
\[\frac{\mathrm{d}(\det A)}{\mathrm{d}x}=\sum_{1\le i,j\le n}\frac{\mathrm{d}a_{ij}(x)}{\mathrm{d}x}A_{ij}. \]原式右边是一个双重求和,故使用Laplace展开将其变为单重求和,有
\[\begin{aligned} \sum_{1\le i,j\le n}\frac{\mathrm{d}a_{ij}(x)}{\mathrm{d}x}A_{ij}&=\begin{vmatrix} \frac{\mathrm{d}a_{11}(x)}{\mathrm{d}x} & \frac{\mathrm{d}a_{12}(x)}{\mathrm{d}x} & \cdots & \frac{\mathrm{d}a_{1n}(x)}{\mathrm{d}x}\a_{21}(x) & a_{22}(x) & \cdots & a_{2n}(x) \\vdots & \vdots & & \vdots \a_{n1}(x) & a_{n2}(x) & \cdots & a_{nn}(x) \end{vmatrix}\&\quad+\begin{vmatrix} a_{11}(x) & a_{12}(x) & \cdots & a_{1n}(x)\\frac{\mathrm{d}a_{21}(x)}{\mathrm{d}x} & \frac{\mathrm{d}a_{22}(x)}{\mathrm{d}x} & \cdots & \frac{\mathrm{d}a_{2n}(x)}{\mathrm{d}x} \\vdots & \vdots & & \vdots \a_{n1}(x) & a_{n2}(x) & \cdots & a_{nn}(x) \end{vmatrix}\&\qquad +\begin{vmatrix} a_{11}(x) & a_{12}(x) & \cdots & a_{1n}(x)\a_{21}(x) & a_{22}(x) & \cdots & a_{2n}(x) \\vdots & \vdots & & \vdots \\frac{\mathrm{d}a_{n1}(x)}{\mathrm{d}x} & \frac{\mathrm{d}a_{n2}(x)}{\mathrm{d}x} & \cdots & \frac{\mathrm{d}a_{nn}(x)}{\mathrm{d}x} \end{vmatrix}, \end{aligned} \]而原式左边可以用定义,并不断对行列式进行增项减项变为此结果。
2.4 Cramer法则
Cramer法则是Laplace展开定理的应用,是用于解\(n\)个未知量\(n\)个线性方程组的一个方法。方程组为
记线性方程组的系数矩阵为
并令\(\det A=\Delta\)。用系数列\((b_1,\cdots,b_n)‘\)替换\(A\)中第\(j\)列的元素,剩下矩阵的行列式记作
由此有Cramer法则:
- Cramer法则:设线性方程组的系数矩阵行列式$\Delta \ne $0,则线性方程组具有唯一解
\[(x_1,\cdots,x_n)=\left(\frac{\Delta_1}{\Delta},\cdots,\frac{\Delta_n}{\Delta} \right). \]
此法则只是给出了解在某些情况下的唯一性,并没有解决\(\Delta=0\)时解的存在性与唯一性,并且,它不是一个用于解线性方程组的实用方法,因为\(n\)很大时计算\(n\)阶行列式的工作量很大。但是Cramer法则具有很好的理论意义,即给出了线性方程组解唯一的一个充分条件。
特别当\(b_1=\cdots=b_n=0\)时,这样的方程组称为齐次线性方程组,显然\(x_1=\cdots=x_n=0\)是它的一个解。由Cramer法则,只要系数矩阵行列式\(\det A\ne 0\),那么这组零解就是此齐次线性方程组的唯一解。
2.5 行列式的计算
使用Laplace展开计算行列式有时很费时,而且其最大的问题是许多时候仅适用于具体行列式,本章介绍一些适用于大型行列式的处理方法。
第一种是三角形法,由于三角矩阵的行列式只需将对角线上的元素相乘,方便计算,因此可以考虑用初等变换将行列式变换为三角行列式。有一些具有特殊形式的行列式很适用于化为三角矩阵。如箭型行列式:
将第\(j\)列元素乘以\(-\dfrac{a_{j1}}{a_{jj}}\)加到第一列,即得:
又如双三角形行列式
可将第一行的\(-1\)倍加到以下各行,就有
这样化成了箭型行列式,再转化为三角形行列式即可。
第二种是利用递推公式,将\(n\)阶行列式通过行或列的初等变换或其他方法化为同种形式的\(n-1\)阶行列式,或者阶数更低的行列式以建立递推公式,这种方法的代表是Vandermonde行列式:
此方法的典型是三对角行列式:
按照第一行作Laplace展开,得到
这是一个线性递推方程,可以使用地推方程法求解,具体地是配凑一组\(x\)和\(y\)使
这样得到一个等比数列,可以对其求值。
第三种是加边,主要思想是将低阶行列式补上一行或者一列,使其成为高阶行列式。这主要适用于那种每一行或列都有公因子,但却提取不出来的,如
每一行具有公因子\(a_i\),但由于\(c_i\)的存在不便提取、消去,故补上一行,使之成为
转化为箭型多项式,再转化为三角形多项式即可求解。
第四种是拆行,将行列式的某一行或某一列拆成两个行列式的和,这种方法尤见于双三角形不等式,但这里双三角形的上下元素不同。如
将最后一列拆分,得到
后一项显然是\((x_n-b)D_{n-1}\),而前一项,有
这就得到
这里第二个等式成立是基于行列式的转置不变性,最后联立即可求解得到
最后一种方法较为特殊,视行列式为某些元素的多项式,即将行列式中的某个元素\(x\)看成未定元,再将其他元素看成常数,这样行列式是一个关于\(x\)的多项式。为确定多项式,只需确定其次数\(s\),再求其\(s\)个根,最后求首项系数即可。如
容易看出对\(i=1,2,\cdots,n-1\),\(f(a_i)=0\),因为这样会使得第\(i\)行和第\(i+1\)行相同。将各行加到第一列,可得
显然方程有一个根为\(-(a_1+\cdots+a_{n-1})\)。这样得到\(f(x)\)的\(n\)个根,又因为\(f(x)\)是首项系数为\(1\)的\(n\)次多项式,所以有
又如
此行列式有类似Vandermonde行列式的特点,但又不是,因此可以考虑加边将其变得更像Vandermonde行列式,尤其是补上缺少的\(k\)次方行,令
这是关于\(x\)的\(n\)次多项式,对\(f(x)\)的最后一列作Laplace展开应当得到\(n+1\)项,可以看到\(D_n\)是\(f(x)\)的\(k\)次项系数,只是相差了符号\((-1)^{k+n}\)。由\(f(x)\)的表达式,不难看出\(f(x)\)的\(k\)次项系数为
所以