Questo Notebook vi consente di esaminare vari esempi di pacchetti

Transcript

Questo Notebook vi consente di esaminare vari esempi di pacchetti
(* 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))
(* Esempi *)
ψ[−2, 1, 0]
ψ[ξ, σ, k0 ]
1
(10)
1
e− 4 (2+x)
(2π)1/4
e
2
(x−ξ)2
+ixk0
4σ 2
√
1/4
(2π)
σ
−
(* Il modulo quadro del pacchetto precedente e’ dato dall’espressione *)
psimod2[x0 , σ , k0 ]:=ψ[x0, σ, k0](ψ[x0, σ, k0]/.conj)
(11)
(* Esempi *)
psimod2[−2, 1, 0]
1
e− 2√(2+x)
2π
2
psimod2[ξ, σ, k0 ]
−
(x−ξ)2
e √ 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)
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5
2.5
5
7.5
2
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5
2.5
5
7.5
2.5
5
7.5
2.5
5
7.5
2.5
5
7.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5
3
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5
2.5
5
7.5
2.5
5
7.5
2.5
5
7.5
2.5
5
7.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5
4
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5
2.5
5
7.5
(* La stessa famiglia in un unico grafico *)
Show[sGauss]
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5
2.5
5
7.5
R
(* Tutti i pacchetti costruiti sono normalizzati, nel senso che |ψ|2 dx 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 = |ψ|2 dx*)
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
5
(* 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]
Rb
se la sua funzione d’onda e’ data da ψ[x0, σ, k0] ? Risposta: Prob[ψ, [a, b]] = a |ψ|2 dx *)
Prob[{x0 , σ , k0 }, {a , b }]:=Integrate[psimod2[x0, σ, k0], {x, a, b}]
Prob[{x0, σ, k0}, {a, b}]
a−x0
1
√
2 (−Erf[ 2σ ]
√ ])
+ Erf[ b−x0
2σ
Prob[{0, σ, k0}, {−σ, σ}]
Erf[ √12 ]
Prob[{0, σ, k0}, {−σ, σ}]//N
0.682689
Plot[Prob[{0, 1, 0}, {0, b}]//Evaluate, {b, 0, 5}, PlotRange → {0, 1}]
1
0.8
0.6
0.4
0.2
1
2
3
4
5
−Graphics−
(* Calcoliamo la trasformata di Fourier del pacchetto d’onda ψ[x0, σ, k0] *)
6
(19)
Foupsi =
1 √
If[Re[s2 ]
s
(2π)3/4
(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)
2 −k0s2 +ix0)
> 0, 2e−(k−k0)(ks
Integrate[e−ikx+ik0x−
(x−x0)2
4s2
√ √ 2
π s ,
, {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 *)
2 σ 2 −i(k−k0)x0
g[x0 , σ , k0 ]:=σ ∧ (1/2) e−(k−k0)
2
( )1/4
π
(24)
g[a, b, c]
√ −ia(−c+k)−b2 (−c+k)2 2 1/4
be
(π)
(* Modulo quadro del pacchetto *)
gMod2[x0 , σ , k0 ]:=(g[x0, σ, k0]/.conj)g[x0, σ, k0]//ExpandAll//FullSimplify
(25)
(26)
gMod2[x0, ss, k0]
2 ss2
e−2(k−k0)
q
(27)
2
π ss
gMod2[1, 2, 3]
2
2e−8(−3+k)
q
2
π
(* Normalizzazione del pacchetto *)
Integrate[gMod2[x0, σ, k0], {k, −Infinity, Infinity},
(28)
Assumptions → {σ ∈ Reals, σ > 0}]//FullSimplify
(29)
1
7
(* 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)
1
4σ 2
(* 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)
1
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’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)
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
8
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
9
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
1
0.8
0.6
0.4
0.2
-7.5
-5
-2.5 2.557.5
(* 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}]
1
2 (−Erf[
√
2σ(−b+k0~)
]
~
+ Erf[
(42)
√
2σ(−p0+k0~)
])
~
Plot[ProbMom[{0, 1, 2}, {0, ~k}]//Evaluate, {k, 0, 5}, PlotRange-¿{0, 1}]
1
0.8
0.6
0.4
0.2
1
2
3
4
5
(* 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]
10
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 + 12 )~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
∧ 2k ∧ 2
t)] *)
particella libera :Exp[I(kx − ~ 2M
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
4t + (8+ix)x
− −2i+t
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
√
4+t2
q
2
π
11
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)
2
AxesEdge → {{−1, −1}, {−1, −1}, {−1, −1}}, AxesLabel → {"x", "t", "—ψ| "}]
10
5
t 0
0.4 -5
0.3
ÈΨÈ20.2
0.1
-10
0
-10
0
10
x
12
(53)