Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wstęp do metod numerycznych Wykład 5 Rozwiązywanie układów równań liniowych -metody iteracyjne 1 dr inż. Wojciech Bieniecki Instytut Matematyki i Informatyki.

Podobne prezentacje


Prezentacja na temat: "Wstęp do metod numerycznych Wykład 5 Rozwiązywanie układów równań liniowych -metody iteracyjne 1 dr inż. Wojciech Bieniecki Instytut Matematyki i Informatyki."— Zapis prezentacji:

1 Wstęp do metod numerycznych Wykład 5 Rozwiązywanie układów równań liniowych -metody iteracyjne 1 dr inż. Wojciech Bieniecki Instytut Matematyki i Informatyki

2 Idea metod iteracyjnych 2 Na poprzednim wykładzie przedstawiono najważniejsze metody skończone rozwiązywania układów równań liniowych. Realizacja tych metod dla układu n x n wymaga n 2 komórek w pamięci operacyjnej oraz wykonania rzędu n 3 działań arytmetycznych. Jeśli więc tylko n nie jest zbyt duże i układ jest dostatecznie dobrze uwarunkowany, to rozwiązanie zadania nie nastręcza żadnych trudności. W praktyce obliczeniowej pojawiają się jednak dosyć często układy liniowe, których wymiar n jest rzędu 10 3 lub nawet większy. Prawie zawsze macierze wielkich układów liniowych nie są macierzami pełnymi, ale rozrzedzonymi, tzn. mają wiele elementów zerowych. Jednym ze sposobów rozwiązywania wielkich układów równań jest stosowanie metod iteracyjnych, które zakładają jedynie możliwość mnożenia dowolnego wektora przez macierz układu (lub przez macierz od niej pochodzącą). Jeśli macierz jest rozrzedzona, to mnożenie takie wymaga wykonania około n działań arytmetycznych a nie n 2, jak w przypadku ogólnym. Zaletą metod iteracyjnych jest również możliwość wyznaczenia przybliżenia rozwiązania z zadaną dokładnością, niekiedy kosztem istotnie mniejszym od kosztu metod skończonych. Dla niektórych zadań metody iteracyjne są więc efektywniejsze.

3 Uwarunkowanie zadania numerycznego 3 Niech ϕ : R n → R m będzie pewną funkcją odpowiednio wiele razy różniczkowalną i niech x ∈ R n Definicja: Mówimy, ze zagadnienie obliczenia ϕ(x) jest numerycznie dobrze uwarunkowane, jeżeli niewielkie względne zmiany danych dają niewielkie względne zmiany rozwiązania. Zagadnienia, które nie są numerycznie dobrze uwarunkowane, nazywamy źle uwarunkowanymi. Niech ϕ : R n → R m będzie pewną funkcją, x ∈ R n dokładną wartością argumentu, a ¯x ∈ R n znanym numerycznym przybliżeniem x. Definicja: Jeżeli istnieje κ ∈ R taka, że nazywamy ją współczynnikiem uwarunkowania zagadnienia wyliczenia wartości ϕ(·) (względem zadanych norm).

4 Współczynnik uwarunkowania 4 Współczynnik uwarunkowania mówi jak bardzo błąd względny wyniku obliczeń “przekracza” błąd względny samej różnicy przybliżenia i wartości dokładnej. Rozważmy następujące układy równań: Współczynniki tych układów równań różnią się co najwyżej o = 2 · 10−5. Rozwiązaniem pierwszego są liczby (1, 1), drugiego — liczby (10, −2). Spodziewamy się, ze jeżeli przybliżenie znacznie różni się od wartości dokładnej, także wyniki obliczeń będą znacznie różnić się. W zagadnieniach numerycznie źle uwarunkowanych może się zdarzyć że nawet niewielkie odchylenie przybliżenia od wartości dokładnej doprowadzi do znacznej różnicy wyników. Widzimy, że mała zmiana współczynników powoduje, że różnica rozwiązań jest ∼ 10 6 razy większa, niż zaburzenie współczynników. Powyższe układy równań są źle uwarunkowane.

5 Uwarunkowanie zadania rozwiązywania układu równań liniowych 5 Wskaźnikiem uwarunkowania zadania ze względu na zaburzenie kolumny wyrazów wolnych jest wielkość W drugim przypadku badamy wrażliwość wektora rozwiązania  A na zaburzenia macierzy głównej układu zakładając, że wektor wyrazów wolnych nie jest zaburzony. Dla tego przypadku mamy nierówność

