- Wyjaśnienie za pomocą prostego przypadku
- Kroki do naśladowania
- Analiza metody
- Aplikacje
- Przykłady metody Gaussa-Seidela
- - Przykład 1
- Rozwiązanie
- - Przykład 2
- Rozwiązanie
- - Przykład 3
- Rozwiązanie
- - Przykład 4
- Rozwiązanie
- Bibliografia
Metoda Gaussa-Seidla to iteracyjna procedura znajdowania przybliżonych rozwiązań układu liniowych równań algebraicznych z dowolnie wybraną precyzją. Metodę stosuje się do macierzy kwadratowych z niezerowymi elementami na przekątnych, a zbieżność jest gwarantowana, jeśli macierz dominuje po przekątnej.
Został stworzony przez Carla Friedricha Gaussa (1777-1855), który w 1823 r. Dał prywatną demonstrację jednemu ze swoich uczniów. Został później oficjalnie opublikowany przez Philippa Ludwiga von Seidla (1821-1896) w 1874 r., Stąd nazwa obu matematyków.

Rysunek 1. Metoda Gaussa-Seidla szybko się zbiega, aby otrzymać rozwiązanie układu równań. Źródło: F. Zapata.
Aby w pełni zrozumieć tę metodę, należy wiedzieć, że macierz dominuje po przekątnej, gdy wartość bezwzględna elementu przekątnego każdego rzędu jest większa lub równa sumie wartości bezwzględnych innych elementów tego samego rzędu.
Matematycznie wyraża się to następująco:

Wyjaśnienie za pomocą prostego przypadku
Aby zilustrować, na czym polega metoda Gaussa-Seidla, weźmiemy prosty przypadek, w którym wartości X i Y można znaleźć w układzie równań liniowych 2 × 2 pokazanym poniżej:
5X + 2Y = 1
X - 4Y = 0
Kroki do naśladowania
1- W pierwszej kolejności należy określić, czy konwergencja jest bezpieczna. Od razu widać, że w efekcie jest to układ dominujący po przekątnej, ponieważ w pierwszym rzędzie pierwszy współczynnik ma wyższą wartość bezwzględną niż pozostałe w pierwszym rzędzie:
-5 -> - 2-
Podobnie drugi współczynnik w drugim rzędzie jest również dominujący po przekątnej:
--4 -> - 1-
2- Zmienne X i Y są usuwane:
X = (1 - 2Y) / 5
Y = X / 4
3- Umieszczana jest dowolna wartość początkowa, zwana „ziarnem”: Xo = 1, I = 2.
4-Rozpoczyna się iteracja: aby otrzymać pierwsze przybliżenie X1, Y1, ziarno jest podstawiane w pierwszym równaniu z kroku 2, a wynik w drugim równaniu z kroku 2:
X1 = (1 - 2 I) / 5 = (1 - 2 × 2) / 5 = -3/5
Y1 = X1 / 4 = (-3/5) / 4 = -3/20
5- W podobny sposób postępujemy, aby otrzymać drugie przybliżenie rozwiązania układu równań:
X2 = (1 - 2 Y1) / 5 = (1 - 2x (-3/20)) / 5 = 13/50
Y2 = X2 / 4 = (13/50) / 4 = 13/200
6- Trzecia iteracja:
X3 = (1 - 2 Y2) / 5 = (1 - 2 (13/200)) / 5 = 87/500
Y3 = X3 / 4 = (87/500) / 4 = 87/2000
7- Czwarta iteracja, jako ostatnia iteracja tego przykładowego przypadku:
X4 = (1 - 2 Y3) / 5 = (1 - 2 (87/2000)) / 5 = 913/5000
Y4 = X4 / 4 = (913/5000) / 4 = 913/20000
Wartości te dość dobrze zgadzają się z rozwiązaniem znalezionym przez inne metody rozdzielczości. Czytelnik może to szybko sprawdzić za pomocą programu matematycznego online.
Analiza metody
Jak widać, w metodzie Gaussa-Seidela przybliżone wartości uzyskane dla poprzedniej zmiennej w tym samym kroku należy podstawić w następnej zmiennej. To odróżnia ją od innych metod iteracyjnych, takich jak metoda Jacobiego, w której każdy krok wymaga przybliżeń z poprzedniego etapu.
Metoda Gaussa-Seidla nie jest procedurą równoległą, podczas gdy metoda Gaussa-Jordana jest. Jest to również powód, dla którego metoda Gaussa-Seidela ma szybszą zbieżność - w mniejszej liczbie kroków - niż metoda Jordana.
Jeśli chodzi o warunek macierzy dominującej po przekątnej, nie zawsze jest on spełniony. Jednak w większości przypadków zwykła zamiana wierszy z oryginalnego systemu jest wystarczająca, aby warunek został spełniony. Ponadto metoda jest prawie zawsze zbieżna, nawet jeśli warunek dominacji po przekątnej nie jest spełniony.
Poprzedni wynik, uzyskany przez cztery iteracje metody Gaussa-Seidela, można zapisać w postaci dziesiętnej:
X4 = 0,1826
Y4 = 0,04565
Dokładne rozwiązanie proponowanego układu równań to:
X = 2/11 = 0,1818
Y = 1/22 = 0,04545.
Tak więc przy zaledwie 4 iteracjach otrzymujesz wynik z dokładnością do jednej tysięcznej (0,001).
Rysunek 1 ilustruje, jak kolejne iteracje szybko zbiegają się z dokładnym rozwiązaniem.
Aplikacje
Metoda Gaussa-Seidla nie ogranicza się tylko do układu równań liniowych 2 × 2. Poprzednią procedurę można uogólnić, aby rozwiązać liniowy układ n równań z n niewiadomymi, który jest przedstawiony w macierzy takiej jak ta:
A X = b
Gdzie A jest macierzą nxn, podczas gdy X jest wektorem n składników n zmiennych do obliczenia; a b jest wektorem zawierającym wartości niezależnych terminów.

