The SLEIGN2 code is based on the ideas and methods of the original SLEIGN c
ode of 1979. The main purpose of the SLEIGN2 code is to compute eigenvalues
and eigenfunctions of regular and singular self-adjoint Sturm-Liouville pr
oblems, with both separated and coupled boundary conditions, and to approxi
mate the continuous spectrum in the singular case. The code uses some new a
lgorithms, which we describe, and has a driver program that offers a user-f
riendly interface. In this paper the algorithms and their implementation ar
e discussed, and the class of problems to which each algorithm applies is i
dentified.