I use DSS interface to solve a sparse symmetric linear system. When a matrix is singular, the code is terminated at dss_factor_real() with a message "MKL-DSS-DSS-Error, Zero Pivot detected". It is inconvenient if I have to do it many times.
How do I prevent the termination and instead check whether factorization was successful.
Is this controlled by option=MKL_DSS_TERM__LVL_ERROR? I tried to change it but nothing happened.
It is look like you set that your matrix is positive defined that guarantee absence of pivot during factorization. Just change type of matrix on non-positive define.
Thanks, changing matrix type to MKL_DSS_INDEFINITE it has removed the termination. However, now, even if the matrix is singular, the error of dss_factor_real and dss_solve_real is MKL_DSS_SUCCESS. I guess I am getting just one of many possible solutions.
Is there a way to tell that matrix was singular and the result should be discarded? Thank you.