I am trying to solve a sparse linear system with:

vnl_vector<double> x(b.size());

vnl_sparse_lu linear_solver(At, vnl_sparse_lu::estimate_condition);

linear_solver.solve(b,&x);

When I run it I get:

In vnl_sparse_lu::solve(..) - error in factoring

I I try this:

vnl_sparse_lu linear_solver(At, vnl_sparse_lu::estimate_condition);

std::cout << "Determinant: " << linear_solver.determinant() << std::endl;

I get:

sparse: internal error detected in file `/home/doriad/src/vxl/v3p/netlib/sparse/spUtils.c' at line 1470.

Error not cleared.

Are there any suggestions of how I can tell what is going wrong? Or is there another method I can try to use?

Thanks,

David