
Polinomios de Hermite
Los primeros seis polinomios de Hermite son los siguientes.
H0(x)=1
H1(x)=2x
H2(x)=4x2-2
H3(x)=8x3-12x
H4(x)=16x4-48x2+12
H5(x)=32x5-160x3+120x
Todos los polinomios de Hermite de orden n>2 se pueden expresar en términos de los dos primeros polinomios H0(x) y H1(x), de orden cero y uno respectivamente, mediante la siguiente relación de recurrencia.
El código de la función recursiva que calcula los valores del polinomio Hn(x) es muy simple
double hermite(double x, int n){ if(n==0) return 1.0; if(n==1) return 2*x; return (2*x*hermite(x, n-1)-2*(n-1)*hermite(x, n-2)); }
Funciones de onda de un oscilador armónico cuántico
Nuestra tarea va consistir en calcular las funciones de onda para los distintos niveles de energía n=0, 1, 2...
Empezamos por el denominador que precisa calcular la potencia 2n y el factorial de n, n!=n·(n-1)·(n-2)...2·1.
long potencia2(int n){ long result=1; for(int i=1; i<=n; i++){ result*=2; } return result; }
long factorial(int n){ if(n==0) return 1; long result=1; for(int i=1; i<=n; i++){ result*=i; } return result; }
Dado el nivel de energía n, se calcula la función de onda para cualquier valor de x, en términos de las tres funciones auxiliares previamente definidas.
double funcion(double x){ double y=(1.0/Math.sqrt(potencia2(n)*Math.sqrt(Math.PI)*factorial(n))) *hermite(x, n)*Math.exp(-x*x/2); return y; }
En el siguiente applet se elige el nivel de energía y se representa la función de onda asociada. Las unidades de la energía e (en el eje vertical) en función de la distancia x (en el eje horizontal) se han definido al principio de esta página.
En este applet se elige el estado o nivel en el control selección situado a su izquierda titulado Estado, y a continuación se pulesa en el botón titulado Dibuja.
