  This paper describes a software package called EVSL (for EigenValues Slicing
Library) for solving large sparse real symmetric standard and generalized
eigenvalue problems. As its name indicates, the package exploits spectrum
slicing, a strategy that consists of dividing the spectrum into a number of
subintervals and extracting eigenpairs from each subinterval independently. In
order to enable such a strategy, the methods implemented in EVSL rely on a
quick calculation of the spectral density of a given matrix, or a matrix pair.
What distinguishes EVSL from other currently available packages is that EVSL
relies entirely on filtering techniques. Polynomial and rational filtering are
both implemented and are coupled with Krylov subspace methods and the subspace
iteration algorithm. On the implementation side, the package offers interfaces
for various scenarios including matrix-free modes, whereby the user can supply
his/her own functions to perform matrix-vector operations or to solve sparse
linear systems. The paper describes the algorithms in EVSL, provides details on
their implementations, and discusses performance issues for the various
methods.
