CHOLMOD 非常快,但我只是想知道什么样的大小 A 可以解决 Ax=b。我有一个 200,000 * 200,000 的 A,但它输出错误“问题太大”。如果有人能告诉我哪个数值计算的求解器/软件可以解决如此大的问题,我将不胜感激。谢谢!
CHOLMOD可以解出什么样的矩阵A大小 Ax=b
计算科学
并行计算
软件
线性求解器
2021-12-01 13:10:12
1个回答
稀疏矩阵所需的存储空间(大致线性)取决于矩阵中非零元素的数量。然后,当您尝试计算稀疏矩阵的 Cholesky 分解(或更一般地说是 LU 分解)时,这些因子通常具有比原始矩阵更多的非零元素 - 这称为“填充”。
发生的填充量将取决于原始矩阵中非零的数量和位置。在许多情况下,您可以通过在分解之前仔细排序矩阵的行/列来减少填充。减少填充的算法有很多,但计算最优排序是一个 NP-hard 问题,因此在实践中这些算法使用启发式方法来获得良好的填充减少排序。
CHOLMOD 似乎无法分解您的矩阵,因为没有足够的存储空间来处理分解过程中发生的填充。在分解矩阵以减少填充之前,您是否对矩阵的行/列进行了重新排序?如果不是,那么使用良好的排序可能足以使这个问题在你可用的内存中得到解决。
您可以尝试在具有更多内存的计算机上解决您的问题吗?
其它你可能感兴趣的问题