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