I havea 15-15 complex system of equations. I solved it with MKL_DSS using MKL_DSS_SYMMETRIC and MKL_DSS_INDEFINITE. There was no problem solving thissystem. However, I wanted to solve it with Pardiso defaults (specifying only that the system was complex symmetric) and NaNs appeared as output.

Then, I wanted to solve again this small system using DSS but considering MKL_DSS_NON_SYMMETRIC and MKL_DSS_INDEFINITE. The full matrix was of course fed this time. No errorwas produced but the program seemed to be working without stopping (no answer was produced). Finally, I used Pardiso (specifying that the system was non-symmetic)to solve the system and "guess what?", the correct solution was obtained as given by DSS using the symmetric property of this system.

I am posting source code which is ready for compilation, somy problem can be better appreciated. The first program considers the case wherethe upper triangular half of the matrix (CRS). Here, DSS is sucessful while Pardiso fails. Second program considers the full matrix(CRS). Pardiso is sucessful here while DSS fails. Due to the one file limitation of forum system I am including the two programs in the same file.

I hope someone can give me a hint!


1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.