Metodi numerici per la risoluzione di Sistemi Lineari

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Metodi numerici per la risoluzione di Sistemi Lineari"

Transcript

1 Metodi numerici per la risoluzione di Sistemi Lineari Dipartimento di Matematica tel Laboratorio di modellazione e progettazione materiali

2 Problemi Triangolari - Sostituzione in avanti Vogliamo risolvere il sistema lineare Ly = b con L triangolare inferiore (lower triangular) non singolare. l y 1 b 1 l 21 l y 2 b 2 l 31 l 32 l y 3 = b 3.. l n1 l n2 l n3... l nn Osservazione Se L è non singolare, tutti gli elementi diagonali sono diversi da 0: det(l) = n i=1 l ii. y n. b n

3 Esplicitando le equazioni: l 11 y 1 = b 1, l 21 y 1 + l 22 y 2 = b 2,. l n1 y 1 + l n2 y l nn y n = b n. = y 1 = b 1 /l 11 = y 2 = (b 2 l 21 y 1 )/l 22 i 1 = y i = (b i l ij y j )/l ii j=1

4 Metodo di sostituzione in avanti (o forward substitution): for i=1:n y(i)=b(i); for j=1:i-1 y(i)=y(i)-l(i,j)*y(j); end y(i)=y(i)/l(i,i); end

5 Un alternativa che sfrutta la capacità di MATLAB di operare su sottomatrici è la seguente: y(1) =b(1)/l(1,1); for i=2:n y(i)=(b(i)-l(i,1:i-1)*y(1:i-1))/l(i,i); end

6 Sostituzione all indietro Metodi diretti Vogliamo risolvere il sistema lineare Ux = y con U triangolare superiore (upper triangular) non singolare. u 11 u 12 u u 1n 0 u 22 u u 2n u n 1,n 1 u n 1,n u nn x 1 x 2 x 3. x n = y 1 y 2 y 3. y n. Osservazione Di nuovo, dalla nonsingolarità di U segue che u ii 0 i

7 u 11 x 1 + u 12 x u 1n x n = y 1, u 22 x u 2n x n = y 2,. u n 1,n 1 x n 1 + u n 1,n x n = y n 1, u nn x n = y n. = x n = y n /u nn. = x n 1 = (y n 1 u n 1,n x n )/u n 1,n 1. n = x i = (y i u ij x j )/u ii. j=i+1

8 Metodo di sostituzione all indietro (o backward substitution): for i=n:-1:1 x(i)=y(i); for j=i+1:n x(i)=x(i)-u(i,j)*x(j); end x(i)=x(i)/u(i,i); end Sfruttando le funzioni ottimizzate della libreria BLAS: x(n)=y(n)/u(n,n); for i=n-1:-1:1 x(i)=(y(i)-u(i,i+1:n)*x(i+1:n))/u(i,i); end

9 Metodi diretti La risoluzione di sistemi triangolari è quindi un problema particolarmente semplice da trattare. Idea: Nel caso di sistemi non triangolari, cercare di ricondursi ad uno o più sistemi equivalenti di forma triangolare. Dato un sistema lineare Ax = b le seguenti operazioni conducono ad un sistema equivalente (ovvero con la stessa soluzione): 1 scambiare due equazioni; 2 moltiplicare un equazione per uno scalare; 3 sostituire un equazione con una combinazione lineare della stessa e di un altra equazione.

10 Metodo di eliminazione di Gauss: consiste nell applicare ripetutamente l operazione 3 in modo da: 1 trasformare il sistema assegnato in un sistema a matrice triangolare superiore 2 e quindi nel risolvere il sistema equivalente così ottenuto con una backward substitution.

11 Scriviamo il sistema Ax = b esplicitamente: a 11 x 1 + a 12 x a 1n x n = b 1, a 21 x 1 + a 22 x a 2n x n = b 2, a 31 x 1 + a 32 x a 3n x n = b 3, Supponiamo a a n1 x 1 + a n2 x a nn x n = b n. r 2 r 2 + ( a 21 a 11 ) r 1

12 a 21 x 1 + a 22 x a 2n x n = b 2 + a 21 a 11 ( a 11 x 1 + a 12 x a 1n x n = b 1 ) 0x 1 + a (2) 22 x a (2) 2n x n = b (2) 2. a (2) 22 = a 22 a 12 a 21 /a 11,...,a (2) 2n = a 2n a 1n a 21 /a 11, b (2) 2 = b 2 b 1 a 21 /a 11 Nella seconda equazione non compare più la prima incognita.

13 Procediamo con tutte le ultime n 1 equazioni: = r i r i + m i1 r 1, i = 2,..., n m i1 = a i1 a 11, i = 2,..., n. a (1) 11 x 1 + a (1) 12 x a (1) 1n x n = b (1) a (2) 22 x a (2) 2n x n = b (2) a (2) 32 x a (2) 3n x n = b (2) a (2) n2 x a nn (2) x n = b n (2) a (1) ij = a ij, b (1) i = b i, i, j = 1,..., n; a (2) ij = a (1) ij + m i1 a (1) 1j, b (2) i = b (1) i + m i1 b (1) 1, i, j = 2,..., n.

