【高等代数】5. 行列式(2)

【高等代数】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\)时,有如下特例:

\[\det A=\sum_{j=1}^{n}a_{ij}A_{ij},\quad \forall i=1,\cdots,n. \]

  • 定理:任给\(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\)个线性方程组的一个方法。方程组为

\[\left\{\begin{array}{} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n&=b_1,\a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n& =b_2,\\cdots \cdots & \cdots \a_{n1}x_1+ a_{n2}x_2+\cdots+a_{nn}x_n & =b_n. \end{array}\right. \]

记线性方程组的系数矩阵为

\[A=\begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \a_{21} & a_{22} & \cdots & a_{2n} \\vdots & \vdots & & \vdots \a_{n1} & a_{n2} & \cdots & a_{nn} \end{pmatrix}, \]

并令\(\det A=\Delta\)。用系数列\((b_1,\cdots,b_n)‘\)替换\(A\)中第\(j\)列的元素,剩下矩阵的行列式记作

\[\Delta_j=\begin{vmatrix} a_{11} & \cdots & a_{1,j-1} & b_1 & a_{1,j+1} & \cdots & a_{1n} \a_{21} & \cdots & a_{2,j-1} & b_2 & a_{2,j+1} & \cdots & a_{2n} \\vdots & & \vdots & \vdots & \vdots & & \vdots \a_{n1} & \cdots & a_{n,j-1} & b_n & a_{n,j+1} & \cdots & a_{nn} \end{vmatrix}, \]

由此有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展开计算行列式有时很费时,而且其最大的问题是许多时候仅适用于具体行列式,本章介绍一些适用于大型行列式的处理方法。

第一种是三角形法,由于三角矩阵的行列式只需将对角线上的元素相乘,方便计算,因此可以考虑用初等变换将行列式变换为三角行列式。有一些具有特殊形式的行列式很适用于化为三角矩阵。如箭型行列式:

\[A=\begin{vmatrix} a_{11} & a_{12} & a_{13} & \cdots & a_{1n} \a_{21} & a_{22} \a_{31} & & a_{33} \\vdots & & & \ddots \a_{n1} & & & & a_{nn} \end{vmatrix}, \]

将第\(j\)列元素乘以\(-\dfrac{a_{j1}}{a_{jj}}\)加到第一列,即得:

\[A=\begin{vmatrix} a_{11}-\frac{a_{12}a_{21}}{a_{22}}-\cdots-\frac{a_{1n}a_{n1}}{a_{nn}} & *& * & \cdots & * \& a_{22} \&& a_{33} \&&& \ddots \&&&& a_{nn} \end{vmatrix}. \]

又如双三角形行列式

\[B=\begin{vmatrix} x_1 & b & b & \cdots & b \b & x_2 & b& \cdots & b \b & b & x_3 & \cdots & b \\vdots& \vdots & \vdots & & \vdots \b & b & b & \cdots & x_n \end{vmatrix}, \]

可将第一行的\(-1\)倍加到以下各行,就有

\[B=\begin{vmatrix} x_1 & b & b & \cdots & b \b-x_1 & x_2-b \b-x_1 & & x_3-b \\vdots & & & \ddots & \b-x_1 & &&& x_n-b \end{vmatrix}. \]

这样化成了箭型行列式,再转化为三角形行列式即可。


第二种是利用递推公式,将\(n\)阶行列式通过行或列的初等变换或其他方法化为同种形式的\(n-1\)阶行列式,或者阶数更低的行列式以建立递推公式,这种方法的代表是Vandermonde行列式:

\[V(x_1,\cdots,x_n)=\begin{vmatrix} 1 & 1 & \cdots & 1 \x_1 & x_2 & \cdots & x_n \x_1^2 & x_2^2 & \cdots & x_n^2 \\vdots &\vdots & & \vdots \x_1^{n-1} & x_2^{n-1} & \cdots & x_n^{n-1} \end{vmatrix}=\prod_{1\le i<j\le n}(x_j-x_i). \]

此方法的典型是三对角行列式:

\[D_n=\begin{vmatrix} a & b\c& a & b \& \ddots & \ddots & \ddots \&&c & a & b \&&& c & a \end{vmatrix}, \]

按照第一行作Laplace展开,得到

\[D_n=aD_{n-1}-bcD_{n-2}, \]

这是一个线性递推方程,可以使用地推方程法求解,具体地是配凑一组\(x\)\(y\)使

\[D_{n}-x D_{n-1}=y(D_{n-1}-x D_{n-2}),\\left\{\begin{array}{} x+y=a,\xy=bc, \end{array}\right.\Rightarrow x,y=\frac{a\pm \sqrt{a^2-4bc}}{2}. \]

这样得到一个等比数列,可以对其求值。


第三种是加边,主要思想是将低阶行列式补上一行或者一列,使其成为高阶行列式。这主要适用于那种每一行或列都有公因子,但却提取不出来的,如

\[D=\begin{vmatrix} c_1 & a_2 & a_3 & \cdots & a_n \a_1 & c_2 & a_3 & \cdots & a_n \a_1 & a_2 & c_3 & \cdots & a_n \\vdots & \vdots & \vdots & & \vdots \a_1 & a_2 & a_3 & \cdots & c_n \end{vmatrix}, \]

每一行具有公因子\(a_i\),但由于\(c_i\)的存在不便提取、消去,故补上一行,使之成为

\[D=\begin{vmatrix} 1 & -a_1 & -a_2 & -a_3 & \cdots & -a_n \0 & c_1 & a_2 & a_3 & \cdots & a_n \0 & a_1 & c_2 & a_3 & \cdots & a_n \0 & a_1 & a_2 & c_3 & \cdots & a_n \\vdots & \vdots & \vdots & \vdots & & \vdots \0 & a_1 & a_2 & a_3 & \cdots & c_n \end{vmatrix}=\begin{vmatrix} 1 & -a_1 & -a_2 & -a_3 & \cdots & -a_n \1 & c_1-a_1 \1 & & c_2-a_2 \1 & & & c_3-a_3 \\vdots &&&& \ddots \1 &&&&& c_n-a_n \end{vmatrix}. \]

转化为箭型多项式,再转化为三角形多项式即可求解。

第四种是拆行,将行列式的某一行或某一列拆成两个行列式的和,这种方法尤见于双三角形不等式,但这里双三角形的上下元素不同。如

\[D_n=\begin{vmatrix} x_1 & a & a & \cdots & a \b & x_2 & a & \cdots & a \b & b & x_3 & \cdots & a \\vdots & \vdots & \vdots & & \vdots \b & b & b & \cdots & x_n \end{vmatrix}, \]

将最后一列拆分,得到

\[D_n=\begin{vmatrix} x_1 & a & a & \cdots & a+0 \b & x_2 & a & \cdots & a+0 \b & b & x_3 & \cdots & a+0 \\vdots & \vdots & \vdots & & \vdots \b & b & b & \cdots & x_n+b-b \end{vmatrix}=\begin{vmatrix} x_1 & a & a & \cdots & a \b & x_2 & a & \cdots & a \b & b & x_3 & \cdots & a \\vdots & \vdots & \vdots & & \vdots \b & b & b & \cdots & b \end{vmatrix}+\begin{vmatrix} x_1 & a & a & \cdots & 0 \b & x_2 & a & \cdots & 0 \b & b & x_3 & \cdots & 0 \\vdots & \vdots & \vdots & & \vdots \b & b & b & \cdots & x_n-b \end{vmatrix}, \]

后一项显然是\((x_n-b)D_{n-1}\),而前一项,有

\[\begin{vmatrix} x_1 & a & a & \cdots & a \b & x_2 & a & \cdots & a \b & b & x_3 & \cdots & a \\vdots & \vdots & \vdots & & \vdots \b & b & b & \cdots & b \end{vmatrix}=\begin{vmatrix} x_1-a \b-a & x_2-a \b-a & b-a & x_3-a \\vdots & \vdots & \vdots & \ddots \0 & 0 & 0 & \cdots & b \end{vmatrix}=\prod_{i=1}^{n-1}(x_i-a)b, \]

这就得到

\[D_n=b\prod_{i=1}^{n-1}(x_i-a)+(x_n-b)D_{n-1},\D_n=a\prod_{i=1}^{n-1}(x_i-b)+(x_n-a)D_{n-1}, \]

这里第二个等式成立是基于行列式的转置不变性,最后联立即可求解得到

\[D_n=\frac{1}{a-b}\left[a\prod_{i=1}^{n}(x_i-b)-b\prod_{i=1}^{n}(x_i-a) \right]. \]


最后一种方法较为特殊,视行列式为某些元素的多项式,即将行列式中的某个元素\(x\)看成未定元,再将其他元素看成常数,这样行列式是一个关于\(x\)的多项式。为确定多项式,只需确定其次数\(s\),再求其\(s\)个根,最后求首项系数即可。如

\[D_n=\begin{vmatrix} x & a_1 & a_2 & \cdots & a_{n-1} \a_1 & x & a_2 & \cdots & a_{n-1} \a_1 & a_2 & x & \cdots & a_{n-1} \\vdots & \vdots & \vdots & & \vdots \a_1 & a_2 & a_3 & \cdots & x \end{vmatrix}\xlongequal{def}f(x). \]

容易看出对\(i=1,2,\cdots,n-1\)\(f(a_i)=0\),因为这样会使得第\(i\)行和第\(i+1\)行相同。将各行加到第一列,可得

\[f(x)=\begin{vmatrix} x+a_1+\cdots+a_{n-1} & a_1 & a_2 &\cdots & a_{n-1} \x+a_1+\cdots+a_{n-1} & x & a_2 & \cdots & a_{n-1} \x+a_1+\cdots+a_{n-1} & a_2 & x & \cdots & a_{n-1} \\vdots & \vdots & \vdots & & \vdots \x+a_1+\cdots+a_{n-1} & a_2 & a_3 & \cdots & x \end{vmatrix}, \]

显然方程有一个根为\(-(a_1+\cdots+a_{n-1})\)。这样得到\(f(x)\)\(n\)个根,又因为\(f(x)\)是首项系数为\(1\)\(n\)次多项式,所以有

\[D_n=\left(x+\sum_{i=1}^{n-1}a_i \right)\prod_{i=1}^{n-1}(x-a_i). \]

又如

\[D_n=\begin{vmatrix} 1 & 1 & \cdots & 1 \x_1 & x_2 & \cdots & x_n \x_1^2 & x_2^2 & \cdots & x_n^2 \\vdots & \vdots & & \vdots \x_1^{k-1} & x_2^{k-1} & \cdots & x_n^{k-1} \x_1^{k+1} & x_2^{k+1} & \cdots & x_n^{k+1} \\vdots & \vdots & & \vdots \x_1^{n} & x_2^{n} & \cdots & x_n^{n} \end{vmatrix}, \]

此行列式有类似Vandermonde行列式的特点,但又不是,因此可以考虑加边将其变得更像Vandermonde行列式,尤其是补上缺少的\(k\)次方行,令

\[f(x)=\begin{vmatrix} 1 & 1 & \cdots & 1& 1 \x_1 & x_2 & \cdots & x_n & x \x_1^2 & x_2^2 & \cdots & x_n^2& x^2 \\vdots & \vdots & & \vdots & \vdots \x_1^{k-1} & x_2^{k-1} & \cdots & x_n^{k-1} & x^{k-1} \x_1^{k} & x_2^{k} & \cdots & x_n^{k} & x^{k} \\ x_1^{k+1} & x_2^{k+1} & \cdots & x_n^{k+1} & x^{k+1} \\vdots & \vdots & & \vdots & \vdots \x_1^{n} & x_2^{n} & \cdots & x_n^{n} & x^{n} \end{vmatrix}=\prod_{1\le i<j\le n}(x_j-x_i)\prod_{k=1}^{n}(x-x_k). \]

这是关于\(x\)\(n\)次多项式,对\(f(x)\)的最后一列作Laplace展开应当得到\(n+1\)项,可以看到\(D_n\)\(f(x)\)\(k\)次项系数,只是相差了符号\((-1)^{k+n}\)。由\(f(x)\)的表达式,不难看出\(f(x)\)\(k\)次项系数为

\[\prod_{1\le i<j\le n}(x_j-x_i)(-1)^{n-k}\sum_{1\le i_1<i_2<\cdots<i_{n-k}\le n}x_{i_1}x_{i_2}\cdots x_{i_{n-k}}, \]

所以

\[D_n=\prod_{1\le i<j\le n}(x_j-x_i)\sum_{1\le i_1<i_2<\cdots<i_{n-k}\le n}x_{i1}x_{i2}\cdots x_{i_{n-k}}. \]

【高等代数】5. 行列式(2)

上一篇:js 验证 网址 邮箱等


下一篇:Arduino IDE 2.0 beta安装