# LAGUERRE_POLYNOMIAL Laguerre Polynomials

LAGUERRE_POLYNOMIAL is a FORTRAN90 library 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.

### Licensing:

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

### Languages:

LAGUERRE_POLYNOMIAL is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

### Related Data and Programs:

BERNSTEIN_POLYNOMIAL, a FORTRAN90 library which evaluates the Bernstein polynomials, useful for uniform approximation of functions;

CHEBYSHEV_POLYNOMIAL, a FORTRAN90 library which considers the Chebyshev polynomials T(i,x), U(i,x), V(i,x) and W(i,x). Functions are provided to evaluate the polynomials, determine their zeros, produce their polynomial coefficients, produce related quadrature rules, project other functions onto these polynomial bases, and integrate double and triple products of the polynomials.

GEGENBAUER_POLYNOMIAL, a FORTRAN90 library which evaluates the Gegenbauer polynomial and associated functions.

GEN_LAGUERRE_RULE, a FORTRAN90 program which can compute and print a generalized Gauss-Laguerre quadrature rule.

HERMITE_POLYNOMIAL, a FORTRAN90 library which evaluates the physicist's Hermite polynomial, the probabilist's Hermite polynomial, the Hermite function, and related functions.

JACOBI_POLYNOMIAL, a FORTRAN90 library which evaluates the Jacobi polynomial and associated functions.

LAGUERRE_EXACTNESS, a FORTRAN90 program which tests the polynomial exactness of Gauss-Laguerre quadrature rules.

LAGUERRE_RULE, a FORTRAN90 program which can compute and print a Gauss-Laguerre quadrature rule.

LAGUERRE_TEST_INT, a FORTRAN77 library which defines test integrands for integration over [A,+oo).

LEGENDRE_POLYNOMIAL, a FORTRAN90 library which evaluates the Legendre polynomial and associated functions.

LOBATTO_POLYNOMIAL, a FORTRAN90 library which evaluates Lobatto polynomials, similar to Legendre polynomials except that they are zero at both endpoints.

POLPAK, a FORTRAN90 library which evaluates a variety of mathematical functions.

TEST_VALUES, a FORTRAN90 library which supplies test values of various mathematical functions.

### Reference:

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.

### List of Routines:

• IMTQLX diagonalizes a symmetric tridiagonal matrix.
• L_EXPONENTIAL_PRODUCT: exponential product table for L(n,x).
• L_INTEGRAL evaluates a monomial integral associated with L(n,x).
• L_POLYNOMIAL evaluates the Laguerre polynomial L(n,x).
• L_POLYNOMIAL_COEFFICIENTS: coefficients of the Laguerre polynomial L(n,x).
• L_POLYNOMIAL_VALUES: some values of the Laguerre polynomial L(n,x).
• L_POLYNOMIAL_ZEROS: zeros of the Laguerre polynomial L(n,x).
• L_POWER_PRODUCT: power product table for L(n,x).
• L_QUADRATURE_RULE: Gauss-Laguerre quadrature based on L(n,x).
• LF_INTEGRAL evaluates a monomial integral associated with Lf(n,alpha,x).
• LF_FUNCTION evaluates the Laguerre function Lf(n,alpha,x).
• LF_FUNCTION_VALUES returns values of the Laguerre function Lf(n,alpha,x).
• LF_FUNCTION_ZEROS returns the zeros of Lf(n,alpha,x).
• LF_QUADRATURE_RULE: Gauss-Laguerre quadrature rule for Lf(n,alpha,x);
• LM_INTEGRAL evaluates a monomial integral associated with Lm(n,m,x).
• LM_POLYNOMIAL evaluates Laguerre polynomials Lm(n,m,x).
• LM_POLYNOMIAL_COEFFICIENTS: coefficients of Laguerre polynomial Lm(n,m,x).
• LM_POLYNOMIAL_VALUES returns values of Laguerre polynomials Lm(n,m,x).
• LM_POLYNOMIAL_ZEROS returns the zeros for Lm(n,m,x).
• LM_QUADRATURE_RULE: Gauss-Laguerre quadrature rule for Lm(n,m,x);
• R8_FACTORIAL computes the factorial of N.
• R8_GAMMA evaluates Gamma(X) for a real argument.
• R8MAT_PRINT prints an R8MAT.
• R8MAT_PRINT_SOME prints some of an R8MAT.
• R8VEC_PRINT prints an R8VEC.
• TIMESTAMP prints the current YMDHMS date as a time stamp.

You can go up one level to the FORTRAN90 source codes.

Last revised on 08 March 2012.