14 Seconda colonna: Metodi diretti supponiamo a (2) Eliminiamo x 2 dalle ultime n 2 equazioni trasformate: = r i r i + r 2 m i2, m i2 = a(2) i2 a (2) 22 i = 3,..., n a (1) 11 x 1 + a (1) 12 x 2 + a (1) 13 x a (1) 1n x n = b (1) a (2) 22 x 2 + a (2) 23 x a (2) 2n x n = b (2) a (3) 33 x a (3) 3n x n = b (3) a (3) n3 x a nn (3) x n = b n (3) a (3) ij = a (2) ij + m i2 a (2) 2j, b (3) i = b (2) i + m i2 b (2) 2, i, j = 3,..., n

15 Dopo n 1 passi: a (1) 11 x 1 + a (1) 12 x 2 + a (1) 13 x a (1) 1n x n = b (1) a (2) 22 x 2 + a (2) 23 x a (2) 2n x n = b (2) a (3) 33 x a (3) 3n x n = b (3) a nn (n) x n = b n (n) Osservazione Il termine noto b ha subito esattamente tutte le trasformazioni subite dagli elementi della matrice A.

16 Definizione (pivot e moltiplicatori) L elemento a 11 e i successivi elementi a (i) ii sono detti elementi pivot. I coefficienti m ij sono detti moltiplicatori.

17 Metodo di eliminazione di Gauss e fattorizzazione LU In notazione matriciale, il k-esimo passo di eliminazione Gaussiana puó essere rappresentato come segue: A (k+1) = M k A (k) con 1 M k = 1 m k+1,k m n,k 1

