La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione Un sistema di equazioni algebriche lineari ha la forma seguente: le N incognite x 1,x 2,...,x N sono legate da M equazioni lineari le quantità

Presentazioni simili


Presentazione sul tema: "Introduzione Un sistema di equazioni algebriche lineari ha la forma seguente: le N incognite x 1,x 2,...,x N sono legate da M equazioni lineari le quantità"— Transcript della presentazione:

1

2 Introduzione Un sistema di equazioni algebriche lineari ha la forma seguente: le N incognite x 1,x 2,...,x N sono legate da M equazioni lineari le quantità a ij e b i (i=1,2,...,M e j=1,2,...,N) sono note se N=M il numero di equazioni è pari al numero delle incognite ed esiste la possibilità che il sistema abbia ununica soluzione nel caso M=N la soluzione non è unica se: una equazione è una combinazione lineare delle altre (degenerazione di riga) tutte le equazioni contengono certe variabili nelle stesse combinazioni lineari (degenerazione di colonna)

3 Alcuni esempi Degenerazione di riga: il primo sistema è impossibile, il secondo è indeterminato Degenerazione di colonna: le variabili x 2 e x 3 compaiono sempre nella combinazione lineare x 2 -x 3 il sistema in esame è impossibile

4 Soluzioni numeriche Nella soluzione numerica di un sistema si possono presentare due tipi di problemi: gli errori di arrotondamento del computer possono rendere alcune equazioni (che inizialmente non lo sono!) linearmente dipendenti, rendendo il sistema irrisolvibile gli errori di arrotondamento che si accumulano nel corso della risoluzione numerica possono avere effetti significativi sulla soluzione, che risulterà errata è sempre opportuno verificare la correttezza della soluzione andando a sostituirla nelle equazioni di partenza questa situazione tende a verificarsi se N è grande e se il sistema è vicino ad essere singolare

5 Matrici Un sistema lineare può scriversi nella forma: dove: La matrice A è detta matrice dei coefficienti il primo indice di ciascun elemento a ij è quello di riga, il secondo indice è quello di colonna Il vettore b è detto vettore dei termini noti

6 Definizioni (1) Matrice quadrata: M=N Sia A una matrice quadrata: diagonale principale: è formata dagli elementi con indici uguali a 11,a 22,...,a NN diagonale secondaria: è formata dagli elementi con indici la cui somma è N+1: a 1N,a 2N-1,...,a N1 Matrice diagonale: tutti gli elementi al di fuori della diagonale principale sono nulli Matrice simmetrica: a ik =a ki diagonale principale diagonale secondaria

7 Definizioni (2) Matrice unità: è una matrice quadrata che ha uguali a 1 tutti gli elementi della diagonale principale e uguali a 0 tutti gli altri elementi Simbolo di Kronecker: gli elementi della matrice unità possono essere rappresentati con il simbolo di Kronecker

8 Definizioni (3) Matrice trasposta: data una matrice A, la trasposta A T è la matrice che si ottiene da A scambiando le righe con le colonne se A è una matrice M N, A T sarà una matrice N M se A è quadrata, anche A T è quadrata la matrice trasposta della trasposta è nuovamente la matrice di partenza: (A T ) T =A una matrice quadrata simmetrica coincide con la sua trasposta

9 Somma e differenza tra matrici La somma tra due matrici A e B si può effettuare solo se le due matrici hanno le stesse dimensioni la matrice somma ha le stesse dimensioni di A e di B Detta C=A+B la matrice somma, i suoi elementi si ottengono sommando quelli di A e B: c ik =a ik +b ik Data una matrice A, si definisce la matrice opposta –A tale che A+(-A)=0 la matrice nulla (0) è una matrice i cui elementi sono tutti nulli la matrice opposta ha le stesse dimensioni della matrice A gli elementi della matrice opposta sono gli opposti di quelli della matrice A: (-a) ik =-a ik Analogamente alla somma, la differenza tra due matrici A e B si può calcolare solo se A e B hanno le stesse dimensioni la matrice differenza ha le stesse dimensioni di A e B e si ottiene sommando la matrice A con lopposta di B Detta D=A-B la matrice differenza, i suoi elementi sono: d ik =a ik -b ik

