12.07.2015 Views

Sistemi lineari

Sistemi lineari

Sistemi lineari

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

<strong>Sistemi</strong> <strong>lineari</strong>Un sistema lineare di m equazioni in n incognite della forma⎧a 11 x 1 + a 12 x 2 + . . . + a 1n x n = b 1⎪⎨ a 21 x 1 + a 22 x 2 + . . . + a 2n x n = b 2a 31 x 1 + a 32 x 2 + . . . + a 3n x n = b 3. . . ⎪⎩a m1 x 1 + a m2 x 2 + . . . + a mn x n = b mpuò essere⎡indicato brevemente⎤come⎡Ax =⎤b, dove⎡a 11 a 12 . . . a 1nx 1a 21 a 22 . . . a 2nA =⎢ a 31 a 32 . . . a 3n⎥⎣ . . . . . . . . . . . . ⎦ , x = x 2⎢ x 3⎥⎣ . . . ⎦ e b = ⎢⎣a m1 a m2 . . . a mn x n⎤b 1b 2b 3⎥. . .b m⎦ .


Il sistema Ax = b é risolubile se il vettore b si puó esprimere comecombinazione lineare delle colonne della matrice A con coefficientix 1 ,.., x n , cioé se il vettore b appartiene allo spazio vettorialegenerato dalle colonne di A, Im A.⎡⎢⎣⎤a 11a 21a 31⎥. . .a m1⎡⎦ x 1 +⎢⎣⎤a 12a 22a 32⎥. . .a m2⎡⎦ x 2 + . . .⎢⎣⎤a 1na 2na 3n⎥. . .a mn⎡⎦ x n =⎢⎣⎤b 1b 2b 3⎥. . . ⎦b m


Teorema di Rouché-CapelliIl sistema Ax = b ammette soluzione se e solorango [A b] = rango [A]rango di A = dimensione massimo minore non singolare di A.se m ≤ n ed A è di rango m lo spazio delle soluzioni hadimensione n − m;se m = n ed A è non singolare, il sistema ammette una ed unasola soluzione: x = A −1 b;se m > n ed A ha rango n il sistema ha più equazioni cheincognite ed è detto sovradeterminato; ammette soluzione se esolo se b appartiene allo spazio generato dalle colonne di A.


Caso m = n - Formula di CramerSia A una matrice non singolare n × n. Le componenti del vettoresoluzione del sistema Ax = b sonox k = detA kk = 1, 2, .., ndetAdove A k è la matrice che si ottiene sostituendo alla colonnak-esima di A la colonna dei termini noti.Il calcolo di un determinante di ordine n richiede (n − 1)n!operazioni ⇒ soluzione di un sistema di ordine n richiede il calcolodi n + 1 determinanti di ordine nN = (n − 1)(n + 1)!N cresce molto rapidamente all’aumentare dell’ordine n dellamatrice n = 10 → N ≈ 3.610 8 , n = 20 → N ≈ 10 21Se per eseguire un prodotto ci vogliono 10 −9 secondi, per risolvereun sistema lineare di ordine n = 20 con il metodo di Cramer siimpegano 10 12 secondi, cioè 3 · 10 4 anni !!


Inversa di una matriceLa formula classicaA −1 = 1detA A♯ ,dove A ♯ la matrice dei complementi algebricimatrice il cui elemento A ♯ (i,j) è il determinante della matrice diordine (n − 1) che si ottiene eliminando in A la riga j-esima e lacolonna i-esima moltiplicato per (−1) i+j )non calcolare mai A −1 con questa formula !!!Per avere algoritmi efficienti si devono trovare altre soluzioni,equivalenti dal punto di vista teorico, ma computazionalmentemeno onerose.⇓


Caso n=m <strong>Sistemi</strong> triangolariUna matrice si dice triangolare alta o triangolare bassa quandotutti gli elementi al di sotto della diagonale o al di sopra delladiagonale sono nulli⎡U =⎢⎣⎤u 11 u 12 . . . u 1n0 u 22 . . . u 2n0 0 . . . u 3n⎥. . . . . . . . . . . .0 0 . . . u nn⎦ ,⎡L = ⎢⎣⎤l 11 0 . . . 0l 21 l 22 . . . 0l 31 l 32 . . . 0⎥. . . . . . . . . . . . ⎦l n1 l n2 . . . l nnUn sistema Ax = b si dice triangolare quando A è una matricetriangolare (alta o bassa).Se A è una matrice triangolaredet(A) =prodotto degli elementi sulla diagonale.


