我有一个任务,我必须解决一个线性方程组 Ax = B,其中 A 是 10000 量级的稀疏矩阵。我正在使用 csparse 来解决它。在我最初的实现中,出于演示目的,A 是 3*3 阶单位矩阵,B ={1,2,3}。下面是代码片段,它在状态中返回 0,这意味着我的实现中有一些错误。我做错了什么?
cs A;
int N = 3;
double b[]={1,2,3};
double data[]={1,1,1};
int columnIndices[]={0,1,2};
int rowIndices[]={0,1,2};
A.nzmax =3;
A.m = N;
A.n = N;
A.p = &columnIndices[0];
A.i = &rowIndices[0];
A.x = &data[0];
A.nz = 3;
int status = cs_cholsol(0,&A,&b[0]);
NSLog(@"status=%d",status); // status always returns 0, which means error