Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- pardiso produces strange result

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Manuel_T_

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-01-2013
06:49 AM

23 Views

pardiso produces strange result

MKL-pardiso gives back a totally wrong solution vector for one of my smaller test cases in C with a sparse unsymmetric 96x96 matrix. The solution clearly satisfies A*x != b.

Attached is the example file pardiso_unsym_c.c from the MKL example collection in which I replaced the data for ia[], ja[] and a[] with my matrix data. There are no other changes in the program, except that I print the solution vector at the end. For me this program gives a wrong result.

For comparison I also attach a matlab script solving the linear system based on the identical matrix data (copy-pasted from the C-code). The matrix has a decent condition number and matlab gives the correct result.

I tested the C-code with MKL-pardiso using different number of threads, different platforms (Mac OSX and Linux), as well as using the original pardiso version of pardiso-project.org, but the error persisted (different numbers, though). An increased value of iparm[7] for iterative refinement also shows no improvement.

On the other hand, trying the matrix data with other libraries, like 'eigen' or 'SuperLU' gives correct results.

I would be more than happy if anybody would have any suggestions on this problem or point out some mistake on my side...

Best regards & thanks,

Manuel

Link Copied

3 Replies

Manuel_T_

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-02-2013
10:57 AM

23 Views

Alexander_K_Intel2

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-02-2013
11:53 AM

23 Views

Hi,

You are correct, it's strange... I've reproduced your issue, will post here results of investigation of this problem.

With best regards,

Alexander Kalinkin

Alexander_K_Intel2

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-02-2013
01:49 AM

23 Views

HI,

The problem is discovered J Thanks a lot for such testcase, we know that such situation can arranged but have not seen it before. Your matrix full of equal elements and when one turn on matching they permute to diagonal value. As result first minors become singular even initial matrix is well-defined. Moreover that rang of this singularity is quite big so resulted factorized matrix is far from initial in term of spectral and, as result, iterative refinement can’t improve solution. If matching turned off the problem with minors doesn’t appeared. Again, thanks a lot for such testcase!

With best regards,

Alexander Kalinkin

For more complete information about compiler optimizations, see our Optimization Notice.