SuperLU - 分布式稀疏矩阵

时间:2017-10-23 10:03:37

标签: c matrix sparse-matrix

我试图用SUPERLU创建一个稀疏的分布式矩阵,但是我遇到了一些麻烦:

基于SuperLU文档,我正在使用以下功能,

void dCreate_CompRowLoc_Matrix_dist(SuperMatrix *A, int m, int n,
int nnz_loc, int m_loc, int fst_row,
double *nzval, int *colind, int *rowptr,
Stype_t stype, Dtype_t dtype, Mtype_t mtype);

但似乎无论我传递给谁,都会发生分段错误。

我尝试过一个非常简单的2x2矩阵,只有2个非零值,运行1个进程(意思是这样)

m = 2; 
n = 2;
nnz_loc = 2; 
m_loc = 2; 
fst_row = 0;
nzval[0] = 1.0; 
nzval[1] = 2.0;
colind[0] = 0; 
colind[1] = 1;
rowptr[0] = 0; 
rowptr[1] = 1; 
rowptr[2] = 2;
...SLU_NC, SLU_D, SLU_GE

我继续遇到分段错误错误

我假设我没有完全理解函数的用法, 任何人都可以帮助我(或者,如果需要更多信息,请告诉我)

非常感谢 西蒙

更新/ 1 就像进一步的信息一样,我注意到行局部矩阵是正确创建的(每个元素/行的位置正确)但它们似乎没有“折叠”成全局超级矩阵A -

0 个答案:

没有答案