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

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!

0 Kudos
3 Replies
Black Belt

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.


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.


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.