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

Sparse matrix converters

Petros
初心者
2,058件の閲覧回数
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 件の賞賛
1 解決策
Sergey_K_Intel1
従業員
2,058件の閲覧回数
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

元の投稿で解決策を見る

3 返答(返信)
Sergey_K_Intel1
従業員
2,059件の閲覧回数
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
名誉コントリビューター III
2,059件の閲覧回数
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
初心者
2,058件の閲覧回数
Thanks for the hint! The matrix belongs to a network and the diagonal is explicitly calculated and non-zero.
返信