10 Prodotto di una matrice per un numero Data una matrice A ed un numero r, il prodotto del numero r per la matrice A è una matrice delle stesse dimensioni di A, i cui elementi sono pari agli elementi di A moltiplicati per il numero r:

11 Prodotto tra matrici (1) Il prodotto tra matrici si può effettuare solo se il numero di colonne della prima matrice è uguale al numero di righe della seconda matrice Data una matrice A di tipo M P ed una matrice B di tipo P N, la matrice prodotto C=A B sarà una matrice di tipo M N si noti che in generale A B B A (sono due matrici di tipo diverso, ammesso che esistano entrambe!) Gli elementi di C=A B si calcolano con la regola del prodotto righe per colonne:

12 Prodotto tra matrici (2) Regola del prodotto: riga i colonna k

13 Determinante (1) Il determinante può essere definito solamente nel caso di matrici quadrate Per una matrice quadrata 1 1 (del primo ordine) il determinante è pari allunico elemento della matrice: Per matrici quadrate di ordine superiore il determinante si definisce in maniera induttiva, partendo dalla definizione data nel caso della matrice di ordine 1

14 Determinante (2) A seconda della sua posizione nella matrice A, un elemento a ik di una matrice può essere: di classe pari (dispari) se i+k è pari (dispari) A ciascun elemento a ik viene associata una matrice quadrata, che si ottiene dalla matrice A eliminando la i-esima riga e la k-esima colonna il determinante di tale matrice, M ik, si chiama minore complementare dellelemento a ik si chiama complemento algebrico C ik dellelemento a ik il minore complementare M ik moltiplicato per +1 o -1 a seconda che a ik sia di classe pari o dispari:

15 Determinante (3) Il determinante di una matrice quadrata è definito come somma dei prodotti degli elementi di una linea (riga o colonna) per i corrispondenti complementi algebrici Il valore del determinante non dipende dalla linea scelta Una matrice con determinante nullo è detta singolare

16 Determinante di una matrice 2 2 Calcoliamo il determinante di una matrice 2 2: Sviluppando il determinante lungo la prima riga si ha: Il determinante della matrice 2 2 si calcola come il prodotto degli elementi della diagonale principale meno il prodotto degli elementi della diagonale secondaria

17 Determinante di una matrice 3 3 Calcoliamo il determinante di una matrice 3 3: Sviluppando il determinante lungo la prima riga si ha: Regola empirica: il determinante di una matrice 3 3 si calcola sommando i prodotti degli elementi della diagonale principale e delle sue parallele e sottraendo i prodotti degli elementi della diagonale secondaria e delle sue parallele

18 Alcune proprietà dei determinanti Il determinante della matrice trasposta è uguale al determinante della matrice di partenza: detA T =detA Se tutti gli elementi di una riga (o di una colonna) sono nulli, il determinante è nullo Scambiando tra loro due righe (o due colonne) il determinante cambia segno Se due righe (o due colonne) parallele sono proporzionali, il determinante è nullo Se gli elementi di una riga (o di una colonna) vengono moltiplicati per un numero r, il determinante viene anchesso moltiplicato per r Il determinante di una matrice quadrata non cambia quando agli elementi di una linea si aggiungono i corrispondenti elementi di una linea parallela moltiplicati per un numero arbitrario r Date due matrici quadrate A e B, se C=A B, allora risulta anche detC=detA detB

19 Matrici triangolari Una matrice quadrata si dice triangolare se tutti i suoi elementi al di sopra o al di sotto della diagonale principale sono nulli matrice triangolare superiore (alta) se a ik =0 con i>k matrice triangolare inferiore (bassa) se a ik =0 con i

20 Matrice inversa Data una matrice quadrata A di ordine N, si dice inversa (se esiste) la matrice A -1 tale che: dove I è la matrice unità di ordine N Ogni matrice che ammette uninversa si dice invertibile Se la matrice inversa esiste è anchessa di ordine N linversa della matrice unità è ancora la matrice unità Teorema: se la matrice inversa esiste, essa è unica Teorema: ogni matrice non singolare possiede una matrice inversa se una matrice ha determinante nullo, allora non è invertibile

