高斯消元

[转:http://www.cnblogs.com/pegasus/archive/2011/07/31/2123195.html]

高斯消元法(Gaussian elimination)是求解线性方阵组的一种算法,它也可用来求矩阵的秩,以及求可逆方阵的逆矩阵。它通过逐步消除未知数来将原始线性系统转化为另一个更简单的等价的系统。它的实质是通过初等行变化(Elementary row operations),将线性方程组的增广矩阵转化为行阶梯矩阵(row echelon form)。

以方程组:这里写图片描述 为例,
1、首先构造增广矩阵,即把每个方程的系数提出来组成一个矩阵,x的系数排在一列,y的系数排在一列,z的系数排在一列,再加上常数项,为一列。这里写图片描述
2、通过以交换行、某行乘以非负常数和两行相加这三种初等变化将原系统转化为更简单的三角形式(triangular form)注:这里的初等变化可以通过系数矩阵A乘上初等矩阵E来实现
(赶脚这一坨十分的深奥啊,根据图来理解下:)
高斯消元_第1张图片
实际上,简单的来说就是通过加减消元,逐步减少方程中的未知量
3、得到简化的三角方阵组,注意它更容易解
4、这时可以使用向后替换算法(Algorithm for Back Substitution)求解得z=-4/-4=1, y=4-2z=4-2=2, x= (1-y-z)/2=(1-2-1)/2=-1
这里写图片描述
(在只剩下一个未知量的时候求出未知量,并逐一回带,直至求出全部未知量)

【总结上面过程,高斯消元法其实就是下面非常简单的过程
:原线性方程组—> 高斯消元法——>下三角或上三角形式的线性方程组 —> 前向替换算法求解(对于上三角形式,采用后向替换算法)】

高斯消元_第2张图片
高斯消元_第3张图片
高斯消元_第4张图片

判断解的情况。
① 无解
当方程中出现(0, 0, …, 0, a)的形式,且a != 0时,说明是无解的。
② 唯一解
条件是k = equ,即行阶梯阵形成了严格的上三角阵。利用回代逐一求出解集。
③ 无穷解。
条件是k < equ,即不能形成严格的上三角形,自由变元的个数即为equ – k,但有些题目要求判断哪些变元是不缺定的。

这里单独介绍下这种解法:
首先,自由变元有var - k个,即不确定的变元至少有var - k个。我们先把所有的变元视为不确定的。在每个方程中判断不确定变元的个数,如果大于1个,则该方程无法求解。如果只有1个变元,那么该变元即可求出,即为确定变元。
(转:http://blog.csdn.net/mishifangxiangdefeng/article/details/7191074)

你可能感兴趣的:(数论,高斯消元)