克莱姆法则:用行列式求解
取一个方程组,读出它的系数矩阵。克莱姆法则说,每个未知数都是两个行列式之比:分母是系数矩阵的行列式 D;分子则把该变量所在的那一列替换成右端的常数。
System: 2x + 3y = 8
1x - 1y = -1
D = det[ 2 3 ; 1 -1 ] = 2*(-1) - 3*1 = -5
Dx = det[ 8 3 ; -1 -1 ] = 8*(-1) - 3*(-1) = -5 (x-column -> constants)
Dy = det[ 2 8 ; 1 -1 ] = 2*(-1) - 8*1 = -10 (y-column -> constants)
x = Dx / D = -5 / -5 = 1
y = Dy / D = -10 / -5 = 2
Check: 2(1)+3(2)=8 and 1-2=-1. Both hold.增广矩阵与行运算
第二种方法把整个方程组装进一个增广矩阵:左边是系数,一条竖线,右边是常数。然后我们用三种初等行运算把它整理干净,每一种都不改变解。
- 交换两行(重排方程)。
- 把某一行乘以一个非零数(缩放一个方程)。
- 把某一行的倍数加到另一行(合并方程以消去一个变量)。
化到简化行阶梯形
高斯消元法的目标是把左侧块整理成单位矩阵——这种状态叫简化行阶梯形。一旦左侧成了单位矩阵,右侧那一列就直接读出答案。
Same system, as an augmented matrix: [ 2 3 | 8 ] [ 1 -1 | -1 ] R1 <-> R2 (get a leading 1 on top): [ 1 -1 | -1 ] [ 2 3 | 8 ] R2 -> R2 - 2*R1 (clear below the leading 1): [ 1 -1 | -1 ] [ 0 5 | 10 ] R2 -> R2 / 5: [ 1 -1 | -1 ] [ 0 1 | 2 ] R1 -> R1 + R2 (clear above): [ 1 0 | 1 ] [ 0 1 | 2 ] Left block is the identity -> read off: x = 1, y = 2.