21 Metodo di Gauss-Jordan (1) Il problema della risoluzione di un sistema lineare è strettamente connesso a quello dellinversione della matrice dei coefficienti i due problemi possono essere affrontati insieme Sia quindi data una matrice A di N N coefficienti ed un vettore b di N termini noti Vogliamo trovare un vettore x ed una matrice Y tali che: il vettore x è la soluzione di un sistema lineare di N equazioni in N incognite la matrice Y è linversa della matrice A

22 Metodo di Gauss-Jordan (2) Osservazioni preliminari: se si scambiano tra loro due righe di A, e le corrispondenti due righe di b e di I (che in seguito allo scambio non sarà più la matrice unità), le soluzioni x e Y non cambiano se sostituiamo una riga di A con una combinazione lineare della riga stessa e di una qualsiasi altra riga, e facciamo la stessa cosa nelle righe di b e di I (che, ancora una volta, in seguito allo scambio non sarà più la matrice unità), le soluzioni x e Y non cambiano se si scambiano due colonne di A, si ottengono le stesse soluzioni solo se simultaneamente vengono scambiate le righe corrispondenti di x e di Y lo scambio di colonne comporta uno scambio delle righe nella soluzione Il metodo di eliminazione di Gauss-Jordan sfrutta tutte queste proprietà

23 Un esempio (1) Consideriamo il sistema: La soluzione è il vettore x 1 =3, x 2 =2, x 3 =1 Scambiamo la prima e la seconda riga di A e la prima e la seconda riga di b è evidente che il sistema è rimasto lo stesso, e quindi anche la soluzione non è cambiata

24 Un esempio (2) Sostituiamo ora la prima riga di A e di b con la somma della prima riga e della seconda riga Ancora una volta la soluzione del sistema non cambia (x 1 =3, x 2 =2, x 3 =1)

25 Un esempio (3) Infine scambiamo la seconda e la terza colonna di A: Adesso la soluzione è diventata x 1 =3, x 2 =1, x 3 =2, cioè si sono scambiati x 2 con x 3 Per ripristinare la soluzione precedente è necessario scambiare la seconda e la terza riga del vettore x

26 Metodo di Gauss-Jordan (3) In ciascuna iterazione la matrice A, il vettore b e la matrice I vengono modificati sfruttando le proprietà enunciate in precedenza Alla n-esima iterazione le equazioni da risolvere avranno la forma: se si riesce a trasformare la matrice A nella matrice unità, ossia se A n =I, allora sarà: cioè il vettore dei termini noti modificato e la matrice unità modificata forniranno la soluzione del problema

27 Esempio (1) Vediamo come si applica il metodo di eliminazione di Gauss-Jordan nellesempio studiato in precedenza: Prima iterazione: dividiamo la prima riga per lelemento a 11 (pivot) in modo che il primo elemento della diagonale principale sia 1 in questo caso particolare a 11 =1 e le matrici restano invariate

28 Esempio (2) Seconda iterazione: lo scopo è quello di far sì che la prima colonna riproduca la prima colonna della matrice unità seconda riga seconda riga – a 21 prima riga terza riga terza riga – a 31 prima riga

29 Esempio (3) Terza iterazione: lo scopo è quello di far sì che anche il secondo elemento della diagonale principale di A sia pari a 1 dividiamo quindi la seconda riga per lelemento pivot a 22

30 Esempio (4) Quarta iterazione: lo scopo è quello di far sì che la seconda colonna riproduca la seconda colonna della matrice unità prima riga prima riga – a 12 seconda riga terza riga terza riga – a 32 seconda riga

31 Esempio (5) Quinta iterazione: lo scopo è quello di far sì che anche il terzo elemento della diagonale principale di A sia pari a 1 dividiamo quindi la terza riga per lelemento pivot a 33

32 Esempio (6) Sesta iterazione: lo scopo è quello di far sì che la terza colonna riproduca la seconda colonna della matrice unità prima riga prima riga – a 13 terza riga seconda riga seconda riga – a 23 terza riga

