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

Is 3x3 symmetric matrix Eigen computation using Intel MKL Libraries faster than Iterative methods ?

ravi_0602
Novice
747 Views

@mkl @intelmklpriv-id_com @oneAPI-usr 

 

In my fortran code, I have to determine the eigen values and vectors repeatedly for a 3x3 matrix. I was wondering if using the inbuilt dsyev() function from the MKL Library will be faster or a user written function which uses the jacobi iteration be quicker for a 3x3 matrix. 

The matrix is symmetric !!

I use this as a part of my UMAT subroutine in LS Dyna. 

So lets say if I use that UMAT in a simulation where the model contains 5000 elements and each element has 5 integration points. It means that the eigen computations are done 5000*5 = 25000 times. 

Kindly provide me insights on which is the best way to go forward. 

I will be using the oneAPI/2024.2 compiler for these tasks. 

Thanks in Advance !!

Labels (1)
0 Kudos
3 Replies
Shiquan_Su
Moderator
735 Views

Usually, the dsyev() function should be faster, since it is highly optimized. For the best chance to get all the optimization, would you please run the mkl link line advisor?

https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html

to decide your best configuration?

0 Kudos
ravi_0602
Novice
734 Views

Hi @Shiquan_Su , Thank you very much for your reply. 

Usually dsyev() is the fastest, yes !!

But i was wondering if it holds for smaller 3x3 matrices too ? 

Thanks in advance !!

0 Kudos
Ruqiu_C_Intel
Moderator
619 Views
The oneMKL library is highly optimized to fully exploit the performance of the underlying hardware and provides efficient computation even for small matrices. Computing the eigenvalues ​​and eigenvectors of a 3x3 symmetric matrix by using the dsyev() function in the Intel MKL library often has advantages over iterative methods.
0 Kudos
Reply