HERMITE_POLYNOMIAL
Hermite Polynomials
HERMITE_POLYNOMIAL
is a MATLAB library which
evaluates the physicist's Hermite polynomial, the probabilist's Hermite polynomial,
the Hermite function, and related functions.
The physicist's Hermite polynomial H(n,x) can be defined by:
H(n,x) = (1)^n exp(x^2/2) * d^n/dx^n ( exp(x^2/2) )
The normalized physicist's Hermite polynomial Hn(n,x) is scaled so that
Integral ( oo < X < +oo ) exp (  X^2 ) * Hn(M,X) Hn(N,X) dX = delta ( N, M )
The probabilist's Hermite polynomial He(n,x) is related to H(n,x) by:
He(n,x) = H(n,x/sqrt(2)) / sqrt ( 2^n )
The normalized probabilist's Hermite polynomial Hen(n,x) is scaled so that
Integral ( oo < X < +oo ) exp (  0.5*X^2 ) * Hen(M,X) Hen(N,X) dX = delta ( N, M )
The Hermite function Hf(n,x) is related to H(n,x) by:
Hf(n,x) = H(n,x) * exp(x^2/2) / sqrt ( 2^n * n! * sqrt ( pi ) )
The Hermite function Hf(n,x) is scaled so that:
Integral ( oo < X < +oo ) Hf(M,X) Hf(N,X) dX = delta ( N, M )
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
HERMITE_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 MATLAB library which
evaluates the Bernstein polynomials,
useful for uniform approximation of functions;
CHEBYSHEV_POLYNOMIAL,
a MATLAB 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.
GEN_HERMITE_RULE,
a MATLAB program which
can compute and print a generalized GaussHermite quadrature rule.
HERMITE_PRODUCT_DISPLAY,
a MATLAB program which
displays an image of a function created by the Cartesian product of two Hermite polynomials,
such as f(x,y) = h(3,x) * h(1,y).
HERMITE_RULE,
a MATLAB program which
can compute and print a GaussHermite quadrature rule.
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 polynomials,
and the Laguerre function.
LEGENDRE_POLYNOMIAL,
a MATLAB library which
evaluates the Legendre polynomial and associated functions.
LOBATTO_POLYNOMIAL,
a MATLAB library which
evaluates the Lobatto polynomial and associated functions.
PCE_BURGERS,
a MATLAB program which
defines and solves a version of the timedependent viscous Burgers equation,
with uncertain viscosity, using a polynomial chaos expansion in terms
of Hermite polynomials,
by Gianluca Iaccarino.
PCE_ODE_HERMITE,
a MATLAB program which
sets up a simple scalar ODE for exponential decay with an uncertain
decay rate, using a polynomial chaos expansion in terms of Hermite 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: 0198506724,
LC: QA404.5 G3555.

Frank Olver, Daniel Lozier, Ronald Boisvert, Charles Clark,
NIST Handbook of Mathematical Functions,
Cambridge University Press, 2010,
ISBN: 9780521192255,
LC: QA331.N57.

Gabor Szego,
Orthogonal Polynomials,
American Mathematical Society, 1992,
ISBN: 0821810235,
LC: QA3.A5.v23.
Source Code:

h_integral.m,
evaluates a monomial physicist's Hermite integral for H(n,x).

h_polynomial.m,
evaluates the physicist's Hermite polynomial H(n,x).

h_polynomial_coefficients.m,
evaluates the coefficients of the physicist's Hermite polynomial H(n,x).

h_polynomial_values.m,
a few tabulated values of the physicist's Hermite polynomial H(n,x).

h_polynomial_zeros.m,
returns zeros of the physicist's Hermite polynomial H(n,x).

h_quadrature_rule.m,
returns quadrature rules associated with the physicist's Hermite polynomial H(n,x).

he_double_product_integral.m,
integral of He(i,x)*He(j,x)*e^(0.5*x^2).

he_integral.m,
evaluates a monomial probabilist's Hermite integral for He(n,x).

he_plot.m,
plots one or more Hermite polynomials He(n,x).

he_polynomial.m,
evaluates the probabilist's Hermite polynomial He(n,x).

