简体   繁体   English

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

[英]Octave Error: SparseMatrix::solve numeric factorization failed

I have a large equation system to solve. 我有一个很大的方程组要解决。 The coefficients are stored in a sparse matrix CM of the dimension 320001 x 320001 elements, of which 18536032 are non-zero. 系数存储在尺寸为320001 x 320001元素的稀疏矩阵CM中,其中18536032为非零。 The result vector B is 320001 elements long. 结果向量B为320001个元素长。

When executing 执行时

I=CM\\B

Octave Error: SparseMatrix::solve numeric factorization failed 八度错误:SparseMatrix :: solve数值分解失败

I get the above error message. 我收到上述错误消息。 A brief look into the source code did not give me a clue. 简要查看源代码并没有给我任何线索。

Does anyone know what is causing that error? 有谁知道是什么导致了该错误?

BTW: when solving the same problem with a smaller matrix (eg 180001x180001) the program runs fine. 顺便说一句:用较小的矩阵(例如180001x180001)解决相同的问题时,程序可以正常运行。

Johannes 约翰内斯

Octave uses UMFPACK library to solve sparse linear systems. Octave使用UMFPACK库来解决稀疏线性系统。 Inspecting the source shows that the error message is due to an error status with a negative value. 检查源表明错误消息是由于错误状态为负值引起的。 List of error codes can be found in the user's guide . 错误代码列表可在用户指南中找到 One of them is related to lack of enough memory: 其中之一与内存不足有关:

UMFPACK ERROR out of memory, (-1): Not enough memory. UMFPACK错误的内存不足,(-1):没有足够的内存。 The ANSI C malloc or realloc routine failed. ANSI C malloc或realloc例程失败。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM