Memory management 为什么Gauss-Siedel使用的内存比Gauss消去法少

Memory management 为什么Gauss-Siedel使用的内存比Gauss消去法少,memory-management,matrix,numerical-methods,Memory Management,Matrix,Numerical Methods,我正在学习史蒂文·C·夏帕的书中的数值方法。书中说,高斯-西德尔使用的内存比高斯消去法少,因为它在矩阵中不存储0个值,然而书中所写的算法处理的矩阵与高斯消去法相同。我不明白Gauss Siedel是如何使用更少的内存的。我在互联网上搜索了这个问题,人们说了同样的话,但没人解释怎么说 注:如果不存在版权问题,我可以在书中分享算法。高斯消去法在计算时必须存储零。这是因为在消去下三角矩阵的过程中,零点可以变成非零值。另一方面,Gauss-Siedel方法如果用于处理稀疏矩阵,则只能处理非零值 用一种简

我正在学习史蒂文·C·夏帕的书中的数值方法。书中说,高斯-西德尔使用的内存比高斯消去法少,因为它在矩阵中不存储0个值,然而书中所写的算法处理的矩阵与高斯消去法相同。我不明白Gauss Siedel是如何使用更少的内存的。我在互联网上搜索了这个问题,人们说了同样的话,但没人解释怎么说


注:如果不存在版权问题,我可以在书中分享算法。

高斯消去法在计算时必须存储零。这是因为在消去下三角矩阵的过程中,零点可以变成非零值。另一方面,Gauss-Siedel方法如果用于处理稀疏矩阵,则只能处理非零值

用一种简单的方法,你可以说Gauss-Siedel方法一次只处理一个方程,求解系数非零的i^{th}变量,因此它可以很容易地跳过系数为零的项


高斯消去作用于完全矩阵,使i^{th}系数以下的所有系数为零,但在此过程中,上三角矩阵中的系数发生了变化。我认为编写稀疏矩阵的高斯消去法是不容易的。

如果不实际了解上下文,很难判断。Gauss Siedel使用的内存比Gauss Elimination少,因为它在矩阵中不存储0个值。这听起来像稀疏矩阵和密集矩阵存储,但我只能重复我自己:没有上下文,很难判断发生了什么。高斯消去法是一种直接法,高斯-赛德尔法是一种迭代法。这两种方法都可以应用于稀疏矩阵,因此也不需要使用高斯消去法在矩阵中存储0值。这再次表明,引用的句子需要更多的上下文。更多信息来自书籍。我不是在翻译它:如果矩阵太大,稀疏消除方法不必要地存储0值。如果矩阵不是带矩阵,则无法避免这种情况。实际上,我的问题不是比较这两种方法。我试图理解高斯-西德尔是如何不存储零的。我无法从阅读算法中理解这一点。算法处理完整矩阵。如果使用稀疏矩阵格式,则两种方法都不必存储0值。我会推荐一本关于稀疏矩阵计算的更好的书。它很旧,但仍然很好。