您的位置:首页 > 其它

算法模板——高斯消元

2018-01-17 13:04 267 查看

基础

首先,n元1次方程组

⎧⎩⎨⎪⎪⎪⎪⎪⎪a1,1x1+a1,2x2+⋯+a1,nxn=b1a2,1x1+a2,2x2+⋯+a2,nxn=b2⋯an,1x1+an,2x2+⋯+an,nxn=bn

可以写成

⎡⎣⎢⎢⎢⎢a1,1a2,1⋯an,1a1,2a2,2⋯an,2⋯⋯⋯⋯a1,na2,n⋯an,nb1b2⋯bn⎤⎦⎥⎥⎥⎥

的n×(n+1)的矩阵形式。

现在,当给出一个n×(n+1)矩阵中,左下角都为0,即:

∑i=2n∑j=1i−1∣∣ai,j∣∣=0

那么这个矩阵代表的方程应当是很好解的,只需要通过最后一行将最后一个未知数解出来,依次代入消元,那么倒数第二行也可以解了……

现在的问题是:如何将任意矩阵转化为上述矩阵?

高斯消元

用高斯消元来解决。

首先可以知道:

矩阵的每一行的值减去其他行的值乘以一个数,表示的方程的结果不变。

(就是加减消元,结果不变啦)

那么可以这样来做:

先通过第一行将a2,1到an,1变成0;(通过加减消元)

然后通过第二行将a3,2到an,2变成0;

……

最后通过第n−1行将an,n−1变成0。

那么转化成了上面容易解的矩阵了;

最后通过代入来依次求出每个未知数的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: