Geschlossene Lösungen der SGL für verschiedene Potentiale
SGL in "natürlichen Einheiten" m = h = e =...= 1.
> | sgl := diff(psi(x),x$2)+2*(E - V(x))*psi(x)=0; |
> | dsolve(sgl,psi(x)); |
> |
Ohne konkretes Potential nur ein Platzhalter für die Lösung.
> | DEtools[odeadvisor](sgl); |
> |
> |
Konstantes Potential (im Topf)
> | V:=x->const; |
> | dsolve(sgl,psi(x)); |
Das hätte man zur Not auch noch von Hand ausrechnen können :-))
Fallunterscheidungen
> |
> | V:=x->-2: E:=-1: |
> | dsolve(sgl,psi(x)); |
> | E:=-5: |
> | dsolve(sgl,psi(x)); |
> |
> |
Oszillator
> | E:='E': V:=x->x^2/2; |
> | dsolve(sgl,psi(x)); |
Die Whittaker-Funktionen sind eine Verallgemeinerung der hypergeometrischen Funktionen.
> | convert(rhs(%),hypergeom); |
> | simplify(%); |
> | convert(%,StandardFunctions); |
> | #simplify(%); |
> |
Also ein Spaziergang durch die speziellen Funktionen der mathematischen Physik...
> |
Für konkrete Eigenwerte, erhält man die gewohnten Funktionen
> |
> | E:=1/2: |
> | dsolve(sgl,psi(x)); |
Anfangsbedingungen (müssen zu den EW passen - gerade, ungerade):
> | dsolve({sgl,psi(0)=1,D(psi)(0)=0},psi(x)); |
> | E:=9/2: |
> | dsolve(sgl,psi(x)); |
> | dsolve({sgl,psi(0)=1,D(psi)(0)=0},psi(x)); |
> |
Probe (auch von Hand möglich):
> | subs(%,sgl); |
> | simplify(%); |
> |
> | E:='E': |
> | solosz:=(x,_E)->dsolve({subs(E=_E,sgl),psi(0)=1,D(psi)(0)=0},psi(x)); |
> | solosz(x,3.4); |
> |
Beliebige Energien
> | plot([seq(rhs(solosz(x,E)),E=0..5)],x=0..5,-5..5,thickness=2); |
> |
Eigenwerte
> | plot([seq(rhs(solosz(x,E)),E=seq(2*n+1/2,n=0..5))],x=0..5,-2..2,thickness=2); |
Normierung immer mit Integration möglich
> | int(rhs(solosz(x,9/2))^2,x=0..infinity); |
> |
Oder gleich mit den bekannten Funktionen
> | u:=(n,x)->1/sqrt(2^n*n!)*Pi^(-1/4)*HermiteH(n,x)*exp(-x^2/2); |
> | seq(simplify(u(n,x)),n=0..5); |
> |
> |
> | plot([seq(u(n,x)+n+1/2,n=0..7),seq(n+1/2,n=0..7),V(x)],x=-5..5,0..10,color=[red,blue]); |
> |
> |
> |
Coulombpotential
> | restart: |
> | sgl := diff(psi(x),x$2)+2*(E - V(x))*psi(x)=0; |
> | E:='E': V:=x->-1/sqrt(x^2); |
> | dsolve(sgl,psi(x)); |
So geht es:
> | V:=x->-1/x; |
> | dsolve(sgl,psi(x)); |
> |
E=-1/2/n^2
> | E:=-1/2: |
> | dsolve(sgl,psi(x)); |
Mit Anfangsbedingungen
> | E:=-1/2/4: |
> | dsolve({sgl,psi(0)=0,D(psi)(0)=1},psi(x)); |
> | #collect(expand(%),exp); |
> |
Probe (auch von Hand zu empfehlen):
> | subs(%,sgl); |
> | simplify(%); |
> |
> | E:=-1/2/9: |
> | dsolve({sgl,psi(0)=0,D(psi)(0)=1},psi(x)); |
> | collect(expand(%),exp); |
> |
> | subs(%,sgl); |
> | simplify(%); |
> |
Mit den Standardfunktionen
> | La:=(n,l,x)->simplify(LaguerreL(n-l-1,2*l+1,x)); |
> | La(3,1,x); |
> | #convert(LaguerreL(n,l,x),hypergeom); |
> | #simplify(%); |
> | #convert(binomial(l+n,n),`!`); |
> |
> |
Oder
> | l,n,j,k,u:='l','n','j','k','u': L:=(j,k,u)->if j<>0 then 1/j!*exp(u)/u^k*diff(u^(j+k)*exp(-u),u$j) |
> | else 1 fi; |
> |
> | #Lt:=(n,l,x)->L(n-l-1,2*l+1,x); |
> | #La(10,7,x); |
> | #simplify(Lt(10,7,x)); |
> |
> | Ru:=(n,l,u)->u^l*exp(-u/2)*L(n-l-1,2*l+1,u); |
> | Ru(3,1,u); |
> | collect(expand(%),exp); |
> | a0:=1: plr:=u->subs(u=2*r/(n*a0),simplify(Ru(n,l,u))); |
> | #plr(o); |
Normierung
> | Nr2:=4*(n-l-1)!/(n+l)!/(a0^3*n^4); #Normierung^2 (1-dim, 3-dim, s.u.)? |
> | n:=3:l:=0: |
> | plot(Nr2*r^2*plr(o)^2,r=0..40); |
> |
> |
> | n:='n':l:=0: plot([seq(Nr2*(r*plr(o))^2-1/2/n^2,n=1+l..4),seq(-1/2/n^2,n=1+l..4),-1/r],r=0..40,-0.6..0.1,color=[red,blue],tickmarks=[2,2]); |
Lineares Potential (Wurf)
> | E:='E': V:=x->x: |
> |
> | dsolve(sgl,psi(x)); |
Die Airy-Funktionen lassen sich als Besselfunktionen schreiben
> | convert(rhs(%),Bessel); |
> |
> |
Anfangsbedingungen vereinfachen die Sache nicht wesentlich :-))
> | dsolve({sgl,psi(0)=0,D(psi)(0)=1},psi(x)); |
> | simplify(%); |
> | #convert(rhs(%),Bessel); |
Leider gehört dieses einfache Potential zu den mathematisch nicht ganz "trivialen Fällen", was die geschlossene Lösung der DGL angeht. Es wird aber bei den Experimenten mit Kondensaten im Schwerefeld oft benötigt...
Siehe auch: Schrödingers Oszillator
komma@oe.uni-tuebingen.de