- Forklaring ved hjælp af en enkel sag
- Trin til at følge
- Analyse af metoden
- Applikationer
- Eksempler på Gauss-Seidel-metoden
- - Eksempel 1
- Løsning
- - Eksempel 2
- Løsning
- - Eksempel 3
- Løsning
- - Eksempel 4
- Løsning
- Referencer
Den Gauss-Seidel metode er en iterativ procedure for at finde omtrentlige løsninger til et system af lineære algebraiske ligninger med arbitrært valgt præcision. Metoden anvendes til firkantede matricer med ikke-nulelementer i deres diagonaler, og konvergens er garanteret, hvis matrixen er diagonalt dominerende.
Det blev skabt af Carl Friedrich Gauss (1777-1855), der gav en privat demonstration til en af sine studerende i 1823. Den blev senere formelt udgivet af Philipp Ludwig von Seidel (1821-1896) i 1874, deraf navnet af begge matematikere.
Figur 1. Gauss-Seidel-metoden konvergerer hurtigt for at opnå opløsningen af et ligningssystem. Kilde: F. Zapata.
For en fuldstændig forståelse af metoden er det nødvendigt at vide, at en matrix er diagonalt dominerende, når den absolutte værdi af diagonalelementet i hver række er større end eller lig med summen af de absolutte værdier for de andre elementer i den samme række.
Matematisk udtrykkes det sådan:
Forklaring ved hjælp af en enkel sag
For at illustrere, hvad Gauss-Seidel-metoden består af, vil vi tage et simpelt tilfælde, hvor værdierne af X og Y kan findes i 2 × 2-systemet med lineære ligninger vist nedenfor:
5X + 2Y = 1
X - 4Y = 0
Trin til at følge
1- For det første er det nødvendigt at afgøre, om konvergensen er sikker. Det bemærkes straks, at det faktisk er et diagonalt dominerende system, da den første koefficient i den første række har en højere absolut værdi end de andre i den første række:
-5 -> - 2-
Ligeledes er den anden koefficient i den anden række også diagonalt dominerende:
--4 -> - 1-
2- Variablerne X og Y ryddes:
X = (1 - 2Y) / 5
Y = X / 4
3 - Der placeres en vilkårlig startværdi kaldet "seed": Xo = 1, I = 2.
4-Iterationen begynder: at opnå den første tilnærmelse X1, Y1, frøet er substitueret i den første ligning i trin 2, og resultatet i den anden ligning i trin 2:
X1 = (1 - 2 I) / 5 = (1 - 2 × 2) / 5 = -3/5
Y1 = X1 / 4 = (-3/5) / 4 = -3/20
5- Vi fortsætter på en lignende måde for at opnå den anden tilnærmelse af løsningen af ligningssystemet:
X2 = (1 - 2 Y1) / 5 = (1 - 2x (-3/20)) / 5 = 13/50
Y2 = X2 / 4 = (13/50) / 4 = 13/200
6- Tredje iteration:
X3 = (1 - 2 Y2) / 5 = (1 - 2 (13/200)) / 5 = 87/500
Y3 = X3 / 4 = (87/500) / 4 = 87/2000
7- Fjerde iteration som den sidste iteration af denne illustrative sag:
X4 = (1 - 2 Y3) / 5 = (1 - 2 (87/2000)) / 5 = 913/5000
Y4 = X4 / 4 = (913/5000) / 4 = 913/20000
Disse værdier stemmer ganske godt overens med den løsning, der findes ved andre opløsningsmetoder. Læseren kan hurtigt tjekke det ved hjælp af et online matematikprogram.
Analyse af metoden
Som det kan ses, skal Gauss-Seidel-metoden de omtrentlige værdier, der er opnået for den forrige variabel i det samme trin, erstattes med den følgende variabel. Dette adskiller det fra andre iterative metoder såsom Jacobi, hvor hvert trin kræver tilnærmelser fra det forrige trin.
Gauss-Seidel-metoden er ikke en parallel procedure, mens Gauss-Jordan-metoden er. Det er også grunden til, at Gauss-Seidel-metoden har en hurtigere konvergens - i færre trin - end Jordan-metoden.
Hvad angår den diagonalt dominerende matrixtilstand, er dette ikke altid tilfredsstillende. I de fleste tilfælde er det blot at udveksle rækkerne fra det originale system tilstrækkelig til, at betingelsen er opfyldt. Desuden konverterer metoden næsten altid, selv når den diagonale dominansbetingelse ikke er opfyldt.
Det forrige resultat opnået ved fire iterationer af Gauss-Seidel-metoden kan skrives i decimalform:
X4 = 0,1826
Y4 = 0,04565
Den nøjagtige løsning på det foreslåede ligningssystem er:
X = 2/11 = 0,1818
Y = 1/22 = 0,04545.
Så med kun 4 iterationer får du et resultat med en tusindedels præcision (0,001).
Figur 1 illustrerer, hvor successive iterationer hurtigt konvergerer til den nøjagtige løsning.
Applikationer
Gauss-Seidel-metoden er ikke begrænset til kun 2 × 2-system med lineære ligninger. Den foregående procedure kan generaliseres for at løse et lineært system af n-ligninger med n ukendte, som er repræsenteret i en matrix som denne:
A X = b
Hvor A er en nxn-matrix, mens X er vektoren n-komponenterne i de n-variabler, der skal beregnes; og b er en vektor, der indeholder værdierne for de uafhængige udtryk.
For at generalisere sekvensen af iterationer anvendt i det illustrative tilfælde på et nxn-system, hvorfra variablen Xi ønsker at blive beregnet, anvendes følgende formel:
I denne ligning:
- k er indekset for den værdi, der er opnået i iteration k.
-k + 1 angiver den nye værdi i det følgende.
Det endelige antal iterationer bestemmes, når den i iteration k + 1 opnåede værdi afviger fra den, der blev opnået umiddelbart før, med en mængde ε, der er nøjagtigt den ønskede præcision.
Eksempler på Gauss-Seidel-metoden
- Eksempel 1
Skriv en generel algoritme, der gør det muligt at beregne vektoren af omtrentlige opløsninger X af et lineært ligningssystem nxn, givet matrixen for koefficienter A, vektoren med uafhængige udtryk b, antallet af iterationer (i ter) og den indledende værdi eller "frø "af vektoren X.
Løsning
Algoritmen består af to "Til" -cyklusser, den ene for antallet af iterationer og den anden for antallet af variabler. Det ville være som følger:
For k ∊
For jeg ∊
X: = (1 / A) * (b - ∑ j = 1 n (A * X) + A * X)
- Eksempel 2
Kontroller driften af den forrige algoritme gennem dens anvendelse i den gratis og fri brug af matematiske software SMath Studio, tilgængelig til Windows og Android. Tag som et eksempel tilfældet med 2 × 2-matrixen, der hjalp os med at illustrere Gauss-Seidel-metoden.
Løsning
Figur 2. Opløsning af ligningssystemet i eksemplet 2 x 2 ved hjælp af SMath Studio-softwaren. Kilde: F. Zapata.
- Eksempel 3
Anvend Gauss-Seidel-algoritmen for det følgende 3 × 3 ligningssystem, som tidligere er blevet ordnet på en sådan måde, at koefficienterne for diagonalen er dominerende (det vil sige en større absolut værdi end de absolutte værdier af koefficienterne for den samme række):
9 X1 + 2 X2 - X3 = -2
7 X1 + 8 X2 + 5 X3 = 3
3 X1 + 4 X2 - 10 X3 = 6
Brug nullvektoren som et frø og overvej fem iterationer. Kommenter resultatet.
Løsning
Figur 3. Opløsning af ligningssystemet i løst eksempel 3 ved hjælp af SMath Studio. Kilde: F. Zapata.
For det samme system med 10 iterationer i stedet for 5 opnås følgende resultater: X1 = -0.485; X2 = 1,0123; X3 = -0,3406
Dette fortæller os, at fem iterationer er nok til at opnå tre decimaler med præcision, og at metoden hurtigt konvergerer til løsningen.
- Eksempel 4
Brug Gauss-Seidel-algoritmen, der er givet ovenfor, og find løsningen på 4 × 4 ligningssystemet nedenfor:
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
For at starte metoden skal du bruge dette frø:
x1 = 0, x2 = 0, x3 = 0 og x4 = 0
Overvej 10 iterationer og estimer fejlen i resultatet sammenlignet med iteration nummer 11.
Løsning
Figur 4. Opløsning af ligningssystemet i løst eksempel 4 ved hjælp af SMath Studio. Kilde: F. Zapata.
Når man sammenligner med den næste iteration (nummer 11), er resultatet identisk. De største forskelle mellem de to iterationer er i størrelsesordenen 2 × 10 -8, hvilket betyder, at den viste løsning har en præcision på mindst syv decimaler.
Referencer
- Iterative løsningsmetoder. Gauss-Seidel. Gendannes fra: cimat.mx
- Numeriske metoder. Gauss-Seidel. Gendannes fra: test.cua.uam.mx
- Numerisk: Gauss-Seidel-metode. Gendannes fra: aprendeenlinea.udea.edu.co
- Wikipedia. Gauss-Seidel-metode. Gendannes fra: en. wikipedia.com
- Wikipedia. Gauss-Seidel-metode. Gendannet fra: es.wikipedia.com