c++怎样来求方程组的解解决办法

c++怎样来求方程组的解
如:
x+y+z = 12
3x+5y= 22
2z+3x+y=40
如何来实现呢?

------解决方案--------------------
英文...
线代/高代书上有解法,忘了
------解决方案--------------------
写成矩阵形式,然后矩阵求逆就可以了,但是如果要提高算法精度的话,可以采用高斯迭代一类的逼近算法求解
------解决方案--------------------
{x, y, z}=
{r1, r2, r3}*D{{a1, b1, c1}{a2, ...}}
------解决方案--------------------
x+y+z = 12 
3x+5y= 22 
2z+3x+y=40 
转化为矩阵,看下线性代数的书,就知道怎么解了
------解决方案--------------------
高斯消元法求解方程组!!!
------解决方案--------------------
用高斯列主元消去法 貌似是现在精度最高的。
算法思想 大致是:
1。把方程写成矩阵形式,常数项写成一个向量
2。把矩阵化成上三角形式,注意做行变换的时候 常数项响亮也要跟着做变化。
一。我以第一次变换为例来说下:
首先看第一列,选出绝对值最大的那一项。把这一项所在的行跟第一行交换,目的是保持本列绝对值最大值(a)所在项为本列最上面的那行,这样第一列的第2行第3行...都是把a作为分母来做的运算,这样就保证了不会让特别小的数做分母而导致的数据失真
把这列的行数比列数大的元素都化为零。这就完成了本列的消去。
二。 按照第1列的方法来消去第2列。做第2列的时候 a的选取范围就是第2列的第2行(包括第2行)以后的元素。
最终化为如下形状
a11 a12 a13 a14
0 a22 a23 a24
0 0 a33 a34
0 0 0 a44
 3。矩阵化成以上形式了,你要是再不会求那就没招了。。。
希望我写明白了。。。一直在怀疑自己的表达能力。。。