Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- PARDISO (works with non-symm, fails with symm matrices)

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

Highlighted
##

Fabian_K

Beginner

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

01-31-2013
08:20 AM

7 Views

PARDISO (works with non-symm, fails with symm matrices)

Hi everbody,

I've been struggling for days with a problem concerning my Taylor-Hood-Navier-Stokes-system. The PARDISO solver refuses to solve my symmetric Stokes-system correctly (upper triangular), but if I use the non-symmetric version of PARDISO (and use the full matrix, of course), it works. In the latter case, the solution is comparable to UMFPACK and Matlab and MINRES.

Altought you may think "what's the problem? you're going NAVIER-Stokes (and non-symmetric matrices) anyway!", but I need the non-convective linear Stokes-case as well.

Attached you find the "symm"-files (upper triangular matrix, one-based, coordinate format and vectors uu and ff) and the "non-symm"-files (one-based, coordinate format and the vectors). I double-checked it with matlab, the matrices are identical (nonsymm = symm + transpose(symm) - diag(symm)) and the right-hand-sides ff are identical, too.

- intel/composer_xe_2013.1.117
- Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-36-generic x86_64)
- Model: 6.44.2 "Intel(R) Xeon(R) CPU E5640 @ 2.67GHz"
- same problem on some Core i7.

Maybe it is just a problem of the matrices condition... but I'm wondering why this never has been an issue in my problems before. Maybe I missed something else...

Thank you very much!

3 Replies

Highlighted
##

mecej4

Black Belt

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

01-31-2013
09:58 AM

7 Views

Pardiso has a rather complex API, and most of the time when a user reports that Pardiso failed or gave incorrect results, the cause is traceable to an error in the arguments passed to Pardiso or an error in executing the phases in proper order. For this reason, just providing the matrix data is inadequate. MKL does come with Pardiso examples involving symmetric as well as unsymmetric matrices, and the results are correct in all cases.

Please provide a amall example of code+data that establishes the perceived error.

Highlighted
##

What are the parameter settings (iparm) you used for your symmetric system? Is the data in those files COO format? This speed up the investigation, please provide the code that you used to read the data and call PARDISO.

Zhang_Z_Intel

Employee

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

01-31-2013
04:02 PM

7 Views

Highlighted
##

Fabian_K

Beginner

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

02-04-2013
02:31 AM

7 Views

Hi Zhang (and mecej4). Thank you for interest in my problem. I will provide more informations, such as iparm[...] in some hours (basically, I did not change any pardisoinit-given standard parameters).

Please note that the given data (COO=coordinate format as already mentioned) is one not-working case in a series of mostly working symbolic/numerical decompositions. This does not prove the correctness of my code, but makes coding errors unlikely. However, thanks again for your time, I will try to give every information you asked for.

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