Hermite Polynomials



Hermite Polynomials
Two forms for the Hermite polynomials are programmed. The first form, denoted by Hn, are orthogonal on the support interval (-∞, ∞) with weight function
w(x) = exp(-x²)
and normalized by the requirement that the leading term of Hn is 2n.
The second form, denoted by Hen, are orthogonal on the support interval (-∞, ∞) with weight function
w(x) = exp(-x² / 2)
and normalized by the requirement that the leading term of Hen is 1.

The first form, Hn, satisfies the three-term recurrence relation
Hn+1(x) = 2 x Hn(x) - 2 n Hn-1(x)for n ≥ 1
with starting values
H0(x) = 1, H1(x) = 2 x.


While the second form, Hen, satisfies the three-term recurrence relation
Hen+1(x) = x Hen(x) - n Hen-1(x)for n ≥ 1
with starting values
He0(x) = 1, He1(x) = x.

Function List

  • double Hermite_Hn( double x, int n )

    This function returns Hn(x) where Hn(x) is described above.

  • long double xHermite_Hn( long double x, int n )

    This function returns Hn(x) where Hn(x) is described above.

  • void Hermite_Hn_Sequence( double H[ ], double x, int max_n )

    This function returns Hn(x), for n = 0, 1, …, max_n in the array H[ ] where Hn(x) is described above. Note that H[ ] should be declared as double H[N] where
    N ≥ max_n + 1.

  • void xHermite_Hn_Sequence( long double H[ ], long double x, int max_n )

    This function returns Hn(x), for n = 0, 1, …, max_n in the array H[ ] where Hn(x) is described above. Note that H[ ] should be declared as long double H[N] where
    N ≥ max_n + 1.

  • double Hermite_Hn_Series( double x, double a[ ], int degree)
    This function returns Σk=0na[k] Hk(x) where n = degree and Hk(x) for k = 0, …, n is described above.

  • long double xHermite_Hn_Series( long double x, long double a[ ], int degree )

    This function returns Σk=0na[k] Hk(x) where n = degree and Hk(x) for k = 0, …, n is described above.

  • double Hermite_Hen( double x, int n )

    This function returns Hen(x) where Hen(x) is described above.

  • long double xHermite_Hen( long double x, int n )

    This function returns Hen(x) where Hen(x) is described above.

  • void Hermite_Hen_Sequence( double He[ ], double x, int max_n )

    This function returns Hen(x), for n = 0, 1, …, max_n in the array He[ ] where Hen(x) is described above. Note that He[ ] should be declared as double He[N] where
    N ≥ max_n + 1.

  • void xHermite_Hen_Sequence( long double He[ ], long double x, int max_n )

    This function returns Hen(x), for n = 0, 1, …, max_n in the array He[ ] where Hen(x) is described above. Note that He[ ] should be declared as long double He[N] where
    N ≥ max_n + 1.

  • double Hermite_Hen_Series( double x, double a[ ], int degree )

    This function returns Σk=0na[k] Hek(x) where n = degree and Hek(x) for k = 0, …, n is described above.

  • long double xHermite_Hen_Series( long double x, long double a[ ], int degree )

    This function returns Σk=0na[k] Hek(x) where n = degree and Hek(x) for k = 0, …, n is described above.

Source Code

C source code is available for these routines: