Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

How prevent termination due to Zero Pivot?

A_B_
Beginner
506 Views

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
Alexander_K_Intel2
506 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 

0 Kudos
A_B_
Beginner
506 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.

0 Kudos
Gennady_F_Intel
Moderator
506 Views

there are no such opportunity in Pardiso.

0 Kudos
Reply