33 Alcune considerazioni Nellesempio precedente il vettore b 6 rappresenta la soluzione x del sistema Ax=b e la matrice I 6 rappresenta la matrice Y=A -1 Nellapplicare il metodo di Gauss-Jordan potrebbero nascere dei problemi se un elemento pivot dovesse essere nullo in tal caso gli elementi della riga corrispondente verrebbero divisi per zero Per evitare situazioni in cui un elemento pivot è nullo, si sfruttano le proprietà legate alla permutazione di righe e colonne delle matrici, in modo che nella posizione di pivot si venga a trovare un elemento di matrice opportuno partial pivoting: si sfruttano solo le proprietà legate alla permutazione delle righe full pivoting: si sfruttano le proprietà legate sia alla permutazione delle righe che delle colonne una volta trovate le soluzioni del problema, occorre poi effettuare le opportune permutazioni inverse una buona strategia è quella di scegliere volta per volta come elemento pivot quello più grande in valore assoluto, effettuando le permutazioni necessarie per portarlo nella posizione di pivot

34 Metodo di eliminazione di Gauss Il metodo di eliminazione di Gauss trasforma una matrice A in una matrice triangolare Una volta effettuata questa operazione, il sistema Ax=b può essere risolto per sostituzione Alla fine della procedura, si ha: Il sistema così ottenuto può essere risolto per sostituzione:

35 Esempio (1) Consideriamo ancora il sistema precedente: Prima iterazione: facciamo in modo che a 21 =0 e a 31 =0 seconda riga seconda riga – (a 21 /a 11 ) prima riga terza riga terza riga – (a 31 /a 11 ) prima riga

36 Esempio (2) Seconda iterazione: facciamo in modo che a 32 =0 terza riga terza riga – (a 32 /a 22 ) seconda riga

37 Esempio (3) Il sistema può quindi essere risolto per sostituzione partendo dallultima equazione:

38 Considerazioni sul metodo di Gauss Anche in questo caso bisogna evitare le situazioni in cui lelemento pivot è nullo, sfruttando le proprietà delle matrici Il metodo di eliminazione di Gauss è più veloce rispetto a quello di Gauss-Jordan negli algoritmi in cui viene applicato il metodo di Gauss- Jordan sono richieste N 3 operazioni per ciclo negli algoritmi in cui si applica il metodo di Gauss sono richieste N 3 /3 operazioni per ciclo Il metodo di eliminazione di Gauss non fornisce la matrice inversa A -1 Tale matrice può essere calcolata risolvendo gli N sistemi Ax i =b i dove b i è il vettore contenente li-esima colonna della matrice unità

39 Decomposizione LU (1) Supponiamo che sia possibile scrivere la matrice A come prodotto A=LU dove: L è una matrice triangolare inferiore U è una matrice triangolare superiore Se tale decomposizione è possibile, il sistema Ax=b si trasforma nel modo seguente:

40 Decomposizione LU (2) Per risolvere il sistema di partenza occorre dunque risolvere i due sistemi: Ly = b Ux = y Il vantaggio di questo approccio è che entrambi i sistemi hanno una matrice dei coefficienti di forma triangolare, e possono essere risolti per sostituzione:

41 Decomposizione LU (3) Se vale la decomposizione A=LU si ha, dalla regola del prodotto: in totale si possono scrivere N 2 equazioni di questo tipo ciascuna equazione contiene un numero di termini che dipende da i e j ( km =0 se k m) le incognite sono N 2 +N (le ij e le ij non nulle) in ciascuna matrice L e U ci sono N(N+1)/2 incognite per effettuare la decomposizione occorre fissare N incognite

42 Algoritmo di Crout (1) Si fissano i termini diagonali della matrice L ponendo: Partiamo dalle equazioni che legano i coefficienti ij, ij e a ij ed eliminiamo i termini nulli tenendo conto che km =0 se k m: Nellalgoritmo di Crout si sfruttano queste relazioni per ricavare, in maniera iterativa, i coefficienti ij e ij

43 Algoritmo di Crout (2) Fissiamo lindice di colonna j=1,2,...,N. Facciamo variare lindice di riga i nellintervallo i=1,2,...,j: Facciamo ora variare lindice di riga i nellintervallo i=j+1,j+2,...,N: I coefficienti che compaiono nelle equazioni sono stati determinati nelle iterazioni precedenti

44 Esempio (1) Applichiamo lalgoritmo di Crout per decomporre la matrice: Alla fine del procedimento determineremo due matrici L e U tali che:

