Wstęp do metod numerycznych

Slides:



Advertisements
Podobne prezentacje
OBLICZENIA NUMERYCZNE
Advertisements

Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Macierze, wyznaczniki, odwracanie macierzy i wzory Cramera
Równanie różniczkowe zupełne i równania do niego sprowadzalne
IV Tutorial z Metod Obliczeniowych
CIĄGI.
mgr inż. Ryszard Chybicki Zespół Szkół Ponadgimnazjalnych
Metoda simpleks Simpleks jest uniwersalną metodą rozwiązywania zadań programowania liniowego. Jest to metoda iteracyjnego poprawiania wstępnego rozwiązania.
Metody rozwiązywania układów równań liniowych
Wzory Cramera a Macierze
Badania operacyjne. Wykład 2
Metody numeryczne wykład no 2.
Metody Numeryczne Wykład no 3.
Przykład: Dana jest linia długa o długości L 0 bez strat o stałych kilometrycznych L,C.Na początku linii zostaje załączona siła elektromotoryczna e(t),
Wykład no 11.
Dwie metody rozwiązywania układów równań liniowych:
Metoda węzłowa w SPICE.
ZLICZANIE cz. II.
„METODA FOURIERA DLA JEDNORODNYCH WARUNKÓW BRZEGOWYCH f(0)=f(a)=0”
Wyrównanie metodą zawarunkowaną z niewiadomymi Wstęp
1.
Metoda simpleks opracowanie na podstawie „Metody wspomagające podejmowanie decyzji w zarządzaniu” D. Witkowska, Menadżer Łódź Simpleks jest uniwersalną.
Metody numeryczne w chemii
OPORNOŚĆ HYDRAULICZNA, CHARAKTERYSTYKA PRZEPŁYWU
Metody matematyczne w Inżynierii Chemicznej
Metody numeryczne Wykład no 2.
Grupa 1 Sposoby rozwiązywania układów równań stopnia I z dwiema i z trzema niewiadomymi. Wykresy funkcji w szkole ponadgimnazjalnej.
Matematyka.
Metoda różnic skończonych I
KINEMATYKA MANIPULATORÓW I ROBOTÓW
Hipoteza cegiełek, k-ramienny bandyta, minimalny problem zwodniczy
Metody numeryczne SOWIG Wydział Inżynierii Środowiska III rok
Podstawy analizy matematycznej II
Zakładamy a priori istnienie rozwiązania α układu równań.
Wykład 2. Pojęcie regularnego odwzorowania powierzchni w powierzchnię i odwzorowania kartograficznego Wykład 2. Pojęcie regularnego odwzorowania powierzchni.
Metody iteracyjne rozwiązywania układów równań liniowych
Teoria sterowania 2012/2013Sterowalność - osiągalność Kazimierz Duzinkiewicz, dr hab. inż.Katedra Inżynierii Systemów Sterowania 1 Sterowalność - osiągalność
Podstawy analizy matematycznej I
II. Matematyczne podstawy MK
Ostyganie sześcianu Współrzędne kartezjańskie – rozdzielenie zmiennych
Sterowalność - osiągalność
Sterowanie – metody alokacji biegunów II
Algebra Przestrzenie liniowe.
Źródła błędów w obliczeniach numerycznych
Przekształcenia liniowe
Rozwiązywanie liniowych układów równań metodami iteracyjnymi.
METODA ELIMINACJI GAUSSA
Metody numeryczne szukanie pierwiastka metodą bisekcji
Rozwiązywanie układów równań liniowych różnymi metodami
METODA ELIMINACJI GAUSSA ASPEKTY NUMERYCZNE
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Metody matematyczne w Inżynierii Chemicznej
Wstęp do metod numerycznych
Wyznaczniki, równania liniowe, przestrzenie liniowe Algebra 1
Wstęp do metod numerycznych
Tematyka zajęć LITERATURA
Wstęp do metod numerycznych
Zagadnienie własne Macierz wektorów własnych V=(v1,v2,...,vn) przekształca zatem macierz A do postaci diagonalnej: W większości zastosowań w chemii i fizyce.
Metody rozwiązywania układów równań nieliniowych
Metody nieinkluzyjne: Metoda iteracji prostej.
WYKŁAD 8 FALE ELEKTROMAGNETYCZNE W OŚRODKU JEDNORODNYM I ANIZOTROPOWYM
Matematyka Ekonomia, sem I i II.
Metody rozwiązywania układów równań liniowych
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH Temat – 5 Modelowanie różniczkowe.
Treść dzisiejszego wykładu l Postać standardowa zadania PL. l Zmienne dodatkowe w zadaniu PL. l Metoda simpleks –wymagania metody simpleks, –tablica simpleksowa.
Matematyka przed egzaminem czyli samouczek dla każdego
Metody matematyczne w Inżynierii Chemicznej
Analiza numeryczna i symulacja systemów
jest najbardziej efektywną i godną zaufania metodą,
MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH
Zapis prezentacji:

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 http://wbieniec.kis.p.lodz.pl/pwsz

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.

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).

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 0.00002 = 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.

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ść

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

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

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

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:

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)

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. (1804-1851) 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.

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

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)

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ść

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 = -10 - 2x2 - x3 + 4x4 = 5 Podzielmy teraz macierz A na sumę macierzy L + D + U

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 = -1 - 0,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 = -1 - 0,02x11 - 0,1x21 + 0,1x41  x32 = -1,025 x42 = 1,25 + 0,5x21 + 0,25x31  x42 = 1

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 1859-62, 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.

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.

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

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

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 = -1 - 0,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 = -1 - 0,02x12 - 0,1x22 + 0,1x41 = -1,1784 x42 = 1,25 + 0,5x22 + 0,25x32 = 1,98765

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

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:

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

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, 1.6250, 0.9062], x(3)= -(D+L)-1Ux(2)+(D+L)-1b=[0.9062, 1.9531, 0.9883], x(4)= -(D+L)-1Ux(3)+(D+L)-1b=[0.9883, 1.9941, 0.9985], x(5)= -(D+L)-1Ux(4)+(D+L)-1b=[0.9885, 1.9993, 0.9998].

Metoda SOR - przykład W przypadku wykorzystania metody SOR zdefiniowanej wzorem dla =1.2 otrzymujemy kolejno: x(2)= [0.6000, 1.9800, 1.1940], x(3)= [1.0740, 2.0844, 0.9865], x(4)= [1.0105, 1.9822, 0.9974], x(5)= [0.9926, 2.0005, 1.0007], natomiast dla =1.1 mamy: x(2)= [0.5500, 1.8013, 1.0453], x(3)= [0.9903, 2.0297, 1.0036], x(4)= [1.0091, 2.0005, 0.9998], x(5)= [0.9998, 1.9997, 0.9999]. 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.

Literatura http://www.algorytm.org/procedury-numeryczne/