]> El oscilador armónico cuántico
Anterior

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.

H n (x)=2x H n1 (x)2(n1) H n2 (x)

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

Ψ n ( x ) = H n ( x ) 2 n π n ! exp ( x 2 2 )

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.

stokesApplet aparecerá en un explorador compatible con JDK 1.1.
Anterior