ORTHOPOLY: A library for accurate evaluation of series of classical orthogonal polynomials and their derivatives
We present the ORTHOPOLY software that permits to evaluate, efficiently and accurately, finite series of any classical family of orthogonal polynomials (Chebyshev, Legendre, ultraspherical or Gegenbauer, Jacobi, Hermite and Laguerre orthogonal polynomials) and their derivatives. The basic algorithm is the BCS-algorithm (Barrio-Clenshaw-Smith derivative algorithm), that permits to evaluate the th derivative of a finite series of orthogonal polynomials at any point without obtaining before the previous derivatives. Due to the presence of rounding errors, specially in the case of high order derivatives, we introduce the compensated BCS-algorithm, based on Error-Free Transformation techniques, that permits to relegate the influence of the conditioning of the problem up to second order in the round-off unit of the computer. The BCS and compensated BCS algorithms may also give running-error bounds to provide information about the accuracy of the evaluation process. The ORTHOPOLY software includes C and Matlab versions of all the algorithms, and they are designed to be easily used in longer softwares to solve physical, mathematical, chemical or engineering problems (illustrated on the Schrödinger equation for the radial hydrogen atom).