18.01.2015 Views

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

7. METODI DIRETTI PER LA SOLUZIONE DI SISTEMI LINEARI<br />

G Nel caso in cui la matrice D viene inglobata nella matrice U , la U ha elementi <strong>di</strong>agonali u i i ≠ 0, mentre<br />

la L ha elementi <strong>di</strong>agonali unitari. Si parla <strong>di</strong> fattorizzazione <strong>di</strong> Doolittle.<br />

Scriviamo in forma estesa il prodotto tra matrici, nell’ipotesi <strong>di</strong> operare la fattorizzazione <strong>di</strong> Crout:<br />

⎛<br />

⎞ ⎛<br />

⎞⎛<br />

⎞<br />

a 11 a 12 ... a 1n l 11 0 ... 0 1 u 12 ... u 1n<br />

a 21 a 22 ... a 2n<br />

⎜<br />

⎝<br />

.<br />

.<br />

⎟<br />

. ⎠ = l 21 l 22 ... 0<br />

0 1 ... u 2n<br />

⎜<br />

⎝<br />

.<br />

.<br />

⎟⎜<br />

. ⎠⎝<br />

.<br />

.<br />

⎟<br />

. ⎠<br />

a n1 a n2 ... a nn l n1 l n2 ... l nn 0 0 ... 1<br />

Moltiplichiamo la prima riga <strong>di</strong> L per le colonne <strong>di</strong> U ed eguagliamo i termini con gli elementi della prima<br />

riga <strong>di</strong> A. Otteniamo:<br />

l 11 · 1 = a 11<br />

l 11 · u 1k = a 1k , k = 2,...,n<br />

Quin<strong>di</strong>: l 11 = a 11 e u 1k = a 1k /l 11 . Abbiamo ricavato gli elementi della prima riga <strong>di</strong> L e U .<br />

Moltiplicando le successive righe <strong>di</strong> L per le colonne <strong>di</strong> U ed uguagliando i termini ai corrispondenti<br />

termini <strong>di</strong> A, abbiamo:<br />

l i j = a i j −<br />

j −1 ∑<br />

m=1<br />

u i j = 1 (a i j −<br />

l i i<br />

l i m u m j i = 1,2,...n j = 1,2,...,i<br />

i−1 ∑<br />

m=1<br />

l i m u m j ) i = 1,2,...,n − 1 j = i + 1,...n<br />

Si calcolano prima gli elementi della riga i -sima <strong>di</strong> L e poi quelli della riga i -sima <strong>di</strong> U , per i = 1,2,...,n.<br />

Trovate le matrici L e U , il sistema <strong>di</strong> partenza Ax = b è equivalente a LU x = b.<br />

Si pone, dunque, y = U x, ottenendo il sistema Ly = b. Si ricava facilmente y me<strong>di</strong>ante sostituzione in<br />

avanti e da U x = y si ricava x me<strong>di</strong>ante sostituzione all’in<strong>di</strong>etro.<br />

Lo sforzo computazionale maggiore è quin<strong>di</strong> quello per il calcolo dei coefficienti <strong>di</strong> L e U .<br />

Nell’eliminazione <strong>di</strong> Gauss noi ricaviamo espressamente solo la U mentre le mo<strong>di</strong>fiche operate sulla<br />

colonna dei termini noti è equivalente al prodotto L −1 b (quin<strong>di</strong> da LU x = b risolviamo U x = L −1 b).<br />

7.5.2 Fattorizzazione <strong>di</strong> Gauss senza pivoting<br />

Matrice <strong>di</strong>agonalmente<br />

dominante in<br />

senso stretto<br />

per righe<br />

Matrice <strong>di</strong>agonalmente<br />

dominante in<br />

senso stretto<br />

per colonne<br />

Abbiamo visto che, a volte, il metodo <strong>di</strong> eliminazione <strong>di</strong> Gauss richiede scambi <strong>di</strong> righe per evitare <strong>di</strong>visioni<br />

per zero. Allo stesso modo, il teorema <strong>di</strong> fattorizzazione LDU vale su matrici A non singolari o su matrici<br />

ottenute da A me<strong>di</strong>ante moltiplicazioni a sinistra o a destra con opportune matrici <strong>di</strong> permutazione.<br />

Ci chie<strong>di</strong>amo se esistono matrici per le quali il metodo <strong>di</strong> eliminazione <strong>di</strong> Gauss possa essere implementato<br />

senza scambi <strong>di</strong> righe e per le quali l’algoritmo <strong>di</strong> eliminazione <strong>di</strong> Gauss sia stabile rispetto ad una crescita<br />

<strong>di</strong> errori <strong>di</strong> arrotondamento.<br />

Ve<strong>di</strong>amo, nel seguito, alcune speciali classi <strong>di</strong> matrici per cui valgono le nostre richieste.<br />

Una matrice A <strong>di</strong> <strong>di</strong>mensione n si <strong>di</strong>ce <strong>di</strong>agonalmente dominante in senso stretto per righe se vale la<br />

relazione<br />

|a i i | ><br />

n∑<br />

|a i j | per ogni i = 1,2,...,n.<br />

j =0<br />

j ≠i<br />

Una matrice A <strong>di</strong> <strong>di</strong>mensione n si <strong>di</strong>ce <strong>di</strong>agonalmente dominante in senso stretto per colonne se vale la<br />

relazione<br />

|a j j | ><br />

n∑<br />

|a i j | per ogni j = 1,2,...,n.<br />

i=0<br />

i≠j<br />

106

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!