45 Esempio (2) Lalgoritmo di Crout viene applicato colonna per colonna si determinano prima i valori di ij e poi quelli di ij Colonna 1 (j=1): Colonna 2 (j=2):

46 Esempio (3) Colonna 3 (j=3): Riassumendo, si ha: e si può verificare che A=LU

47 Commenti sullalgoritmo di Crout Anche nellalgoritmo di Crout compaiono delle divisioni per gli elementi pivot jj la scelta dellelemento pivot può essere effettuata mediante scambi di righe (partial pivoting) una volta calcolati tutti i ij della j-esima colonna, si effettua la permutazione delle righe che porta sulla diagonale lelemento voluto (di solito si sceglie il più grande) in questo caso la matrice che viene decomposta non è la matrice originaria A, ma una matrice ottenuta permutando le righe di A: occorre quindi ricordare le permutazioni effettuate La soluzione di un sistema lineare tramite la decomposizione LU richiede circa 1/3 delle operazioni richieste dal metodo di Gauss-Jordan

48 Applicazioni della decomposizione LU Calcolo della matrice inversa: come nel caso del metodo di Gauss, la matrice inversa può essere calcolata risolvendo gli N sistemi Ax i =b i dove b i è il vettore contenente li-esima colonna della matrice unità Calcolo del determinante: si sfruttano le proprietà del determinante di un prodotto tra matrici e del determinante delle matrici triangolari:

49 Sistemi tridiagonali (1) Si tratta di sistemi in cui la matrice dei coefficienti ha elementi non nulli solo sulla diagonale principale e nelle posizioni adiacenti ad essa: In generale gli elementi sulla diagonale principale sono più grandi rispetto a quelli fuori diagonale:

50 Sistemi tridiagonali (2) La soluzione di un sistema tridiagonale richiede un numero di operazioni minore rispetto a quella di un sistema normale tipicamente per risolvere un sistema normale sono richieste O(N 3 ) operazioni, mentre per risolvere un sistema tridiagonale ne occorrono O(N) Un algoritmo per la soluzione di un sistema tridiagonale richiede meno memoria rispetto ad uno stesso algoritmo applicato ad un sistema normale non è necessario immagazzinare le informazioni complete sulla matrice dei coefficienti, ma solo quelle relative ai coefficienti non nulli Si può sviluppare un algoritmo per la soluzione di sistemi tridiagonali che sfrutta il metodo eliminazione di Gauss la soluzione si ricava per sostituzione poiché solitamente gli elementi sulla diagonale sono diversi da zero e più grandi in modulo di quelli fuori diagonale, in genere non ci sono problemi di scelta dellelemento pivot

51 Esempio (1) Consideriamo il seguente sistema tridiagonale: la cui soluzione è x 1 =2, x 2 =3, x 3 =1, x 4 =1 Risolviamo il sistema trasformando la matrice A in una matrice triangolare con il metodo di eliminazione di Gauss

52 Esempio (2) Prima iterazione: seconda riga seconda riga - 2 / 1 prima riga

53 Esempio (3) Seconda iterazione: terza riga terza riga - 3 / 2 seconda riga

54 Esempio (4) Terza iterazione: quarta riga quarta riga - 4 / 3 terza riga

55 Esempio (5) A questo punto il sistema può essere risolto per sostituzione: In pratica, data la struttura tridiagonale, in ogni iterazione viene cambiato soltanto un elemento della matrice A

56 Metodi iterativi Un sistema di equazioni lineari può essere risolto in maniera iterativa Si parte da una soluzione «di prova» e, attraverso iterazioni successive, si arriva alla soluzione del sistema Non sempre le procedure iterative convergono verso la soluzione del sistema Se la matrice dei coefficienti soddisfa una serie di condizioni opportune, la convergenza è garantita Una volta stabilita la convergenza della procedura iterativa, occorre stabilire un criterio per arrestare le iterazioni

57 Metodo di Jacobi (1) Consideriamo come esempio il sistema seguente: la cui soluzione è x=2, y=4, z=3 Le equazioni del sistema possono essere riscritte nel modo seguente:

58 Metodo di Jacobi (2) Si può quindi pensare, data la soluzione (x k,y k,z k ) dopo k iterazioni, di valutare la soluzione (x k+1,y k+1,z k+1 ) alliterazione successiva come: Partendo da una soluzione di prova (x 0,y 0,z 0 ) ci si aspetta che la procedura iterativa converga verso la soluzione esatta del sistema in un numero ragionevole di passi

