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

Low-Memory Eigensolver?

Michael_D_6
Beginner
285 Views

Hi,

Ive been trying to develop a solver for a generalised symmetric banded eigenproblem A*z = λ*B*z. I'm currently using the following chain of MKL functions:

1. DPBSTF (factorise)

2. DSBGST (standard form)

3. DSBEVX (solve for some eigenvalues and eigenvectors)

4. Recover Eigenvectors of original system using X from (2)

In this process an NxN matrix seems to be necessary to recover the eigenvectors at stage (4), but I am having trouble finding enough memory for this matrix (with N of 6000 +). I'm working on a 64bit Windows 7 machine, coding in vb.net with fortran wrappers to the mkl functions, so memory usage (within the .net environment) is the limiting factor here, not speed of solution.  Is there any alternatives that you know of that would allow me to avoid using an NxN matrix at all? As it is I'm overwriting matrices and reusing memory as much as possible and it is still struggling with these relatively small matrices...

thanks,

Michael

0 Kudos
2 Replies
mecej4
Honored Contributor III
285 Views
What is the maximal bandwidth, and if it is significantly less than N, are you storing the matrices involved in full form or are you using banded storage format?
0 Kudos
Michael_D_6
Beginner
285 Views
The bandwidth is significantly less than N (say around 500) and both input matrices are stored in banded form. The issue is that with the method I'm using an NxN matrix is still required to recover the eigenvectors of the original system. Do you know of a way to solve for some eigenvalues and vectors without needing to use any NxN matrices?
0 Kudos
Reply