he_polynomial_values.m,
a few tabulated values of the probabilist's Hermite polynomial He(n,x).

he_polynomial_zeros.m,
returns zeros of the probabilist's Hermite polynomial He(n,x).

he_quadrature_rule.m,
returns quadrature rules associated with the probabilist's Hermite polynomial He(n,x).

he_triple_product_integral.m,
integral of He(i,x)*He(j,x)*He(k,x)*e^(0.5*x^2).

hen_exponential_product.m,
tabulates integrals of e^(b*x) Hen(i,x) Hen(j,x) e^(0.5*x^2).

hen_polynomial.m,
evaluates the normalized probabilist's Hermite polynomial Hen(n,x).

hen_power_product.m,
tabulates integrals of x^e Hen(i,x) Hen(j,x) e^(0.5*x^2).

hen_projection.m,
determines the projection coefficients for a function f(x) against
the normalized probabilist's Hermite polynomials Hen(0:n,x).

hen_projection_data.m,
determines the least squares projection coefficients for a function f(x) which
is only supplied as M data values (x,fx), against
the normalized probabilist's Hermite polynomials Hen(0:n,x).

hen_projection_value.m,
evaluates the Hen(0:n,x) projection of a function.

hf_exponential_product.m,
tabulates integrals of e^(b*x) Hf(i,x) Hf(j,x).

hf_function.m,
evaluates the Hermite function Hf(n,x);

hf_function_values.m,
a few tabulated values of the Hermite function Hf(n,x);

hf_plot.m,
plots one or more Hermite functions Hf(n,x).

hf_power_product.m,
tabulates integrals of x^e Hf(i,x) Hf(j,x).

hf_quadrature_rule.m,
returns quadrature rules associated with the Hermite function Hf(n,x).

hn_exponential_product.m,
tabulates integrals of e^(b*x) Hn(i,x) Hn(j,x) e^(x^2).

hn_polynomial.m,
evaluates the normalized physicist's Hermite polynomial Hn(n,x).

hen_power_product.m,
tabulates integrals of x^e Hn(i,x) Hn(j,x) e^(x^2).

imtqlx.m,
diagonalizes a symmetric tridiagonal matrix;

r8_factorial.m,
computes the factorial function;

r8_factorial2.m,
computes the double 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:

hermite_polynomial_test.m, calls all the tests;

hermite_polynomial_test_output.txt,
the output file.

hermite_polynomial_test01.m,
tests h_polynomial;

hermite_polynomial_test02.m,
tests he_polynomial;

hermite_polynomial_test03.m,
tests hf_function;

hermite_polynomial_test04.m,
tests h_polynomial_zeros;

hermite_polynomial_test05.m,
tests he_polynomial_zeros;

hermite_polynomial_test06.m,
tests h_quadrature_rule;

hermite_polynomial_test07.m,
tests he_quadrature_rule;

hermite_polynomial_test08.m,
tests hn_exponential_product;

hermite_polynomial_test09.m,
tests hn_power_product;

hermite_polynomial_test10.m,
tests hen_exponential_product;

hermite_polynomial_test11.m,
tests hen_power_product;

hermite_polynomial_test12.m,
tests hf_exponential_product;

hermite_polynomial_test13.m,
tests hf_power_product;

hermite_polynomial_test14.m,
tests h_polynomial_coefficients;

hermite_polynomial_test15.m,
tests hf_polynomial_coefficients;

hermite_polynomial_test16.m,
tests Hermite projection using he_quadrature_rule and hen_polynomial;

hermite_polynomial_test17.m,
tests hen_projection and hen_projection_value;

hermite_polynomial_test18.m,
tests hen_projection_data;

hermite_polynomial_plot01.m,
tests hf_plot;

he_plot.png,
a plot of Hermite polynomials 0 through 4 over [2,+2];

hf_plot.png,
a plot of Hermite functions 0 through 5 over [5,+5];

exp_fun.m,
evaluates a function, to be projected; in this case, simply exp(x).

poly1.m,
evaluates the polynomial 1+2x+3x^2+4x^3+5x^5.
You can go up one level to
the MATLAB source codes.
Last modified on 02 February 2014.