- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Greetings! I would like to know how to effectively solve this(attached file) symmetric indefinite system using PARDISO. This particular matrix has super diagonal dominancy and almost zero and negative offdiagonal terms. I tried with differente pardiso parameters, could not get the solution promised by other softwares. Please suggest and list pardiso parameters/options for solving this matrix. The expected(promised) solution is ~0.7 all.
Thank you
Stoka
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Included among the MKL source code examples are source files (in C, Fortran) to solve symmetric indefinite systems. Adapt one of them to read your problem data and run the program.
I find your phrase "promised solution" incomprehensible. Please explain.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, I shall explain more, the matrix given in the text file is generated by a finite element program (ANSYS).The finite element program gives output as ~0.70 (promised solution) for all which is correct practically. When I use the same matrix and solve it through MKL PARDISO it gives values ranging from ~0.6 to ~2.0 which is not practical. I just used phase 11,22,33 to solve this matrix. As I explained earlier, the matrix is super dominant along diagonal but have very less values offdiagonal (zero and negative). I would like to know different parameter tweaks in MKL PARDISO to get result similar to the finite element program.
Any help in this direction is greately appreciated.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The example code pardiso_sym_f90.f90 that is distributed with MKL, when run on your data, gives a solution vector whose components range from 0.700 to 0.703. No changes to the algorithmic parameters (IPARM array) were needed other than those already present in the example code.
Rather than asking for tweaks, you should pay attention to providing your data correctly to MKL-Pardiso.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How do you set PARDISO parameters? Do you just use the default settings? There are a few settings in iparm you can try to tweak to get better results (assuming mtype = -2):
iparm[9] - Pivort perturbation
iparm[10] - Scaling
iparm[12] - Maximum weighted matching
See here for detailed discussions on how to set these parameters.
See the code example $MKLROOT/examples/solverc/source/pardiso_sym_getdiag_c.c for hints on how to handle symmetric indefinie matrix.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for both of your help. Sorted it by tweaking iparm values as indicated above.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page