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

FEAST Eigensolver: Problem setting the size of m0 and x parameters

schulzey
New Contributor I
651 Views

I have been using the FEAST eigensolver for a long time and one problem I have always had is knowing how big to make m0 and x. I know emin and emax but I have no idea how many eigenvalues fall in-between those bounds. The problem is that my a and b matrices are huge and I have to guess the size of m0 and x, which means that I often chew up lots of memory unnecessarily if there are less eigenvalues than my guess.

Is there a way to do some sort of preliminary call to find out how many eigenvalues are between emin and emax (or even a close estimate) before I have to allocate memory for the x array so that I can then set m0 and allocate x with realistic values?

0 Kudos
2 Replies
Gennady_F_Intel
Moderator
628 Views

Peter, I think this is one of the main disadvantages of this algorithm. Probably I am wrong, but that impossible with the FEAST. We may ask someone from the Feast developers to help you in that possible. 

0 Kudos
Gennady_F_Intel
Moderator
620 Views

Peter, 

as this option is not yet implemented in MKL, but you may try to take the EigenValues Slicing Library. EVSL provides routines for computing eigenvalues located in a given interval, and their associated eigenvectors, of real symmetric - standard or generalized eigenvalue problems. 

here is the link to this library -- https://www-users.cs.umn.edu/~saad/software/EVSL/index.html

and here is the link to Eric's Polizzy publication regarding this topic - https://experts.umn.edu/en/publications/efficient-estimation-of-eigenvalue-counts-in-an-interval

 

0 Kudos
Reply