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

Sparse matrix converters

Petros
Novato
792 Visualizações
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 Solução
Sergey_K_Intel1
Funcionário
792 Visualizações
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

Ver solução na publicação original

3 Respostas
Sergey_K_Intel1
Funcionário
793 Visualizações
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
Colaborador honorário III
792 Visualizações
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
Novato
792 Visualizações
Thanks for the hint! The matrix belongs to a network and the diagonal is explicitly calculated and non-zero.
Responder