上一期链接:https://blog.csdn.net/axehead/article/details/105626675
参考资料:
数值分析教程 刘长安 西北工业大学出版社
数值计算方法 黄云清 科学出版社
数值分析简明教程 王能超 高等教育出版社 第二版
高斯消元
高斯消元的思想其实 我们在中小学的时候就已经接触过,比如给出一个二元一次方程组,我们先将某一个方程乘以一个数,使得这个方程与剩下的方程相加后能消去某一个元,从而得解。
对于一般的方阵而言(我们下面只讨论方阵,对于其它类型的系数矩阵以后讨论),设有n阶方阵 A = ( a i j ) A=(a_{ij}) A=(aij),和n维列向量 b = ( b k ) , x = ( x k ) b=(b_{k}),x=(x_{k}) b=(bk),x=(xk)组成线性方程组 A x = b Ax=b Ax=b(x是未知量).下面进行消元,总共分为n-1个步骤,但每一步都是类似的,即第k( 1 ≤ k ≤ 1\le k\le 1≤k≤ n-1)步就是将第k行的 − a j k k a k k \frac {-a_{jk}^{k}}{a_{kk}} akk−ajkk倍加到第j( k + 1 ≤ j ≤ n k+1\le j\le n k+1≤j≤n)行,其中 a j k k a_{jk}^{k} ajkk表示的是第k步消元之前系数矩阵A的 a ( k j ) a_(kj) a(kj)元素(之所以加一个上标是为了区分每一步中对应的矩阵,因为每步消元矩阵A中的元素都会变化,同时每一步消元后系数矩阵A对角线上元素除 a n n a_{nn} ann外均不为零).注意!向量b要和A做同步的处理.
这样一来,第k步消元之前的方程组就可以表示为如下形式:
a 11 1 x 1 + a 12 1 x 2 + . . . + a 1 n 1 x n = b 1 1 a_{11}^{1}x_1+a_{12}^{1}x_2+\qquad ...+a_{1n}^{1}x_n=b_1^{1} a111x1+a121x2+...+a1n1xn=b11
a 22 2 x 2 + . . . + a 2 n 2 x n = b 2 2 \qquad\ \ \ \ \ \ a_{22}^{2}x_2+\qquad ...+a_{2n}^{2}x_n=b_2^{2} a222x2+...+a2n