Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
32 Views

Pardiso Hermitian matrix input

Hello,

If I have a Hermitian matrix (mtype=4 or -4), does it matter whether I enter the upper or lower matrices? For example, would both

int ia[4] = {1,3,5,6};

int ja[5] = {

1,  3,

  2, 3,

      3};

and

int ia[4] = {1,2,3,6};

int ja[5] = {

1,

   2,

1, 2, 3};

be equally valid? I ask because in the second case I'm getting an error:

*** Error in PARDISO  (incorrect input matrix  ) error_num= 24
*** Input check: j=3, ja(j)=3, ja(j+1)=1 are incompatible

But I can't understand what's wrong with the second input.

Thanks.

0 Kudos
2 Replies
Highlighted
Employee
32 Views

Hi,

You need to pass the upper triangular part only.

The documentation at https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-c/top/spa... says: "For symmetric matrices, the solver needs only the upper triangular part of the system as is shown for columns array in Three Array Variation of CSR Format".

Best,
Kirill

0 Kudos
Highlighted
Beginner
32 Views

Hi Kirill,

Thanks! I looked throughout the documentation but missed the page you pointed me to. Much appreciated.

-Arthur

0 Kudos