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.
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.
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.
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!