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

Slides:



Advertisements
Podobne prezentacje
OBLICZENIA NUMERYCZNE
Advertisements

Modelowanie i symulacja
Nieliniowa metoda najmniejszych kwadratów
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
IV Tutorial z Metod Obliczeniowych
Różniczkowanie numeryczne
Wzory Cramera a Macierze
Badania operacyjne. Wykład 2
Metody Numeryczne Wykład no 12.
Metody numeryczne wykład no 2.
Metody Numeryczne Wykład no 3.
Wykład no 11.
Problemy nieliniowe Rozwiązywanie równań nieliniowych o postaci:
Liniowość - kryterium Kryterium Znane jako zasada superpozycji
Dwie metody rozwiązywania układów równań liniowych:
Metoda węzłowa w SPICE.
Problemy nieliniowe Rozwiązywanie równań nieliniowych o postaci:
Dwie metody rozwiązywania układów równań liniowych:
Wyrównanie metodą zawarunkowaną z niewiadomymi Wstęp
OPORNOŚĆ HYDRAULICZNA, CHARAKTERYSTYKA PRZEPŁYWU
Sieci neuronowe jednokierunkowe wielowarstwowe
Metody matematyczne w Inżynierii Chemicznej
Metody numeryczne Wykład no 2.
Matematyka.
Metoda różnic skończonych I
Dane do obliczeń.
Metody matematyczne w Inżynierii Chemicznej
ETO w Inżynierii Chemicznej MathCAD wykład 4.. Analiza danych Aproksymacja danych.
Obserwatory zredukowane
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
II Zadanie programowania liniowego PL
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Zakładamy a priori istnienie rozwiązania α układu równań.
Modelowanie matematyczne jako podstawa obliczeń naukowo-technicznych:
Metody iteracyjne rozwiązywania układów równań liniowych
Sterowanie – metody alokacji biegunów II
Algebra Przestrzenie liniowe.
Źródła błędów w obliczeniach numerycznych
Rozwiązywanie liniowych układów równań metodami iteracyjnymi.
II Zadanie programowania liniowego PL
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
Metody matematyczne w Inżynierii Chemicznej
Ekonometryczne modele nieliniowe
Wyznaczniki, równania liniowe, przestrzenie liniowe Algebra 1
Wstęp do metod numerycznych
Metody Numeryczne Ćwiczenia 9
Tematyka zajęć LITERATURA
Wstęp do metod numerycznych
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.
Regresja liniowa Dany jest układ punktów
Matematyka Ekonomia, sem I i II.
Regresja liniowa Dany jest układ punktów
Analiza numeryczna i symulacja systemów
Metody rozwiązywania układów równań liniowych
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Treść dzisiejszego wykładu l Postać standardowa zadania PL. l Zmienne dodatkowe w zadaniu PL. l Metoda simpleks –wymagania metody simpleks, –tablica simpleksowa.
ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
Opracowanie Joanna Szymańska Konsultacja Bożena Hołownia.
Rozpatrzmy następujące zadanie programowania liniowego:
Metody matematyczne w Inżynierii Chemicznej
MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH
Wykład 4 (cz. 1) Pierwsze zastosowania modelowania molekularnego: lokalna i globalna minimalizacja energii potencjalnej.
Jednorównaniowy model regresji liniowej
Hiperpowierzchnia energii potencjalnej cząsteczki
Zapis prezentacji:

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

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

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.

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

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.

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.

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

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

Klasyczna faktoryzacja Choleskiego (A=LLT)

Faktoryzacja “bezpierwiastkowa” kod źródłowy

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

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

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

regresja nieważona regresja ważona

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

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.

regresja nieważona regresja ważona

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.

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.

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.

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

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

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

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

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.

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.