- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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/sparse-solver-routines/intel-mkl-pardiso-parallel-direct-sparse-solver-interface/pardiso.html#pardiso 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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Kirill,
Thanks! I looked throughout the documentation but missed the page you pointed me to. Much appreciated.
-Arthur
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page