永发信息网

请问目前的算法能否稳定的解决大规模线性方程组问题?

答案:2  悬赏:50  手机版
解决时间 2021-02-05 19:54
  • 提问者网友:贪了杯
  • 2021-02-05 15:13
数学上我知道有一些算法专门处理线性方程组(不知道对大规模方程组,例如10万×10万的方程组),例如最简单的标度化选主元高斯消去法,还有复杂一些的方法例如迭代法等。最近我一个朋友遇到类似的问题问到了我,我就在想,以上所提的方法对于小规模的是没有问题的,但对于大规模非稀疏矩阵是否还可靠了呢?因为在计算的过程中很显然会有各种误差,随着矩阵规模的增大,条件数的增大等等因素的影响,上述算法是否还能稳定的计算出方程组的真解。如果不能的话,现在学术界或产业界是否有较新的算法能够处理这个问题呢?
谢谢!
最佳答案
  • 五星知识达人网友:神也偏爱
  • 2021-02-05 15:32
从时间复杂度来看,矩阵求逆,线性方程组,和矩阵乘法在时间复杂度上是相同的,可以参见《算法导论》

对于非稀疏矩阵,线性方程组的复杂度在n^3---n^2之间,
最差的算法直接暴力计算复杂度是n^3。而最好的算法不可能快于n^2,因为矩至少矩阵中n^2个元素每个元素都要访问一遍,因此不会快于n^2

目前世界上已知最快的算法复杂度是n^2.376,这个复杂度对于10万×10万的方程组.....大约是几个小时吧,
可能有一些办法适合在并行机上运行,那样就可以用超级计算机解决...

在精度方面,矩阵很大很大的时候一定不能使用迭代,因为迭代达到一同样精度需要的步数相对于n增长得很快,大矩阵迭代会很慢很慢。好像高斯消元没有太大精度问题,只要不是那种极限数据吧。如果增加字长应该能减小误差,比如用128bit的浮点数,可以增加近20为有效数字,应该能很大程度减小误差吧
全部回答
  • 1楼网友:末日狂欢
  • 2021-02-05 16:11
 二元一次方程组求解的算法,有代入消元法和加减消元法。 代入消元法是将方程组中的一个方程的未知数用含有另一个未知数的代数式表示,并代入到另一个方程中去,这就消去了一个未知数,得到一个解。代入消元法简称代入法。代入消元法解二元一次方程的一般步骤  用代入消元法解二元一次方程组的步骤:(1)从方程组中选取一个系数比较简单的方程,把其中的某一个未知数用含另一个未知数的式子表示出来. (2)把(1)中所得的方程代入另一个方程,消去一个未知数. (3)解所得到的一元一次方程,求得一个未知数的值. (4)把所求得的一个未知数的值代入(1)中求得的方程,求出另一个未知数的值,从而确定方程组的解。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