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

Strange (and seemingly wrong) result from Pardiso

Alessandro_M_
Beginner
342 Views

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?

Thank you,

Alessandro M.

0 Kudos
1 Reply
Anton_A_Intel
Employee
342 Views

Hello, Alessandro

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

0 Kudos
Reply