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.
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
Hi Kirill,
Thanks! I looked throughout the documentation but missed the page you pointed me to. Much appreciated.
-Arthur
For more complete information about compiler optimizations, see our Optimization Notice.