Aby uogólnić sekwencję iteracji zastosowaną w przykładzie do systemu nxn, z którego chce się obliczyć zmienną Xi, zostanie zastosowany następujący wzór:

W tym równaniu:
- k jest wskaźnikiem wartości uzyskanej w iteracji k.
-k + 1 oznacza nową wartość poniżej.
Ostateczna liczba iteracji jest określana, gdy wartość uzyskana w iteracji k + 1 różni się od uzyskanej bezpośrednio wcześniej o wartość ε, która jest dokładnie pożądaną dokładnością.
Przykłady metody Gaussa-Seidela
- Przykład 1
Napisz ogólny algorytm, który pozwoli obliczyć wektor przybliżonych rozwiązań X liniowego układu równań nxn, biorąc pod uwagę macierz współczynników A, wektor składników niezależnych b , liczbę iteracji (i ter) oraz wartość początkową lub „ziarno” „z wektora X .
Rozwiązanie
Algorytm składa się z dwóch cykli „Do”, jednego dla liczby iteracji, a drugiego dla liczby zmiennych. Byłoby to następująco:
Dla k ∊
Dla i ∊
X: = (1 / A) * (b - ∑ j = 1 n (A * X) + A * X)
- Przykład 2
Sprawdź działanie poprzedniego algorytmu poprzez jego zastosowanie w darmowym i darmowym oprogramowaniu matematycznym SMath Studio, dostępnym dla systemów Windows i Android. Weźmy jako przykład przypadek macierzy 2 × 2, która pomogła nam zilustrować metodę Gaussa-Seidela.
Rozwiązanie

Rysunek 2. Rozwiązanie układu równań z przykładu 2 x 2 za pomocą programu SMath Studio. Źródło: F. Zapata.
- Przykład 3
Zastosuj algorytm Gaussa-Seidla dla następującego układu równań 3 × 3, który został wcześniej uporządkowany w taki sposób, aby współczynniki przekątnej były dominujące (czyli miały większą wartość bezwzględną niż wartości bezwzględne współczynników ten sam wiersz):
9 X1 + 2 X2 - X3 = -2
7 X1 + 8 X2 + 5 X3 = 3
3 X1 + 4 X2 - 10 X3 = 6
Użyj wektora zerowego jako ziarna i rozważ pięć iteracji. Skomentuj wynik.
Rozwiązanie

Rysunek 3. Rozwiązanie układu równań rozwiązanego przykładu 3 za pomocą SMath Studio. Źródło: F. Zapata.
Dla tego samego systemu z 10 iteracjami zamiast 5 otrzymujemy następujące wyniki: X1 = -0,485; X2 = 1,0123; X3 = -0,3406
To mówi nam, że wystarczy pięć iteracji, aby uzyskać dokładność do trzech miejsc po przecinku i że metoda szybko zbliża się do rozwiązania.
- Przykład 4
Korzystając z podanego wyżej algorytmu Gaussa-Seidla, znajdź rozwiązanie układu równań 4 × 4 podanych poniżej:
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
Aby rozpocząć metodę, użyj tego ziarna:
x1 = 0, x2 = 0, x3 = 0 i x4 = 0
Rozważ 10 iteracji i oszacuj błąd wyniku, porównując go z iteracją numer 11.
Rozwiązanie

Rysunek 4. Rozwiązanie układu równań rozwiązanego przykładu 4 za pomocą SMath Studio. Źródło: F. Zapata.
W porównaniu z następną iteracją (numer 11) wynik jest identyczny. Największe różnice między dwiema iteracjami są rzędu 2 × 10 -8 , co oznacza, że wyświetlane rozwiązanie ma dokładność co najmniej siedmiu miejsc po przecinku.
Bibliografia
- Metody rozwiązań iteracyjnych. Gauss-Seidel. Odzyskany z: cimat.mx
- Metody numeryczne. Gauss-Seidel. Odzyskany z: test.cua.uam.mx
- Numeryczna: metoda Gaussa-Seidla. Odzyskany z: aprendeenlinea.udea.edu.co
- Wikipedia. Metoda Gaussa-Seidla. Odzyskane z: en. wikipedia.com
- Wikipedia. Metoda Gaussa-Seidla. Odzyskany z: es.wikipedia.com
