八度错误:SparseMatrix :: solve数值分解失败

时间:2018-06-21 11:49:19

标签: octave

我有一个很大的方程组要解决。系数存储在尺寸为320001 x 320001元素的稀疏矩阵CM中,其中18536032为非零。结果向量B的长度为320001个元素。

执行时

I=CM\B

  

八度错误:SparseMatrix ::解决数字分解失败

我收到上述错误消息。简要查看源代码并没有给我任何线索。

有人知道导致该错误的原因吗?

顺便说一句:当使用较小的矩阵(例如180001x180001)解决相同的问题时,程序运行正常。

约翰内斯

1 个答案:

答案 0 :(得分:2)

Octave使用UMFPACK库来解决稀疏线性系统。检查源表明错误消息是由于错误状态为负值引起的。错误代码列表可以在user's guide中找到。其中之一与内存不足有关:

  

UMFPACK错误的内存不足,(-1):没有足够的内存。 ANSI C malloc或realloc例程失败。