Corso di Matematica per la Chimica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Matematica per la Chimica"

Transcript

1 Dott.ssa Maria Carmela De Bonis a.a

2 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 metodo di Gauss, così com è stato descritto, non può proseguire. Tuttavia se a (k) k,k = 0 necessariamente qualche altro elemento a (k) i,k, i = k + 1,..., n, della colonna k esima della matrice dei coefficienti deve essere non nullo, altrimenti la matrice dei coefficienti sarebbe singolare. Se, ad esempio, a (k) r,k 0, basta scambiare l equazione k esima con la r esima e poi procedere con le eliminazioni. Dunque ogni sistema non singolare, mediante opportuni scambi di righe, può essere sempre ricondotto alla forma triangolare superiore con il metodo di Gauss.

3 Discutiamo ora della stabilità del metodo di Gauss. È possibile provare che l esistenza di pivot molto piccoli (in valore assoluto) rispetto all ordine di grandezza degli elementi della matrice è causa di cancellazione numerica e quindi di instabilità. Dunque per assicurare una migliore stabilità numerica al metodo di eliminazione di Gauss è possibile permutare l ordine delle equazioni anche quando l elemento pivot non è nullo ma è piccolo. Tale strategia algoritmica è detta pivoting.

4 Il pivoting consiste nello scegliere, al generico passo k esimo, l elemento pivot in maniera ottimale. Le due strategie di pivoting più utilizzate sono le seguenti: pivoting parziale: si sceglie r uguale al più piccolo intero k tale che a (k) r,k = max k i n a(k) i,k e, se r k, si scambia l equazione k esima con l r esima; pivoting totale: si sceglie la coppia (r, s), con r, s k tale che a (k) r,s = max k i,j n a(k) i,j e si scambiamo l equazione k esima con l r esima e l incognita k esima (con il suo coefficiente) con l s esima.

5 La strategia del pivoting totale combinata con il metodo di Gauss assicura la stabilità dell algoritmo complessivo. Tuttavia essa può risultare molto costosa. La strategia di pivoting parziale è meno costosa e, poiché, in generale, risulta soddisfacente nella maggior parte dei casi, essa è la strategia più utilizzata. Osservazione Il metodo di eliminazione di Gauss senza pivoting è comunque numericamente stabile quando: la matrice A del sistema è a diagonale dominante per colonne (in questo caso la strategia di pivot non produce scambi); la matrice A del sistema è simmetrica e definita positiva (in questo caso la strategia effettua scambi ma non produce miglioramenti).

6 Esempio Pivoting e stabilità Consideriamo il sistema lineare Ax = b di ordine n = 18, dove ( a i,j = cos (j 1) 2i 1 ) 2n π, i, j = 1,..., n, e b i = n a i,j, i = 1,..., n, j=1 la cui soluzione esatta è x = (1, 1,..., 1) T. Tale matrice è ben condizionata, risultando cond(a) = A A 1 = Risolvendo il sistema con il metodo di eliminazione di Gauss senza e con la strategia di pivoting parziale, si ottengono i seguenti risultati:

7 Gauss e e e e e e e e e e e e e e e e e e-001 Gauss + pivoting parziale e e e e e e e e e e e e e e e e e e-001

8 Il metodo di eliminazione di Gauss, dal punto di vista matriciale, può essere riletto come la costruzione di una successione di matrici [A b] = [A (1) b (1) ],..., [A (k) b (k) ],..., [A (n) b (n) ] in modo tale che A (n) sia triangolare superiore e b (n) sia il nuovo termine noto. Le matrici della successione sono tra loro legate da una trasformazione del tipo [A (k+1) b (k+1) ] = M (k) [A (k) b (k) ], k = 1,..., n 1

9 dove M (k) = m k+1,k m k+2,k m n,k è detta matrice elementare di Gauss.

10 Si ha quindi che A = [M (1) ] 1 A (2) = [M (1) ] 1 [M (2) ] 1 A (3) = = [M (1) ] 1 [M (n 1) ] 1 A (n) e Ponendo b = [M (1) ] 1 [M (n 1) ] 1 b (n). si ottiene L = [M (1) ] 1 [M (n 1) ] 1, U = A (n) e y = b (n), A = LU e b = Ly, dove U è la matrice triangolare superiore che si ottiene alla fine del metodo di eliminazione di Gauss e L è una matrice triangolare inferiore (è prodotto di inverse di matrici triangolari inferiori).

11 La matrice L è definita come m 2, L =.. m k+1,k 1... m..... k+2,k m n, m n,k m n,n 1 1 e dunque per costruirla basta, ad ogni passo del metodo di Gauss, memorizzare i moltiplicatori cambiati di segno.

