RICHIAMI PER IL CORSO DI ANALISI NUMERICA Anno accademico 211 212 1
RICHIAMI: PRECISIONE FINITA (USO DI UN COMPUTER) IN UN COMPUTER UNA QUALUNQUE INFORMAZIONE VIENE RAPPRESENTATA COME UNA SEQUENZA FINITA DI NUMERI DELLA BASE IN CUI LAVORA IL CAL- COLATORE ANCHE NELL EVENTUALITÀ IN CUI SIANO NECESSARIE INFINITE CIFRE (ESEMPIO: BASE DECIMALE NUMERI PERIODICI) QUESTO PUÒ COMPORTARE ERRORI DI RAPPRESENTAZIONE ED ERRORI NELLE OPERAZIONI ESEMPI CON MATLAB: file es2 errori CALCOLO DI UNA SUCCESSIONE DI VALORI DATA DALLA REGO- LA v(1) = 1/r, v(i) = (1 + r) v(i 1) 1, i = 2,, n file es1 errori CALCOLO DEL POLINOMIO (X 1) 6 2 x 1 14 1 1 995 996 997 998 999 1 11 12 13 14 15 2
RICHIAMI: CONDIZIONAMENTO/STABILITÀ PROBLEMA SOLUZIONE SI CONSIDERI IL SISTEMA LINEARE { x1 x 2 = 1 x 1 11x 2 = LA SOLUZIONE È [ 11 1 ] CONSIDERIAMO IL NUOVO SISTEMA { x1 x 2 = 1 LA SOLUZIONE x 1 99999x 2 = È [ 99999 1 ] UN CAMBIAMENTO DI 2 = 2 1 5 IN UN ELEMENTO DELLA MATRICE HA PROVOCATO UN CAMBIAMENTO DI 2 = 2 1 5 NELLE COMPONENTI DELLA SOLUZIONE ( ORDINE DI GRANDEZZA ) CAMBIAMENTO RISULTATI ( ) 15 ORDINE DI GRANDEZZA 5 = 11 1 CAMBIAMENTO DATI 3
ESEMPIO DI STABILITÀ E NON DI UN ALGORITMO PROBLEMA ALGORITMO SOLUZIONE STUDIAMO LA PROPAGAZIONE DEGLI ERRORI DOVUTI ALLE OPERAZIONI EF- FETTUATE NEL CORSO DELL ALGORITMO UN ALGORITMO SI DICE STABILE SE L INFLUSSO DEGLI ERRORI RI- MANE LIMITATO L ALGORITMO A È PIÙ STABILE DELL ALGORITMO B SE L INFLUEN- ZA DEGLI ERRORI È MINORE ESEMPIO e x = 1 + x + x2 2! + x3 3! + x4 4! + SI VUOLE STIMARE e 13 METODO 1: e 13 = 1 13 + 132 2! 133 + 3! 134 + 4! NB LA SOTTRAZIONE È PERICOLOSA METODO 2: e 13 = 1 132 13 = 1/(1 + 13 + + ) e 2! n M 1 M 2 3 293783393 1 5 22636459 1 6 4 937448635 1 5 22632941 1 6 5 132982788 1 5 22632941 1 6 58 132986125 1 5 4
RICHIAMI: NORME DI VETTORI E DI MATRICI IL CONCETTO DI NORMA È UNA GENERALIZZAZIONE DEL CONCETTO DI LUNGHEZ- ZA DI UN VETTORE x R n O DI UNA MATRICE A R n n ESEMPI DI NORME VETTORIALI x 2 = x 2 i = x T x NORMA 2 x 1 = x i NORMA 1 x = max,,n x i NORMA ESEMPI DI NORME MATRICIALI A 2 = max λ i(a T A) NORMA 2,,n A 1 = max j=1,,n A = max AUTOVALORI DI A T A a ij NORMA 1,,n j=1 a ij NORMA RICHIAMI: PROPRIETÀ DI NORME MATRICIALI INDOTTE AD OGNI NOR- MA VETTORIALE È POSSIBILE ASSOCIARE UNA CORRISPONDENTE NORMA MATRICIALE 2, 1 E SONO NORME MATRICIALI INDOTTE DALLE CORRISPONDENTI NORME VETTORIALI ED HANNO LE PROPRIETÀ Ax A x A R n n, x R n I = 1 I R n matrice identità ρ(a) A con ρ(a) = max,,n λ i A 5
RICHIAMI: CONDIZIONAMENTO DI A (nella risoluzione di Ax = b) SIA A R n n, b R n ; Ax = b ; det(a) A 1 COME SI RIPERCUOTONO SUI RISULTATI LE VARIAZIONI SUI DATI? SIA δa LA PERTURBAZIONE SU A E δb LA PERTURBAZIONE SU b IL CONDIZION- AMENTO DELLA MATRICE A È LEGATO ALLA MATRICE STESSA NELLA FORMA DOVE K(A) = A A 1 δx x K(A)( δa A + δb b ) δx x È LA VARIAZIONE SUI RISULTATI E δa A, COSTITUISCONO LA VARIAZIONE SUI DATI NELL ESEMPIO K(A) = 2 2 1 5 = 4 1 5 δb b 6
RICHIAMI: METODI DIRETTI - METODO DI GAUSS SIA DATO IL SISTEMA Ax = b SI OTTIENE LA SUA SOLUZIONE UTILIZZANDO IL METODO DI GAUSS (O DI ELIMINAZIONE) RIDUCENDO LA MATRICE A AD UNA MATRICE TRIANGOLARE SUPERIORE U E OVVIAMENTE MODIFICANDO IN MODO ANALOGO IL VETTORE TERMINI NOTI b L ALGORITMO DI GAUSS SI BASA SULLA FORMULA a ij = a ij m ik a kj, m ik = a ik /a kk AL PASSO k-esimo LA FORMA DELLA MATRICE È A (k) = a (k) kk INVARIATO k k + 1 k k + 1 TEOREMA SIA A R n n TALE CHE det(a k ), k = 1,, n 1 (A k MINORE PRIN- CIPALE DI ORDINE k) ALLORA IL METODO DI GAUSS È APPLICABILE ED ESISTE UNICA LA FATTOR- IZZAZIONE A = LU CON L TRIANGOLARE INFERIORE, l ii = 1 i E U TRIANGOLARE SUPERI- ORE 7
GAUSS IN PRECISIONE FINITA: STRATEGIA DEL MASSIMO PIVOT IL METODO DI GAUSS È INSTABILE UNA STRATEGIA CHE CONSENTE DI CONTENERE GLI ERRORI È EVITARE LA SCELTA DI UN DIVISORE PICCOLO NELLA COSTRUZIONE DEI MOLTIPLICA- TORI AL PASSO k-esimo SI SCAMBIA LA RIGA k-esima CON LA RIGA i-esima (i k) TALE CHE a (k) ik = max j=k,,n a(k) jk TALE TECNICA SI CHIAMA PIVOTING PARZIALE (Non richiede il riordinamento delle incognite) UNA VARIANTE CONSISTE NELLO SCAMBIO OPPORTUNO DI RIGHE E COLONNE CIOÈ AL PASSO k-esimo SI SCAMBIA LA RIGA k-esima CON LA RIGA i-esima (i k) E LA COLONNA k-esima CON LA COLONNA j-esima (j k) TALE CHE a (k) ij = max j,t=k,,n a(k) j,t TALE TECNICA SI CHIAMA PIVOTING TOTALE (Richiede il riordinamento delle incognite) ESEMPIO CON MATLAB file es gauss 8
RICHIAMI: METODI ITERATIVI JACOBI E GAUSS-SEIDEL DATO UN SISTEMA LINEARE Ax = b I METODI ITERATIVI SONO USATI NEL CA- SO IN CUI LA MATRICE A HA MOLTI ELEMENTI UGUALI A ZERO (MATRICE SPARSA ) ED È DI ORDINE ELEVATO L IDEA È COSTRUIRE UNA SUCCESSIONE DI VETTORI {x(k) } CHE CONVER- GA ALLA SOLUZIONE lim k x (k) = x A DIFFERENZA DEI METODI DIRETTI NON ALTERANO I VALORI DEGLI ELEMENTI DELLA MATRICE A E DEL VETTORE b ESEMPIO a 11 x 1 + a 12 x 2 + a 13 x 3 = b 1 a 21 x 1 + a 22 x 2 + a 23 x 3 = b 2 a 31 x 1 + a 32 x 2 + a 33 x 3 = b 3 SUPPONENDO a 11, a 22, a 33 POSSIAMO SCRIVERE x 1 = b 1 a 12 x 2 a 13 x 3 a 11 x 2 = b 2 a 21 x 1 a 23 x 3 a 22 x 3 = b 3 a 31 x 1 a 32 x 2 a 33 QUINDI, PARTENDO DA UN VETTORE ARBITRARIO x () IR 3 POSSIAMO GENER- ARE LA SUCCESSIONE {x (k) } METODO DI JACOBI x (k+1) i = 1 i 1 (b i a ij x (k) j a ii j=1 j=i+1 a ij x (k) j ), i = 1,, n SE AD OGNI PASSO UTILIZZIAMO LE COMPONENTI DEL VETTORE x (k+1) GIÀ AGGIORNATE (presumibilmente più precise) OTTENIAMO x (k+1) i = 1 i 1 (b i a ij x (k+1) j a ii j=1 j=i+1 a ij x (k) j ), i = 1,, n METODO DI GAUSS-SEIDEL FORMULAZIONE MATRICIALE CONSIDERIAMO UNO SPLITTING DI A DEL TIPO A = L + D + U DOVE L ED U SONO IL TRIANGOLO INFERIORE E SUPERIORE DI A E DOVE D È LA SUA DIAGONALE a 12 a 1n a 11 a 21 a 3n a 22 a n1 a n2,, a nn 9
FORMULAZIONE MATRICIALE DI UNA MATRICE A DI DIMENSIONE n CON- SIDERIAMO UNO SPLITTING DEL TIPO Ax = b (M N)x = b Mx = Nx + b x = M 1 Nx + M 1 b DA CUI SI OTTIENE IL METODO ITERATIVO { x (k+1) = M 1 Nx (k) + M 1 b x () IR n arbitrario PER IL METODO DI JACOBI ABBIAMO M=D N=-(L+U) PER IL METODO DI GAUSS-SEIDEL ABBIAMO M=(D+L) N=-U CONDIZIONI PER LA CONVERGENZA CONVERGENZA DI UN METODO ITERATIVO BASATO SULLO SPLITTING A = M N (M 1 N) è una matrice convergente E CIOÈ, INDICATA CON LA MATRICE NUL- LA, RISULTA lim (M 1 N) k = k (NEC E SUFF) ρ(m 1 N) = max,,n λ i (M 1 N) < 1 (NEC E SUFF) (M 1 N) < 1 (SUFF) A è una matrice diagonale dominante in senso forte a ii > n j=1,i j a ij (SUFF) Solo per Gauss-Seidel: A è una matrice simmetrica e definita positiva (SUFF) NB In generale non si può affermare che il metodo di Gauss-Seidel converga più velocemente del metodo di Jacobi (o viceversa) Tuttavia, nel caso di matrici tridiagonali il metodo di Gauss-Seidel converge se e solo se converge il metodo di Jacobi e, asintoticamente, sono necessarie metà iterazioni di Gauss-Seidel per ottenere la stessa precisione di Jacobi 1
ESEMPI DI CONVERGENZA NEGLI ESEMPI L ERRORE CON IL METODO DI JACOBI È RAPPRESENTATO IN BLUE, QUELLO DI GAUSS-SEIDEL IN ROSSO 14 12 1 errore 8 6 4 2 5 1 15 2 25 3 35 iterazioni A = 3 4 7 4 2 1 1 2 b = IN QUESTO CASO ρ(m 1 N J ) = 13375, ρ(m 1 N GS ) = 25 7 13 4 11
25 2 15 errore 1 5 5 1 15 2 25 3 35 iterazioni A = 3 3 6 4 7 8 5 7 9 b = IN QUESTO CASO ρ(m 1 N J ) = 81, ρ(m 1 N GS ) = 1111 6 5 3 12
14 12 1 errore 8 6 4 2 5 1 15 iterazioni A = 4 1 1 2 9 8 6 b = 6 7 14 IN QUESTO CASO ρ(m 1 N J ) = 4438, ρ(m 1 N GS ) = 185 13
3 25 2 errore 15 1 5 5 1 15 iterazioni A = 7 6 9 4 5 4 7 3 8 b = 22 5 2 IN QUESTO CASO ρ(m 1 N J ) = 6411, ρ(m 1 N GS ) = 7746 14
RICHIAMI: APPROSSIMAZIONE QUESTO PROBLEMA SI PONE QUANDO CONOSCIAMO UNA GRANDEZZA SOLO ATTRAVERSO UN INSIEME DISCRETO DEI SUOI VALORI LA COSTRUZIONE DI UNA FUNZIONE A PARTIRE DA UNA TABELLA DI DATI VIENE AFFRONTATA SECONDA DUE APPROCCI DATI AFFETTI DA UN SENSIBILE ERRORE I DATI VENGONO APPROSSIMATI NEL LORO INSIEME MIGLIORE APPROSSIMAZIONE DATI ESATTI SI CERCA UNA FUNZIONE CHE PASSA PER I PUNTI INTERPOLAZIONE ESEMPIO MATLAB file appr 6 5 4 3 2 1 1 1 8 6 4 2 2 4 6 8 1 RICHIAMI: MIGLIORE APPROSSIMAZIONE DATI (x i, f i ), i = 1,, n AFFETTI DA ERRORE SI CERCA UNA FUNZIONE APPROSSIMANTE CHE SI ADATTI ALL ANDAMENTO DEI DATI PER DETERMINARE IL POLINOMIO DI GRADO m n CHE MEGLIO APPROSSI- MA I DATI SI DETERMINA IL POLINOMIO CHE MINIMIZZA LA DISTANZA DELL 15
APPROSSIMANTE DAI DATI: SI LAVORA SUL VETTORE ERRORE DI COMPONENTI E CON LA NORMA 2 LA CUI COMPONENTE i-esima È E i = f i (a + a 1 x i + a 2 x 2 i + + a m x m i ), i = 1,, n QUINDI DOBBIAMO TROVARE min a,a 1,,a m (f i a a 1 x i a 2 x 2 i a m x m i ) 2 SI OTTIENE UN SISTEMA LINEARE DEL TIPO (caso m = 1) a + a 1 x i = f i a x i + a 1 x 2 i = f i x i na + a 1 a x i = x i + a 1 x 2 i = f i f i x i 16
RICHIAMI: INTERPOLAZIONE POLINOMIALE DATI I PUNTI (x i, f i ), i = 1,, n NON AFFETTI DA ERRORE SI CERCA UN POLINOMIO DI GRADO MASSIMO n TALE CHE P n (x) = α j x j j= P n (x i ) = α j x j i = f i, i =,, n j= SI OTTIENE UN SISTEMA LINEARE α + α 1 x + α 2 x 2 + + α nx n = f α + α 1 x 1 + α 2 x 2 1 + + α nx n 1 = f 1 α + α 1 x n + α 2 x 2 n + + α n x n n = f n IL PROBLEMA CONSISTE QUINDI NEL RISOLVERE UN SISTEMA LINEARE NELLE INCOGNITE α, α 1,, α n CHE AMMETTE UN UNICA SOLUZIONE SOLO SE x i, i =,, n SONO PUNTI DISTINTI 17
RICHIAMI: INTERPOLAZIONE POLINOMIALE ALTRE FORMULAZIONI DEL POLINOMIO INTERPOLANTE: FORMULAZIONE DI LAGRANGE DEL POLINOMIO INTERPOLANTE: P n (x) = l j (x)f j j= FORMULAZIONE DI NEWTON DEL POLINOMIO INTERPOLANTE: P n (x) = A j ω j (x) j= A j DIFFERENZA DIVISA DI ORDINE j ω j (x) = (x x )(x x 1 ) (x x j 1 ) j > ω (x) def = 1 NB P n+1 (x) = P n (x) + (x x )(x x 1 ) (x x n )f[x, x 1,, x n, x n+1 ] POSSIAMO AGGIUNGERE PUNTI E SFRUTTARE I CONTI GIÀ FATTI 18
ESEMPIO FUNZIONE DI RUNGE QUANDO IL NUMERO DEI PUNTI DI INTERPOLAZIONE AUMENTA L ERRORE DIMINUISCE? CONSIDERIAMO UN ESEMPIO CLASSICO: LA FUNZIONE f(x) = 1 1 + 25x 2 COSTRUENDO IL POLINOMIO INTERPOLANTE SU 1 E SU 15 PUNTI EQUIDISTAN- TI IN [ 1, 1] OTTENIAMO 1 8 6 4 2 2 4 5 4 3 2 1 1 2 3 4 5 8 7 6 5 4 3 2 1 1 5 4 3 2 1 1 2 3 4 5 IL COMPORTAMENTO DELL INTERPOLANTE PEGGIORA ALL AUMENTARE DEL SUO GRADO 19
FUNZIONI POLINOMIALI A TRATTI SI PENSA ALLORA DI MANTENERE BASSO IL GRADO ED EVENTUALMENTE DI- VIDERE L INTERVALLO DI INTERPOLAZIONE IN SOTTOINTERVALLI AD ESEM- PIO CON UNA LINEARE A TRATTI - POLINOMIO DI GRADO 12 - POLINOMIALE A TRATTI LIN- EARE METODO NON SEMPRE ADATTO A CAUSA DEI PUNTI ANGOLOSI USO DELLE FUNZIONI SPLINES CHE GARANTISCONO UNA MAGGIOR REGOLARITÀ NELL INTERO INTERVALLO 2
ESEMPIO MATLAB file grafico ED USO DI TOOLS/BASIC FITTING 5 45 4 35 3 25 2 15 1 5 7 6 1 8 6 4 2 2 4 6 8 1 Cubic spline interpolant y = 2e 17*x + 26 y = 52*x 2 86e 17*x + 66 data 1 spline linear quadratic 5 4 3 2 1 1 8 6 4 2 2 4 6 8 1 21