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.
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!
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.