Un sistema lineare in cui la matrice dei coefficienti sia triangolare èrisolubile se e solo se a ii ≠ 0 per i = 1, . . . , n.Se la matrice dei coefficienti è triangolare alta si procede persostituzione all’indietro⎧a 11 x 1 + a 12 x 2 + . . . . . . + a 1n x n = b 1⎪⎨a 22 x 2 + . . . . . . + a 2n x n = b 2a 33 x 3 + . . . + a 3n x n = b 3. . . = . . .⎪⎩a nn x n = b nDall’ultima equazione si ricava x n (una divisione ed unamoltiplicazione)x n = 1a nnb n


sostituendo il valore trovato per x n nella penultima equazione siottiene x n−1 (una divisione, una moltiplicazione ed una sottrazione)x n−1 =1a n−1,n−1(b n−1 − a n−1,n x n )e cosi’ via fino a ricavare x 1 (una divisione, (n-1) moltiplicazioni edn sottrazioni)x 1 = 1a 11(b 1 − a 1n x n − a 1,n−1 x n−1 − . . . a 12 x 2 ).Riassumendo⎧x n = b n⎪⎨ a n,n⎪⎩x k = b k − a kn x n − a k,n−1 x n−1 − . . . a k,k+1 x k+1a k,kk = n − 1, . . . 1


Sostituzione in avantiSe invece la matrice dei coefficienti è triangolare bassa,⎧a 11 x 1 = b 1⎪⎨a 21 x 1 + a 22 x 2 = b 2. . .⎪⎩a 21 x 1 + a 22 x 2 + ...a nn x n = b nsi procede per sostituzione in avanti. Dalla prima equazione siricavax 1 = b 1a 11→ x 2 = 1a 22(b 2 − a 12 x 1 ) → . . .x n = 1a nn(b n − a n1 x 1 − a n2 x 2 − . . . − a n,n−1 x n−1 )Riassumendo ⎧⎪ ⎨⎪ ⎩x 1 = b 1a 11x k = (b k − a 1k x 1 − ...a kk−1 x kk−1 )a kkk = 2, . . . , n


Il numero di operazioni richiesto per risolvere un sistematriangolare con la sostituzione in avanti o all’indietro èn(n − 1)2≈ n22trascurando le addizioni e le sottrazioni.I metodi usati per la soluzione di sistemi <strong>lineari</strong> si dividonofondamentalmente in due gruppi:• metodi diretti forniscono la soluzione in un numero finito epredeterminato di passi;• metodi iterativi a partire da una soluzione approssimatagenerano una successione che fornisce, al limite, la soluzionecercata.


Metodo di GaussE’ un algoritmo che trasforma il sistema da risolvere in un sistematriangolare equivalente, che viene risolto per sostituzioneall’indietro.Esempio⎧⎨⎩x 1 + x 2 + x 3 = 62x 1 − 3x 2 − x 3 = 9x 1 + 2x 2 − x 3 = 2⎧⎨⎩⎡[A | b] = ⎣1 1 1 | 62 −3 −1 | 91 2 −1 | 2x 1 + x 2 + x 3 = 65x 2 + 3x 3 = 3 2 · I a − II a−x 2 + 2x 3 = 4 I a − III ache possiamo indicare con⎡1 1 1 |⎤6⎣ 0 5 3 | 3 ⎦ .0 −1 2 | 4⎤⎦


⎧⎨⎩x 1 + x 2 + x 3 = 65x 2 + 3x 3 = 32.6x 3 = 4.6 III a + 0.2 · II a⎡1 1 1 | 6⎤⎣ 0 5 3 | 3 ⎦ .0 0 2.6 | 4.6Per sostituzione all’indietro si hax 3 = 4.62.6 = 2313 ≈ 1.769231x 2 = − 6 13 ≈ −0.4615385x 1 = 6113 ≈ 4.692308N. B. si trasformano equazioni ⇒ bisogna elaborare sia la matricedei coefficienti che il termine noto!


Passo 1 a 11 ≠ 0A non singolare, a 11 = 0 ⇒ ∃a j1 ≠ 0.Si scambiano fra loro la prima equazione con la j-esima e siprocede.Passo k+1m ik := a(k) ika (k)kka (k+1)ij= a (k)ij− m ik · a (k)kjper 1 ≤ k ≤ n − 1, k + 1 ≤ i ≤ n, k + 1 ≤ j ≤ n + 1.


