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

position of Zero pivot in Error -4 as using Pardiso ?

chdthanh
Beginner
1,292 Views
Dear all,
I have an error -4 whenusing pardiso to solve a sytem of linear equations. It may be caused by zero pivots. I wonder if I can know position of the zero pivots?
Thanks in advance.
Thanh
0 Kudos
7 Replies
Sergey_P_Intel2
Employee
1,292 Views
Hi Thanh,

For matrix types 2 and 4 you canknow the position of first zero pivot from iparm(30), please see MKL manual for details:

iparm(30) - the number of equation where PARDISO detects zero or negative pivot for MTYPE=2 (real positive definite matrix) and MTYPE=4 (complex and Hermitian positive definite matrices). If the solver detects a zero or negative pivot for these matrix types, the factorization is stopped, PARDISO returns immediately with an error (error = -4) and iparm(30) contains the number of the equation where the first zero or negative pivot is detected.

Regards,
Sergey

0 Kudos
chdthanh
Beginner
1,292 Views
Hello Sergey,
Thank for your reply. The value of iparm(30) is zero but I a still goterror=-4 for mtype=2.
I am using Intel MKL 10.0.3.
Could you please let me know what is problem ? How can I fix it?
Thank you in advance.
Thanh
0 Kudos
Sergey_P_Intel2
Employee
1,292 Views
Thanh,

This functionality was implemented in MKL since version 10.2 Gold (10.2.0).

Regards,
Sergey
0 Kudos
chdthanh
Beginner
1,292 Views
Thanks. Could you please tell me how can I upgrade to MKL version you mentioned? How much does it cost?
I am using Interl fortran 10.1.021 which includes MKL 10.0.3.
Thanh
0 Kudos
Gennady_F_Intel
Moderator
1,292 Views
Please have a look at this article. That's about how upgrade the obsolete version.
This artilcewill also help you to find the answer on your questions.
/gf
0 Kudos
chdthanh
Beginner
1,292 Views
Many thanks to you. I know what I do now.
Thanh
0 Kudos
Danesh_Daroui
Beginner
1,292 Views
Thanh,

Why you get zero pivot error? try turning on matching and scaling. Using these two features in complex and unsymmetric matrices it will never be any zero in pivot but I am not sure if it works for other types. You can also re-generate the error in a small enough problem and try to solve it using LAPACK and see if LAPAKC's direct solver can solver it (non singular system). Some people think that highly ill-conditioned systems can not be solved using PARDISO and that confused me a lot but that's not true!

D.
0 Kudos
Reply