Difference between revisions of "Hermite polynomial"
m (Text replacement - "\$([^\$]+)\$" to "\\(\1\\)") |
|||
Line 1: | Line 1: | ||
− | [[File:Hermiten.jpg|300px|thumb| Normalised [[Hermite polynomial]]s, |
+ | [[File:Hermiten.jpg|300px|thumb| Normalised [[Hermite polynomial]]s, \(y=h_n(x)\) for \(n=2,3,4,5,6\)]] |
− | [[File:Hermiten6map.jpg|312px|thumb| |
+ | [[File:Hermiten6map.jpg|312px|thumb| \(u\!+\!\mathrm i v=h_6(x\!+\!\mathrm i y\) ]] |
[[Hermite polynomial]] appears at the solution of the [[Stationary Schroedinger equation]] with quadratic potential. |
[[Hermite polynomial]] appears at the solution of the [[Stationary Schroedinger equation]] with quadratic potential. |
||
Also, the [[Hermite polynomial]]s appear in the [[Hermite Gauss mode]]s. |
Also, the [[Hermite polynomial]]s appear in the [[Hermite Gauss mode]]s. |
||
− | The |
+ | The \(m\)th [[Hermite polynomial]] can be defined as |
− | + | \(H_m(x)=(-1)^m \exp(-x^2) \partial_x^m \exp(-x^2)\) |
|
− | The |
+ | The \(m\)th Hermite polynomial is denoted with \(H_m(x)=\mathrm{HermiteH}[m,x]\). |
In particular, <br> |
In particular, <br> |
||
− | + | \(H_0(x)=1\),<br> |
|
− | + | \(H_1(x)=2x\),<br> |
|
− | + | \(H_2(x)=4x^2-2\) |
|
==Recurrent relations== |
==Recurrent relations== |
||
− | + | \(H_{n+1}(x)=2xH_n(x)-2nH_{n-1}(x)\) |
|
− | + | \(H_n'(x)=2nH_{n-1}(x)\) |
|
==Orthogonality== |
==Orthogonality== |
||
− | Hermite polynomials are orthogonal at the whole real axis with weight |
+ | Hermite polynomials are orthogonal at the whole real axis with weight \(U(x)=\exp(-x^2)\) : |
− | + | \(\displaystyle |
|
− | \int_{-\infty}^{\infty} \exp(-x^2)\, H_m(x)\, H_n(x)\, \mathrm d x= 2^n\, n!\, \sqrt{\pi}\, \delta_{m,n} |
+ | \int_{-\infty}^{\infty} \exp(-x^2)\, H_m(x)\, H_n(x)\, \mathrm d x= 2^n\, n!\, \sqrt{\pi}\, \delta_{m,n}\) |
− | The normalisation factor |
+ | The normalisation factor \(~ ~ ~ N_n=2^n\, n!\, \sqrt{\pi}\) |
is used to define normalised hermites |
is used to define normalised hermites |
||
− | + | \(\displaystyle h_n(z)= \frac{1}{\sqrt{N_n}} \mathrm{HermiteH}[n,x]=\frac{H_n(x)}{\sqrt{N_n}}\) |
|
− | Explicit plot of |
+ | Explicit plot of \(h_n\) for \(n=2\) .. \(6\) is hown in figure at the top. Below, the [[complex map]] |
− | of |
+ | of \(h_6\) is shown. |
== [[Oscillator function]]s == |
== [[Oscillator function]]s == |
||
Line 40: | Line 40: | ||
The [[Oscillator function]]s |
The [[Oscillator function]]s |
||
− | + | \(F_n(x)=h_n(x) \, \exp(-x^2/2)\) \(=N_n^{-1/2}\, H_n(x)\, \exp(-x^2/2)\) |
|
[[File:Hermigaplot.jpg|400px|right]] |
[[File:Hermigaplot.jpg|400px|right]] |
||
− | appear both, as solutions for the stationary Schroedinger equations for the [[Harmonic oscillator]] and at the [[Hermite Gauss mode]]s. Explicit plot |
+ | appear both, as solutions for the stationary Schroedinger equations for the [[Harmonic oscillator]] and at the [[Hermite Gauss mode]]s. Explicit plot \(y\!=\!F_n(x)\) is shown in figure at right for \(n=0 .. 6\). |
− | The oscillator function |
+ | The oscillator function \(f_n\) is solution of the equation |
− | + | \(F''(x)+(2n\!+\!1-x^2)\, F(x) = 0\) |
|
− | that is stationary Schroedinger equation of a particle of mass unity in the quadratic potential; then, |
+ | that is stationary Schroedinger equation of a particle of mass unity in the quadratic potential; then, \(x^2\) can be interpreted as twiced potential, and expression \(2n\!+\!1\) can be interpreted as energy of the eigenstate of the system. |
==[[Hermite number]]== |
==[[Hermite number]]== |
||
There is special name for |
There is special name for |
||
− | + | \(H_n=H_n(0)=\mathrm{HermiteH}[n,0]\). |
|
− | It is called [[Hermite number]]; originally, |
+ | It is called [[Hermite number]]; originally, \(H_n\) is defined only for integer \(n\). |
<ref> |
<ref> |
||
http://mathworld.wolfram.com/HermiteNumber.html |
http://mathworld.wolfram.com/HermiteNumber.html |
||
Line 62: | Line 62: | ||
</ref> |
</ref> |
||
− | + | \(\displaystyle |
|
H_n= \frac |
H_n= \frac |
||
{2^n \sqrt{\pi}} |
{2^n \sqrt{\pi}} |
||
− | {\displaystyle \mathrm{Factorial}\left(- \frac{1\!+\!n}{2}\right)} |
+ | {\displaystyle \mathrm{Factorial}\left(- \frac{1\!+\!n}{2}\right)}\) |
− | + | \(\displaystyle = |
|
\left\{ \begin{array}{ccc} |
\left\{ \begin{array}{ccc} |
||
0 & \mathrm{for ~ odd} & n \\ \displaystyle |
0 & \mathrm{for ~ odd} & n \\ \displaystyle |
||
(-1)^{n/2} \frac{n!}{(n/2)!} &\mathrm{for ~ even} & n |
(-1)^{n/2} \frac{n!}{(n/2)!} &\mathrm{for ~ even} & n |
||
− | \end{array} \right. |
+ | \end{array} \right.\) |
==[[C++]] implementation== |
==[[C++]] implementation== |
||
For fast generation of complex diagrams, it may have sense to use the fast implementation for the Hermite polynomials (with already pre-calculated coefficients). |
For fast generation of complex diagrams, it may have sense to use the fast implementation for the Hermite polynomials (with already pre-calculated coefficients). |
||
− | The implementation of |
+ | The implementation of \(H_n(x)\) for \(0<n<14\) is suggested below: |
<poem><nomathjax><nowiki> |
<poem><nomathjax><nowiki> |
Latest revision as of 18:47, 30 July 2019
Hermite polynomial appears at the solution of the Stationary Schroedinger equation with quadratic potential. Also, the Hermite polynomials appear in the Hermite Gauss modes.
The \(m\)th Hermite polynomial can be defined as
\(H_m(x)=(-1)^m \exp(-x^2) \partial_x^m \exp(-x^2)\)
The \(m\)th Hermite polynomial is denoted with \(H_m(x)=\mathrm{HermiteH}[m,x]\).
In particular,
\(H_0(x)=1\),
\(H_1(x)=2x\),
\(H_2(x)=4x^2-2\)
Recurrent relations
\(H_{n+1}(x)=2xH_n(x)-2nH_{n-1}(x)\)
\(H_n'(x)=2nH_{n-1}(x)\)
Orthogonality
Hermite polynomials are orthogonal at the whole real axis with weight \(U(x)=\exp(-x^2)\) :
\(\displaystyle \int_{-\infty}^{\infty} \exp(-x^2)\, H_m(x)\, H_n(x)\, \mathrm d x= 2^n\, n!\, \sqrt{\pi}\, \delta_{m,n}\)
The normalisation factor \(~ ~ ~ N_n=2^n\, n!\, \sqrt{\pi}\)
is used to define normalised hermites
\(\displaystyle h_n(z)= \frac{1}{\sqrt{N_n}} \mathrm{HermiteH}[n,x]=\frac{H_n(x)}{\sqrt{N_n}}\)
Explicit plot of \(h_n\) for \(n=2\) .. \(6\) is hown in figure at the top. Below, the complex map of \(h_6\) is shown.
Oscillator functions
\(F_n(x)=h_n(x) \, \exp(-x^2/2)\) \(=N_n^{-1/2}\, H_n(x)\, \exp(-x^2/2)\)
appear both, as solutions for the stationary Schroedinger equations for the Harmonic oscillator and at the Hermite Gauss modes. Explicit plot \(y\!=\!F_n(x)\) is shown in figure at right for \(n=0 .. 6\).
The oscillator function \(f_n\) is solution of the equation
\(F''(x)+(2n\!+\!1-x^2)\, F(x) = 0\)
that is stationary Schroedinger equation of a particle of mass unity in the quadratic potential; then, \(x^2\) can be interpreted as twiced potential, and expression \(2n\!+\!1\) can be interpreted as energy of the eigenstate of the system.
Hermite number
There is special name for
\(H_n=H_n(0)=\mathrm{HermiteH}[n,0]\).
It is called Hermite number; originally, \(H_n\) is defined only for integer \(n\). [1]
\(\displaystyle H_n= \frac {2^n \sqrt{\pi}} {\displaystyle \mathrm{Factorial}\left(- \frac{1\!+\!n}{2}\right)}\) \(\displaystyle = \left\{ \begin{array}{ccc} 0 & \mathrm{for ~ odd} & n \\ \displaystyle (-1)^{n/2} \frac{n!}{(n/2)!} &\mathrm{for ~ even} & n \end{array} \right.\)
C++ implementation
For fast generation of complex diagrams, it may have sense to use the fast implementation for the Hermite polynomials (with already pre-calculated coefficients). The implementation of \(H_n(x)\) for \(0<n<14\) is suggested below:
DB HermitH0[7][7]= // COEFFICIENTS OF EVEN HERMITEH
{{1, 0, 0, 0, 0, 0, 0},
{-2, 4, 0, 0, 0, 0, 0},
{12, -48, 16, 0, 0, 0, 0},
{-120, 720, -480, 64, 0, 0, 0},
{1680, -13440, 13440, -3584, 256, 0, 0},
{-30240, 302400, -403200, 161280, -23040, 1024, 0},
{665280, -7983360, 13305600, -7096320, 1520640, -135168, 4096}};
DB HermitH1[7][7]= // COEFFICIENTS OF ODD HERMITEH
{{2, 0, 0, 0, 0, 0, 0},
{-12, 8, 0, 0, 0, 0, 0},
{120, -160, 32, 0, 0, 0, 0},
{-1680, 3360, -1344, 128, 0, 0, 0},
{30240, -80640, 48384, -9216, 512, 0, 0},
{-665280, 2217600, -1774080, 506880, -56320, 2048, 0},
{17297280, -69189120, 69189120, -26357760,4392960, -319488, 8192}};
DB HermitH(int n,DB x){ int m,M; DB s, xx;
if(n==0) return 1.;
if(n==1) return x+x;
if(n>13) {printf("hermite number %2d is not yet implemented (max. is 13)\n consider to stop..",n); getchar(); return 0;}
xx=x*x; //printf("Hernith called with n=%3d x=%8.2lf\n",n,x);
if(n/2*2==n){M=n/2; s=0.;for(m=M;m>0;m--) {s+=HermitH0[M][m]; s*=xx;}
return HermitH0[M][0]+s; }
else{ M=(n-1)/2; s=0.; for(m=M;m>0;m--) {s+=HermitH1[M][m]; s*=xx;}
return (HermitH1[M][0]+s)*x; }
}
References
- ↑ http://mathworld.wolfram.com/HermiteNumber.html Weisstein, Eric W. "Hermite Number." From MathWorld--A Wolfram Web Resource.
http://mathworld.wolfram.com/HermitePolynomial.html Weisstein, Eric W. "Hermite Polynomial." From MathWorld--A Wolfram Web Resource. (2016)