我有一个很大的方程组要解决。系数存储在尺寸为320001 x 320001元素的稀疏矩阵CM中,其中18536032为非零。结果向量B的长度为320001个元素。
执行时
I=CM\B
八度错误:SparseMatrix ::解决数字分解失败
我收到上述错误消息。简要查看源代码并没有给我任何线索。
有人知道导致该错误的原因吗?
顺便说一句:当使用较小的矩阵(例如180001x180001)解决相同的问题时,程序运行正常。
约翰内斯
答案 0 :(得分:2)
Octave使用UMFPACK
库来解决稀疏线性系统。检查源表明错误消息是由于错误状态为负值引起的。错误代码列表可以在user's guide中找到。其中之一与内存不足有关:
UMFPACK错误的内存不足,(-1):没有足够的内存。 ANSI C malloc或realloc例程失败。