I have a real sparse matrix of the form$$\left( \begin{array}{ccc}h_{11} & h_{12} & 0 & h_{14} &  &  & \\h_{21} & h_{22} & h_{23} & 0 & h_{25} &  & \\0 & h_{32} & h_{33} & h_{34} & 0 & h_{36} & \\h_{41} & 0 & h_{43} & h_{44} & h_{45} & 0 & \dots \\ & h_{52} & 0 & h_{54} & h_{55} & h_{56} & \\ &  & h_{63} & 0 & h_{65} & h_{66} & \\ &  &  & \vdots  &  &  & \ddots\\\end{array} \right)$$It typically has dimensions $2500\times 2500$I've written a small routine using the lapack routine dsyev, which is fine for small matrices, but takes a while for the above dimensions I am interested in.Would anyone suggest a more appropriate routine? I am only interested in the lower eigenvalues, so an iterative procedure would probably be suitable.Or are there any (ready-made) routines that exploit sparse matrices? Lapack seems to be primarily for dense matrices.
Finding the lowest $n$ eigenvalues of a band-diagonal Matrix
computational physics;linear algebra;software