- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello!
I was searching for any routine in mkl to compress a dense matrix (stored in vector) into CRS form
used by PARDISO. Does anybody know such routine ?
Thanks for help.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm not aware of any (although I admit, I don't fully understand/know your dense matrix format). The MKL available routines are listed in Sparse BLAS Level 2 and Level 3 Routines Section. Table below.
A.
Matrix converters |
|
Converts a sparse matrix in the dense representation to the CSR format (3-array variation). |
|
Converts a sparse matrix in the CSR format (3-array variation) to the coordinate format and vice versa. |
|
Converts a sparse matrix in the CSR format to the BSR format (3-array variations) and vice versa. |
|
Converts a sparse matrix in the CSR format to the CSC and vice versa (3-array variations). |
|
Converts a sparse matrix in the CSR format (3-array variation) to the diagonal format and vice versa. |
|
Converts a sparse matrix in the CSR format (3-array variation) to the sky line format and vice versa. |
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
If your store all elements of matrixconsistently column by column and want to call Pardiso for unsymmetric matrix you don't need any converters.To call pardiso you need 3 arrays: values, columns and row index. Values is yourvector, columns is array of n*n elements ={1,2,...,n,1,2,..,n,1,2,...n} and rowindexs is array of n+1 elemnts ={1,n+1,2n+1,..,n*n+1}, where n is size of matrix. So you need to create only two arrays in way I described before and after you could use Pardiso for unsymmetric matrix.
With best regards,
Alexander Kalinkin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Michael,
I still believe that the most appropriate for you method is using mkl_ddnscsr function to convert from dense to CSR ( not CRS -:) ) format. Especially if you know the sizes of your matrixes.
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Gennady!
From what i know PARDISO is running on CRS storage format (http://netlib.org/linalg/html_templates/node91.html) . And thus i can't use CSR. (If i am wrong please correct me, i will gladly use CSR :) ).
Alexander
That is a nice idea but how about performance. It will probably be hit.
Although i will try it :). Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Gennady.
I have read once again CSR method compression documentation and i have noticed 3 array variation of this compression. This is what i really need :). Thank You for pointing this out.
Michael.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page