Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

Sparse matrix converters

Petros
Beginner
190 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
190 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

3 Replies
Sergey_K_Intel1
Employee
191 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
mecej4
Black Belt
190 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.
Petros
Beginner
190 Views
Thanks for the hint! The matrix belongs to a network and the diagonal is explicitly calculated and non-zero.
Reply