Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
6733 Discussions

intel mkl pardiso to obtain determinant of matrix

chao_n_
Beginner
605 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
Employee
364 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

6 Replies
VidyalathaB_Intel
Moderator
563 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.


chao_n_
Beginner
495 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?

 

VidyalathaB_Intel
Moderator
450 Views

Hi,

 

>>....function in the future?

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

 

Regards,

Vidya.

 

chao_n_
Beginner
438 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?

 

Ruqiu_C_Intel
Employee
429 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.


Ruqiu_C_Intel
Employee
365 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. 


Reply