我正在学习Steven C. Charpa的书中的数值方法。书中说" Gauss -Siedel比高斯消元法使用更少的内存,因为它不在矩阵中存储"0“值”,然而,书中写的算法处理与高斯消元法相同的矩阵。我不明白为什么Gauss-Siedel使用更少的内存。我在网上搜索了这个问题,人们都说同样的话,但没有人解释是怎么回事。
注:我可以在书中分享算法,如果不会有版权的问题。
发布于 2014-05-09 15:59:10
高斯消去法在计算时必须存储零。这是因为在消除下三角矩阵的过程中,零点可能变成非零值。另一方面,Gauss-Siedel方法,如果编写为处理稀疏矩阵,则只能对非零值进行操作。
简单地说,Gauss-Siedel方法一次只处理一个方程,求解系数为非零的i^{th}个变量,因此可以很容易地跳过系数为零的项。
高斯消元法在完全矩阵上进行,使得所有系数在第i^{th}个系数下为零,但在此过程中,上三角矩阵中的系数发生了变化。我认为对于稀疏矩阵,没有一种简单的方法来编写高斯消元法。
https://stackoverflow.com/questions/23516426
复制相似问题