18 Dopo n 1 passi: A (n) = M n 1 A (n 1) = M n 1 M n 2 A (n 2) =... = M n 1... M 2 M } {{ } 1 A M e con A (n) triangolare superiore Posto U = MA, si può scrivere b (n) = M n 1... M 2 M 1 b A (n) x = b (n) Ax = b MAx = Mb Ux = Mb da cui ottengo la soluzione con sostituzione all indietro.

19 Esempio Dati A = b = calcolare la soluzione con eliminazione gaussiana M 1 = e M 1 (A b) =

20 Esempio e M 2 = M 2 M 1 (A b) = = (U b (3) ) Con sostituzione all indietro: x 3 = 1 x 2 = (3 3 1)/6 = 0 x 1 = ( )/4 = 1

21 Com è fatta M? - triangolare inferiore, ma m M m 31 m m n1 m n2 m n Poniamo L = M 1 U = MA = LU = LMA = A Quindi il sistema di partenza equivale a LUx = b. Com è fatta L? Suo ruolo?

22 Struttura di L Metodi diretti L triangolare inferiore. Il calcolo è meno complicato e costoso di quanto sembri a prima vista: non occorre costruire M e poi calcolarne l inversa m L = m 31 m m n1 m n2... m n,n 1 1 Osservazione L può quindi essere costruita durante l eliminazione gaussiana semplicemente conservando gli elementi m ij e cambiandogli il segno.

23 Metodi diretti Abbiamo fattorizzato A = LU con L triangolare inferiore U triangolare superiore Utilizzo per risolvere il sistema lineare: Ax = b LUx = b L }{{} Ux = b y Ly = b, Ux = y

24 Il problema di partenza può essere affrontato in due fasi, risolvendo due sistemi a matrice triangolare: 1 prima determiniamo y risolvendo Ly = b; 2 una volta noto y, determiniamo x risolvendo Ux = y. Osservazione La risoluzione del sistema lineare Ly = b è del tutto equivalente ad effettuare sul vettore b le trasformazioni dell eliminazione gaussiana. Quindi il vettore y calcolato come soluzione del sistema lineare Ly = b coincide con b (n)!

25 Meglio fattorizzazione LU + 2 sistemi lineari triangolari, o eliminazione gaussiana senza costruire esplicitamente L? Con l eliminazione Gaussiana, b subisce le stesse trasformazioni di A. Su un solo sistema sono equivalenti. Se devo risolvere un secondo sistema lineare Ax = c con eliminazione gaussiana devo rieseguire tutto il procedimento per effettuare le trasformazioni su c e ottenere c (n) ; con fattorizzazione LU già calcolata devo solo risolvere i sistemi Ly = c e Ux = y. È veramente più conveniente fare così piuttosto che rieffettuare ex-novo l eliminazione gaussiana sul sistema Ax = c?

26 Costo computazionale Metodi diretti Per costo computazionale di un algoritmo intendiamo l ordine di grandezza del numero di moltiplicazioni o divisioni effettuate, calcolato in funzione della dimensione n del problema (in questo caso l ordine della matrice). Costo computazionale per calcolo fattorizzazione LU (coincidente con quello della sola eliminazione gaussiana): ( ) n 3 O moltiplicazioni. 3 Il costo computazionale soluzione di un sistema triangolare (superiore o inferiore indifferentemente): ( ) n 2 O moltiplicazioni. 2

27 Risolvendo un sistema lineare con fattorizzazione LU la maggior parte del costo risiede nella fattorizzazione e non nella soluzione dei sistemi triangolari ottenuti: il costo totale è infatti di O( n3 3 ) + O(n2 ) O( n3 3 ) operazioni, essendo (per n grande) n 2 trascurabile rispetto a n 3. Osservazione I metodi di fattorizzazione sono quindi particolarmente convenienti quando si debbano risolvere un certo numero di sistemi lineari in cui la matrice dei coefficienti è sempre la stessa e cambia solo il vettore dei termini noti.

28 Esempio Data la matrice A = calcolarne la fattorizzazione LU. Basta recuperare i moltiplicatori: U = L = Osservazione: det(a) = det(l) det(u) = 1 n i=1 u ii = 48.

29 Osservazione L può essere memorizzata nella stessa matrice A via via che in questa vengono azzerati gli elementi sotto la diagonale

30 L eliminazione di Gauss / fattorizzazione LU può essere sempre portata a termine con successo? Definizione Sia A R n n ; definiamo A k, con k = 1,..., n, sottomatrice principale di testa di ordine k la matrice ottenuta intersecando le prime k righe e k colonne di A. Teorema Sia A una matrice di ordine n. Se A k è non singolare per k = 1,..., n 1 allora esiste ed è unica la fattorizzazione LU di A.

31 Osservazione Le matrici a diagonale dominante per righe o per colonne e le matrici simmetriche definite positive soddisfano le ipotesi del teorema precedente. Osservazione Il teorema precedente non esclude che la matrice A sia singolare. Se anche A è singolare, ma det(a k ) 0, k = 1,..., n 1, esiste comunque la fattorizzazione LU, con la matrice U che avrà un elemento u ii nullo.

32 La Strategia del Esempio Che sucede se voglio applicare eliminazione gaussiana a ( ) 0 1 A =? 1 0 Occorre ricorrere alle matrici di permutazione.

33 Definizione Sia P ij la matrice ottenuta dalla matrice identità permutando la i-esima e la j-esima riga: P ij = i j i j Le matrici P ij sono dette matrici di permutazione semplice.

34 Data una matrice A la moltiplicazione a sinistra di A per P ij (P ij A) produce lo scambio della i-esima e j-esima riga di A; la moltiplicazione a destra di A per P ij (AP ij ) produce lo scambio della i-esima e j-esima colonna di A. Se moltiplichiamo più matrici di permutazione semplice fra loro, otteniamo una matrice (che indicheremo con P e che chiameremo matrice di permutazione) il cui effetto su una matrice A sarà quello di effettuare tutti gli scambi di righe (colonne) associate alle matrici di permutazione semplice.

35 Teorema Sia A una matrice di ordine n. Allora esiste una matrice di permutazione P per cui si può ottenere la fattorizzazione LU di A, cioè: PA = LU. Si osservi che, data A, vi possono essere diverse matrici di permutazione P tali che PA ammette fattorizzazione LU. Come individuare una matrice di permutazione? Strategia di pivoting parziale.

36 Parziale Metodi diretti Se durante l eliminazione di Gauss al passo k-esimo risulta a (k) kk = 0, scambiamo due equazioni in modo che il nuovo elemento pivot a (k) kk = 0 sia diverso da zero. La scelta è sempre tra le equazioni che seguono la k-esima.

37 Esempio Consideriamo il seguente sistema lineare: x 1 + x 2 + x 3 = 1 x 1 + x 2 + 2x 3 = 2 x 1 + 2x 2 + 2x 3 = 1 Eliminazione gaussiana: m 21 = 1 e m 31 = 1 = x 1 + x 2 + x 3 = x 3 = x 2 + x 3 = 0 a (2) 22 = 0!

38 Esempio (segue) x 1 + x 2 + x 3 = x 2 + x 3 = x 3 = 1 Questo è già in forma triangolare e si può ottenere per sostituzione all indietro la soluzione: x 3 = 1 x 2 = x 3 = 1 x 1 = 1 x 2 x 3 = 1 Abbiamo det(a) = det(u) = 1; in generale, det(a) = ( 1) s det(u), dove s è il numero di permutazioni di riga effettuate.

39 Fattorizzazione PA = LU Cosa accade alla fattorizzazione LU con il pivoting? n 1 passi: A (k+1) = M k P k A (k) A (n) = M n 1 P n 1 A (n 1) =... = M n 1 P n 1 M n 2 P n 2... M 2 P 2 M 1 P 1 A U = M n 1 P n 1 M n 2 P n 2 M n 3... M 2 P 2 M 1 P 1 A = M n 1 M n 2 P n 1 P n 2 M n 3... M 2 P 2 M 1 P 1 A = M n 1 M n 2... M 2 M } {{ } 1 P n 1 P n 2... P 2 P 1 A } {{ } M P = MPA

40 U = MPA M 1 U = PA Posto L = M 1 abbiamo determinato fattorizzazione LU di PA, i.e. fattorizzazione PA = LU. Fattorizzazione PA = LU per risolvere un sistema lineare: 1 Ly = Pb 2 Ux = y

41 In generale la strategia di permutare equazioni/righe viene usata anche se si incontrano elementi pivot diversi da zero per aumentare la stabilità dell eliminazione gaussiana. Si può infatti dimostrare che per aumentare la stabilità è opportuno evitare moltiplicatori troppo grandi, poiché amplificano gli errori di arrotondamento, con conseguente instabilità dell algoritmo. Per prevenire la crescita dei moltiplicatori è necessario prevenire elementi pivot troppo piccoli. Per raggiungere questo obiettivo possiamo applicare la strategia del pivoting parziale ammettendo scambi di righe anche se al passo k l elemento pivot a (k) kk non è nullo. Più precisamente, al passo k si determina l elemento di modulo massimo fra tutti gli elementi a (k) rk, con r k; una volta individuato l indice r corrispondente all elemento di modulo massimo si scambiano fra loro la riga k-esima e r-esima.

42 In questo modo ci si assicura che ad ogni passo si sta usando l elemento pivot più grande possibile. Questa strategia incrementa in modo significativo la stabilità dell algoritmo. Osservazione Se la matrice A è a diagonale dominante per colonne è possibile dimostrare che la strategia del pivoting parziale è del tutto superflua in quanto non provoca alcun scambio di equazioni.inoltre, se la matrice A è simmetrica e definita positiva, il metodo di Gauss senza pivoting risulta numericamente stabile, quindi non c è bisogno di effettuare pivoting. Per tale classe di matrici esiste una diversa fattorizzazione molto più conveniente da usare (la fattorizzazione di Cholesky).

43 Come costruire L Metodi diretti P = P n 1... P 1 U = A (n) L =? È facilmente ottenibile con l eliminazione gaussiana tenendo conto delle permutazione anche nell immagazzinamento dei moltiplicatori sotto la diagonale.

44 Esempio P 1 = P 13 : A = P 13 A = A (2) =

45 Esempio (segue...) P 2 = P 23 : P 23 A (2) = A (3) = L = U = P = P 23 P 13 =

46 Fattorizzazione di Cholesky Se A è simmetrica e definita positiva, essendo l eliminazione gaussiana stabile senza pivoting, si può sfruttare la simmetria di A per ridurre il costo computazionale del calcolo della fattorizzazione usando la fattorizzazione di Cholesky anziché fattorizzazione LU. Teorema (Fattorizzazione di Cholesky) Sia A una matrice di ordine n simmetrica e definita positiva. Allora esiste un unica matrice triangolare superiore R con elementi diagonali positivi tale che A = R T R. Costo computazionale per fattorizzazione di Cholesky: O( n3 6 )

47 Comandi MATLAB Metodi diretti 1 [L,U,P]=lu(A) 2 R=chol(A) Attenzione! chol assume che A sia simmetrica definita positiva e usa solo la parte triangolare superiore! 3 \ Altre fattorizzazioni 1 Fattorizzazione QR (qr(a)): Q è ortogonale, R è triangolare superiore. Molto stabile ma anche più costosa della fattorizzazione PA = LU. Utile per altre applicazioni. Varie 1 norm(x), norm(a): calcolo di norme 2 cond(a): numero di condizionamento

48 Metodi iterativi Metodi diretti Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel I metodi diretti consentono la costruzione della soluzione esatta, a meno degli errori di arrotondamento, in un numero finito di passi. Per sistemi con matrici dense i metodi diretti sono generalmente preferibili. Per sistemi con matrici sparse e di ordine elevato, i metodi diretti diventano impraticabili a causa del fill in non può essere sfruttata la sparsità della matrice.

49 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel

50 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel I metodi iterativi lasciano inalterata la struttura di A e costruiscono una successione infinita di vettori {x (k) } k 0, che sotto opportune ipotesi converge alla soluzione x. Per i metodi iterativi dovremo discutere: 1 condizioni di applicabilità 2 costo computazionale (di ogni iterazione) 3 problemi connessi alla convergenza: convergenza si/no e velocità di convergenza.

51 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Definizione Una successione di vettori {x (k) } k 0 di R n si dice convergente ad un vettore x R n se esiste una norma per cui lim x (k) x = 0, k ed in tal caso si pone lim x (k) = x. k Osservazione Grazie all equivalenza delle norme su R n tale definizione risulta indipendente dalla norma scelta in R n ; se una successione di vettori converge in una norma di R n, allora converge in tutte le norme di R n.

52 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Osservazione La condizione di convergenza in una qualunque norma di R n si traduce in una condizione di convergenza per componenti: lim x (k) = x lim x (k) k k i = x i, i = 1,..., n. Simili argomenti valgono anche per successioni di matrici {A (k) } k 0. Inoltre vale il seguente teorema: Teorema Sia A R n n. Allora indicando con ρ(a) il raggio spettrale di A lim k Ak = 0 R n n ρ(a) < 1 Ricordiamo che per ogni norma di matrice compatibile con una norma di vettore si ha ρ(a) A.

53 Generalità sui metodi iterativi Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Idea base: data una stima iniziale x (0) della soluzione del sistema lineare Ax = b, con A R n n, det(a) 0, b R n, si costruisce una successione di vettori {x (k) } k 0 che converga (si spera) ad x, risolvendo ad ogni iterazione dei sistemi lineari molto più semplici di quello di partenza. Come? Consideriamo uno splitting della matrice A del tipo Allora si ha A = M + N, det(m) 0. Ax = (M + N) x = b Mx = Nx + b.

54 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Supponiamo di essere all iterazione k + 1, di avere quindi a disposizione x (k) e di voler calcolare x (k+1). Definiamo x (k+1) in modo che valga Allora abbiamo Mx (k+1) = Nx (k) + b x (k+1) = M 1 Nx (k) + M 1 b che può essere scritto in forma compatta come x (k+1) = Bx (k) + c, avendo posto B = M 1 N e c = M 1 b. La matrice B = M 1 N è la matrice d iterazione ed individua il particolare metodo; è fondamentale nello stabilire le condizioni e la velocità di convergenza.

55 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Proprietà (consistenza) Se x (k) x, allora x soddisfa l equazione x = B x + c e quindi il limite della successione x è proprio la soluzione x di Mx = Nx + b (cioè di Ax = b). Osservazione Al variare della stima iniziale x (0) si ottengono diverse successioni {x (k) } k 0. Definizione Un metodo iterativo si dice convergente se per ogni stima iniziale x (0) la successione {x (k) } k 0 è convergente.

56 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Studio della convergenza dei metodi iterativi Sotto quali condizioni la successione {x (k) } k 0 generata da un metodo iterativo converge? Se la successione converge ad un vettore x, questo è senz altro soluzione del sistema lineare. Definiamo l errore e (k) commesso al passo k come la differenza fra l approssimazione corrente e la soluzione: e (k) = x (k) x. Chiaramente, x (k) x e (k) 0. Studiamo l errore: e (k) = x (k) x = Bx (k 1) + c x Allora = Bx (k 1) + c (Bx + c) = B(x (k 1) x) = Be (k 1). e (k) = Be (k 1) = B(Be (k 2) ) = B 2 e (k 2) =... = B k e (1) = B k e (0).

57 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Poiché abbiamo e (k) = B k e (0) lim x (k) = x lim k k e(k) = 0 lim k Bk e (0) = 0 lim k Bk = 0 Quindi c è convergenza se e solo se ρ(b) < 1.

58 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Teorema Il metodo iterativo definito dalla matrice di iterazione B converge per ogni x (0) R n se e solo se ρ(b) < 1. La condizione necessaria e sufficiente espressa dal teorema per la convergenza non è di facile verifica. Una condizione sufficiente è espressa dal seguente Teorema. Teorema Sia una norma di matrice naturale. Se B < 1 il metodo iterativo converge. Dimostrazione: È sufficiente ricordare che per ogni norma naturale ρ(b) B

59 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Il raggio spettrale indica non solo se il metodo iterativo converge ma anche quanto velocemente converge. Intuitivamente, la velocitá di convergenza è una misura di quanto velocemente l errore tende a zero. La velocitá di convergenza di un metodo iterativo è tanto maggiore quanto più il raggio spettrale della matrice di iterazione è vicino a 0; viceversa è tanto più lenta quanto più è vicino a 1.

60 Metodo di Jacobi Metodi diretti Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Detto anche metodo delle sostituzioni simultanee. Consideriamo il seguente splitting di A: F A = E + D + F, A = D E dove 1 E è la parte di A sotto la diagonale, 2 D è la diagonale di A, 3 F è la parte di A sopra la diagonale Prendiamo M = D, N = E + F. Matrice d iterazione B J : B J = D 1 (E + F )

61 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Data l iterata corrente x (k) R n, la x (k+1) R n viene calcolata tramite il seguente algoritmo: for i = 1 : n x (k+1) i = ( b i i 1 j=1 a ijx (k) j ) n j=i+1 a ijx (k) j /a ii end In forma compatta, può essere scritto x (k+1) = D 1 ( b Ex (k) Fx (k)). Osservazione Se a ii = 0 per qualche i, D non è invertibile. Si possono però preliminarmente riordinare le equazioni del sistema lineare in modo da portare in posizione ii un elemento non nullo. Ciò è sempre possibile se A è non singolare.

62 Metodo di Gauss-Seidel Metodi diretti Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Consideriamo sempre lo splitting ma M = E + D e N = F. La matrice di iterazione: A = E + D + F, B GS = (E + D) 1 F

63 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Data l iterata corrente x (k) R n, la x (k+1) R n viene calcolata tramite il seguente algoritmo: for i = 1 : n x (k+1) i = ( b i i 1 j=1 a ijx (k+1) j ) n j=i+1 a ijx (k) j /a ii end In forma compatta, può essere scritto x (k+1) = D 1 ( b Ex (k+1) Fx (k)).

64 2 oppure se x (k+1) x (k) tol, Test di arresto Metodi diretti Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Un metodo iterativo fornisce una successione infinita di iterate x (k). Questo diventerà un algoritmo solo se stabiliremo in modo preciso quando interrompere il procedimento di generazione di iterate. Dobbiamo ovvero stabilire un criterio di arresto delle iterazioni. 1 si arresta il processo iterativo quando risulta x (k+1) x (k) x (k+1) tol, dove tol è una tolleranza relativa fissata sulla base di opportuni criteri di utilizzo della soluzione. dove tol è questa volta una tolleranza assoluta.

65 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Una strada alternativa per definire un test d arresto consiste nel controllo del residuo dell equazione. Sia x (k+1) la soluzione ottenuta al passo k + 1, il residuo corrispondente è definito come r (k+1) = b Ax (k+1). Test di arresto relativo sul residuo: b Ax (k+1) b tol.

66 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Osservazione Residuo piccolo non garantisce errore piccolo. e (k) = x (k) x = x (k) A 1 ( b = A 1 Ax (k) b) = A 1 r (k) A 1 r (k). Ricordando 1 x A b e (k) x A 1 r (k) (v. conti su condizionamento) abbiamo A b = K(A) r (k) b Quindi r (k) b tol = e (k) x K(A) r (k) b K(A)tol

67 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Teorema (Condizioni di convergenza per il metodo di Jacobi) Per matrici a predominanza diagonale stretta (per righe o per colonne indifferentemente) il metodo di Jacobi converge. Teorema (Condizioni di convergenza per il metodo di Gauss-Seidel) Per matrici a predominanza diagonale stretta (per righe o per colonne) il metodo di Gauss-Seidel converge. Teorema (Condizioni di convergenza per il metodo di Gauss-Seidel) Per matrici simmetriche definite positive il metodo di Gauss-Seidel converge.

68 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Confronto delle proprietà di convergenza del metodo di Jacobi e di Gauss-Sidel In generale la convergenza di uno dei metodi non implica la convergenza dell altro e viceversa. Tuttavia quando entrambi convergono la velocità di convergenza del metodo di Gauss-Seidel è generalmente superiore. Teorema (Teorema di Stein-Rosenberg) Sia A R n n con a ij 0, i j e a ii > 0, allora si verifica uno e uno solo dei seguenti risultati: 1 0 < ρ(b GS ) < ρ(b J ) < 1, 2 1 < ρ(b J ) < ρ(b GS ), 3 ρ(b GS ) = ρ(b J ) = 0, 4 ρ(b GS ) = ρ(b J ) = 1.

69 Generalità Metodo di Jacobi Metodo di Gauss-Seidel Test di arresto Condizioni di convergenza per Jacobi e Gauss-Seidel Teorema Sia A R n n una matrice tridiagonale con elementi diagonali non nulli, allora ρ(b GS ) = ρ 2 (B J ), cioè il metodo di Gauss-Seidel ed il metodo di Jacobi convergono o divergono simultaneamente e il tasso asintotico di convergenza del metodo di Gauss-Seidel è doppio di quello del metodo di Jacobi.

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Pivoting e stabilità Se la matrice A non appartiene a nessuna delle categorie precedenti può accadere che al k esimo passo risulti a (k) k,k = 0, e quindi il

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dottssa MC De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Corso di Calcolo Numerico - Dottssa MC De Bonis

Dettagli

Sistemi lineari. 2x 1 + x 2 x 3 = 2 x 1 x 2 + x 3 = 1 x 1 + 3x 2 2x 3 = 0. x 1 x 2 x 3

Sistemi lineari. 2x 1 + x 2 x 3 = 2 x 1 x 2 + x 3 = 1 x 1 + 3x 2 2x 3 = 0. x 1 x 2 x 3 Sistemi lineari 2x 1 + x 2 x 3 = 2 x 1 x 2 + x 3 = 1 x 1 + 3x 2 2x 3 = 0 2 1 1 1 1 1 1 3 2 x 1 x 2 x 3 = 2 1 0 n j=1 a i,jx j = b i, i = 1,, n Ax = b A = (a i,j ) R n n matrice invertibile (det(a) 0) b

Dettagli

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

Risoluzione di sistemi lineari sparsi e di grandi dimensioni Risoluzione di sistemi lineari sparsi e di grandi dimensioni Un sistema lineare Ax = b con A R n n, b R n, è sparso quando il numero di elementi della matrice A diversi da zero è αn, con n α. Una caratteristica

Dettagli

Metodi diretti: eliminazione gaussiana

Metodi diretti: eliminazione gaussiana Calcolo numerico 08/09 p. 1/1 SISTEMI LINEARI Metodi diretti: eliminazione gaussiana Calcolo numerico 08/09 p. 2/1 Sistemi lineari Ax = b, A R n n, b R n b INPUT x OUTPUT A relazione funzionale non ambigua

Dettagli

Esercitazione di Calcolo Numerico 1 22 Aprile Determinare la fattorizzazione LU della matrice a 1 1 A = 3a 2 a 2a a a 2 A =

Esercitazione di Calcolo Numerico 1 22 Aprile Determinare la fattorizzazione LU della matrice a 1 1 A = 3a 2 a 2a a a 2 A = Esercitazione di Calcolo Numerico 22 Aprile 29. Determinare la fattorizzazione LU della matrice a A = 3a 2 a 2a a a 2 ed utilizzarla per calcolare il det(a). 2. Calcolare il determinante della matrice

Dettagli

8 Metodi iterativi per la risoluzione di sistemi lineari

8 Metodi iterativi per la risoluzione di sistemi lineari 8 Metodi iterativi per la risoluzione di sistemi lineari È dato il sistema lineare Ax = b con A R n n e x, b R n, con deta 0 Si vogliono individuare dei metodi per determinarne su calcolatore la soluzione,

Dettagli

Sistemi lineari. Lucia Gastaldi. DICATAM - Sez. di Matematica,

Sistemi lineari. Lucia Gastaldi. DICATAM - Sez. di Matematica, Sistemi lineari Lucia Gastaldi DICATAM - Sez. di Matematica, http://www.ing.unibs.it/gastaldi/ Indice 1 Risoluzione di sistemi lineari Risoluzione di sistemi lineari in Matlab Metodi di risoluzione Fattorizzazione

Dettagli

Problema. Sistemi lineari. Problema. Problema. Quali sono i potenziali in ogni nodo? Leggi di Kirkoff e di Ohm:

Problema. Sistemi lineari. Problema. Problema. Quali sono i potenziali in ogni nodo? Leggi di Kirkoff e di Ohm: Problema 4 Ω 3 3 Ω 2 2 Ω 40 V Sistemi lineari 2 Ω Ω 2 Ω Ω 5 6 7 8 Ω 4 Ω Ω 0 V Quali sono i potenziali in ogni nodo? 2 4 Ω Problema 3 3 Ω 2 2 Ω 40 V 4 Ω Problema 3 3 Ω 2 2 Ω 40 V 2 Ω Ω 2 Ω Ω 2 Ω Ω 2 Ω Ω

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Laurea in Ingegneria Gestionale Sede di Fermo Corso di 7 - CALCOLO NUMERICO CON MATRICI Richiami teorici Operazioni fondamentali Siano A = {a ij } e B = {b ij }, i = 1,..., m, j = 1,..., n due

Dettagli

Applicazioni eliminazione di Gauss

Applicazioni eliminazione di Gauss Applicazioni eliminazione di Gauss. Premessa Nel seguito supporremo sempre di applicare il metodo di eliminazione di Gauss allo scopo di trasformare la matrice del sistema Ax = b in una matrice triangolare

Dettagli

Un sistema lineare si rappresenta in generale come

Un sistema lineare si rappresenta in generale come SISTEMI LINEARI Un sistema lineare si rappresenta in generale come n j=1 a ij x j = b i i = 1, 2,..., m o anche AX = B. La soluzione esiste se e solo se B appartiene allo spazio lineare generato dalle

Dettagli

Note per il corso di Geometria Corso di laurea in Ing. Edile/Architettura. 4 Sistemi lineari. Metodo di eliminazione di Gauss Jordan

Note per il corso di Geometria Corso di laurea in Ing. Edile/Architettura. 4 Sistemi lineari. Metodo di eliminazione di Gauss Jordan Note per il corso di Geometria 2006-07 Corso di laurea in Ing. Edile/Architettura Sistemi lineari. Metodo di eliminazione di Gauss Jordan.1 Operazioni elementari Abbiamo visto che un sistema di m equazioni

Dettagli

Esercitazione 5: Sistemi a risoluzione immediata.

Esercitazione 5: Sistemi a risoluzione immediata. Esercitazione 5: Sistemi a risoluzione immediata. Ipotesi: Supponiamo le matrici non singolari. Nota: Per verificare che si ha risolto correttamente il sistema lineare Ax = b basta calcolare la norma del

Dettagli

Motivazioni. Sistemi lineari. Obiettivo. Il problema

Motivazioni. Sistemi lineari. Obiettivo. Il problema Motivazioni Sistemi lineari Metodo di eliminazione di Gauss Molti problemi si possono rappresentare mediante un sistema lineare La soluzione di un sistema lineare costituisce un sottoproblema di moltissime

Dettagli

Esercitazione di Calcolo Numerico 1 27 Maggio Calcolare la fattorizzazione P A = LU della matrice A =

Esercitazione di Calcolo Numerico 1 27 Maggio Calcolare la fattorizzazione P A = LU della matrice A = Esercitazione di Calcolo Numerico 1 27 Maggio 29 1. Calcolare la fattorizzazione P A = LU della matrice 1 2 3 A = 2 3 3, ed utilizzarla per risolvere il sistema lineare Ax = b, con b = (1, 2,, 16) T. 2.

Dettagli

2. Risolvere con il metodo di eliminazione di Gauss con pivoting parziale il seguente sistema lineare:

2. Risolvere con il metodo di eliminazione di Gauss con pivoting parziale il seguente sistema lineare: Esercizi sui metodi diretti per la risoluzione di sistemi lineari 1. Data la matrice 1 0 2 1 3 1 5 2 1 determinare la sua fattorizzazione P LR. Risolvere il sistema Ax = b con b = (3, 5, 6) T mediante

Dettagli

Per esempio, una matrice 4 4 triangolare alta ha la forma. 0 a. mentre una matrice di ordine 4 triangolare bassa è del tipo

Per esempio, una matrice 4 4 triangolare alta ha la forma. 0 a. mentre una matrice di ordine 4 triangolare bassa è del tipo Matrici triangolari Prima di esporre il metodo LU per la risoluzione di sistemi lineari, introduciamo la nozione di matrice triangolare Ci limiteremo al caso di matrici quadrate anche se l estensione a

Dettagli

Appunti su Indipendenza Lineare di Vettori

Appunti su Indipendenza Lineare di Vettori Appunti su Indipendenza Lineare di Vettori Claudia Fassino a.a. Queste dispense, relative a una parte del corso di Matematica Computazionale (Laurea in Informatica), rappresentano solo un aiuto per lo

Dettagli

Calcolo Numerico Informatica Manolo Venturin A.A. 2010 2011 Guida all esame

Calcolo Numerico Informatica Manolo Venturin A.A. 2010 2011 Guida all esame Calcolo Numerico Informatica Manolo Venturin A.A. 2010 2011 Guida all esame Testo aggiornato al 23 maggio 2011. L esame consiste in una prova scritta della durata di 2 ore. Tale prova è composta da tre/-

Dettagli

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ [email protected] Lorenzo Pareschi (Univ. Ferrara)

Dettagli

LEZIONE 3. Typeset by AMS-TEX

LEZIONE 3. Typeset by AMS-TEX LEZIONE 3 3 Risoluzione di sistemi Supponiamo che AX = B sia un sistema di equazioni lineari Ad esso associamo la sua matrice completa (A B Per la Proposizione 236 sappiamo di poter trasformare, con operazioni

Dettagli

ALGEBRA LINEARE PARTE III

ALGEBRA LINEARE PARTE III DIEM sez Matematica Finanziaria Università degli studi di Genova Dicembre 200 Indice PREMESSA 2 GENERALITA 2 RAPPRESENTAZIONE DI UN SISTEMA LINEARE IN FORMA MATRI- CIALE 2 3 SOLUZIONE DI SISTEMI LINEARI

Dettagli

Note sull algoritmo di Gauss

Note sull algoritmo di Gauss Note sull algoritmo di Gauss 29 settembre 2009 Generalità Un sistema lineare di m equazioni in n incognite x,..., x n è un espressione del tipo: a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n

Dettagli

Programmare con MATLAB c Parte 5 Cicli: for e while

Programmare con MATLAB c Parte 5 Cicli: for e while Programmare con MATLAB c Parte 5 Cicli: for e while Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 La notazione due punti 2 Ciclo: for 3 Ciclo con controllo: while

Dettagli

Argomento 13 Sistemi lineari

Argomento 13 Sistemi lineari Sistemi lineari: definizioni Argomento Sistemi lineari Un equazione nelle n incognite x,, x n della forma c x + + c n x n = b ove c,, c n sono numeri reali (detti coefficienti) e b è un numero reale (detto

Dettagli

Trasformazione elementari di Givens

Trasformazione elementari di Givens Trasformazione elementari di Givens dove Osservazione Esprime una rotazione di ampiezza ϕ Esempio (n=2) Osservazione Rotazione nel senso positivo degli archi In generale Il prodotto matrice vettore equivale

Dettagli

Motivazione: Come si fa? Matrici simmetriche. Fattorizzazioni di matrici speciali

Motivazione: Come si fa? Matrici simmetriche. Fattorizzazioni di matrici speciali Motivazione: Fattorizzazioni di matrici speciali Diminuire la complessità computazionale = evitare operazioni inutili = risparmiare tempo di calcolo Diminuire l occupazione di memoria Come si fa? Si tiene

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 11: Metodi diretti per la soluzione di sistemi lineari

Laboratorio di Calcolo Numerico Laboratorio 11: Metodi diretti per la soluzione di sistemi lineari Laboratorio di Calcolo Numerico Laboratorio 11: Metodi diretti per la soluzione di sistemi lineari Claudia Zoccarato E-mail: [email protected] Dispense: Moodle Dipartimento ICEA 17 Maggio 2017

Dettagli

Autovalori ed autovettori di una matrice

Autovalori ed autovettori di una matrice Autovalori ed autovettori di una matrice Lucia Gastaldi DICATAM http://www.ing.unibs.it/gastaldi/ Indice 1 Definizioni di autovalori ed autovettori Autovalori ed autovettori 2 Metodo delle potenze 3 Calcolo

Dettagli

Sistemi lineari - Parte Seconda - Esercizi

Sistemi lineari - Parte Seconda - Esercizi Sistemi lineari - Parte Seconda - Esercizi Terminologia Operazioni elementari sulle righe. Equivalenza per righe. Riduzione a scala per righe. Rango di una matrice. Forma canonica per righe. Eliminazione

Dettagli

Sistemi lineari. a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2 : : : a m1 x 1 + a m2 x 2 +..

Sistemi lineari. a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2 : : : a m1 x 1 + a m2 x 2 +.. Sistemi lineari: definizioni Sistemi lineari Un equazione nelle n incognite x,, x n della forma c x + + c n x n = b ove c,, c n sono numeri reali (detti coefficienti) e b è un numero reale (detto termine

Dettagli

Sistemi di equazioni lineari

Sistemi di equazioni lineari Sistemi di equazioni lineari Siano X 1,, X n indeterminate Un equazione lineare (o di primo grado) nelle incognite X 1,, X n a coefficienti nel campo K è della forma a 1 X 1 + + a n X n = b, a i, b K,

Dettagli

Matrici di permutazione

Matrici di permutazione Matrici di permutazione Si dice matrice di permutazione elementare una matrice ottenuta dall identità scambiando due righe i e j o due colonne i e j. P ij =...... P ij ha come effetto di scambiare le righe

Dettagli

Registro di Matematica Applicata /18 - Dott.ssa L. Fermo 2

Registro di Matematica Applicata /18 - Dott.ssa L. Fermo 2 Registro delle lezioni di MATEMATICA APPLICATA Corsi di Laurea in Biomedica 6 CFU - A.A. 2017/2018 docente: Dott.ssa Luisa Fermo ultimo aggiornamento: 15 dicembre 2017 1. Lunedì 25/09/2017, 11 13. ore:

Dettagli

SISTEMI LINEARI MATRICI E SISTEMI 1

SISTEMI LINEARI MATRICI E SISTEMI 1 MATRICI E SISTEMI SISTEMI LINEARI Sistemi lineari e forma matriciale (definizioni e risoluzione). Teorema di Rouché-Capelli. Sistemi lineari parametrici. Esercizio Risolvere il sistema omogeneo la cui

Dettagli

Metodi per la risoluzione di sistemi lineari

Metodi per la risoluzione di sistemi lineari Metodi per la risoluzione di sistemi lineari Sistemi di equazioni lineari. Rango di matrici Come è noto (vedi [] sez.0.8), ad ogni matrice quadrata A è associato un numero reale det(a) detto determinante

Dettagli

RISOLUZIONE DI SISTEMI LINEARI

RISOLUZIONE DI SISTEMI LINEARI RISOLUZIONE DI SISTEMI LINEARI Algebra lineare numerica 1 La risoluzione di un sistema lineare è il nucleo principale del processo di risoluzione di circa il 70% di tutti i problemi reali Per la risoluzione

Dettagli