Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wstęp do metod numerycznych

Podobne prezentacje


Prezentacja na temat: "Wstęp do metod numerycznych"— Zapis prezentacji:

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

2 Idea metod iteracyjnych
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 n2 komórek w pamięci operacyjnej oraz wykonania rzędu n3 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 103 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 n2 , 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
Niech ϕ : Rn → Rm będzie pewną funkcją odpowiednio wiele razy różniczkowalną i niech x ∈ Rn 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 ϕ : Rn → Rm będzie pewną funkcją, x ∈ Rn dokładną wartością argumentu, a ¯x ∈ Rn 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
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. 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. 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). Widzimy, że mała zmiana współczynników powoduje, że różnica rozwiązań jest ∼106 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
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 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 x1=0, x2=0.1 a rozwiązaniem układu równań Jest x1=0.17, x2=-0,22

7 Jak można poprawić uwarunkowanie układu?
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?
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
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-1b 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
Sprowadzimy układ równań Ax = B do postaci x = Cx + f rozwiązując pierwsze równanie układu względem x1 , drugie względem x2 , 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 x0, 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 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. JACOBI Carl G. J. ( ) 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 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 Rozwiązywany układ Ax=b można zapisać jako
(L+D+U) x = b Dx = -(L+U)x+b (2) 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: (3) gdzie: (4)

14 Metoda Jacobiego 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 Obliczymy następujący układ równań: 4x1 - x2 - 0.2x3 + 2x4 = 30 -1x1 + 5x2 - 2x4 = 0 0.2x1 + x2 + 10x3 - x4 = x2 - x3 + 4x4 = 5 Podzielmy teraz macierz A na sumę macierzy L + D + U

16 Przykład Obliczmy teraz macierz N = D-1
Obliczmy teraz macierz B = D-1(L+U) Rozpoczynamy od zerowego przybliżenia czyli x10 = 0, x20 = 0, x30 = 0, x40 = 0 Obliczmy pierwszą iterację metody x11 = 7,5 + 0,25x20 + 0,05x30 - 0,5x40  x11 = 7,5 x21 = 0 + 0,2x10 + 0,4x40  x21 = 0 x31 = ,02x10 - 0,1x20 + 0,1x40  x31 = -1 x41 = 1,25 + 0,5x20 + 0,25x30  x41 = 1,25 Druga iteracja x12 = 7,5 + 0,25x21 + 0,05x31 - 0,5x41  x12 = 6,825 x22 = 0 + 0,2x11 + 0,4x41  x22 = 2 x32 = ,02x11 - 0,1x21 + 0,1x41  x32 = -1,025 x42 = 1,25 + 0,5x21 + 0,25x31  x42 = 1

17 Ludwig Philipp von Seidel (1821 – 1896)
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 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 BGS była dobrze określona jest niezerowość wszystkich elementów diagonalnych macierzy A.

19 Metoda Gaussa - Seidla 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 Rozwiąż układ równań dany macierzami Skorzystamy ze wzoru
Podzielmy teraz macierz A na sumę macierzy L + D + U Obliczmy teraz macierz D-1

21 Przykład Obliczamy kolejne człony równania
Rozpoczynamy od zerowego przybliżenia czyli  x10 = 0, x20 = 0, x30 = 0, x40 = 0 Obliczmy pierwszą iterację metody, według przytoczonego na początku wzoru: x11 = 7,5 + 0,25x20 + 0,05x30 - 0,5x40 = 7,5 x21 = 0 + 0,2x11 + 0,4x40 = 1,5 x31 = ,02x11 - 0,1x21 + 0,1x40 = -1,30 x41 = 1,25 + 0,5x21 + 0,25x31 = 1,675 Druga iteracja x12 = 7,5 + 0,25x21 + 0,05x31 - 0,5x41 = 6,9725 x22 = 0 + 0,2x12 + 0,4x41  = 2,0645 x32 = ,02x12 - 0,1x22 + 0,1x41 = -1,1784 x42 = 1,25 + 0,5x22 + 0,25x32 = 1,98765

22 Metoda nadrelaksacji (SOR)
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 Ostatecznie gdzie

23 Metoda SOR 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-1b otrzymujemy kolejno:

24 Metoda SOR x(2)= -D-1(L+U)x(1)+D-1b= x(3)= -D-1(L+U)x(2)+D-1b=

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

26 Metoda SOR - przykład 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, , ], natomiast dla =1.1 mamy: x(2)= [0.5500, , ], x(3)= [0.9903, , ], x(4)= [1.0091, , ], x(5)= [0.9998, , ]. 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.

27 Literatura


Pobierz ppt "Wstęp do metod numerycznych"

Podobne prezentacje


Reklamy Google