Gli elementi a (k)kk sono detti pivotali e gli m ik moltiplicatori.Si ottengono successivamente[A|b] (1) → [A|b] (2) → · · · → [A|b] (n) = [U|˜b].Con Ux ⎡= ˜b sistema equivalente ⎤ ad Ax = b.1 1 1 | 6[A|b] (1) = ⎣ 2 −3 −1 | 9 ⎦ → [A|b] (2) =1 2 −1 | 2⎡⎤⎡1 1 1 | 61 1 1 | 6⎣ 0 5 3 | 3 ⎦ → [A|b] (3) = ⎣ 0 5 3 | 30 −1 2 | 40 0 2.6 | 4.6⎡U= ⎣1 1 10 5 30 0 2.6⎤⎡⎦ ˜b = ⎣634.6⎤⎦.Il sistema triangolare equivalente é Ux = ˜b.⎤⎦ →


Nel metodo di Gauss si devono eseguire∑n−1(n − k)(n − k + 1) = n33 − n 3 ≈ n33k=1operazioni per portare la matrice dei coefficienti a formatriangolare (sempre trascurando addizioni e sottrazioni)n 22operazioni per la sostituzione all’indietro.Per risolvere un sistema di ordine n con il metodo di Gauss leoperazioni necessarie sonon 33 + n22 .Se n è grande il lavoro maggiore consiste nel ridurre a formatriangolare il sistema.


Metodo di Gauss-Jordan o di eliminazione completaE’ una variante del metodo di Gauss e consiste nel trasformare ilsistema in uno equivalente con matrice dei coefficienti diagonale diimmediata soluzione .⎡[A|b] (1) = ⎣1 1 1 | 62 −3 −1 | 91 2 −1 | 2⎤⎡⎦ → [A|b] (2) = ⎣1 1 1 | 60 5 3 | 30 −1 2 | 4⎤⎦si prosegue con⎡1 0 0.4 |⎤5.4⎣ 0 1 0.6 | 0.6 ⎦0 −1 2 | 4I a − 0.2 · II a−0.2 · II a


si prosegue con⎡⎡→ ⎣⎣1 0 0.4 | 5.40 1 0.6 | 0.60 0 2.6 | 4.6⎤⎦ .1 0 0 | 4.6923080 1 0 | −0.46153850 0 1 | 1.769231⎤III a + II a⎦ I a − 0.4 · III aII a − 0.6 · III aN operazioni per la soluzione di un sistema di ordine nN G−J ≈ n32 − n 2 .La variante di Jordan è meno conveniente del metodo di Gaussn = 10 si ha N G ≈ 385 e N G−J ≈ 495 .lim n→∞ N G → 2 3 · N G−J


Accuratezza nel metodo di GaussL’applicazione ingenua del metodo di Gauss può portare ad erroried a soluzioni poco accurate quando i calcoli sono eseguiti inaritmetica finita.Problemi numerici (grossi errori relativi e perdita di cifresignificative) possono derivare da• elementi diagonali (pivot) diversi da zero ma ”piccoli”• elementi con ordini di grandezza molto diversi fra loro.


EsempioLa soluzione del sistema Ax = b, con⎡0.001 1 −1⎤⎡A = ⎣ 0.7 0.5 10 −4 ⎦ , e b = ⎣1 1 1⎡ ⎤ ⎡ ⎤x 1 1.1119é, in semplice precisione ⎣ x 2⎦= ⎣ 0.4435 ⎦ . Se i calcolix 3 −0.5554vengono eseguiti con due cifre di mantissa il sistema⎡[A, b] = ⎣0.1 · 10 −2 1 −1 10.7 0.5 10 −4 11 1 1 1111⎤⎦⎤⎦ ,


viene successivamente trasformato in⎡0.1 · 10 −2 1 −1 1⎤[A, b] = ⎣ 0 −0.6995 0.7000 −0.6990 ⎦0 −0.999 1.001 −0.999che viene arrotondato in⎡0.1 · 10 −2 1 −1 1⎤[A, b] = ⎣ 0 −0.70 0.70 −0.70 ⎦ .0 −1.00 1.00 −1.00Il sistema non è più univocamente risolubile, dato che le ultime duerighe sono proporzionali.


