(* PACCHETTI GAUSSIANI *)
(* Questo Notebook vi consente di esaminare vari esempi di pacchetti gaussiani e di studiarne le varie caratteristiche *)
(* In questa sezione sono riportate alcune funzioni utili nel seguito *) (* La sostitusione "conj" esegue il complesso coniugato di una espressione, cambiando solo i numeri complessi e supponendo che ogni altro simbolo rappresenti una quantita’ reale *)
conj = {Complex[a , b ] :→ Complex[a, −b]};
(* Procedura per semplificare la parte "l" di una espressione "expr" *)
SemplIn[expr , l ]:=Module[{bb, bb1, exp1}, bb = Fold[Part, expr, l]; (1) bb1 = FullSimplify[bb]; (2) exp1 = expr/.{bb → bb1}; (3)
Return[exp1]] (4)
(*Procedura per raccogliere a fattore il termine "form" nella parte
"l" di una espressione "expr" *)
CollIn[expr , form , pos ]:= (5)
Module[{bb, bb1, exp1}, bb = Fold[Part, expr, pos]; (6)
bb1 = Collect[bb, form]; (7)
exp1 = expr/.{bb → bb1}; (8)
Return[exp1]] (9)
(* Definizione di un pacchetto d’onda unidimensionale ( nella variabile x) gaussiano ψ[x0, σ, k0],
dove i parametri rappresentano x0 e’ il valor medio del pacchetto, σ la deviazione standard,
k0 il momento dell’onda portante. Questa e’ una funzione COMPLESSA *)
ψ[x0 , σ , k0 ]:=Exp[Ik0x]Exp[−(x − x0)∧2/(4σ∧2)]/((2π)∧(1/4)σ∧(1/2)) (10)
(* Esempi *) ψ[−2, 1, 0]
ψ[ξ, σ, k0]
e− 14 (2+x)2 (2π)1/4
e−
(x−ξ)2 4σ2 +ixk0
(2π)1/4√ σ
(* Il modulo quadro del pacchetto precedente e’ dato dall’espressione *)
psimod2[x0 , σ , k0 ]:=ψ[x0, σ, k0](ψ[x0, σ, k0]/.conj) (11)
(* Esempi *) psimod2[−2, 1, 0]
e− 12 (2+x)√ 2 2π
psimod2[ξ, σ, k0]
e−
(x−ξ)2
√2σ2
2πσ
(* Tracciamo il grafico del modulo quadro di una famiglia di pacchetti centrati in x0 =0, di momento k0=0, ma deviazione standard σ = 4/i, dove l’indicei²{1, 2, ..., 10} *)
sGauss = Table[Plot[psimod2[0, 4/i, 0], {x, −8, 8}, PlotRange → {0, 1},PlotStyle → {Hue[i/10]}], {i, 1, 10}]
(12)
-7.5 -5 -2.5 2.5 5 7.5
0.2 0.4 0.6 0.8 1
-7.5 -5 -2.5 2.5 5 7.5 0.2
0.4 0.6 0.8 1
-7.5 -5 -2.5 2.5 5 7.5
0.2 0.4 0.6 0.8 1
-7.5 -5 -2.5 2.5 5 7.5
0.2 0.4 0.6 0.8 1
-7.5 -5 -2.5 2.5 5 7.5
0.2 0.4 0.6 0.8 1
-7.5 -5 -2.5 2.5 5 7.5 0.2
0.4 0.6 0.8 1
-7.5 -5 -2.5 2.5 5 7.5
0.2 0.4 0.6 0.8 1
-7.5 -5 -2.5 2.5 5 7.5
0.2 0.4 0.6 0.8 1
-7.5 -5 -2.5 2.5 5 7.5
0.2 0.4 0.6 0.8 1
-7.5 -5 -2.5 2.5 5 7.5 0.2
0.4 0.6 0.8 1
(* La stessa famiglia in un unico grafico *) Show[sGauss]
-7.5 -5 -2.5 2.5 5 7.5
0.2 0.4 0.6 0.8 1
(* Tutti i pacchetti costruiti sono normalizzati, nel senso cheR
|ψ|2dx e’
indipendentemente dai parametri che li caratterizzano. Effettivamente ψ puo’ rappresentare l’ampiezza di probabilita’ di presenza di
una particella lungo l’asse x. La probabilita’ di trovarla in
un certo intervallo infinitesimo dx e’ data dall’espressione dP = |ψ|2dx*)
Integrate[psimod2[x0, σ, k0], {x, −Infinity, Infinity}, (13) Assumptions → {σ ∈ Reals, σ > 0}]//FullSimplify (14)
1
(* Il valor medio della posizione e’ data allora dall’espressione *)
Integrate[psimod2[x0, σ, k0]x, {x, −Infinity, Infinity}, (15) Assumptions → {σ ∈ Reals, σ > 0}]//FullSimplify (16)
x0
(* Lo scarto quadratico medio e’ invece dato da *)
∆x2 = Integrate[psimod2[x0, σ, k0](x − x0)∧2, {x, −Infinity, Infinity}, (17) Assumptions → {σ ∈ Reals, σ > 0}] (18)
σ2
(* Probabilita’ di presenza :
Qual e’ la probabilita’ di trovare la particella nell’intervallo [a,b]
se la sua funzione d’onda e’ data da ψ[x0, σ, k0] ? Risposta: Prob[ψ, [a, b]] =Rb
a|ψ|2dx *)
Prob[{x0 , σ , k0 }, {a , b }]:=Integrate[psimod2[x0, σ, k0], {x, a, b}] (19)
Prob[{x0, σ, k0}, {a, b}]
1
2(−Erf[a−x0√
2σ] + Erf[b−x0√
2σ]) Prob[{0, σ, k0}, {−σ, σ}]
Erf[√1
2]
Prob[{0, σ, k0}, {−σ, σ}]//N 0.682689
Plot[Prob[{0, 1, 0}, {0, b}]//Evaluate, {b, 0, 5}, PlotRange → {0, 1}]
1 2 3 4 5
0.2 0.4 0.6 0.8 1
−Graphics−
(* Calcoliamo la trasformata di Fourier del pacchetto d’onda ψ[x0, σ, k0] *)
Foupsi = (20) 1/Sqrt[2π]Integrate[Exp[−Ikx]ψ[x0, s, k0], {x, −Infinity, Infinity}]// (21) ExpandAll//CollIn[#, s∧2, {1, 2}]&//CollIn[#, x0, {1, 2}]&// (22)
SemplIn[#, {1, 2, 1, 1}]& (23)
1 (2π)3/4√
sIf[Re[s2] > 0, 2e−(k−k0)(ks2−k0s2+ix0)√ π√
s2,
Integrate[e−ikx+ik0x−(x−x0)24s2 , {x, −∞, ∞}, Assumptions → Re[s2] ≤ 0]]
(* Si osservi che la Foupsi possiede la stessa struttura della funzione
d’onda ψ[x0, σ, k0]: ha ancora l’espressione di una funzione d’ onda gaussiana, ma ora nello
"spazio dei momenti k". Infatti: *)
(* Definiamo per comodita’ il pacchetto d’onda nello spazio dei momenti *)
g[x0 , σ , k0 ]:=σ∧(1/2) e−(k−k0)2σ2−i(k−k0)x0(2
π)1/4 (24)
g[a, b, c]
√be−ia(−c+k)−b2(−c+k)2(π2)1/4
(* Modulo quadro del pacchetto *)
gMod2[x0 , σ , k0 ]:=(g[x0, σ, k0]/.conj)g[x0, σ, k0]//ExpandAll//FullSimplify (25) (26) gMod2[x0, ss, k0] (27)
e−2(k−k0)2ss2 q2
πss gMod2[1, 2, 3]
2e−8(−3+k)2 q
π2
(* Normalizzazione del pacchetto *)
Integrate[gMod2[x0, σ, k0], {k, −Infinity, Infinity}, (28) Assumptions → {σ ∈ Reals, σ > 0}]//FullSimplify (29)
1
(* Valor medio del numero d’onda k *)
Integrate[gMod2[x0, σ, k0]k, {k, −Infinity, Infinity}, (30) Assumptions → {σ ∈ Reals, σ > 0}]//FullSimplify (31)
k0
(* Scarto quadratico medio nel numero d’onda *)
∆k2 = Integrate[gMod2[x0, σ, k0](k − k0)∧2, {k, −Infinity, Infinity}, (32) Assumptions → {σ ∈ Reals, σ > 0}]//FullSimplify (33)
4σ12
(* Si osservi la forma che in questo caso particolare assume il principio di Heisenberg,
nell’ipotesi che le incertezze nella misura di posizione e di momento k siano date dalle loro deviazioni standard: *)
Sqrt[∆x2 ∆k2]//FullSimplify (34)
12
(* Tracciamo il grafico del modulo quadro di una famiglia di pacchetti centrati in x0 =0, di momento k0=0, ma deviazione standard σ = 4/i, dove l’indice i²{1, 2, ..., 10} *)
Table[Show[GraphicsArray[ (35) {Plot[psimod2[0, 4/i, 0], {x, −8, 8}, PlotRange → {0, 1}, (36) PlotStyle → {Hue[i/10]}, DisplayFunction → Identity], (37) Plot[gMod2[0, 4/i, 0], {k, −8, 8}, PlotRange → {0, 1}, PlotStyle → {Hue[i/10]}, (38) DisplayFunction → Identity]}], DisplayFunction → $DisplayFunction],{i, 1, 10}] (39)
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
-7.5-5-2.5 2.557.5 0.2
0.4 0.6 0.8 1
(* Probabilita’ di quantita’ di moto :
Qual e’ la probabilita’ di trovare la particella con quantita’
di moto compresa nell’intervallo [p0,p0+δp] se la sua funzione d’onda e’ data da
ψ[x0, σ, k0]?
ProbMom[{x0 , σ , k0 }, {p0 , b }]:=Integrate[gMod2[x0, σ, k0], {k, p0/~, b/~}] (40) (41) ProbMom[{x0, σ, k0}, {p0, b}] (42)
12(−Erf[
√2σ(−b+k0~)
~ ] + Erf[
√2σ(−p0+k0~)
~ ])
Plot[ProbMom[{0, 1, 2}, {0, ~k}]//Evaluate, {k, 0, 5}, PlotRange-¿{0, 1}]
1 2 3 4 5
0.2 0.4 0.6 0.8 1
(* Rappresenzione dell’osservabile momento nella base di posizione: p = −i~∂x *) (* Calcolo del valor medio della quantita’ di moto per funzioni d’
onda gaussiane in rappresentazione di posizione *)
pm[x0 , σ , k0 ]:=Integrate[(ψ[x0, σ, k0]/.conj)(−i~)D[ψ[x0, σ, k0], x], (43) {x, −Infinity, Infinity}, Assumptions → {σ ∈ Reals, σ > 0}] (44)
pm[x0, σ, k0]
k0~
(* Calcolo del valor medio dell’energia cinetica per una particella di massa "M" avente funzione d’onda gaussiana in rappresentazione di posizione *)
Km[x0 , σ , k0 ]:= (45) Integrate[(ψ[x0, σ, k0]/.conj)(−i~)∧2D[ψ[x0, σ, k0], {x, 2}], (46) {x, −Infinity, Infinity}, Assumptions → {σ ∈ Reals, σ > 0}]/(2M )//FullSimplify (47)
Km[x0, σ, k0]
(4k02+σ21 )~2 8M
Km[x0, σ, 0]
~2 8M σ2
(* Evoluzione temporale di un pacchetto gaussiano "libero" : Si esegue l’ anti-trasformata di Fourier
g[x0, s, k0](k)– > ψ[x0, s, k0](x, t)
usando la base delle onde piane dipendenti dal tempo per la particella libera :Exp[I(kx − ~∧2M2k∧2t)] *)
Psi[x0 , s , k0 , M ]:= (48) (1/Sqrt[2π]Integrate[Exp[I(kx − ~∧2k∧2t/(2M ))]g[x0, s, k0], (49) {k, −Infinity, Infinity}, Assumptions → {t ∈ Reals}])//Together (50)
(* Esempio *) Psi[0, 1, 2, ~∧2]
e−
−2i+t +4t (8+ix)x 2(−2i+t)(π2)1/4
√2+it
PsiMod2 = Psi[0, 1, 2, ~∧2](Psi[0, 1, 2, ~∧2]/.conj)//Simplify
e−
2(−2t+x)2 4+t2 q
2
√ π
4+t2
Plot3D[PsiMod2, {x, −15, 15}, {t, −10, 10}, PlotPoints → 40, PlotRange → {0, 0.4}, (51) Mesh → True, ViewPoint → {.1, −1.5, 2}, Boxed → False, (52) AxesEdge → {{−1, −1}, {−1, −1}, {−1, −1}}, AxesLabel → {"x", "t", "—ψ|2"}] (53)
-10 0 10
x -10
-5 0
5 10
t
0.10 0.2 0.3 0.4 ÈΨÈ2
-10 0 10