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

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

schulzey
New Contributor I
425 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
402 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. 

Gennady_F_Intel
Moderator
394 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

 

Reply