Se si hanno tre cifre di mantissa dopo il primo passo si ottiene⎡0.1 · 10 −2 1 −1 1⎤[A, b] = ⎣ 0 −0.700 0.700 −0.699 ⎦0 −0.999 1.00 −0.999e poi⎡[A, b] = ⎣0.1 · 10 −2 1 −1 10 −0.700 0.700 −0.6990 0 0.001 0.001⎤⎦che ⎡ fornisce ⎤ ⎡x 1⎣ x 2⎦ = ⎣x 302.001.00⎤⎦. La soluzione esatta è invece ⎣⎡1.11190.4435−0.5554⎤⎦.


Pivot ParzialeAi problemi di perdita di accuratezza nella soluzione di un sistemalineare con il metodo di Gauss si può in parte porre rimedio con latecnica del Pivot parziale.Allo scopo doi non dividere per un elemento ”piccolo” :Passo 1 Si determina l’elemento massimo in modulo nella primacolonnaPivot = max k |a k1 |se k ≠ 1 si scambia la prima equazione con la k-esima, cioè nellamatrice A (1) si scambia la k-esima riga con la prima e poi siprocede nel solito modo.


Passo i-esimo⎡A (i) =⎢⎣a (i)11a (i)12. . . a (i)1i0 a (i)22. . . a (i)2ia (i)1,i+1. . . a (i)1na (i)2,i+1. . . a (i)2nb (i)1b (i)20 0 . . . a (i)iia (i)i,i+1. . . a (i)in0 0 . . . . . . . . . . . . . . . . . .b (i)i0 0 . . . a (i)k,ia (i)k,i+1. . . a (i)k,n0 0 . . . . . . . . . . . . . . . . . .0 0 . . . a (i)nia (i)n,i+1. . . a nn(i)b (i)kb (i)nSi determina l’elemento massimo in modulo nella colonna i-esimaal di sotto dell’elemento diagonalePivot = max k>i |a ik |se k ≠ i si scambia l’ equazione i-esima con la k-esima, cioè nellamatrice A (i) la k-esima riga con la i-esima , e poi si procede comeal solito.⎤⎥⎦


Con il Pivot ParzialeIl sistema Ax = b, con⎡0.001 1 −1⎤⎡A = ⎣ 0.7 0.5 10 −4 ⎦ , e b = ⎣1 1 1con il Pivot Parziale viene successivamente trasformato in⎡1 1 1⎤1[A, b] = ⎣ 0.7 0.5 10 −4 1 ⎦ =⎡0.1 · 10 −2 1 −1 11 1 1 1⎤= ⎣ 0 0.2 0.6999 −0.3 ⎦0 −0.9999 1.001 −0.9999111⎤⎦ ,


Se i calcoli vengono eseguiti con due cifre di mantissa si ottiene⎡1 1 1 1⎤[A, b] = ⎣ 0 0.2 0.70 −0.3 ⎦ A, b > A, b0⎡−1.00 1.00 −1.001 1 1 1⎤= ⎣ 0 −1.00 1.00 −1.00 ⎦0 0 0.90 −0.5⎡che fornisce ⎣⎤x 1x 2x 3⎦ =⎡⎣1.120.44−0.56⎤⎦ che coincide conl’arrotondamento ⎡ ⎤ a due decimali della soluzione esatta1.1119⎣ 0.4435−0.5554⎦.


Pivot totaleQuesto procedimento é ”oneroso” dal punto di vistacomputazionale, ma puó essere l’unico modo di ottenere unasoluzione accurata. Si può fare ancora meglio con il Pivot totale.Passo 1 La ricerca dell’elemento massimo in modulo si fa su tuttala matricePivotTot = max ij |a ij |Passo i -esimo La ricerca dell’elemento massimo in modulo si fasu tutta la sottomatrice in basso a destra dell’elemento diagonalei-esimo⎡A (i) =⎢⎣. . . . . . . . . . . . . . . . . .. . . a (i)(i−1)(i−1). . . . . . . . . . . .0 0 a (i)ii. . . . . . a (i)in0 0 a (i)i+1,ia (i)(i+1)(i+1). . . . . .0 0 a (i)ni. . . . . . a nn(i)⎤⎥⎦


