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

How to solve an ill-conditioned equation system using PARDISO?

Gators_vs__Sundevil
1,672 Views

Hi,

I'm trying to use PARDISO to solve a linear system with the left hand side being symmetric but very ill-conditioned. I tried to run the solver but with "zero or negative poivting, and A is not SPD matrix" error message when I set mtype = 2. I also tried to change mtype to -2, although the system was solved, the solution didn't make any sense. It's completely wrong.

Can anybody tell me is this system solvable using PARDISO? If so, how to configure the iparm parameters? I have attached the input matrixes. P is the single right hand side. Thanks for any suggestion.

0 Kudos
3 Replies
mecej4
Honored Contributor III
1,672 Views

You have made some assertions the bases of which may be open to question, and the sheer size of your matrix is a disincentive to try some ideas that might yield a solution. 

My questions: How do you know that the matrix is ill-conditioned? Why do you think that the matrix is positive definite? What is the basis for your assertion that the solution with mtype = -2 is  "completely wrong"?

Can you prepare a much smaller matrix problem which is beset with the same issues, whose solution may help solve the larger problem?

0 Kudos
Gators_vs__Sundevil
1,672 Views

mecej4 wrote:

You have made some assertions the bases of which may be open to question, and the sheer size of your matrix is a disincentive to try some ideas that might yield a solution. 

My questions: How do you know that the matrix is ill-conditioned? Why do you think that the matrix is positive definite? What is the basis for your assertion that the solution with mtype = -2 is  "completely wrong"?

Can you prepare a much smaller matrix problem which is beset with the same issues, whose solution may help solve the larger problem?

 

Hi, Thanks for your reply. I have updated the matrix with a smaller size.

The background information for the equation system is actually a solution of the deformation of a bi-material plate under bending. The elastic properties for the two materials make the solution of this problem totally different. For the case when the difference of the material properties between these two material is small, the resulting K matrix is SPD and solved correctly using PARDISO without any problem. When the difference is very large, say one of the material properties are 100 times smaller than the previous case, the resulting K matrix becomes "ill-conditioned", and PARDISO can not yield a meaningful solution. When mtype = 2, the output information is "zero or negative pivoting, the A matrix is not SPD". Then I changed the mtype to -2. And this is the only option available for my case. For this case, I have a reference solution and that's why I said the solution is completely wrong.

0 Kudos
Alemdar__Bulent
Beginner
1,672 Views

I believe results would be unpredictable if it is "ill-conditioned". Especially, if conditioned number is close to 16.

-bulent

0 Kudos
Reply