12 schema algoritmo for k=1:n-1 for i=k+1:n a i,k = a i,k /a k,k ; costruzione matrice L for j=k+1:n a i,j = a i,j a i,k a k,j ; costruzione matrice U end end end L=eye(n)+tril(A,-1) U=triu(A)

13 Dunque, con piccoli accorgimenti algoritmici, dal metodo di Gauss è possibile calcolare le due matrici L ed U tali che A = LU. Si effettua in tal modo una decomposizione della matrice A detta fattorizzazione LU di A.

14 Calcolate le matrici L e U, il sistema Ax = b, può essere risolto mediante i due sistemi Ly = b e Ux = y, il primo triangolare inferiore e il secondo triangolare superiore. Risolvere il primo sistema equivale a calcolare il nuovo termine noto. La differenza con l algoritmo di Gauss è che, invece di farlo contestualmente alla riduzione in forma triangolare, tale calcolo viene effettuato in modo indipendente. Il costo computazionale complessivo ammonta dunque a n3 3 + n2 di cui n3 3 per la fattorizzazione LU e n2 per le due sostituzioni (all indietro e in avanti).

15 Le fattorizzazioni di matrici hanno diversi utilizzi. Nel caso specifico della fattorizzazione LU la prima immediata applicazione è il calcolo del determinante di A. Infatti det(a) = det(lu) = det(l) det(u) = det(u) = n u i,i. i=1

16 Un altra possibile applicazione scaturisce dall esigenza di risolvere p sistemi che hanno tutti la stessa matrice dei coefficienti A, cioè o in altri termini il sistema Ax 1 = b 1, Ax 2 = b 2,..., Ax p = b p, AX = B, con A R n n, X, B R n p. Infatti in tal caso la fattorizzazione viene effettuata una sola volta e ogni sistema viene poi risolto mediante 2 algoritmi di sostituzione, per un costo computazionale ( ) complessivo che si riduce quindi a n pn2 (contro p n n2 2 se si risolvesse ciascun sistema indipendentemente dagli altri). Osserviamo infine che se p = n e B = I, risolvere il sistema AX = B, è equivalente a calcolare A 1.

17 Il metodo di Gauss con la variante del pivoting esegue ancora una fattorizzazione di matrice nei seguenti termini PA = LU e Pb = Ly dove P R n n, detta matrice di permutazione, contiene le informazioni relative agli scambi di righe. Vale il seguente Teorema Per ogni matrice A R n n esiste una matrice di permutazione P R n n tale che PA = LU.

18 Sia A R n n una matrice simmetrica definita positiva. In questo caso speciale è possibile costruire un algoritmo, antagonista del metodo di Gauss, e quindi una fattorizzazione alternativa a quella LU, che è più conveniente dal punto di vista computazionale. Vale il seguente Teorema Se A R n n è una matrice simmetrica definita positiva esiste ed è unica la fattorizzazione A = LL T dove L è una matrice triangolare inferiore con elementi diagonali non nulli.

19 Posto A = (a i,j ) i,j=1,...,n e L = (l i,j ) i,j=1,...,n, si ha a i,j = n l i,k lk,j T = k=1 n l i,k l j,k. k=1 Poiché la matrice è simmetrica, possiamo considerare solo gli elementi di A con j i. Otteniamo e j 1 a i,j = l i,k l j,k + l i,j l j,j, i = 1,..., n, j = 1,..., i 1 k=1 i 1 a i,i = li,k 2 + li,i, 2 i = 1,..., n. k=1

20 Da cui l 1,1 = a 1,1 l i,j = 1 l j,j [ ] j 1 a i,j l i,k l j,k k=1 i 1 l i,i = ai,i k=1 l 2 i,k i = 2,..., n j = 1,..., i 1

21 schema algoritmo l 1,1 = a 1,1 for i=2:n for j=1:i-1 l i,j = 0; for k=1:j-1 l i,j = l i,j + l i,k l j,k ; end l i,j = (a i,j l i,j )/l j,j ; end l i,i = 0; for k=1:i-1 l i,i = l i,i + li,k 2 ; end l i,i = a i,i l i,i ; end j 1 operazioni 1 operazione i 1 operazioni 1 operazione

22 costo computazionale n i 1 i + j + n 2 = i=1 j=1 = = 1 2 = n i + i=1 n i=1 n i i=1 i(i 1) 2 n i i=1 n i i=1 n(n + 1) n 2 n i + n 2 i=1 n i 2 + n 2 i=1 = n n2 + n 3 n3 6 (n + 1)n(2n + 1) 12 + n 2

23 È possibile provare che l algoritmo di Cholesky è stabile. Ricordiamo che, peraltro, anche l algoritmo di Gauss, senza pivoting, è stabile per le matrici simmetriche definite positive.

