漫步线性代数二十三——行列式公式

本文详细探讨了行列式的计算方法及其性质,特别是通过LDU分解和代数余子式的方法来计算行列式,并展示了如何利用行列式的性质进行计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一个公式上篇文章已经出现了,行操作得到 D 中的主元:

1、如果A是可逆的,那么 PA=LDU 并且 detP=±1 。乘积法则得出

detA=±detLdetDdetU=±()(1)

符号 ± 取决于行交换的次数是奇数还是偶数,三角因子满足 detL=detU=1 detD=d1dn

对于 2×2 的情况,标准 LDU 分解是

[acbd]=[1c/a01][a00(adbc)/a][10b/a1]

主元的乘积是 adbc ,这是对角矩阵 D 的行列式。如果第一步是一个行交换,那么主元是c (detA)/c

例1

2112112112=LDU=L23243(n+1)nU

矩阵的主元就是 D 中的2/1,3/2,,它的行列式就是主元的乘积,相乘后 2,,n 可以约分:

detA=2(32)(43)(n+1n)=n+1

MATLAB软件就是根据主元来计算行列式的,但是把所有信息都浓缩在主元上的话,我们无法知道一个元素的变化如何影响行列式,我们希望用 n2 个元素来明确的给出行列式的表达式。

对于 n=2 ,我们知道 adbc 为行列式的值,对于 n=3 ,我们也知道它的形式:

a11a21a31a12a22a32a13a23a33=+a11a22a33+a12a23a31+a13a21a32a11a23a32a12a21a33a13a22a31(2)

我们的目标是根据 detA 的性质1-3直接推导出这些式子。

首先,每行可以看成坐标方向的向量:

[ab]=[a0]+[0b][cd]=[c0]+[0d]

然后我们利用线性性质:

acbd=ac0d+0cbd=ac00+a00d+0cb0+00bd(3)

每行都分离到 n 个坐标方向,所以这个展开式有nn项,我们会看到这些项大部分都是零,当两行在同一个坐标方向时,一个是另一个的倍数关系,

ac00=0,00bd=0

现在只需要关注在不同方向上行,非零行只能由他们产生。假设第一行在 α 列上有一个非零元素,第二行在 β 列上有非零元素,最后一行在 v 列上有一个非零元素,列数α,β,,v都是不同的,他们是 1,2,,n 的重新排序或者置换,对于 3×3 的情况有 3!=6 个行列式:

a11a21a31a12a22a32a13a23a33=a11a22a33+a31a12a23+a21a32a13+a11a32a23+a21a12a33+a31a22a13(4)

除了这 n! 个行列式外其余的都是零,因为有一列是重复的。(对于第一列 α n 个选择,对于β留下了 n1 种选择,最后对于 v 列只有1种选择)也就是说,有n!中方式来置换 1,2,,n

(α,β,v)=(1,2,3),(2,3,1),(3,1,2),(1,3,2),(2,1,3),(3,2,1)

这些就是 (1,2,3) 3!=6 中方式的置换。

A 的行列式现在简化为六个更简单的行列式,接下来提出因子aij得:

detA=a11a22a33111+a12a23a31111+a13a21a32111+a11a23a32111+a12a21a33111+a13a22a31111(5)

每一项都有 n=3 aij 元素的乘积,如果列的顺序是 (α,,v) ,那个该项的就是 a1αanv 乘以置换矩阵 P 行列式的乘积,整个矩阵的行列式就是这n!项之和,这个和就是我们要找的显示公式:

detA=all P(a1αa2βanv)detP(6)

对于一个 n×n 的矩阵,这个和需要处理 n! 个置换 (α,,v)

接下来的问题就是找出 P 的行列式,而它是对单位矩阵进行行变换得到的,每执行一次行变换会给反转行列式的符号:

detP=+1 or 1

根据行交换次数的奇偶性决定正负号。

(1,3,2)111=1(3,1,2)111=1

对于 n=2 的情况,我们只有 (1,2),(2,1)

