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)