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

How to reorganize sparse matrix columns? dss_reorder

I use MKL to solve FEM linear systems using the DSS library of commands. My question is related to ordering columns.
Currently, when I am currently setting up a matrix, my column numbers (due to connectivity) will not be in ascending order. Therefore I created a simple subroutine to reorganize them, however I feel that there is gotta be a better way. What happens if I send to the solver a unorganized matrix? And, is there a more efficient way to reorganize these matrices?
I know DSS_Reorder takes care of permutation issues. Does it has anything to do with my issue?
I appreciate any suggestion,
I use Windows XP, 32 bits, Intel Fortran 11, VS2008.
0 Kudos
1 Reply
New Contributor I

Hi, Roberto,

The non-zero elements of each row of the matrix A must be stored in increasing order (its note from MKL PARDISO manual). Reordering step permutes matrix in order to decrease the time of computations on multi-core computers. This permutation stored in array perm(). Let me note, that input matrix (arrays rowIndex() and columns() ) arent changed during all phases (reordering, factorization and solve).