detA=a11a22det[1001]+a12a21det[0110]=a11a22a12a21(or adbc)

公式(6)看着的确不想简单的公式,然而,通过它我们明白为何它满足性质1-3。对于 A=I ,除了列的顺序为 (1,2,,n) 外,其他情况的 aij 乘积都是零,留下的唯一项得出 detI=1 。因为性质3(行列式线性依赖于第一行 a11,a12,,a1n )是我们最感兴趣的,随意一会再讲解性质2。

观察 a1αa2βanv ,第一列为 α=1 时,那么就留下 (β,,v) 的置换供其余列选择,我们将他们收集起来得到 a11C11

C11=(a2βanv)detP=det(A)(7)

同样的, a12 可以乘以更小的行列式 C12 ,不断用 a1j 进行下去的话,公式(6)就变成:

detA=a11C11+a12C12++a1nC1n(8)

这就表明行列式 detA 线性依赖于第一行的元素。

例2:对于 3×3 矩阵,用这种方式可以得到:

detA=a11(a22a33a23a32)+a12(a23a31a21a33)+a13(a21a32a22a31)(9)

C11,C12,C13 是括号内的 2×2 行列式。

代数余子式

我们知道 C1j 取决于 2,ldots,n 行,此时第一行完全由 a1j 确定。更进一步, a1j 也可以确定第 j 列,这时代数余子式C1j肯定依赖于其他列。对于同一项,行或列不能使用两次,我们需要做的就是将行列式分离成下面形式的和:

a11a21a31a12a22a32a13a23a33=a11a22a32a23a33+a21a31a12a23a33+a21a31a22a32a13

对于 n 阶行列式,将会得到n n1 阶较小的行列式;类似于上面的3个 2×2 子矩阵。子矩阵 M1j 通过去掉第1行和第 j 列得到,它的行列式和a1j相乘(还有符号),这些符号交替出现 detM11,detM12,detM13

C1j=(1)1+jdetM1j

第二个代数余子式 C12 a23a31a21a33 ,也就是 detM12 乘以-1,同样的方法也适用于 n×n 矩阵。

对于其他行列说,同样可以进行这种扩展,通过将该行和第一行交换即可证明其正确性。我们需要记住的是对于 Mij 需要删除 A 的第i行,第 j 列:

2、A的行列式是任何行 i 和其代数余子式的组合:

detA=ai1Ci1+ai2Ci2++ainCin(10)

代数余子式 C1j 就是 Mij 的行列式的绝对值:

Cij=(1)i+jdetMij(11)

这些公式将 detA 表示成 n1 阶行列式的组合,通过归纳法定义了 n 阶矩阵的行列式,一个1×1矩阵行列式为 detA=a11 ,然后利用方程(10)定义 2×2 矩阵的行列式, 3×3 矩阵以及 n×n 矩阵的行列式。我们更喜欢用性质来定义行列式,因为这种方式很容易进行解释,显示公式(6)和伴随矩阵公式(10)都是根据这些性质直接得到的。

这里有一个结论: detA=detAT ,我们可以用 A 的列来扩展,也就是AT的行进行扩展:

detA=a1jC1j+a2jC2j++anjCnj(12)

例3 4×4 的二阶微分矩阵 A4 在第一行只有两个非零元素:

A4=2100121001210012

C11 通过擦除第一行和第一列得到,和原来的模式一样:

C11=detA3=det210121012

对于 a12=1 ,移除第二列得到代数余子式 C12 :

C12=(1)1+2det100121012=+det[2112]=detA2

最后留下了 2×2 的行列式,将第一行的加起来得到 2C11C12

detA4=2(detA3)detA2=2(4)3=5

将同样的思路应用到 A5,A6,An 上:

detAn=2(detAn1)detAn2(13)

这个公式给出了 An 矩阵行列式的递推公式,当 An 的行列式是 n+1 阶时,通过前面的 n,n1 阶的行列式即可得到:

detAn=2(n)(n1)=n+1

答案 n+1 和文章开始部分主元乘积是一致的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值