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

Storing factorized matrix with MKL DSS

gandalf85
Beginner
763 Views

It seems that we have to call the MKL DSS functions in order in the same executable. After calling the factor command, is there a way to store the factored matrix in the same format as the matrix we send to it? I want to write this factored matrix to a file, then call solve on it later on. Also, can we send MKL DSS a zero-indexed matrix (so the top-left element is the (0,0) element)? Thanks alot.

0 Kudos
3 Replies
jaewonj
Novice
763 Views
Quoting - gandalf85

It seems that we have to call the MKL DSS functions in order in the same executable. After calling the factor command, is there a way to store the factored matrix in the same format as the matrix we send to it? I want to write this factored matrix to a file, then call solve on it later on. Also, can we send MKL DSS a zero-indexed matrix (so the top-left element is the (0,0) element)? Thanks alot.


Also tried but found PARDISO (DSS) does not support this. We cannot extract a factorized matrix.

A workaround may be tostorethe internal data structure (void *pt[64]) or call pardiso with multiple right hand side.

I believe PARDISO only supports 1-based indexing.



0 Kudos
gandalf85
Beginner
763 Views
OK, thanks for the reply. I guess I don't need to store it in any particular format; I guess I can just store handle (I'm using strictly DSS and not calling paradiso directly). Is there some way to write the handle structure to a file so I can recover it later when I'm performing a solve? Another problem I see with that is that DSS seems to want to do things in a strict order (i.e. create->define->reorder->factor->solve), so would I be able to extract handle from a file then perform a solve immediately after? Thanks alot.
0 Kudos
jaewonj
Novice
763 Views
The void type pointer, _MKL_DSS_HANDLE_t,is like a black box.We arenot allowed to peek inside. Since we don't know what's inside, we'reunable to writethe handler to a file.

I think unless the author providesa function like GetFactorizedMatrix(), there's no way toextract this information. Other packages such as UMFPACK, CHOLMOD, and TAUCS all allowus to extract a factorized matrix, but I do not know why PARDISO (=DSS)does not support this,I guess maybe on purpose?

If there's a way to store a factorized matrix in any format, Ialso really want to know about it.
0 Kudos
Reply