Quantcast
Channel: Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
Viewing all articles
Browse latest Browse all 2652

GESV and PARDISO give different solutions

$
0
0

Hello!

I use

Windows 10

Intel(R) Core(TM) i5-3320M

Intel(R) Visual Fortran Compiler Professional Edition 11.1.072 Update 9 for Windows*

Intel(R) Math Kernel Library 10.2 Update 7 for Windows* OS

 

I was solving a functional equation, involving a repeated solution of a big system of linear equations. GESV does the job reliably well. The system is sparse with a very small proportion of non-zero elements, therefore I wanted to try the sparse solver, expecting it would work much more efficiently. This was my first experience using PARDISO, I cannot be sure that I set up everything correctly. It is indeed much more efficient, but gives an incorrect solution.

 

I tested the methods on a simpler problem, the coefficient matrix from the MKL manual, and both solvers give the same solution. It is a bit confusing. I did not dig into computational details of PARDISO, I chose default values for iparm.

 

I attach a zip file with Visual Studio project. To illustrate the case, I give an example of an incorrect solution from PARDISO in the simplest case that I could make (14 equations), the real problem that I was solving had 5,000 equations (but can have much more, depends on the discretization of the domain). In this example, there is a significant difference in the seventh element of solution vectors. The code also has a commented "Alternative simple example", based on the coefficient matrix from the MKL manual, that gives the same solutions from both methods.

 

Thank you in advance for help.

AttachmentSize
Downloadapplication/zipPardiso.zip1.18 MB

Viewing all articles
Browse latest Browse all 2652

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>