Aiuto con gauss seidel

gianni301
ragazzi buongiorno,
chiedo il vostro aiuto perchè mi sono un po' incastrato.

ho un esercizio che devo risolvere con gauss seidel, ma la matrice che mi danno non è definita positiva.

chiedo come posso fare a risolverlo, io avrei pensato ad una fattorizzazione LU ma niente, matlab si rifiuta, chiedo se sono sulla buona strada o devo cambiare rotta.

grazie.buona giornata

Risposte
feddy
Non potresti usare Jacobi? In teoria non richiede che la matrice sia definita positiva.
Condizione sufficiente perché converga è che la matrice $A$ del sistema sia dominante per righe in senso stretto.

gianni301
l'esercizio mi dice di usare gauss seidel... :evil:

ti metto l'es

Esercizio 1 Si considerino la matrice A ed il vettore b seguenti:
A =[1 8 0;
      0 1 4;
      500 −1.5 −0.002]

b =[24;9;5;498.498]

Punto 1.1
Risolvere il sistema lineare Ax = b con il metodo di Gauss-Seidel ponendo la tolleranza del
test d’arresto tol=1.e-8, il numero massimo di iterazioni nmax=10 e x0 = 0. Rappresentare
graficamente la norma del residuo al variare delle iterazioni.


devo calcolare tutto in matlab

seb1
C'è qualcosa che non torna in quello che hai scritto: \(A\) è una matrice \(3\times3\), ma \(b\) è un vettore \(4\times1\).

gianni301
scusate nel copia incolla ci sono stati degli erroti :)

il vettore b è

b=[9;5;498.498]

seb1
Okay, speravo ti fossi sbagliato anche sulla matrice: lo schema diverge.:?

gianni301
:D la matrice è giusta.

per quello chiedevo aiuto... secondo voi posso cavarmela dicendo che non si può fare niente o c'è una qualche strada che mi può portare ad una soluzione? io pensavo di usare fattorizzazione LU su A però non saprei che matrici utilizzare dopo...

seb1
Non è ben chiaro cosa intendi:
\(\bullet\) magari un'altra via c'è, ma se ti è stato chiesto di utilizzare lo schema iterativo di Gauss-Seidel, percorrendo una strada alternativa, non staresti esattamente rispondendo al quesito;
\(\bullet\) di per sé la fattorizzazione LU non ti fornisce la soluzione del sistema lineare, però se vuoi adottarla nella risoluzione le matrici da considerare saranno proprio L e U, no? (Considera che tali matrici significano sostituzioni in avanti e all'indietro - così procedendo si giunge certamente alla soluzione.)
Resta, a parer mio, qualcosa di strano, perché i coefficienti di \(A\) sono alquanto particolari e "parlano" di convergenza.

gianni301
buongiorno,

grazie per l'aiuto...

per altra via intendo: se devo prima fare qualche operazione su A per applicare gauss-seidel come richiesto dall'esercizio..

per la fattorizzazione LU e le sostituzioni ok, ma intendevo usare questa per poi utilizzare gauss.(potrebbe essere una sciocchezza :D )

Resta, a parer mio, qualcosa di strano, perché i coefficienti di A sono alquanto particolari e "parlano" di convergenza.


questa tua ultima frase non l'ho ben capita :D

buona giornata

seb1
Nulla: da come era posto il problema e notando immediatamente la biciclicità della matrice avevo supposto (verificate le ulteriori condizioni) si trattasse di utilizzare Young-Varga etc. In realtà il fulcro dell'esercizio immagino stia sul condizionamento della matrice (in effetti l'ultima riga di \(A\) lo suggerisce).
"gianni30":
per la fattorizzazione LU e le sostituzioni ok, ma intendevo usare questa per poi utilizzare gauss.(potrebbe essere una sciocchezza :D )

Potrebbe :D Non so come dovrebbe aiutarti: le matrici L e U della decomposizione LU non hanno nulla a che fare con quelle che definiscono la matrice d'iterazione di Seidel.

gianni301
tu come mi suggeriresti di condizionare la matrice A.

si mi sa che la fattorizzazione LU la lascerò stare :-D

seb1
:? Utilizzi una terminologia scorretta, perciò non penso tu debba fare tanto. Dipende da quello che devi sapere l'appropriato svolgimento dell'esercizio. Prova a dare un occhio al programma

gianni301
Utilizzi una terminologia scorretta


perchè?

ho un'altra domanda... :D

Prova a dare un occhio al programma


che programma?

Dipende da quello che devi sapere l'appropriato svolgimento dell'esercizio


devo risolvere il sistema con gauss seidel, con matlab non riesco perchè mi da errore sulla matrice la quale non risulta definita positiva, chiedevo se potevo vedere questa matrice A in modo diverso perchè non so proprio come fare...

seb1
"gianni30":
che programma?
Il programma del corso, che dovresti un attimo confrontare perché fai sì che uno si ponga queste domande:
    [*:if3ni33i]perché considerare la mancata definita positività se \(A\) non è nemmeno simmetrica?[/*:m:if3ni33i]
    [*:if3ni33i]decomposizione LU per Seidel?[/*:m:if3ni33i]
    [*:if3ni33i]"condizionare" una matrice?[/*:m:if3ni33i][/list:u:if3ni33i]
    "gianni30":
    nmax=10
    è così? Forse quello che ti viene implicitamente chiesto non è risolvere il sistema lineare, ma mostrare, per mezzo dell'errore, che il metodo diverge, benché \(10\) iterate rimangano comunque poche.

gianni301
Forse quello che ti viene implicitamente chiesto non è risolvere il sistema lineare, ma mostrare, per mezzo dell'errore, che il metodo diverge,


vedendo anche gli altri esercizi, posso dire se posso o non posso risolvere il sistema motivando il tutto.

grazie per la tua disponibilità.

buona giornata

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.