6 Przykład 6 Zbadajmy uwarunkowanie zadania rozwiązania następującego układu równań liniowych Obliczamy cond(A) Zatem Oznacza to, że błąd względny rozwiązania układu równań może być 289 razy większy niż błąd względny wektora wyrazów wolnych tego układu. Nie dziwi zatem fakt, że rozwiązaniem układu równań jest x 1 =0, x 2 =0.1 a rozwiązaniem układu równań Jest x1=0.17, x2=-0,22

7 Jak można poprawić uwarunkowanie układu? 7 Rozważmy układ równań Równania można zapisać w innej kolejności Odpowiada to permutacji wierszy macierzy układu równań, z jednoczesną permutacją kolumny wyrazów wolnych

8 Jak można poprawić uwarunkowanie układu? 8 Równania można dodać stronami, po pomnożeniu przez dowolną stałą różną od zera Odpowiada to zastąpieniu jednego wiersza macierzy układu równań przez dowolną kombinację liniową tego wiersza z innymi, z jednoczesną analogiczną operacją na kolumnie wyrazów wolnych We wszystkich równaniach można przestawić kolejność, w jakiej pojawiają się zmienne Odpowiada to permutacji kolumn macierzy układu równań, z jednoczesną permutacją kolumny niewiadomych

9 Metoda iteracji prostej 9 Jedną z najprostszych metod iteracyjnych jest metoda iteracji prostej. Polega ona na przejściu od danego układu równań liniowych Ax=b do równoważnego (tzn. mającego te same rozwiązania) układu: x=Bx+c (1) Sposób wyznaczenia macierzy B i wektora c zależy od rodzaju stosowanej metody iteracyjnej. Korzystając z (1) Wyznaczamy ciąg{x (i) }, i=1,2,3,... przybliżeń rozwiązania x=A -1 b ze wzoru: (2) Odejmując stronami równanie (1) od równania (2) otrzymujemy (3) a stąd: (4) gdzie:

10 Przykład iteracji prostej 10 Sprowadzimy układ równań Ax = B do postaci x = Cx + f rozwiązując pierwsze równanie układu względem x 1, drugie względem x 2, itd., przy założeniu, że elementy na głównej przekątnej są różne od zera. Otrzymujemy układ równoważny: Jako przybliżenie początkowe k = 1 przyjmujemy pewien dowolny wektor x 0, którego współrzędne wstawiamy po prawej stronie równania Ogólnie Jeżeli więc, to jest ono rozwiązaniem układu Ax = b Proces jest zbieżny, gdy elementy macierzy C są małe co do modułu. Współczynniki lezące na przekątnej macierzy A muszą być duże co do wartości bezwzględnej w porównaniu z pozostałymi współczynnikami (można zamieniać równania)

11 Metoda Jacobiego 11 JACOBI Carl G. J. ( ) Urodził się w Poczdamie. Naukę na Uniwersytecie Berlińskim rozpoczął w 1821r., kształcąc się jednocześnie na trzech kierunkach: filozofii, klasyce i matematyce. Ostatecznie poświęcił się matematyce. W 1825 uzyskał tytuł doktora i przedstawił Akademii Nauk w Berlinie dokument dotyczący funkcji iteracyjnych (opublikowany dopiero w 1961r.). W 1826r. przeniósł się do Królewca gdzie został mianowany profesorem nadzwyczajnym a później profesorem zwyczajnym matematyki. W 1842r. opuścił Królewiec i powrócił do Berlina. Jako następca Cauchy’ego wniósł wielki wkład do teorii wyznaczników. Jako pierwszy skorzystał z wyznacznika zwanego dziś jakobianem, znajdującego szerokie zastosowanie w matematyce i obliczeniach numerycznych. Opracował metodę numerycznego rozwiązywania układów równań liniowych, oraz metody wyznaczania wartości własnych i wektorów własnych macierzy. Zajmował się również teorią rozwiązywania równań różniczkowych (także cząstkowych), uzyskał szereg ważnych wyników w rachunku wariacyjnym. Ponadto prowadził badania wielomianów ortogonalnych oraz funkcji eliptycznych.