Si ponePivot Tot = max k,j≥i |a kj |• Se l’elemento pivotale non è sulla diagonale, si deve scambiarenon solo la riga ma anche la colonna corrispondenti.• Lo scambio di due colonne va memorizzato perché esso comportala permutazione di due componenti del vettore soluzione.Se la colonna 2 e la colonna 5 vengono scambiate, alla fine nelvettore soluzione x ′ 5 corrisponderà a x 2 e x ′ 2 corrisponderà ad x 5.• Il Pivot totale è molto più oneroso del pivot parziale e vieneusato solo in situazione di cattivo condizionamento della matrice oquando l’accuratezza della soluzione è molto importante .


BilanciamentoSi moltiplicano una o più equazioni del sistema lineare per unapotenza della base numerica adottata, al fine di ridurre lo scartofra gli ordini di grandezza degli elementi della matrice.Esempio Dato il sistema lineare[ ] [ ] [ ]1 104 x1 1041 10 −4 =x 2 1se si dispone di sole tre cifre per la mantissa si ottiene con ilmetodo di Gauss ed il pivot parziale[ ] [ ] [1 104 x1 100 10 −4 − 10 4 =4 ]x 2 1 − 10 4cioè [ ] [ ] [ ]1 104 x1 1040 −10 4 =x 2 −10 4e quindi x 2 = 1 ed x 1 = 10 4 − 10 4 = 0!.


Con pivot parziale e bilanciamento[ ] [ ] [ 1 104 x1 1041 10 −4 =x 2 1Moltiplichiamo la I a equazione per 10 −4 e con il pivot parziale,arrotondando alla terza cifra decimale si ottiene[ ] [ ] [ ]10−41 x1 10 1 − 10 −8 =x 2 1 − 10 4[ ] [ ]x1 1che fornisce la soluzione = che è quella corretta,x 2 1arrotondata alla terza cifra decimale.Con il pivot totale, senza bilanciamento, si ottiene x 1 = 1 edx 2 = 10 4 − 1 ≈ 1.Il bilanciamento seguito dal pivot parziale spesso fornisce risultatiaccurati quanto quelli ottenuti con il pivot totale ed è menooneroso]


Decomposizione triangolareDeriva direttamente dal metodo di eliminazione di Gauss, ma è piùvantaggioso se si devono risolvere vari sistemi tutti con la stessamatrice dei coefficienti.Dal punto di vista computazionale, nel metodo di eliminazione diGauss il sistema Ax = b viene trasformato inUx = L −1 b.Vengono calcolati gli elementi di U ed L, gli elementi di L essendoi moltiplicatori m ik = a ika kk, ma L non viene memorizzata.


Se tutti i minori principali di A sono non singolari,⎡a 11 a 12 . . . a 1i x⎤a i1 a i2 . . . a iidet(A i ) = deta 21 a 22 . . . a 2i⎢ a 31 a 32 . . . a 3i⎥⎣ . . . . . . . . . . . . ⎦ ≠ 0 i = 1, . . . , nsi possono sempre trovare due matrici, una L triangolare bassa eduna U triangolare alta, tali cheA = LU.


Teorema Sia A una matrice non singolare di ordine n. È semprepossibile determinare due matrici, L triangolare bassa ed Utriangolare alta, dette fattori triangolari ed una matrice dipermutazione P tali chePA = LU.Tale decomposizione è unica se si imponel ii = 1, i = 1, . . . , n metodo di Doolittleoppureu ii = 1 i = 1, . . . , n metodo di Crout.


Risolvere Ax = b tramite i fattori triangolari di ASe PA = LU il sistema è equivalente ae si risolve in due passi.Si risolve dapprima il sistemaPAx = Pb ⇒ LU x = P b,(∗)Ly = Pbper sostituzione in avanti e successivamente, per sostituzioneall’indietro, il sistema(∗∗) Ux = y.Infatti un vettore ¯x che risolva l’equazione (**) in cui il termine noto èsoluzione della (*) verifica l’identità L(U¯x) = P b e quindi, dato chePA = LU, è soluzione del sistema Ax = b.


EsempioDato il sistema Ax = b con⎡−2 4 8⎤ ⎡A = ⎣ −4 18 −16 ⎦ x = ⎣−6 2 −20Se A = LU con⎡L = ⎣1 0 02 1 03 −1 1⎡Il sistema Ly = ⎣⎡Il sistema Ux = ⎣10−2−2410−22−76⎤⎤⎡⎦ U = ⎣soluzione del sistema di partenza.⎤ ⎡x 1x 2⎦ , b = ⎣x 3−2 4 80 10 −320 0 −76⎡⎦ ha come soluzione y = ⎣⎤⎡⎦ ha come soluzione x = ⎣10−2−24⎤⎦10−22−76111⎤⎤⎦⎤⎦ .⎦ che è la


