I want to partially diagonalise real sparse symmetric positive-definite matrices, that are of dimension $n = 10^5$ and I need on the order of $k = 500$ of the smallest eigenvalues and eigenvectors. The number of non-zero elements scales with $n$, and optionally I can arrange the matrices to be band-diagonal with the number of bands $\sim200$, independent of $n$.
Currently, I am using ARPACK (making no use of the banded structure), but the run-time is becoming prohibitive. I'm wondering whether the FEAST algorithm might be a good alternative, since having a good idea of what the spectrum will look like, I can confidently supply it with $[\lambda_{\min}, \lambda_{\max}]$. I have looked into other algorithms but am a bit overwhelmed by the number of choices.
My question is twofold.
- Could the banded structure make a significant difference?
- Are there specific algorithms that will outperform ARPACK? (Since as far as I know, it only makes use of the fact that $A$ is real and symmetric, not the other properties. Furthermore, I am not sure that $k = 500$ constitutes "a few eigenvalues" anymore, hence I am wondering whether other algorithms can outperform it.)