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.