Metodo di Doolittleper il calcolo di L ed U tali che A = L · U.⎡⎤ ⎡⎤ ⎡1 0 0 0 u 11 u 12 u 13 u 14⎢ l 21 1 0 0⎥ ⎢ 0 u 22 u 23 u 24⎥⎣ l 31 l 32 1 0 ⎦ ⎣ 0 0 u 33 u 34⎦ = ⎢⎣l 41 l 42 l 43 1 0 0 0 u 442 1 3 44 −1 2 1−1 1 8 33 1 4 1risolviamo le 4 2 equazioni nelle incognite l ij , u i,j in un ordine benpreciso.• I o blocco di equazioni (I a riga di L) · U = (I a riga di A)⎤⎥⎦u 1j := a 1jper j = 1, . . . , n[1 0 0 0] · U = [2 1 3 4] ⇒ u 11 = 2, u 12 = 1, u 13 = 3, u 14 = 4,


⎡⎢⎣1 0 0 0l 21 1 0 0l 31 l 32 1 0l 41 l 42 l 43 1⎤⎥⎦⎡⎤ ⎡2 1 3 4⎢ 0 u 22 u 23 u 24⎥⎣ 0 0 u 33 u 34⎦ = ⎢⎣0 0 0 u 442 1 3 44 −1 2 1−1 1 8 33 1 4 1⎤⎥⎦• II o blocco di equazioniL· (I a colonna di U)= (I a colonna di A)⎡L · ⎢⎣2000⎤⎡⎥⎦ = ⎢⎣l j1 := a j124−13⎤u 11per j = 2, . . . , n⎥⎦ 2l 21 = 4, 2l 31 = −1, 2l 41 = 3⇒ l 21 = 2, l 31 = −0.5, l 41 = 1.5.


⎡⎢⎣1 0 0 02 1 0 0−0.5 l 32 1 01.5 l 42 l 43 1• III o blocco di eq.⎤⎥⎦⎡⎤ ⎡2 1 3 4⎢ 0 u 22 u 23 u 24⎥⎣ 0 0 u 33 u 34⎦ = ⎢⎣0 0 0 u 442 1 3 44 −1 2 1−1 1 8 33 1 4 1( II a riga di L) ·U = (II a riga di A),⎤⎥⎦u 2j := a 2j − l 21 · u 1jper j = 2, . . . , n[2 1 0 0]·U = [4 −1 2 1] 2+u 22 = −1, 6+u 23 = 2, 8+u 24 = 1⇒ u 22 = −3, u 23 = −4, u 24 = −7.


⎡⎢⎣1 0 0 02 1 0 0−0.5 l 32 1 01.5 l 42 l 43 1⎤⎥⎦⎡⎤ ⎡2 1 3 4⎢ 0 −3 −4 −7⎥⎣ 0 0 u 33 u 34⎦ = ⎢⎣0 0 0 u 442 1 3 44 −1 2 1−1 1 8 33 1 4 1⎤⎥⎦• IV o blocco di equazioniL· (II a colonna di U)= (II a colonna di A)⎡L · ⎢⎣1−300l i1 · u 12 + l ij · u j2 = a i2⎤ ⎡ ⎤1⎥⎦ = ⎢ −1⎣ 11per j = 3, . . . , n⎥⎦ − 0.5 − 3l 32 = 1, 1.5 − 3l 42 = 1⇒ l 32 = −0.5, l 42 = 0.16.


⎡⎢⎣1 0 0 02 1 0 0−0.5 −0.5 1 01.5 0.16 l 43 1⎤⎥⎦⎡⎤ ⎡2 1 3 4⎢ 0 −3 −4 −7⎥⎣ 0 0 u 33 u 34⎦ = ⎢⎣0 0 0 u 442 1 3 44 −1 2 1−1 1 8 33 1 4 1⎤⎥⎦• V o blocco di eq.( III a riga di L) ·U = (III a riga di A),l 31 · u 1j + l 32 · u 2j + u 3j = a 3jper j = 3, . . . , n[−0.5 − 0.5 1 0] · U = [−1 1 8 3]−1.5 + 2 + u 33 = 8, −2 + 3.5 + u 34 = 3⇒ u 33 = 7.5, u 34 = 1.5


