
Two forms for the Hermite polynomials are programmed. The first form, denoted by H_{n}, are orthogonal on the support interval (∞, ∞) with weight function and normalized by the requirement that the leading term of H_{n} is 2^{n}.
The second form, denoted by He_{n}, are orthogonal on the support interval (∞, ∞) with weight function and normalized by the requirement that the leading term of He_{n} is 1.
The first form, H_{n}, satisfies the threeterm recurrence relation H_{n+1}(x) = 2 x H_{n}(x)  2 n H_{n1}(x)  for n ≥ 1 

with starting values H_{0}(x) = 1,  H_{1}(x) = 2 x. 

While the second form, He_{n}, satisfies the threeterm recurrence relation He_{n+1}(x) = x He_{n}(x)  n He_{n1}(x)  for n ≥ 1 

with starting values He_{0}(x) = 1,  He_{1}(x) = x. 

 double Hermite_Hn( double x, int n )
This function returns H_{n}(x) where H_{n}(x) is described above.
 long double xHermite_Hn( long double x, int n )
This function returns H_{n}(x) where H_{n}(x) is described above.
 void Hermite_Hn_Sequence( double H[ ], double x, int max_n )
This function returns H_{n}(x), for n = 0, 1, …, max_n in the array H[ ] where H_{n}(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 H_{n}(x), for n = 0, 1, …, max_n in the array H[ ] where H_{n}(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=0}^{n}a[k] H_{k}(x) where n = degree and H_{k}(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=0}^{n}a[k] H_{k}(x) where n = degree and H_{k}(x) for k = 0, …, n is described above._{ }
 double Hermite_Hen( double x, int n )
This function returns He_{n}(x) where He_{n}(x) is described above.
 long double xHermite_Hen( long double x, int n )
This function returns He_{n}(x) where He_{n}(x) is described above.
 void Hermite_Hen_Sequence( double He[ ], double x, int max_n )
This function returns He_{n}(x), for n = 0, 1, …, max_n in the array He[ ] where He_{n}(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 He_{n}(x), for n = 0, 1, …, max_n in the array He[ ] where He_{n}(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=0}^{n}a[k] He_{k}(x) where n = degree and He_{k}(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=0}^{n}a[k] He_{k}(x) where n = degree and He_{k}(x) for k = 0, …, n is described above._{ }
C source code is available for these routines:
