Community
cancel
Showing results for 
Search instead for 
Did you mean: 
A_B_
Beginner
97 Views

How prevent termination due to Zero Pivot?

Hi,

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.

Thank you.

0 Kudos
3 Replies
97 Views

Hi,

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,

Alex 

A_B_
Beginner
97 Views

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.

Gennady_F_Intel
Moderator
97 Views

there are no such opportunity in Pardiso.

Reply