我需要求解一个线性方程(Ax = b),该方程具有稀疏的A和多次的差分b。因此,LU(如果A是对称的,则为Cholesky)因式分解是非常可取的。
我正在使用armadillo库,听说可以使用以下功能:
powercfg
为了解决这样的系统。我不是很担心检索L和U矩阵。但是,最重要的是每次我调用spsolve时都不要重新计算L和U。
spsolve(x, A, b, "superlu");
是否存储LU分解,如果没有,是否可以检索到所述矩阵?
答案 0 :(得分:0)
事实是,犰狳实际上是对其他团队开发的软件的“总结”。这对于superlu稀疏求解器尤其正确。您所要求的功能(解决具有相同矩阵但右手边不同的一系列方程组)在犰狳中可能根本不存在。您可能应该直接使用嵌入了该功能的稀疏线性求解器(不一定是superlu)。如果您的系统非常大,那么基于分解的求解器将无法解决,则可能需要迭代求解器,并且在这种情况下可以选择:由于现代CPU是多核的,因此可以使用多个独立的解决方案并行运行。以下博客描述了一种这样的迭代求解器(您可以在那里提问和/或参与讨论):http://comecau.blogspot.com/2018_09_05_archive.html