(*Zadanie 1*)
I1=Integrate[x^8*Exp[-x^2],{x,0,∞}]
I2=Assuming[k∈Integers&&k>0&&α>0,Integrate[x^(2k+1)*Exp[-α*x^2],{x,-∞,∞}]]
I3=Assuming[k∈Integers&&k>0&&α>0,Integrate[x^(2k)*Exp[-α*x^2],{x,-∞,∞}]]
I4=Integrate[Sin[x]^5,{x,0,π/2}]

(*Zadanie 2*)
g[x_]=Exp[x^2]*Cos[x]
Dg[x_]=g'[x]
D2g[x_]=Dg'[x]
g[0]
Plot[{g[x],Dg[x],D2g[x]},{x,-3,3},PlotRange->{-5,5}]

(*Zadanie 3*)
h[x_]=(6x^4-40x^3+93x^2-90x)/24
Dh[x_]=h'[x];
Plot[Dh[x],{x,0,3}]
Solve[Dh[x]==0,x]

(*Zadanie 4*)
v={-2,-1,1};
e1={1,1,0};
e2={1,0,1};
e3={0,1,1};
S={e1,e2,e3};
Solve[{a1,a2,a3}.S==v,{a1,a2,a3}]

(*Zadanie 5*)
(*Zakladamy, ze x ∈ [0,1]*)
RS=-1/2ψ''[x]==En*ψ[x];

(*Warunek ψ[0]==0 eliminuje niechciane rozwiazanie*)
sol=DSolve[{RS,ψ[0]==0},ψ[x],x]

(*Wyznaczamy energie z warunku ψ[1]==0, C[2] wyznaczymy pozniej, wiec kladziemy je rowne 1*)
ψ1=ψ[x]/.sol[[1]]/.x->1/.C[2]->1

EnSol=Assuming[k∈Integers,Solve[(Sqrt[2]) (Sqrt[En])==π*k,En]]

Energia[k_]=En/.EnSol[[1]]

(*Wyznaczamy ostateczna funkcje falowa z warunku normalizacji*)
Ψ[k_,x_]=ψ[x]/.sol[[1]]/.EnSol[[1]]
norm=Assuming[k∈Integers,Solve[Integrate[Ψ[k,x]^2,{x,0,1}]==1,C[2]]]
Ψ[k_,x_]=Assuming[k∈Integers&&k>0,FullSimplify[Ψ[k,x]]/.norm[[2]]]

(* Rysujemy funkcje falowe i gestosci prawdopodobienstwa. Czynnik x5 przy psi nie ma zadnego fizycznego znaczenia *)

Ψplot[k_,x_]=5Ψ[k,x]+Energia[k];

Ψplot2[k_,x_]=5Ψ[k,x]^2+Energia[k];

Plot[{Table[Ψplot[k,x],{k,1,5}],Table[Energia[k],{k,1,5}]},{x,0,1},PlotStyle->{Thick,Dashed}]

Plot[{Table[Ψplot2[k,x],{k,1,5}],Table[Energia[k],{k,1,5}]},{x,0,1},PlotStyle->{Thick,Dashed}]

(*Wyznaczamy dyspersje operatorow x oraz momenty przejscia. Prosze zauwazyc, ze kod jest napisany w taki sposob, ze mozna wyznaczyc te wielkosci dla dowolnej liczby stanow. Operator x zostal przesuniety o 1/2, zeby dawal takie same wyniki jak dla studni x ∈ [-1/2,1/2]*)

NPsi=10;
Dyspersje=Array[0.&,{NPsi}];
Momenty=Array[0.&,{NPsi,NPsi}];
For[i=1,i≤NPsi,i++,
XExpect=NIntegrate[Ψ[i,x]^2*(x-1/2),{x,0,1}];
X2Expect=NIntegrate[Ψ[i,x]^2*(x-1/2)^2,{x,0,1}];
Dyspersje[[i]]=X2Expect-XExpect^2;
Momenty[[i,i]]=XExpect;
For[j=1,j<i,j++,
XMom=NIntegrate[Ψ[j,x]Ψ[i,x](x-1/2),{x,0,1}];
Momenty[[i,j]]=XMom;
Momenty[[j,i]]=XMom;
]
]
MatrixForm[Dyspersje]//N
Chop[MatrixForm[Momenty]]//N

(*Dlaczego co drugi moment przejscia znika?*)

(*Zadanie 6*)
(* Normujemy paczke falowa *)
ϕ[x_]=A;
normA=Solve[Integrate[ϕ[x]^2,{x,0,1}]==1,A]
ϕ[x_]=ϕ[x]/.normA[[2]]

(* Wyznaczamy wspolczynniki rozkladu paczki w bazie funkcji studni potencjalu <ϕ|Ψ> *)

c[i_]:=NIntegrate[ϕ[x]*Ψ[i,x],{x,0,1}]

Ni=100;
Φ[x_,t_]=Sum[c[i]*Ψ[i,x]*Exp[-I*Energia[i]*t],{i,1,Ni}];

rys[t_]:=Plot[{Re[Φ[x,t]]},{x,0,1},PlotRange->{-2,2}];

Animate[rys[t],{t,0,0.161,0.0005},DisplayAllSteps->True,AnimationRunning->False]

(* Dlaczego dla czasu t=0 nasza paczka nie wyglada tak, jak powinna? http://en.wikipedia.org/wiki/Ringing_artifacts *)