Gauss Elimination - 高斯消元法


问题

用高斯消元法(Gauss Elimination)求拥有唯一解的线性方程组。


可逆矩阵

对于阶方阵,存在阶方阵使得

其中是单位矩阵,称是可逆矩阵或非奇异矩阵(反之不存在的矩阵为不可逆矩阵或奇异矩阵),的逆矩阵,记作

初等变换

对于矩阵

用非零常数)乘的某行/列的每个元素;

互换的某两行/列;

的某行/列元素的倍加到另一行/列;

上面三种操作是矩阵的三种初等变换,分别称为初等倍乘、初等互换、初等倍加行/列变换。

由单元矩阵经过一次初等变换得到的矩阵称为初等矩阵,分别是

倍乘初等矩阵,如

其中表示单位矩阵的第行/列乘)倍得到的矩阵。

互换初等矩阵,如

其中表示单位矩阵的第行与第行(或第列与第列)互换得到的矩阵。

倍加初等矩阵,如

其中表示单位矩阵的第行/列的倍加到第行/列得到的矩阵。

若矩阵经过有限次初等变化变成矩阵,则称等价,记作。若,则称后者为的等价标准形。

矩阵的秩

列的矩阵中存在阶子式不等于,且所有阶子式(存在的话)都等于,则称矩阵的秩为,记作。特别的,零矩阵的秩规定为。其中,在矩阵中任取行与列()组成的阶行列式为的一个阶子式。

线性方程组

线性方程组

可以表示为列的矩阵,第行第列的元素为。设是线性方程组的解,是线性方程的右边一列系数向量。一般简写作

上面的线性方程组可以写成增广矩阵

增广矩阵的左边部分是线性方程组中的矩阵,右边部分是线性方程组中的系数向量。增广矩阵是一个的矩阵。

高斯消元法的数学含义在于通过初等变化,将线性方程组对应的增广矩阵变化为只有行不全为的矩阵(其中为增广矩阵的秩),形如

经过变换后,不全为的行有行,全为的行有行。当时,线性方程组有唯一解,否则有通解。

本问题只考虑时有唯一解的线性方程组的解法。


数学复习全书(2013年李永乐李正元考研数学 数学一) - 第二篇 线性代数


源码

GaussElimination.h

GaussElimination.cpp

测试

GaussEliminationTest.cpp