0

如果这个问题太模糊或太天真,我很抱歉

我正在实现一些基于优化的网格变形算法优化的最后一步是通过稀疏求解器求解大稀疏矩阵

我使用 cholmod 来完成这项任务。但在某些情况下,我在 cholmod_factorize 上收到段错误

cholmod_sparse *A = composeASparseCholmodMatrix(........);//Creating my matrix. 
cholmod_factor *L = cholmod_analyze(A, commonCholmodPtr);
cholmod_factorize(A, L, commonCholmodPtr);//receive Segmentation fault on some cases
cholmod_free_sparse(&A, commonCholmodPtr);
//L are used for solving 

所以我的问题是在哪些情况下 cholmod_factorize 会引发段错误?我怎样才能找到问题的根源?

我不能在这里提供一个矩阵,因为这个矩阵真的很大(9000+ 行和列,45000 个非零项)。对于许多情况(8000+ 行/列),矩阵的组合是可以的,算法工作正常。我尝试使用 cholmod_commmon 的 error_handler 但我没有收到任何东西

PS对不起我的英语

UPD 似乎程序失败了,然后 L->is_super 为真

4

0 回答 0