C++ cholmodu分解分段错误。如何定位错误?

C++ cholmodu分解分段错误。如何定位错误?,c++,segmentation-fault,sparse-matrix,suitesparse,C++,Segmentation Fault,Sparse Matrix,Suitesparse,如果这个问题太含糊或幼稚,我很抱歉 我正在实现一些基于优化的网格变形算法 优化的最后一步是用稀疏求解器求解大型稀疏矩阵 我使用cholmod完成这项任务。但在某些情况下,我会在cholmodu分解上收到segfault cholmod_sparse *A = composeASparseCholmodMatrix(........);//Creating my matrix. cholmod_factor *L = cholmod_analyze(A, commonCholmodPtr); c

如果这个问题太含糊或幼稚,我很抱歉

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

我使用cholmod完成这项任务。但在某些情况下,我会在cholmodu分解上收到segfault

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 
所以我的问题是,在哪些情况下,cholmodu分解会引起segfault?我怎样才能找到问题的根源呢

我不能在这里提供一个矩阵,因为这个矩阵非常大(9000多行和列,45000个非零项)。在许多情况下(8000+行/列),矩阵的组合是可以的,算法运行良好。我尝试使用cholmod\u commmon的错误处理程序,但没有收到任何消息

对不起我的英语

UPD
看来程序失败了,那么L->is_super is true

你能给我们一个链接到你试图实现的文件吗?你确定你的矩阵是SPD吗?@Michael不再需要了。我切换到另一个版本的cholmod,一切正常。如果矩阵不是SPD,CHOLMOD也会打印消息。@Michael paper