Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7117 Discussions

Extract upper/lower triangular matrix of sparse (CSR) symmetric matrices

enpex
Beginner
1,446 Views
Hello,

I am trying to use PARDISO to solve a sparse linear least-squares problem Ax=b, where A is a m-by-n matrix with m>n. Let's assume I already constructed A in CSR-format.

In order to solve that system using sparse solvers I learned that it is necessary to compute C=(A' A) and d=(A' b) and then solve Cx=d instead (see here). So, I compute C using mkl_?csrmultcsr.

The problem: since C is symmetric, PARDISO expects it to be an upper triangular matrix, which it is not after using mkl_?csrmultcsr. So, the matrix checker (iparm(26)=1) fails.

My question: Is there another function in the MKL which extracts the upper/lower triangular matrix of a whole matrix?


Thank you in advance for you time and suggestions,
Nils


0 Kudos
1 Solution
Alexander_K_Intel2
1,446 Views
Hi,
From my point of view the best solution in this case is to set matrix C as unsymmetric and use full format of matrix C.
With best regards,
Alexander Kalinkin

View solution in original post

0 Kudos
2 Replies
Alexander_K_Intel2
1,447 Views
Hi,
From my point of view the best solution in this case is to set matrix C as unsymmetric and use full format of matrix C.
With best regards,
Alexander Kalinkin
0 Kudos
enpex
Beginner
1,446 Views
Hi Alex,

Thanks for your answer. This is exactly how I am doing it at the moment. I just wondered if there exists another way. So, know I know - thanks!

Regards,
Nils
0 Kudos
Reply