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

Sparse matrix converters

Petros
Novice
359 Views
Hi,

I have an old fortran application which uses a sparse linear solver called "hsl ma37" which receives the data in coordinate system. The easiness of inputing the data is that you can add them in any order i.e. you can have (1,2,1) and (1,2,3) and the solver will take care to add them and make (1,2,4).

I want to use the mkl_dcsrcoo to convert the matrix to csr form in order to try some newer solvers before I restructure the program to save in csr form.

So here comes my question: Will the procedure take care of the duplicate entries?

Thanks in advance,
Petros
0 Kudos
1 Solution
Sergey_K_Intel1
Employee
359 Views
Petros,

The converter doesn't take care of the duplicate entries. In your case, two entries (1,2,1) and (1, 2,3) will exist in the CSR representation.

All the best
Sergey

View solution in original post

0 Kudos
3 Replies
Sergey_K_Intel1
Employee
360 Views
Petros,

The converter doesn't take care of the duplicate entries. In your case, two entries (1,2,1) and (1, 2,3) will exist in the CSR representation.

All the best
Sergey
0 Kudos
mecej4
Honored Contributor III
359 Views
There is another thing to watch out for. Some of the sparse matrix routines that you are trying out may require that zero-valued diagonal elements be included explicitly, with some sparse storage schemes. Be sure to check the documentation of each routine that you use to see if this requirement is specified.
0 Kudos
Petros
Novice
359 Views
Thanks for the hint! The matrix belongs to a network and the diagonal is explicitly calculated and non-zero.
0 Kudos
Reply