c++linear-algebranumerical-methodsumfpack

How to set UMFPACK's tolerance


I am using umfpack in c++ to solve a sparse matrix. I am having trouble finding where the [UMFPACK PIVOT TOLERANCE] parameter is set. Would anybody know how to set this control parameter?

My current code is

umf::symbolic_type<double> Symbolic;
umf::numeric_type<double> Numeric;
umf::symbolic(J, Symbolic);
umf::numeric(J, Symbolic, Numeric);
umf::solve(J, unknowns, knowns, Numeric);

Solution

  • umf::control_type<ublas::compressed_matrix<double>::value_type > myControl;
    myControl.ptr[UMFPACK_SYM_PIVOT_TOLERANCE]=0;
    myControl.ptr[UMFPACK_PIVOT_TOLERANCE]=0;