- Explicație folosind un caz simplu
- Pași de urmat
- Analiza metodei
- Aplicații
- Exemple de metoda Gauss-Seidel
- - Exemplul 1
- Soluţie
- - Exemplul 2
- Soluţie
- - Exemplul 3
- Soluţie
- - Exemplul 4
- Soluţie
- Referințe
Metoda Gauss-Seidel este o procedură iterativă pentru găsirea soluțiilor aproximative la un sistem de ecuații algebice liniare cu o precizie aleasă arbitrar. Metoda este aplicată matricilor pătrate cu elemente diferite de la zero în diagonalele lor și convergența este garantată dacă matricea este dominantă în diagonală.
A fost creat de Carl Friedrich Gauss (1777-1855), care a dat o demonstrație privată unuia dintre studenții săi în 1823. Ulterior a fost publicat formal de Philipp Ludwig von Seidel (1821-1896) în 1874, de unde și numele a ambilor matematicieni.
Figura 1. Metoda Gauss-Seidel converge rapid pentru a obține soluția unui sistem de ecuații. Sursa: F. Zapata.
Pentru o înțelegere completă a metodei, este necesar să știm că o matrice este dominantă în diagonală atunci când valoarea absolută a elementului diagonal al fiecărui rând este mai mare sau egală cu suma valorilor absolute ale celorlalte elemente din același rând.
Matematic se exprimă astfel:
Explicație folosind un caz simplu
Pentru a ilustra în ce constă metoda Gauss-Seidel, vom lua un caz simplu, în care valorile X și Y pot fi găsite în sistemul 2 × 2 al ecuațiilor liniare prezentate mai jos:
5X + 2Y = 1
X - 4Y = 0
Pași de urmat
1- În primul rând, este necesar să se stabilească dacă convergența este sigură. Se observă imediat că, de fapt, este un sistem dominant în diagonală, deoarece în primul rând primul coeficient are o valoare absolută mai mare decât celelalte din primul rând:
-5 -> - 2-
De asemenea, al doilea coeficient din al doilea rând este, de asemenea, dominantă în diagonală:
--4 -> - 1-
2- Variabilele X și Y sunt șterse:
X = (1 - 2Y) / 5
Y = X / 4
3- Se pune o valoare inițială arbitrară, numită „sămânță”: Xo = 1, I = 2.
4-Începe iterația: pentru a obține prima aproximare X1, Y1, semința este înlocuită în prima ecuație a etapei 2 și rezultă în a doua ecuație a pasului 2:
X1 = (1 - 2 I) / 5 = (1 - 2 × 2) / 5 = -3/5
Y1 = X1 / 4 = (-3/5) / 4 = -3/20
5- Procedăm într-un mod similar pentru a obține a doua aproximare a soluției sistemului de ecuații:
X2 = (1 - 2 Y1) / 5 = (1 - 2x (-3/20)) / 5 = 13/50
Y2 = X2 / 4 = (13/50) / 4 = 13/200
6- A treia iterație:
X3 = (1 - 2 Y2) / 5 = (1 - 2 (13/200)) / 5 = 87/500
Y3 = X3 / 4 = (87/500) / 4 = 87/2000
7- A patra iterație, ca iterație finală a acestui caz ilustrativ:
X4 = (1 - 2 Y3) / 5 = (1 - 2 (87/2000)) / 5 = 913/5000
Y4 = X4 / 4 = (913/5000) / 4 = 913/20000
Aceste valori sunt destul de bine cu soluția găsită prin alte metode de rezoluție. Cititorul îl poate verifica rapid cu ajutorul unui program de matematică online.
Analiza metodei
După cum se poate observa, în metoda Gauss-Seidel, valorile aproximative obținute pentru variabila anterioară în aceeași etapă trebuie înlocuite în următoarea variabilă. Aceasta o diferențiază de alte metode iterative, cum ar fi cea a lui Jacobi, în care fiecare etapă necesită aproximări ale etapei anterioare.
Metoda Gauss-Seidel nu este o procedură paralelă, în timp ce metoda Gauss-Jordan este. Este și motivul pentru care metoda Gauss-Seidel are o convergență mai rapidă - în mai puțini pași - decât metoda Jordan.
În ceea ce privește condiția matricială dominantă în diagonală, aceasta nu este întotdeauna satisfăcută. Cu toate acestea, în cele mai multe cazuri, pur și simplu schimbarea rândurilor din sistemul inițial este suficientă pentru îndeplinirea condiției. Mai mult, metoda converge aproape întotdeauna, chiar și atunci când nu este îndeplinită condiția de dominanță diagonală.
Rezultatul anterior, obținut prin patru iterații ale metodei Gauss-Seidel, poate fi scris în formă zecimală:
X4 = 0,1826
Y4 = 0,04565
Soluția exactă la sistemul propus de ecuații este:
X = 2/11 = 0.1818
Y = 1/22 = 0,04545.
Deci cu doar 4 iterații obțineți un rezultat cu o mie de precizie (0,001).
Figura 1 ilustrează modul în care iterațiile succesive converg rapid la soluția exactă.
Aplicații
Metoda Gauss-Seidel nu este limitată doar la un sistem 2 × 2 de ecuații liniare. Procedura anterioară poate fi generalizată pentru a rezolva un sistem liniar de n ecuații cu n necunoscute, care este reprezentată într-o matrice ca aceasta:
A X = b
Unde A este o matrice nxn, în timp ce X este vectorul n componente ale celor n variabile care trebuie calculate; și b este un vector care conține valorile termenilor independenți.
Pentru generalizarea secvenței de iterații aplicate în cazul ilustrativ unui sistem nxn, din care variația Xi dorește să fie calculată, se va aplica următoarea formulă:
În această ecuație:
- k este indicele pentru valoarea obținută în iterație k.
-k + 1 indică noua valoare în următoarele.
Numărul final de iterații este determinat atunci când valoarea obținută în iterație k + 1 diferă de cea obținută imediat înainte, cu o cantitate ε care este tocmai precizia dorită.
Exemple de metoda Gauss-Seidel
- Exemplul 1
Scrieți un algoritm general care permite calcularea vectorului soluțiilor aproximative X al unui sistem liniar de ecuații nxn, având în vedere matricea coeficienților A, vectorul termenilor independenți b , numărul de iterații (i ter) și valoarea inițială sau „sămânță „a vectorului X .
Soluţie
Algoritmul constă din două cicluri „To”, unul pentru numărul de iterații și celălalt pentru numărul de variabile. Ar fi următorul:
Pentru k ∊
Pentru i ∊
X: = (1 / A) * (b - ∑ j = 1 n (A * X) + A * X)
- Exemplul 2
Verificați funcționarea algoritmului anterior prin aplicarea sa în software-ul matematic gratuit și gratuit de utilizat SMath Studio, disponibil pentru Windows și Android. Luăm ca exemplu cazul matricei 2 × 2 care ne-a ajutat să ilustrăm metoda Gauss-Seidel.
Soluţie
Figura 2. Soluția sistemului de ecuații a exemplului 2 x 2, folosind software-ul SMath Studio. Sursa: F. Zapata.
- Exemplul 3
Aplicați algoritmul Gauss-Seidel pentru următorul sistem de ecuații 3 × 3, care a fost ordonat anterior în așa fel încât coeficienții diagonalei să fie dominante (adică cu o valoare absolută mai mare decât valorile absolute ale coeficienților de același rând):
9 X1 + 2 X2 - X3 = -2
7 X1 + 8 X2 + 5 X3 = 3
3 X1 + 4 X2 - 10 X3 = 6
Utilizați vectorul nul ca sămânță și luați în considerare cinci iterații. Comentați rezultatul.
Soluţie
Figura 3. Soluția sistemului de ecuații din exemplul 3 rezolvat, folosind SMath Studio. Sursa: F. Zapata.
Pentru același sistem cu 10 iterații în loc de 5 se obțin următoarele rezultate: X1 = -0.485; X2 = 1.0123; X3 = -0.3406
Acest lucru ne spune că cinci iterații sunt suficiente pentru a obține trei zecimale de precizie și că metoda converg rapid la soluție.
- Exemplul 4
Folosind algoritmul Gauss-Seidel prezentat mai sus, găsiți soluția la sistemul 4 × 4 de ecuații date mai jos:
10 x1 - x2 + 2 x3 + 0 x4 = 6
-1 x1 + 11 x2 - 1 x3 + 3 x4 = 25
2 x1 - 1 x2 + 10 x3 - 1 x4 = -11
0 x1 + 3 x2 - 1 x3 + 8 x4 = 15
Pentru a începe metoda, folosiți această sămânță:
x1 = 0, x2 = 0, x3 = 0 și x4 = 0
Luați în considerare 10 iterații și estimați eroarea rezultatului, comparativ cu numărul de iterație 11.
Soluţie
Figura 4. Soluția sistemului de ecuații din exemplul 4 rezolvat, folosind SMath Studio. Sursa: F. Zapata.
Când se compară cu următoarea iterație (numărul 11), rezultatul este identic. Cele mai mari diferențe între cele două iterații sunt de ordinul 2 × 10 -8 , ceea ce înseamnă că soluția afișată are o precizie de cel puțin șapte zecimale.
Referințe
- Metode de soluție iterativă. Gauss-Seidel. Recuperat din: cimat.mx
- Metode numerice. Gauss-Seidel. Recuperat din: test.cua.uam.mx
- Numeric: metoda Gauss-Seidel. Recuperat din: aprendeenlinea.udea.edu.co
- Wikipedia. Metoda Gauss-Seidel. Recuperat din: en. wikipedia.com
- Wikipedia. Metoda Gauss-Seidel. Recuperat din: es.wikipedia.com