Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Metody rozwiązywania układów równań liniowych

Podobne prezentacje


Prezentacja na temat: "Metody rozwiązywania układów równań liniowych"— Zapis prezentacji:

1 Metody rozwiązywania układów równań liniowych

2 Metody skończone: Metoda Gaussa Metoda Gaussa-Jordana Metody Choleskiego Metoda Householdera Metoda sprzężonych gradientów Metody iteracyjne dla dużych układów równań: Metoda Jacobiego Metoda Gaussa-Seidla

3 Metoda eliminacji Gaussa z wyborem elementu głównego w kolumnie
Układ równań sprowadzamy do postaci trójkątnej Układ z macierzą trójkątną można następnie łatwo rozwiązać zaczynając od obliczenia wartości xn z n-tego równania, następnie wstawić xn do równania n-1 i wyliczyć z niego xn-1, następnie wstawić xn oraz xn-1 do równania n-2 i wyliczyć xn-2 aż do dotarcia do równania pierwszego i wyznaczenia x1.

4 Wybieramy równanie i takie, że |ai1| jest największym elementem w pierwszej kolumnie po czym przestawiamy i-te równanie na początek i eliminujemy x1 z równań od 2 do n. Procedurę powtarzamy z macierzą A(1) o rozmiarach (n-1)x(n-1) i wektorem b(1) o rozmiarze n-1, eliminując z nich drugą zmienną i otrzymując macierz A(2) o rozmiarach (n-2)x(n-2) i wektor b(2) o rozmiarze n-2. W ten sam sposób postępujemy z kolejnymi macierzami A(2), A(3),..., A(n-1) oraz wektorami b(2), b(3),..., b(n-1).

5 Dla j-tego kroku Po zakończeniu operacji otrzymujemy układ równań z macierzą trójkątną p jest liczbą przestawień wierszy macierzy A podczas sprowadzania układu równań do postaci trójkątnej.

6 Z otrzymanego układu równań z macierzą trójkątną wyznaczamy po kolei xn, xn-1,..., x1.
Wysiłek obliczeniowy (liczba mnożeń i dzieleń) w metodzie eliminacji Gaussa: Faktoryzacja macierzy A: n(n2-1)/3 operacji Przekształcenie wektora b: n(n-1)/2 operacji Obliczenie x: n(n+1)/2 operacji. Razem: n3/3+n2-n/3≈n3/3 operacji. Kod źródłowy metody eliminacji Gaussa.

7 Metody typu Choleskiego dla macierzy symetrycznych silnie nieosobliwych
LT D L L klasyczna metoda Choleskiego tylko dla macierzy dodatnio określonych.

