laguerre_polynomial, a C++ code which evaluates the Laguerre polynomial, the generalized Laguerre polynomials, and the Laguerre function.

The Laguerre polynomial L(n,x) can be defined by:

        L(n,x) = exp(x)/n! * d^n/dx^n ( exp(-x) * x^n )
where n is a nonnegative integer.

The generalized Laguerre polynomial Lm(n,m,x) can be defined by:

        Lm(n,m,x) = exp(x)/(x^m*n!) * d^n/dx^n ( exp(-x) * x^(m+n) )
where n and m are nonnegative integers.

The Laguerre function can be defined by:

        Lf(n,alpha,x) = exp(x)/(x^alpha*n!) * d^n/dx^n ( exp(-x) * x^(alpha+n) )
where n is a nonnegative integer and -1.0 < alpha is a real number.


The computer code and data files described and made available on this web page are distributed under the MIT license


laguerre_polynomial is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

BERNSTEIN_POLYNOMIAL, a C++ code which evaluates the Bernstein polynomials, useful for uniform approximation of functions;

CHEBYSHEV_POLYNOMIAL, a C++ code which evaluates the Chebyshev polynomial and associated functions.

GEGENBAUER_POLYNOMIAL, a C++ code which evaluates the Gegenbauer polynomial and associated functions.

GEN_LAGUERRE_RULE, a C++ code which can compute and print a generalized Gauss-Laguerre quadrature rule.

HERMITE_POLYNOMIAL, a C++ code which evaluates the physicist's Hermite polynomial, the probabilist's Hermite polynomial, the Hermite function, and related functions.

JACOBI_POLYNOMIAL, a C++ code which evaluates the Jacobi polynomial and associated functions.


LAGUERRE_RULE, a C++ code which can compute and print a Gauss-Laguerre quadrature rule.

LEGENDRE_POLYNOMIAL, a C++ code which evaluates the Legendre polynomial and associated functions.

LEGENDRE_SHIFTED_POLYNOMIAL, a C++ code which evaluates the shifted Legendre polynomial, with domain [0,1].

LOBATTO_POLYNOMIAL, a C++ code which evaluates Lobatto polynomials, similar to Legendre polynomials except that they are zero at both endpoints.

POLPAK, a C++ code which evaluates a variety of mathematical functions.

TEST_VALUES, a C++ code which supplies test values of various mathematical functions.


  1. Theodore Chihara,
    An Introduction to Orthogonal Polynomials,
    Gordon and Breach, 1978,
    ISBN: 0677041500,
    LC: QA404.5 C44.
  2. Walter Gautschi,
    Orthogonal Polynomials: Computation and Approximation,
    Oxford, 2004,
    ISBN: 0-19-850672-4,
    LC: QA404.5 G3555.
  3. Frank Olver, Daniel Lozier, Ronald Boisvert, Charles Clark,
    NIST Handbook of Mathematical Functions,
    Cambridge University Press, 2010,
    ISBN: 978-0521192255,
    LC: QA331.N57.
  4. Gabor Szego,
    Orthogonal Polynomials,
    American Mathematical Society, 1992,
    ISBN: 0821810235,
    LC: QA3.A5.v23.

Source Code:

Last revised on 23 March 2020.