12 Metoda Jacobiego 12 Metody: Jacobiego, Gaussa-Seidla, nadrelaksacji (SOR) są wariantami metody iteracji prostej. Przedstawmy macierz wyjściowego układu w postaci: A=L+D+U (1) gdzie D jest macierzą diagonalną, L - macierzą dolną trójkątną, a U - macierzą górną trójkątną o zerowych elementach diagonalnych. Przykład

13 Metoda Jacobiego 13 Rozwiązywany układ Ax=b można zapisać jako (L+D+U) x = b Dx = -(L+U)x+b Jeśli macierz D jest nieosobliwa (jest tak np. w przypadku macierzy symetrycznej dodatnio określonej) to możemy przejść do układu równoważnego: gdzie: (2) (3) (4)

14 Metoda Jacobiego 14 Przekształcając równanie (2), które można zapisać w postaci: Dx (i+1) = -(L+U)x (i) +b otrzymujemy Po dalszych przekształceniach powyższego wzoru dochodzimy do zależności: Jako początkowe przybliżenie wybiera się często wektor x (0) = 0. Warunek konieczny i dostateczny zbieżności jest spełniony m.in. gdy A jest nieredukowalna i diagonalnie dominująca. Macierz A o wymiarze n x n nazywamy diagonalnie dominującą, jeśli dla i=1,2,...,n zachodzi nierówność

15 Przykład 15 Obliczymy następujący układ równań: 4x 1 - x x 3 + 2x 4 = 30 -1x 1 + 5x 2 - 2x 4 = 0 0.2x 1 + x x 3 - x 4 = x 2 - x 3 + 4x 4 = 5 Podzielmy teraz macierz A na sumę macierzy L + D + U

16 Przykład 16 Obliczmy teraz macierz N = D -1 Obliczmy teraz macierz B = D -1 (L+U) Rozpoczynamy od zerowego przybliżenia czyli x 1 0 = 0, x 2 0 = 0, x 3 0 = 0, x 4 0 = 0 Obliczmy pierwszą iterację metody x 1 1 = 7,5 + 0,25x ,05x ,5x 4 0  x 1 1 = 7,5 x 2 1 = 0 + 0,2x ,4x 4 0  x 2 1 = 0 x 3 1 = ,02x ,1x ,1x 4 0  x 3 1 = -1 x 4 1 = 1,25 + 0,5x ,25x 3 0  x 4 1 = 1,25 Druga iteracja x 1 2 = 7,5 + 0,25x ,05x ,5x 4 1  x 1 2 = 6,825 x 2 2 = 0 + 0,2x ,4x 4 1  x 2 2 = 2 x 3 2 = ,02x ,1x ,1x 4 1  x 3 2 = -1,025 x 4 2 = 1,25 + 0,5x ,25x 3 1  x 4 2 = 1

17 Ludwig Philipp von Seidel (1821 – 1896) 17 Niemiecki matematyk, fizyk i astronom. W 1848 opracował (wraz z Gaussem) metodę rozwiązywania równań macierzowych. W 1854 został profesorem w Monachium. Pracował nad teorią optyki, określił parametry dotyczące załamania i dyspersji światła dla różnych materiałów. W latach , we współpracy z C.A. Steinheilem, mierzył jasność planet i gwiazd stałych. Zajmował się również zastosowaniem rachunku prawdopodobieństwa w astronomii i medycynie.

18 Metoda Gaussa - Seidla 18 Załóżmy, że znamy już przybliżenie W metodzie Gaussa-Seidla następne przybliżenie x (i+1) wyznacza się tak, aby jego kolejne współrzędne spełniały równania Korzystając z przedstawienia macierzy A=L+D+U, możemy te zależności zapisać w następujący sposób: gdzie: Warunkiem na to, żeby macierz B GS była dobrze określona jest niezerowość wszystkich elementów diagonalnych macierzy A.

19 Metoda Gaussa - Seidla 19 Przekształcając równanie otrzymujemy następującą zależność pomiędzy współrzędnymi kolejnych przybliżeń: Pierwszy człon licznika dostajemy z rozwiązania poprzednich równań w bieżącej (i+1) iteracji. W tym tkwi źródło efektywności metody

20 Przykład 20 Rozwiąż układ równań dany macierzami Podzielmy teraz macierz A na sumę macierzy L + D + U Obliczmy teraz macierz D -1 Skorzystamy ze wzoru