8 Postępowanie przy rozwiązywaniu układów równań metodą faktoryzacji Choleskiego.
Wyznaczenie faktorów L i D. Układ przyjmuje postać LDLTx=b 2. Obliczenie pomocniczego wektora w. w=L-1b przez rozwiązanie układu równań Lw=b. Ponieważ L jest macierzą trójkątną dolną układ ten rozwiązuje się wyliczając kolejno w1, w2,…, wn podobnie jak w koncowym etapie eliminacji Gaussa. 3. Obliczenie z=D-1w (D jest macierzą diagonalną więc po prostu dzielimy wi przez dii. Ten etap nie występuje w klasycznej metodzie Choleskiego. 4. Obliczenie x poprzez rozwiązanie układu równań z macierzą trójkątną górną LTx=z Ten etap jest identyczny z ostatnim etapem metody eliminacji Gaussa. Metoda wymaga ok. n3/6 operacji (2 razy mniej niż metoda eliminacji Gaussa). Uwaga: klasyczna metoda Choleskiego wymaga ponadto n pierwiastkowań.

9 Klasyczna faktoryzacja Choleskiego (A=LLT)

10 Faktoryzacja “bezpierwiastkowa” kod źródłowy

11 Regresja nieliniowa f jest funkcją nieliniową względem parametrów p1, p2,…, pm.

12 Przykład problemu nieliniowego linearyzowalnego: kinetyka reakcji pierwszego rzędu

13 Przykład problemu nieliniowego nielinearyzowalngo: kinetyka reakcji pierwszego rzędu z produktem przejściowym

14 regresja nieważona regresja ważona

15 Metoda Newtona-Gaussa
Rozwijamy funkcję f dla każdego punktu pomiarowego w otoczeniu arbitralnego przybliżenia parametrów p0 w szereg Taylora

16 W ten sposób dostajemy funkcję liniową względem przyrostów parametrów dp(0). Macierz J nazywa się macierzą Jacobiego zagadnienia a wektor r wektorem reziduów.

17 regresja nieważona regresja ważona

18 Algorytm Newtona-Gaussa
Wybieramy przybliżenie parametrów p(0). Obliczamy wektor reziduów oraz sumę kwadratów odchyleń F(0). Obliczamy macierz Jacobiego a następnie macierz i wektor wyrazów wolnych układu równań. Obliczamy wektor przyrostów parametrów dp(0). Obliczamy p(1)=p(0)+dp(0) a następnie nową sumę kwadratów odchyleń. Jeżeli przyrosty parametrów są odpowiednio małe, zmiana sumy kwadratów odchyleń jest odpowiednio mała lub przekroczono dopuszczalną liczbę iteracji, kończymy procedurę. Jeżeli nie, przechodzimy do punktu 3 wstawiając p(1) za p(0) i F(1) za F(0). Zbieżność metody Gaussa jest na ogół rzędu pierwszego. Tylko jeżeli rezidua dla optymalnego rozwiązania są zerowe zbieżność jest kwadratowa. Szybkość zbieżności zależy bardzo silnie od wielkości końcowych reziduów.

19 Metoda Newtona-Gaussa może być niestabilna szczególnie jeżeli rezidua odpowiadające początkowym przybliżeniom parametrów są duże i wskaźnik uwarunkowania macierzy JTJ jest duży. Można ją jednak poprawić stosując skracanie przyrostów parametrów. Szukamy takiego a, że F(p(0)+adp(0))<F(p(0)). Teoretycznie takie a zawsze istnieje, ponieważ kierunek metody Newtona-Gaussa jest kierunkiem poprawy.

20 Wyznaczanie a: Metoda Hartleya: wyznaczamy a tak, żeby zminimalizować F jako funkcję a (minimalizacja kierunkowa) Metoda ta zwykle nie jest stosowana w takiej wersji ze względu na czasochłonność; zwykle kończy się jak tylko F(1)<F(0). Proste skracanie kroku: Zakładamy, że a=2-k gdzie k jest liczbą całkowitą dobraną tak, że F(1)<F(0). Jeżeli macierz JTJ jest źle uwarunkowana to zarówno metoda Hartleya jak i metoda skracania kroku działają bardzo wolno. Metodą sprawdzoną dla takich przypadków jest metoda Levenberga-Marquardta.

21 Metoda Levenberga-Marquardta (metoda Marquardta)
Zamiast układu równań normalnych z metody Newtona-Gaussa rozwiązujemy układ następujący: Macierz D jest dodatnią macierzą diagonalną; zwykle D=I lub D=diag{(JTJ)11,…,(JTJ)mm}. l dobiera się tak aby uzyskać zmniejszenie sumy kwadratów odchyleń w stosunku do poprzedniej iteracji. Dowód, że metoda jest metodą kierunku poprawy przebiega jak w przypadku metody Newtona-Gaussa ze skracaniem kroku. W pierwotniej wersji Levenberga a było dobierane tak aby uzyskać minimum F w funkcji l (kosztowne).

22 Metoda Marquardta: Na początku przyjmujemy l=l0. W każdej kolejnej iteracji przyjmujemy najpierw l(p)=l(p-1)/V. Obliczamy F(p)(l). Jeżeli F(p)(l)<F(p-1) przechodzimy do następnej iteracji z nową wartością l. Jeżeli F(p)(l)>=F(p-1) i nie przekroczono maksymalnej dopuszczalnej wartości liczby krokow modyfikacji l wstawiamy l:=l*V i przechodzimy do punktu 3. Jeżeli przekroczono maksymalną liczbę kroków kończymy optymalizację. Metoda Marquardta jest jedną z “najodporniejszych” metod minimalizacji sum kwadratów. Niepowodzenie optymalizacji jest na ogół sygnałem błędu w programie (najczęściej błędnemu obliczeniu pochodnych).

23 Wariancja resztowa: Macierz wariancji-kowariancji parametrów: Odchylenia standardowe:

24 Metoda Newtona w rozwiązywaniu problemu regresji nieliniowej
regresja nieważona regresja ważona Warunek konieczny minimum regresja nieważona regresja ważona

25 Otrzymujemy zatem układ m równań nieliniowych z m niewiadomymi, który można rozwiązać metodą Newtona. H – hesjan (Hessian) funkcji F. Macierz JTJ: dodatnio określona część hesjanu (występuje w metodzie Newtona-Gaussa.

26 Algorytm Newtona dla zagadnienia regresji nieliniowej:
Wybrać początkowe przybliżenia parametrów p(0). Dla k-tej iteracji obliczyć rezidua, funkcję minimalizowaną, macierz Jacobiego oraz drugie pochodne wielkości mierzonych względem parametrów. Rozwiązać układ równań H(k)Dp(k)=JT(k)r(k) Jeżeli ||Dp(k)||<e zakończyć proces iteracyjny, w przeciwnym przypadku wstawić p(k+1)=p(k)+Dp(k) i przejść do punktu 2. Metoda Newtona jest zbieżna kwadratowo, jeżeli hesjan w minimum jest nieosobliwy. Metoda Newtona różni się od metody Newtona-Gaussa tym, że linearyzuje się tutaj gradient funkcji minimalizowanej a nie od razu teoretyczną zależność pomiędzy zmiennymi objaśniającymi i niezależnymi. Metoda Newtona-Gaussa „gubi” drugie pochodne tych wielkości względem parametrów.


Pobierz ppt "Metody rozwiązywania układów równań liniowych"

Podobne prezentacje


Reklamy Google