24 Molte routine automatiche calcolano R = L T anzicché L, ma è evidente che l algoritmo è lo stesso (con un attento uso degli indici), data la simmetria della matrice di partenza A. In tali casi dunque scriveremo A = R T R. Osserviamo infine che se si vuole risolvere il sistema Ax = b mediante la fattorizzazione di Cholesky basterà, una volta computata la fattorizzazione, e quindi calcolata L ( o rispettivamente R), risolvere i seguenti due sistemi Ly = b, L T x = y (R T y = b, Rx = y rispettivamente)

25 Chiudiamo questa carrellata dei principali metodi diretti per la risoluzione di un sistema lineare descrivendo le principali function di Matlab che implementano tali metodi. Sia allora A una matrice non singolare di ordine n e b un vettore colonna di ordine n. risoluzione dei sistemi diagonali: se la matrice dei coefficienti A è diagonale, A\b risolve il sistema mediante n operazioni di divisione; risoluzione dei sistemi triangolari: se la matrice dei coefficienti A è triagolare (superiore o inferiore) A\b risolve il sistema mediante algoritmo di sostituzione (all indietro o in avanti a seconda struttura della matrice);

26 risoluzione di sistemi con matrice dei coefficienti qualsiasi: A\b risolve il sistema mediante metodo di eliminazione di Gauss (in realtà con la fattorizzazione LU) con pivoting e gli algoritmi di sostituzione; risoluzione di un sistema con matrice simmetrica e definita positiva: A\b risolve il sistema mediante metodo di Cholesky e gli algoritmi di sostituzione; fattorizzazione LU: il comando [L,U,P] = lu(a) calcola i fattori L, U e la matrice di permutazione P tali che PA = LU; fattorizzazione di Cholesky: se la matrice A è simmetrica e definita positiva, il comando R = chol(a) calcola il fattore triangolare superiore R tale che A = R T R;

27 calcolo del determinante di una matrice: det(a) calcola il determinante della matrice non singolare A, utilizzando la fattorizzazione LU; condizionamento: il comando cond(a,p), con p = 1, 2, inf, fro, calcola il numero di condizionamento rispettivamente in norma 1, 2, infinito e Frobenius; inversa di una matrice: inv(a), calcola l inversa della matrice utilizzando la fattorizzazione LU.

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

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

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

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

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

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

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

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

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

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

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

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

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

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Propagazione degli errori introdotti nei dati

Dettagli

Matrici elementari e fattorizzazioni

Matrici elementari e fattorizzazioni Matrici elementari e fattorizzazioni Dario A Bini, Università di Pisa 19 ottobre 2015 Sommario Questo modulo didattico introduce ed analizza la classe delle matrici elementari Tale classe verrà usata per

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

Metodi numerici per la risoluzione di Sistemi Lineari

Metodi numerici per la risoluzione di Sistemi Lineari Metodi numerici per la risoluzione di Sistemi Lineari Dipartimento di Matematica tel. 011 0907503 [email protected] http://calvino.polito.it/~sberrone Laboratorio di modellazione e progettazione

Dettagli

MATRICI E SISTEMI LINEARI

MATRICI E SISTEMI LINEARI 1 Rappresentazione di dati strutturati MATRICI E SISTEMI LINEARI Gli elementi di una matrice, detti coefficienti, possono essere qualsiasi e non devono necessariamente essere omogenei tra loro; di solito

Dettagli

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari 4 maggio Nota: gli esercizi più impegnativi sono contrassegnati dal simbolo ( ) Esercizio Siano 3 6 8 6 4 3 3 ) determinare

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

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

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

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

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

Geometria BIAR Esercizi 2

Geometria BIAR Esercizi 2 Geometria BIAR 0- Esercizi Esercizio. a Si consideri il generico vettore v b R c (a) Si trovi un vettore riga x (x, y, z) tale che x v a (b) Si trovi un vettore riga x (x, y, z) tale che x v kb (c) Si

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

Esercitazione 4: Vettori e Matrici

Esercitazione 4: Vettori e Matrici Esercitazione 4: Vettori e Matrici Richiami di teoria: Norme di vettore Principali norme di vettore:. x = n i= x i 2. x 2 = n i= x i 2 3. x = max i n x i Ad esempio dato il vettore x = (, 2, 3, 4) abbiamo.

Dettagli

Trasformazioni elementari di Givens (rotazioni elementari)

Trasformazioni elementari di Givens (rotazioni elementari) Trasformazioni elementari di Givens (rotazioni elementari) Si dice trasformazione elementare di Givens o matrice di rotazione elementare G ij di ordine n una matrice che coincide con l identità di ordine

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

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