21 Przykład 21 Obliczamy kolejne człony równania Rozpoczynamy od zerowego przybliżenia czyli x 1 0 = 0, x 2 0 = 0, x 3 0 = 0, x 4 0 = 0 Obliczmy pierwszą iterację metody, według przytoczonego na początku wzoru: x 1 1 = 7,5 + 0,25x ,05x ,5x 4 0 = 7,5 x 2 1 = 0 + 0,2x ,4x 4 0 = 1,5 x 3 1 = ,02x ,1x ,1x 4 0 = -1,30 x 4 1 = 1,25 + 0,5x ,25x 3 1 = 1,675 Druga iteracja x 1 2 = 7,5 + 0,25x ,05x ,5x 4 1 = 6,9725 x 2 2 = 0 + 0,2x ,4x 4 1 = 2,0645 x 3 2 = ,02x ,1x ,1x 4 1 = -1,1784 x 4 2 = 1,25 + 0,5x ,25x 3 2 = 1,98765

22 Metoda nadrelaksacji (SOR) 22 Modyfikacja metody Gaussa-Seidla, przyspieszająca zbieżność konstruowanego ciągu, polega na przemnożeniu poprawki przez odpowiednio dobraną liczbę  : Po przekształceniu tego równania mamy lub Ostateczniegdzie

23 Metoda SOR 23 Parametr  może przyjmować wartości co najwyżej z przedziału (0, 2), gdyż dla pozostałych metoda może nie być zbieżna dla pewnych przybliżeń początkowych. Dla  >1 jest to metoda kolejnych nadrelaksacji (SOR, od ang. successive over relaxation). Metody Jacobiego i Gaussa-Seidla można ewentualnie stosować do układów bardzo dobrze uwarunkowanych. Znacznie efektywniejsze, szczególnie dla zadań o dużym wskaźniku uwarunkowania, jest użycie metody SOR lub metody Czebyszewa. Przykład: Dla układu obliczono kilka przybliżeń metodami Jacobiego, Gaussa-Seidla i SOR. We wszystkich metodach przyjęto x (1) =0. Dla metody Jacobiego, korzystając ze wzoru: Dx (i+1) = -(L+U)x (i) +b a stąd x (i+1) = -D -1 (L+U)x (i) +D -1 b otrzymujemy kolejno:

24 Metoda SOR 24 x (2) = -D -1 (L+U)x (1) +D -1 b= x (3) = -D -1 (L+U)x (2) +D -1 b= x (4) = -D -1 (L+U)x (3) +D -1 b=[0.9375, , ], x (5) = -D -1 (L+U)x (4) +D -1 b=[0.9844,1.9688,0.9844].

25 Metoda SOR - przykład 25 Korzystając z metody Gaussa-Seidla określonej wzorami: x (i+1) = -(D+L) -1 Ux (i) +(D+L) -1 b wyznaczamy kolejne przybliżenia: x (2) = -(D+L) -1 Ux (1) +(D+L) -1 b=[0.5000, , ], x (3) = -(D+L) -1 Ux (2) +(D+L) -1 b=[0.9062, , ], x (4) = -(D+L) -1 Ux (3) +(D+L) -1 b=[0.9883, , ], x (5) = -(D+L) -1 Ux (4) +(D+L) -1 b=[0.9885, , ].

26 Metoda SOR - przykład 26 W przypadku wykorzystania metody SOR zdefiniowanej wzorem dla  =1.2 otrzymujemy kolejno: x (2) = [0.6000, , ], x (3) = [1.0740, , ], x (4) = [1.0105, , ], x (5) = [0.9926, , ], Dokładne rozwiązanie układu jest równe x=[1, 2, 1]. Z powyższych zestawień wynika więc, że metoda Jacobiego jest zbieżna najwolniej, natomiast najszybciej zbieżna jest metoda SOR w przypadku  =1.1. natomiast dla  =1.1 mamy: x (2) = [0.5500, , ], x (3) = [0.9903, , ], x (4) = [1.0091, , ], x (5) = [0.9998, , ].

27 Literatura 27


Pobierz ppt "Wstęp do metod numerycznych Wykład 5 Rozwiązywanie układów równań liniowych -metody iteracyjne 1 dr inż. Wojciech Bieniecki Instytut Matematyki i Informatyki."

Podobne prezentacje


Reklamy Google