[calcolo numerico]confronto fra jacobi e gauss-seidel

Messaggioda dzcosimo » 24/10/2009, 14:47

con riferimento ai due metodi di jacobi e di gauss-seidel per la risoluzione di sistemi lineari iterativamente mi è sorto questo dubbio:
mi è stato detto e l'ho trovato anche scritto in un testo che in genere il secondo dei due metodi è migliore da un punto di vista computazionale poichè presenta velocità di convergenza asintotica prossima al quadrato rispetto a quella di jacobi[senza considerare la convenienza nell'occupazione di memoria].
il punto è che per calcolare la matrice H di jacobi mi è sufficiente prendere tutti gli elementi sulla diagonale della matrice A del sistema Ax=b e farne il reciproco mentre per calcolarmi quella di gauss-siedel mi devo calcolare l'inversa di una matrice costruita prendendo la matrice A e mettendo a zero tutti gli elementi non facenti parte della diagonale o della parte sotto la diagonale. Ma l'inversa per quanto io ne sappia si suole calcolare con il metodo di gauss-jordan il quale in pratica si tratta dell'evoluzione di uno dei metodi diretti di risoluzione dei sistemi lineari: quello di gauss.
Essendo H di g.s. piuttosto vicina ad A credo che il costo computazionale di calcolarne l'inversa sia dunque circa la metà di quello di calcolare l'inversa di A, e dunque in modo immediato la soluzione di A. Questo senza che io sia ancora partito con l'iterazione, che sì mi costerà molto meno rispetto a jacobi, ma che si va ad aggiungere al costo appena esplicato. Mi chiedo: è veramente così conveniente usare gauss-siedel rispetto a jacobi e- in quanto metodo iterativo- rispetto ad un qualunque metodo diretto?a questo punto non ha più senso calcolare direttamente A?
Avatar utente
dzcosimo
Senior Member
Senior Member
 
Messaggio: 50 di 1756
Iscritto il: 09/09/2008, 22:46
Località: Pisa

Messaggioda dzcosimo » 24/10/2009, 14:57

mi scuso, rettifico
per calcolare le H in jacobi devo anche moltiplicare per una matrice fatta dalla matrice A con gli elementi diagonali nulli, prodotto che da vita ad un metodo piuttosto veloce per calcolare la matrice H che in pratica si risolve nel calcolare n(n-1) divisioni.
al contrario la matrice di prima di g.s. deve essere moltiplicata per la triangolare superiore formata dagli elementi di A che si trovano sopra la diagonale, gli altri elementi tutti a zero
Avatar utente
dzcosimo
Senior Member
Senior Member
 
Messaggio: 52 di 1756
Iscritto il: 09/09/2008, 22:46
Località: Pisa


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite