METODI ITERATIVI P*x(k+1)=N*x(k)+b ---------------- A=P-N, P non singolare. matr di iterazione:B=inv(P)*N, il metodo converge se rho(B)<1 la velocità di asintotica convergenza di un metodo è definita R(B)=-log(rhoB) -stima del numero minimo di iterazioni in norma 2: k(min)=-log(1e-6)/R , R=-log(rhoB) -stima del num di iter su err assoluto: k(min)=log((1-norm(B))*1e-6/norm(err))log(norm(B))-1 JACOBI P=D=diag(diag(A); N=-(E+F) con E=-tril(A,-1),F=-triu(A,1) Bj=I-inv(D)*A rhoJ=max(abs(eig(Bj))) -converge sicuramente se la matr è a dominanza diagonale GAUSS-SEIDEL P=D-E N=F; Bgs=inv(P)*N -converge sicuramente se la matr è simm e definita positiva -se A è tridiagonale, rhoGS=rhoJ^2 : converge più velocemente SOR è una ottimizzazione di GS (con w=1 si ottiene GS) B(w)=inv(d-w*e)*((1-w)*d+w*f) -c.n. per la convergenza: 0=n di f(x(i))*Li(x) con Li(x)=prod (x-x(k))/(x(i)-x(k)) per k=0,...,n ma k~=i altro modo di scrivere Li(x)=w/((x-x(i))w') con w=(x-x0)(x-x1)...(x-xn) -err(x)=f(x)-Pn(x)=d/dx^(n+1) f(x) * w/(n+1)! -nodi Gauss-Chebyshev: xj=-cos(pi/2*(2j+1)/(n+1) per j=0,...,n INTEGRAZIONE ------------ -per calcolo il numero "m" di intervalli necessari per un err max di 1e-4: pto med E0,m(f)=-(b-a)/24 *H^2 * max(abs(d^2/dx^2 f(x))) trap E1,m(f)=-(b-a)/12 *H^2 * max(abs(d^2/dx^2 f(x))) simps E2,m(f)=-(b-a)/180*(H/2)^2 * max(abs(d^4/dx^4 f(x))) con H=(b-a)/m, poi si pone E=toll e si ricava m EDO --- eulero avanti : u(j+1)-u(j)=h*f(x(j),u(j)) ass stab se 00, esiste C>0 tali che per ogni h0) T= O(h^p) p=ordine del metodo -err glob per eulero avanti: err=0) di (y(x+h)-y(x))/h=F(x,y;h) e si confronta -verifica ass stab (esempio del metodo di heun):considera il prob modello y'=lam*y y(0)=1 -> u(n+1)-u(n)=h/2*[lam*u(n)+lam(u(n)+h*lam*u(n)] poichè y(0)=1, u(n)=u(0)*[1+H*lam+((h*lam)^2)/2]^n; ass stab=>lim abs(u(n))=0 -> abs[1+H*lam+((h*lam)^2)/2]<1 MULTISTEP a p+1 passi: u(n+1)=for j=0:p(sum(a(j)*u(n-j))+ for j=-1:p(sum(b(j)*f(x(n-j),u(n-j)) con x(n)=x0+nh -eul esp: a(0)=1 b(0)=1 b(-1)=0 (p=0) -eul imp: a(0)=1 b(0)=0 b(-1)=1 (p=0) -pto med: a(0)=0 a(1)=1 b(-1)=0 b(0)=2 b(1)=0 (p=1) -consistenza: 1) for j=0:p(sum(a(j)))=1 2) for j=0:p(-sum(j*a(j))) + for j=-1:p(sum(b(j))=1 -ordine q: for j=0:p(sum((-j)^i*a(j))) + for j=-1:p(i*sum((-j)^(i-1)*b(j)=1 con i=2,3,...,q -stabilità: pol car P(r)=r^(p+1) - for j=0:p(sum(a(j)*r^(p-j))) stabile se le radici r(j) soddisfano abs(r(j))=<1 se abs(r(j))=1 allora P'(r(j))~=0 NB il comando stabreg dà un'indicazione sul abs(h*lam)