I obtained strange (and seemingly wrong) result from Pardiso. I used Pardiso to solve a very ill-conditioned complex linear system arising from a circuital analysis of a three-dimensional conducting structure. I have no error from the analysis and numerical factorization phases.
Data and results are reported in the attached document. For instance, the Pardiso parameters and log are reported in the table, for three cases (three frequencies of analysis). When not present, parameters have zero value.
The right hand vector is shown in Figure 1: there are only two not-zero entries (corresponding to the two point excited on the structure). Figure 2 reports the magnitude of the solution vector. The case relative to the green curve (1500 Hz) exhibits unexpected values and leads to wrong results. There is no physical reason to have values with this magnitude. The other two cases (two frequencies very near to the wrong one) give the right result.
Do you suggest some changes in the parameters (the matrix is very ill-conditioned), or there is a way to recognize the wrong case?
I see that you use parallel reordering (iparm(2)=3), so the results may be different for diffrent calls. Please use iparm(2)=2, it has to produce stable results.
For very ill-conditioned matrix direct solver can produce poor solution. In such case the default value of iparm(10)=13 (pivoting pertrubation) may be inappropriate. Could you play with iparm(10) = from 1 to 15. It is possible that one of the value resolve the problem.
Best regards, Anton