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

intel mkl pardiso to obtain determinant of matrix

chao_n_
Beginner
1,040 Views

I recently used the eigen with intel mkl pardiso to perform LDLT decomposition. It's much faster than other packages. I want to obtain the lower triangular matrix (matrixL) and diagonal matrix (vectorD) to calculate the determinant. Is it possible for intel mkl pardiso to obtain these two matrixes and how? Thanks.

0 Kudos
1 Solution
Ruqiu_C_Intel
Moderator
799 Views

Thank you for reaching us. This issue is closing and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only. 


View solution in original post

0 Kudos
6 Replies
VidyalathaB_Intel
Moderator
998 Views

Hi,


Thanks for reaching out to us.


>> diagonal matrix (vectorD)

You can make use of the routine pardiso_getdiag which returns the diagonal elements of the matrix.

https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/onemkl-pardiso-parallel-direct-sparse-solver-iface/pardiso-getdiag.html

At present, there are no functions available for PARDISO API which can return LU factors.

Here are some of the forum threads where similar questions have been discussed.

https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-PARDISO-get-L-U-factors/m-p/1265720#M31046

https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Accessing-the-LU-factors-in-sparse-direct-solver/m-p/1279535#M31279

>>to obtain determinant of matrix

Since you want to compute the determinant maybe you can try DSS API (which is an alternative to PARDISO interface) dss_statistics https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/sparse-solver-routines/direct-sparse-solver-dss-interface-routines/dss-routines/dss-statistics.html#dss-statistics


Regards,

Vidya.


0 Kudos
chao_n_
Beginner
930 Views

Many thanks for your answers. I have some additional questions.

What's the difference between PARDISO API and DSS API?

 Does DSS API also use multi-thread?

Which is much faster?

Will PARDISO API add determinant function in the future?

 

0 Kudos
VidyalathaB_Intel
Moderator
885 Views

Hi,

 

>>....function in the future?

We are working on your issue. we will get back to you soon.

 

Regards,

Vidya.

 

0 Kudos
chao_n_
Beginner
873 Views

Hi,

Thanks for your answer. You have missed some questions.

1) Does DSS API also use multi-thread?

2) What's the difference between PARDISO API and DSS API? Which is much faster?

 

0 Kudos
Ruqiu_C_Intel
Moderator
864 Views

Hi,

1) Does DSS API also use multi-thread?

>>Yes, DSS API supports multi-thread.


2) What's the difference between PARDISO API and DSS API? Which is much faster?

>>DSS API is some kind of simplified API for beginners. Intel PARDISO API supports more options/features compare with DSS API.


Have a good day.


0 Kudos
Ruqiu_C_Intel
Moderator
800 Views

Thank you for reaching us. This issue is closing and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only. 


0 Kudos
Reply