LEGENDRE_POLYNOMIAL
Legendre Polynomials
LEGENDRE_POLYNOMIAL
is a MATLAB library which
evaluates the Legendre polynomial and associated functions.
The Legendre polynomial P(n,x) can be defined by:
P(0,x) = 1
P(1,x) = x
P(n,x) = (2*n-1)/n * x * P(n-1,x) - (n-1)/n * P(n-2,x)
where n is a nonnegative integer.
The N zeroes of P(n,x) are the abscissas used for Gauss-Legendre
quadrature of the integral of a function F(X) with weight function 1
over the interval [-1,1].
The Legendre polynomials are orthogonal under the inner product defined
as integration from -1 to 1:
Integral ( -1 <= x <= 1 ) P(i,x) * P(j,x) dx
= 0 if i =/= j
= 2 / ( 2*i+1 ) if i = j.
Licensing:
The computer code and data files described and made available on this
web page are distributed under
the GNU LGPL license.
Languages:
LEGENDRE_POLYNOMIAL is available in
a C++ version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
CHEBYSHEV_POLYNOMIAL,
a MATLAB library which
evaluates the Chebyshev polynomial and associated functions.
HERMITE_POLYNOMIAL,
a MATLAB library which
evaluates the physicist's Hermite polynomial, the probabilist's Hermite polynomial,
the Hermite function, and related functions.
INT_EXACTNESS_LEGENDRE,
a MATLAB program which
tests the polynomial exactness of Gauss-Legendre quadrature rules.
JACOBI_POLYNOMIAL,
a MATLAB library which
evaluates the Jacobi polynomial and associated functions.
LAGUERRE_POLYNOMIAL,
a MATLAB library which
evaluates the Laguerre polynomial, the generalized Laguerre polynomial,
and the Laguerre function.
LEGENDRE_RULE,
a MATLAB program which
computes a 1D Gauss-Legendre quadrature rule.
PCE_LEGENDRE,
a MATLAB program which
assembles the system matrix of a 2D stochastic PDE,
using a polynomal chaos expansion in terms of Legendre polynomials;
POLPAK,
a MATLAB library which
evaluates a variety of mathematical functions.
TEST_VALUES,
a MATLAB library which
supplies test values of various mathematical functions.
Reference:
-
Theodore Chihara,
An Introduction to Orthogonal Polynomials,
Gordon and Breach, 1978,
ISBN: 0677041500,
LC: QA404.5 C44.
-
Walter Gautschi,
Orthogonal Polynomials: Computation and Approximation,
Oxford, 2004,
ISBN: 0-19-850672-4,
LC: QA404.5 G3555.
-
Frank Olver, Daniel Lozier, Ronald Boisvert, Charles Clark,
NIST Handbook of Mathematical Functions,
Cambridge University Press, 2010,
ISBN: 978-0521192255,
LC: QA331.N57.
-
Gabor Szego,
Orthogonal Polynomials,
American Mathematical Society, 1992,
ISBN: 0821810235,
LC: QA3.A5.v23.
Source Code:
-
imtqlx.m,
diagonalizes a symmetric tridiagonal matrix;
-
p_exponential_product.m,
exponential products for P(n,x).
-
p_integral.m,
evaluates a monomial integral associated with P(n,x).
-
p_polynomial.m,
evaluates the Legendre polynomials P(n,x).
-
p_polynomial_coefficients.m,
coefficients of Legendre polynomials P(n,x).
-
p_polynomial_plot.m,
plots one or more Legendre polynomials P(n,x).
-
p_polynomial_prime.m,
evaluates the derivative of Legendre polynomials P'(n,x).
-
p_polynomial_values.m,
returns values of the Legendre polynomials P(n,x).
-
p_polynomial_zeros.m,
zeros of Legendre function P(n,x).
-
p_power_product.m,
power products for Legendre polynomial P(n,x).
-
p_quadrature_rule.m,
quadrature for Legendre function P(n,x).
-
pm_polynomial.m,
evaluates the Legendre polynomials Pm(n,m,x).
-
pm_polynomial_values.m,
returns values of Legendre polynomials Pm(n,m,x).
-
pn_polynomial.m,
evaluates the normalized Legendre polynomials Pn(n,x).
-
pn_pair_product.m,
pair products for normalized Legendre polynomial Pn(n,x).
-
r8_factorial.m,
computes the factorial function;
-
r8_sign.m,
returns the sign of an R8.
-
r8mat_print.m,
prints an R8MAT;
-
r8mat_print_some.m,
prints some of an R8MAT;
-
r8vec_print.m,
prints an R8VEC;
-
r8vec2_print.m,
prints a pair of R8VEC's;
-
timestamp.m,
prints the current YMDHMS date as a time stamp.
Examples and Tests:
-
legendre_polynomial_test.m,
calls all the tests.
-
legendre_polynomial_test_output.txt,
the output file.
-
legendre_polynomial_test01.m,
calls tests P_POLYNOMIAL.
-
legendre_polynomial_test02.m,
tests P_POLYNOMIAL_COEFFICIENTS.
-
legendre_polynomial_test03.m,
tests P_POLYNOMIAL_ZEROS.
-
legendre_polynomial_test04.m,
tests P_QUADRATURE_RULE.
-
legendre_polynomial_test05.m,
tests P_EXPONENTIAL_PRODUCT.
-
legendre_polynomial_test06.m,
tests P_POWER_PRODUCT.
-
legendre_polynomial_test07.m,
tests PM_POLYNOMIAL.
-
legendre_polynomial_test08.m,
tests PMN_POLYNOMIAL.
-
legendre_polynomial_test09.m,
tests PMNS_POLYNOMIAL.
-
legendre_polynomial_test10.m,
tests PN_PAIR_PRODUCT.
-
legendre_polynomial_plot01.m,
tests p_polynomial_plot;
-
p_polynomial_plot.png,
a plot of Legendre functions 0 through 5;
You can go up one level to
the MATLAB source codes.
Last revised on 14 March 2012.