Community
cancel
Showing results for 
Search instead for 
Did you mean: 
mullervki
Beginner
146 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
Kirill_V_Intel
Employee
146 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

mullervki
Beginner
146 Views

Hi Kirill,

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

-Arthur

Reply