59 Metodo di Jacobi (3) Partendo dai valori (x 0,y 0,z 0 )=(1,2,2) il metodo di Jacobi converge verso la soluzione in 10 iterazioni (con una precisione alla quinta cifra significativa) Iterazionexyz

60 Metodo di Jacobi (4) Riscriviamo il sistema di partenza riordinando le equazioni nel modo seguente: Ricavando x dalla prima equazione, y dalla seconda e z dallultima possiamo scrivere le formule di Jacobi nel modo seguente:

61 Metodo di Jacobi (5) Partendo dai valori (x 0,y 0,z 0 )=(1,2,2) e utilizzando le formule ricorsive ricavate in precedenza, il metodo di Jacobi stavolta non converge verso la soluzione! Iterazionexyz

62 Metodo di Gauss-Seidel (1) Consideriamo lo stesso sistema dellesempio precedente Lidea alla base del metodo di Gauss-Seidel è quella di velocizzare la ricerca della soluzione sfruttando i valori di ciascuna incognita, man mano che questi vengono calcolati

63 Metodo di Gauss-Seidel (2) La formula che permette di passare dalla k-esima alla (k+1)-esima iterazione sarà dunque la seguente: Anche in questo caso si parte da una soluzione di prova (x 0,y 0,z 0 ) e si procede iterativamente

64 Metodo di Gauss-Seidel (3) Partendo dai valori (x 0,y 0,z 0 )=(1,2,2) e utilizzando le formule ricorsive ricavate in precedenza, il metodo di Gauss-Seidel converge verso la soluzione in 6 iterazioni (con una precisione alla quinta cifra significativa) Iterazionexyz

65 Matrici a diagonale dominante Una matrice A è detta a diagonale dominante (per righe) in senso stretto se è verificata la condizione: Questo significa che in ciascuna riga lelemento che si trova sulla diagonale è in valore assoluto maggiore della somma dei valori assoluti degli altri elementi In maniera analoga si definiscono le matrici a diagonale dominante per colonne In questo caso, considerata ciascuna colonna, lelemento che si trova sulla diagonale deve essere in valore assoluto maggiore della somma dei valori assoluti degli altri elementi Teorema: una matrice a diagonale dominante è non singolare

66 Esempio Consideriamo il sistema visto negli esempi precedenti: Come si può facilmente verificare, la matrice A è strettamente a diagonale dominante (per righe) Se però riscriviamo il sistema scambiando la prima e lultima equazione si ha: In questo caso, invece, la matrice A non è più strettamente a diagonale dominante

67 Condizione sufficiente di convergenza Se la matrice dei coefficienti A è strettamente a diagonale dominante, allora il sistema Ax=b ammette ununica soluzione Si può dimostrare che in tal caso la procedura di Jacobi converge verso la soluzione, comunque si scelga il vettore x 0 di partenza Lo stesso risultato vale anche per il metodo di Gauss-Seidel In generale, il metodo di Gauss-Seidel converge più velocemente rispetto al metodo di Jacobi, e quindi viene preferito Vi sono però dei casi in cui il metodo di Jacobi converge, mentre il metodo di Gauss-Seidel non converge!

68 Formalismo generale Dato il sistema Ax=b, le formule generali utilizzate per le iterazioni di Jacobi e di Gauss-Seidel sono le seguenti: Iterazione di Jacobi: Iterazione di Gauss-Seidel:

69 Criterio di convergenza Per fermare la procedura iterativa occorre che il vettore x (k+1) sia sufficientemente vicino al vettore x (k) Si va quindi a valutare la distanza tra i due vettori e si richiede che essa sia minore di un valore di soglia prefissato ε Possibili condizioni di convergenza: Condizione sulla norma euclidea: Condizione sulla norma generalizzata: La condizione sulla norma generalizzata è più forte di quella sulla norma euclidea


Scaricare ppt "Introduzione Un sistema di equazioni algebriche lineari ha la forma seguente: le N incognite x 1,x 2,...,x N sono legate da M equazioni lineari le quantità"

Presentazioni simili


Annunci Google