⎡⎢⎣1 0 0 02 1 0 0−0.5 −0.5 1 01.5 0.16 l 43 1⎤⎥⎦⎡⎤ ⎡2 1 3 4⎢ 0 −3 −4 −7⎥⎣ 0 0 7.5 1.5 ⎦ = ⎢⎣0 0 0 u 442 1 3 44 −1 2 1−1 1 8 33 1 4 1⎤⎥⎦• VI o blocco di equazioniL· (III a colonna di U)= (III a colonna di A)l i1 · u 13 + l i2 · u 23 + u 33 = a i3 per i = 4, . . . , n⎡ ⎤ ⎡ ⎤3 3L · ⎢ −4⎥⎣ 8 ⎦ = ⎢ 2⎥⎣ 8 ⎦ 3 · 1.5 − 4 · 0.16 + 7.5 · l 43 = 40 4⇒ l 43 = 0.02.


⎡⎢⎣1 0 0 02 1 0 0−0.5 −0.5 1 01.5 0.16 0.02 1• VII o blocco di eq.⎤⎥⎦⎡⎤ ⎡2 1 3 4⎢ 0 −3 −4 −7⎥⎣ 0 0 8 1.5 ⎦ = ⎢⎣0 0 0 u 442 1 3 44 −1 2 1−1 1 8 33 1 4 1( IV a riga di L) ·U = (IV a riga di A),⎤⎥⎦l 41 · u 1j + l 42 · u 2j + l 43 u 3j + u 44 = a 4j per j = 4, . . . , n[1.5 0.16 0.02 1] · U = [3 1 4 1]4 · 1.5 − 7 · 0.16 + 1.5 · 0.02 + u 44 = 1⇒u 44 = −3.86.


L =⎡⎢⎣1 0 0 02 1 0 0−0.5 −0.5 1 01.5 0.16 0.02 1⎤⎥⎦⎡U = ⎢⎣2 1 3 40 −3 −4 −70 0 7.5 1.50 0 0 −3.86⎤⎥⎦• La ricerca dei fattori triangolari di una matrice A è soggetta aglistessi fenomeni di perdita di accuratezza incontratinell’eliminazione frontale di Gauss.• Per garantire l’accuratezza del risultato si ricorre anche in questocaso alle strategie del pivot parziale e totale viste sopra.


Algoritmo di CholeskyDefinizione Una matrice di ordine n ad elementi reali èsimmetrica e definita positiva seA t = A e x t Ax > 0 per ogni x ≠ 0.Teorema Ogni matrice A simmetrica e definita positiva ammetteuna decomposizione A = L · L t , dove L è triangolare bassa.Il calcolo dei fattori triangolari richiede, in questo caso,operazioni.n 36


Decomposizione di CholeskyGli elementi di L si possono determinare con le seguenti formule:for i = 1 to n dol ii = (a ii − ∑ i−1j=1 l ij 2)1/2for k = i(+ 1 to n dol ki := 1 l iia ki − ∑ )i−1j=1 l ijl kjendEsempio La matrice simmetrica e definita positiva⎡ ⎤8 4 2A = ⎣ 4 6 0 ⎦2 0 3ammette la decomposizione triangolare A = LL t con⎡2 √ ⎤⎢ √2 0 0L = ⎣ √ 2 2 0⎥22−.25 √ ⎦ .2.25


<strong>Sistemi</strong> sottodeterminatiSe un sistema lineare ha più incognite che equazioni èsottodeterminato. Con operazioni elementari si può mettere in unaforma ”quasi triangolare”.Definizione Un sistema lineare è in forma a gradini se nessunadelle sue equazioni è degenere (0 = 0) e se l’incognita iniziale diogni equazione si trova a destra dell’incognita inizialedell’equazione precedente.a 11 x 1 + a 12 x 2 + a 13 x 3 + . . . + a 1n x n = b 1a 22 x 2 + a 23 x 3 + . . . + a 2n x n = b 2. . . + . . . = . . .a r(s+1) x s+1 + . . . + a rn x n = b r


Variabili libereNel sistema a gradini un’incognita x k è detta variabile libera senon è incognita iniziale in nessuna equazione.a 11 x 1 + a 12 x 2 + a 13 x 3 + a 14 x 4 = b 1+ a 23 x 3 + a 24 x 4 = b 2ProposizioneIl rango della matrice dei coefficienti del sistema, r, è pari alnumero delle equazioni non degeneri ( 0 = 0) della sua forma agradini.i) se r = n ci sono tante equazioni quante incognite: il sistema haun’unica soluzione.ii) se r < n ci sono meno equazioni che incognite (sistemasottodeterminato): si possono assegnare valori arbitrari alle n − rvariabili libere e ottenere una soluzione del sistema.


