设含有 n 个未知量 n 个方程的线性方程组:
⎩⎨⎧a11x1+a12x2+⋯+a1nxn=b1a21x1+a22x2+⋯+a2nxn=b2⋯an1x1+an2x2+⋯+annxn=bn
记系数行列式为:
D=a11a21⋮an1a12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann
若 D=0,则方程组有唯一解:
xj=DDj,j=1,2,…,n
其中 Dj 是将 D 中第 j 列替换为常数列 (b1,b2,…,bn)T 后得到的行列式:
Dj=a11a21⋮an1⋯⋯⋯a1,j−1a2,j−1⋮an,j−1b1b2⋮bna1,j+1a2,j+1⋮an,j+1⋯⋯⋯a1na2n⋮ann
方程组可写为 Ax=b,其中 A=(aij)n×n,x=(x1,…,xn)T,b=(b1,…,bn)T。
当 ∣A∣=0 时,x=A−1b,克莱姆法则给出了 xj 的显式表达式。
将 xj=DDj 代入第 i 个方程:
∑j=1naijDDj=D1∑j=1naijDj
由行列式展开定理,Dj 按第 j 列展开:
Dj=b1A1j+b2A2j+⋯+bnAnj=∑k=1nbkAkj
因此:
∑j=1naijDj=∑j=1naij∑k=1nbkAkj=∑k=1nbk∑j=1naijAkj
由代数余子式的性质:
∑j=1naijAkj={D,0,i=ki=k
故:
∑j=1naijDj=bi⋅D
所以 D1∑j=1naijDj=bi,验证了解的正确性。
设 x1∗,x2∗,…,xn∗ 也是方程组的解,则:
∑j=1naijxj∗=bi,i=1,2,…,n
两边乘以 Aik 并对 i 求和:
∑i=1nAik∑j=1naijxj∗=∑i=1nbiAik=Dk
左边:
∑j=1nxj∗∑i=1naijAik=xk∗⋅D
故 xk∗=DDk,解唯一。
对于齐次线性方程组 Ax=0:
- 若 ∣A∣=0,则方程组只有零解 x=0
- 若方程组有非零解,则 ∣A∣=0
∣A∣=0⟺齐次方程组有非零解
这是判断齐次方程组是否有非零解的重要方法。
示例:解方程组 {2x1+x2=5x1+3x2=10
D=2113=5,D1=51013=5,D2=21510=15
x1=55=1,x2=515=3
示例:判断方程组 ⎩⎨⎧x1+x2+x3=12x1+3x2+x3=2x1−x2+3x3=0 是否有唯一解。
D=12113−1113=10011−21−12=1001101−10=0
D=0,克莱姆法则不适用,方程组无唯一解。
示例:当 λ 为何值时,方程组 ⎩⎨⎧λx1+x2+x3=0x1+λx2+x3=0x1+x2+λx3=0 有非零解?
齐次方程组有非零解的充要条件是 D=0:
D=λ111λ111λ=(λ−1)2(λ+2)=0
故 λ=1 或 λ=−2 时方程组有非零解。
克莱姆法则需要计算 n+1 个 n 阶行列式,计算量为 O(n⋅n!),对于大规模方程组效率极低。实际计算中,高斯消元法(O(n3))更为高效。
- 仅适用于方程个数等于未知量个数的方程组
- 要求系数行列式 D=0
- 对于 D=0 或方程个数与未知量个数不等的情况,克莱姆法则无法直接应用
尽管实际计算中较少使用,克莱姆法则具有重要的理论价值:
- 给出了解的显式表达式,便于理论分析
- 揭示了解与系数和常数项之间的关系
- 证明了当 ∣A∣=0 时解的存在性与唯一性
- 在参数分析、灵敏度分析中有应用