Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- Calling pardiso with symmetric/unsymmetric arrays in Fortran

- 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
##

Ioannis_K_

Beginner

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

02-09-2020
03:43 PM

57 Views

Calling pardiso with symmetric/unsymmetric arrays in Fortran

Hello,

I am using the direct solver routine pardiso in a fortran program of mine, for cases where the coefficient array is real. When I run the code for an unsymmetric array (mtype = 11), the routine works normally.

When I try to run the same code for a symmetric coefficient array (mtype = 1) or for a symmetric, positive-definite coefficient array (mtype = 2), the program aborts abnormally. I need to mention that, in all cases, I call pardiso and pass a coefficient array (in CSR3 format) that contains all the nonzero elements.

I was wondering whether the abnormal termination is potentially caused by the input arguments that I pass. Thus, I wanted to ask if there is any difference in what the input arguments of pardiso should contain, depending on whether I have a symmetric or unsymmetric coefficient array (for example, do I only need to pass the upper/lower triangular part of a symmetric coefficient array, etc.)?

Yannis

1 Reply

Highlighted
##

Kirill_V_Intel

Employee

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

02-09-2020
03:55 PM

57 Views

Hello Yannis,

As the documentation says, you need to pass only the upper triangular part of the matrix for symmetric matrix types. See https://software.intel.com/en-us/mkl-developer-reference-fortran-pardiso, section for ja prameter.

Also, whenever you are not sure about the input format, you can use the matrix checker (iparm(27)=1), it can provide additional output which can help.

Hope this is useful!

Best,

Kirill

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