Suppose I have a symmetric linear operator $A:\mathbb{R}^k \rightarrow \mathbb{R}^k$ where $k$ is "small" (eg., $k=100$), and I want to find it's first few eigenvectors, (eg., $10$ eigenvectors).
If we had a matrix representation of $A$ this would be a standard problem in dense numerical linear algebra. However, the catch is that we don't have the entries of $A$, only a code that can evaluate the action of $A$ on a vector. Furthermore, evaluating $Av$ is moderately costly - it involves solving a PDE behind the scenes.
What is the best way to find the first few eigenvectors of $A$ in this situation? My first thought was the Lanczos algorithm, but that's usually good for large sparse systems, whereas my system is small and dense.
Note that to find 10 out of 100 eigenvalues, Arnold Neumaier's method will cost about the same and accurately gives you all the eigenvalues. This method is better if you only want, say, 3 eigenvalues.
– Jed Brown Jul 14 '12 at 03:40