EsempioNel sistema{x1 +4x 2 −3x 3 +2x 4 = 5+x 3 −4x 4 = 2.n = 4, r = 2 Le variabili libere sono due, x 2 ed x 4 . Scriviamo{x1 −3x 3 = 5 −4x 2 −2x 4+x 3 = 2 +4x 4Ponendo x 2 = a, x 4 = b, per sostituzione all’indietro si ottienex 3 = 2 + 4b, x 1 = 5 − 4a − 2b + 3(2 + 4b) = 11 − 4a + 10b.Quindix 1 = 11 − 4a + 10b, x 2 = a, x 3 = 2 + 4b, x 4 = b


La soluzione del sistema è⎛x =⎜⎝11 − 4a + 10ba2 + 4bbe dipende dai due parametri a e b. Si puó scrivere anche come⎛ ⎞ ⎛ ⎞ ⎛ ⎞11 −4 10v 1 + a v 2 + b v 3 = ⎜ 0⎟⎝ 2 ⎠ + a ⎜ 1⎟⎝ 0 ⎠ + b ⎜ 0⎟⎝ 4 ⎠00 1dove v 2 e v 3 sono soluzioni particolari del sistema e v 1 è lasoluzione del sistema omogeneo associato.⎞⎟⎠


EsempioRisolvere il sistema di 3 equazioni in 4 incognite Ax = b, con⎛1 3.78 5⎞1⎛6⎞A = ⎝ 3 3.4 2 4 ⎠ e b = ⎝ 2.15 ⎠ .5 2.8 1 35Il sistema è sottodeterminato. La matrice completa del sistema è:⎛1 3.78 5 1 | 6⎞[A | b] = ⎝ 3 3.4 2 4 | 2.15 ⎠5 2.8 1 3 | 5Applichiamo il metodo di Gauss con Pivot parziale, portando ilsistema ⎛ in forma a gradini. ⎞ ⎛⎞1 3.78 5 1 | 6 5 2.8 1 3 | 5⎝ 3 3.4 2 4 | 2.15 ⎠ → ⎝ 3 3.4 2 4 | 2.15 ⎠ →5 2.8 1 3 | 5 1 3.78 5 1 | 6


⎛→ ⎝⎛5 2.8 1 3 | 50. 1.72 1.4 2.2 | −0.850. 3.22 4.8 0.4 | 5.⎞⎞⎠ →→5 2.8 1 3 | 5⎝ 0. 3.22 4.8 0.4 | 5. ⎠ →0. 1.72 1.4 2.2 | −0.85⎛5 2.8 1 3 | 5⎞→ ⎝ 0. 3.22 4.8 0.4 | 5. ⎠ .0. 0. −1.16398 1.98634 | −3.52081La matrice dei coefficienti ha rango massimo, r = 3 e x 4 è l’unicavariabile libera ⇒ ∞ 4−3 = ∞ 1 soluzioni.Posto x 4 = a, si risolve facilmente per sostituzione all’indietro,tenendo presente che la soluzione dipenderà dal parametro a.


5x 1 +2.8x 2 +x 3 = −3a +53.22x 2 +4.8x 3 = −0.4a +5−1.16398 x 3 = −1.98634 a −3.52081−1.98634 a − 3.52081x 3 = = 1.7065101(1.7725141 + a)−1.16398x 2 = 5 − 4.8 x 3 − 0.4 a= −2.66809a − 2.956243.22x 1 = 5 − 2.8 x 2 − x 3 − 3a= 0.55282818 a + 2.05053365


Quindi la soluzione è:⎛⎜⎝2.050534 + 0.552828 a−2.95624 − 2.66809 a3.02481 + 1.70651 aaLa soluzione si puó scrivere anche come⎛v 1 + v 2 a = ⎝2.050534−2.956243.02481⎞⎠ + a⎛⎜⎝⎞⎟⎠ .0.552828−2.66809+1.706511⎞⎟⎠ ,dove v 1 è una soluzione particolare del sistema e v 2 è la soluzionedel sistema omogeneo associato.

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

Saved successfully!

Ooh no, something went wrong!