  Polynomial filtering can provide a highly effective means of computing all
eigenvalues of a real symmetric (or complex Hermitian) matrix that are located
in a given interval, anywhere in the spectrum. This paper describes a technique
for tackling this problem by combining a Thick-Restart version of the Lanczos
algorithm with deflation (`locking') and a new type of polynomial filters
obtained from a least-squares technique. The resulting algorithm can be
utilized in a `spectrum-slicing' approach whereby a very large number of
eigenvalues and associated eigenvectors of the matrix are computed by
extracting eigenpairs located in different sub-intervals independently from one
another.
