Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


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

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

2 Metody rozwiązywania układów równań liniowych 2 Tematem wykładu są metody skończone oraz iteracyjne rozwiązywania układów równań liniowych postaci: Ax=b gdzie:jest n x n wymiarową macierzą danym wektorem wyrazów wolnych- szukanym rozwiązaniem

3 Metoda Eliminacji Gaussa 3 GAUSS Carl Friedrich (1777–1855 Matematyk niemiecki nazwany przez współczesnych „Princeps Mathematicorum” (książę matematyków); był również astronomem, geodetą i fizykiem. W 1799 w swojej rozprawie doktorskiej pierwszy ściśle udowodnił zasadnicze twierdzenie algebry. W „Disquisitiones arithmeticae” (1801) podał teorię kongruencji kwadratowych oraz teorię form i reszt oraz kontrukcję17-kąta foremnego, będącego wynikiem prac nad zagadnieniem podziału okręgu. W astronomii obliczył orbitę odkrytej w 1801 przez G. Piazziego pierwszej planetoidy – Ceres, układając i rozwiązując równanie ósmego stopnia. Od 1807 profesor Uniwersytetu w Getyndze i dyrektor miejscowego Obserwatorium Astronomicznego. Rezultatami jego zainteresowań wiekowymi perturbacjami planet były „Theoria motus corporum coelestium...” (1809), rozprawa o przyciąganiu ogólnych elipsoid (1813), rozprawa o kwadraturze mechanicznej (1814) i studia nad perturbacjami wiekowymi (1814). W tym okresie (1812) prowadził badania nad szeregiem hipergeometrycznym. Poczynając od 1820 interesował się geodezją, stosując do triangulacji metodę najmniejszych kwadratów (1821,1823). Około 1816 Gauss odkrył geometrię nieeuklidesową. Zajmował się również równaniami różniczkowymi i teorią potencjału (1839).

4 Metoda Eliminacji Gaussa 4 Wykorzystano materiały szkoleniowe prof. Piotra A. Dybczyńskiego Układ równań można również zapisać przy pomocy jednej macierzy prostokątnej, powstałej przez doklejenie do macierzy A dodatkowej kolumny "prawych stron", wziętej z wektora B. Powstaje wtedy macierz prostokątna n na n+1

5 Metoda Eliminacji Gaussa 5 Metoda polega na eliminacji współczynników niewiadomych. Rozpoczynamy od pierwszego wiersza macierzy opisującej nasz układ równań (Rys.3). Zakładając, że element a 11 jest niezerowy, dzielimy wszystkie elementy pierwszego wiersza (wraz z wyrazem wolnym) przez a 11. W efekcie uzyskujemy wynik, jak na Rys.4

6 Metoda Eliminacji Gaussa 6 Teraz, wykorzystując ten nowo otrzymany pierwszy wiersz będziemy "produkowali" zera w całej kolumnie poniżej jedynki. W efekcie (Rys.5.) pod jedynką pojawi się zero, a pozostałe liczby w drugim wierszu (y xx i y x ) zmienią swoje wartości. Aby uzyskać zero bezpośrednio pod jedynką (w drugim wierszu, pierwszej kolumnie) odejmujemy od całego drugiego wiersza wiersz pierwszy, pomnożony przez a 21.

7 Metoda Eliminacji Gaussa 7 Nie będą to jednak wartości docelowe tylko wyniki pośrednie. Dopiero "produkowanie" jedynki zamiast elementu y 22 przekształci wiersz drugi do postaci docelowej. Odejmujemy od niego pierwszy wiersz pomnożony przez a 31, otrzymując wynik jak na Rys.6. Pojawia się kolejne zero w kolumnie pierwszej i kolejne tymczasowe współczynniki y ij na pozostałych miejscach w wierszu trzecim.

8 Metoda Eliminacji Gaussa 8 Dalej postępujemy tak samo z wierszem czwartym, piątym itd. aż do wiersza n-tego W wyniku otrzymamy układ jak na Rys. 7 Kolumna pierwsza składa się z jedynki na przekątnej (w miejscu elementu a 11 ) i z samych zer w pozostałych wierszach W ten sposób pierwszy wiersz i pierwsza kolumna otrzymały już postać docelową i w dalszych rachunkach nie będą już zmieniane. Zakończył się też pierwszy "krok" metody eliminacji Gaussa.

9 Metoda Eliminacji Gaussa 9 W następnym "kroku" przesuwamy się w dół i w prawo wzdłuż przekątnej, na miejsce elementu a 22, który teraz ma wartość y 22. Dzielimy cały wiersz przez y 22 i "produkujemy" kolejną jedynkę na przekątnej oraz docelowe wartości współczynników w ij w prawo od niej. Oczywiście optymalnie napisany program nie będzie dzielił elementów zerowych (w lewo od przekątnej), gdyż nie zmienia to ich wartości i jest zwykłym marnowaniem czasu. Wynik tej operacji widzimy na Rysunku 8

10 Metoda Eliminacji Gaussa 10 Dalej, jak w poprzednim "kroku", "produkujemy" zero w kolumnie drugiej wierszu trzecim, odejmując od wiersza trzeciego wiersz drugi, cały pomnożony przez y 32. Wynik widać na Rysunku 9 Postępujemy tak dalej z wierszem czwartym, piątym itd., otrzymując zera w całej kolumnie drugiej pod przekątną. Wynik widać na Rysunku 10

11 Metoda Eliminacji Gaussa 11 Kończymy w ten sposób drugi "krok" metody eliminacji Gaussa a w kolejnych "krokach", postępując tak samo, "produkujemy" jedynki na przekątnej części kwadratowej i zera poniżej. W końcu otrzymujemy docelową postać macierzy układu, przedstawioną na Rysunku 11. Opisany przez tę macierz układ daje się rozwiązać wprost "od dołu". Z ostatniego równania mamy x n = z n, potem wyliczamy x n-1 z wiersza poprzedniego itd.

12 Wybór elementu głównego 12 W trakcie realizacji metody eliminacji Gaussa wymaga się, by napotykane na przekątnej współczynniki były wszystkie różne od zera, bo musimy przez nie dzielić kolejne wiersze. Może się jednak zdarzyć, że napotkany w kolejnym kroku metody współczynnik na przekątnej (Rys. 12, czerwone kółko) jest równy zeru W takiej sytuacji pojawia się konieczność zamiany kolejności równań. Równanie takie zamieniamy zawsze wyszukując takie, które ma największą wśród pozostałych równań wartość bezwzględną na tym współczynniku. Taką operację warto robić przy każdym kroku a nie tylko w momencie znalezienia zera.

13 Gauss - przykład 13

14 Faktoryzacja macierzy 14 Faktoryzacja macierzy to rozkład macierzy na trójkątne mnożniki macierzowe. Jest zastosowana przy rozwiązaniu układów równań liniowych algebraicznych metodami bezpośrednimi Układy równań liniowych postaci gdzie A-macierz o wymiarach n x n, zaś b, x - wektory o odpowiednich wymiarach możemy rozwiązać między innymi metodą dekompozycji LU lub LL T. Pierwszym etapem jest faktoryzacja lub Drugim etapem jest rozwiązanie częściowe (dla macierzy L) układu metodą podstawienia bezpośredniego wyznaczamy y Trzecim etapem jest wyznaczenie x metodą podstawienia wstecznego. wyznaczamy x

15 Metoda dekompozycji LU 15 Znając czynniki L i U można rozwiązać układ Ax=b kosztem 2n 2 /2 operacji (eliminacja Gaussa wymaga natomiast operacji). I tak na przykład dla równań będziemy mieli 324 miliony i miliony operacji czyli 6000 razy więcej. Niech A będzie macierzą wymiaru n x n i niech A k oznacza macierz k x k, utworzoną z elementów początkowych k wierszy i kolumn z A Jeśli det(A k )≠0 (k=1,2, …, n-1), to istnieje jedyny rozkład A=LU na czynniki takie, że macierz L=[m ij ] jest macierzą trójkątną dolną i ma elementy m ii =1 (i=1, …, n), a macierz U = [u ij ] jest macierzą trójkątną górną. Zauważmy ponadto, że macierz U jest końcową macierzą trójkątną otrzymaną za pomocą eliminacji Gaussa.

16 Algorytm Doolitle’a rozkładu LU 16 Niech Okazuje się że rozłożenie macierzy na poszczególne elementy l i u jest proste, jeżeli przeprowadza się je w odpowiedniej kolejności odpowiadającej kolumnom macierzy A. Pierwsza kolumna: Aby znaleźć pierwszą kolumnę macierzy A, mnożymy kolejne wiersze L przez pierwszą kolumnę macierzy U. Ale ta kolumna ma tylko jeden element. Otrzymujemy: Z pierwszego z równań obliczamy u 11, a następnie z kolejnych l 21 l 31, …, l N1

17 Algorytm Doolitle’a rozkładu LU 17 Druga kolumna: Wyrażenia na elementy drugiej kolumny macierzy A powstają z przemnożenia kolejnych wierszy L przez drugą kolumnę U: Z pierwszego z tych równań obliczamy u 12. Wartości l.1 też już są znane, a więc jest możliwość wyznaczenia u 22 i następnych wartości l.

18 Przykład dekompozycji LU 18 Macierz A

19 Przykład dekompozycji LU 19 Macierz A po dekompozycji wygląda tak Rozwiązyjemy układ równań Ly=b

20 Przykład dekompozycji LU 20 Mając obliczone y, oraz macierz U, rozwiązujemy układ równań Ux=y

21 Dekompozycja Choleskiego 21 Faktoryzację tego typu można przeprowadzić w przypadku, gdy macierz A jest symetryczna i dodatnio określona. Niech będzie symetryczna i dodatnio określona Istnieje wówczas faktoryzacja taka, że C jest macierzą trójkątną dolną o elementach diagonalnych większych od zera. Znalezienie macierzy C jest o połowę szybsze, niż znalezienie dekompozycji LU

22 Dekompozycja Choleskiego 22 Algorytm podobny jest do algorytmu Doolitle’a Pierwsza kolumna macierzy A daje zależności: Z pierwszego równania obliczamy c 11 a z następnych pozostałe współczynniki c.

23 Dekompozycja Choleskiego 23 Algorytm dekompozycji Cholesky’ego można zapisać w postaci

24 Wyznaczanie macierzy odwrotnej 24 Przy założeniu, że macierz A o wymiarze n x n jest macierzą nieosobliwą, możemy wyznaczyć rozkład trójkątny macierzy A=LU tzn.: i obliczyć macierz odwrotną do A jako iloczyn macierzy U i L, czyli

25 Wyznaczanie macierzy odwrotnej 25 Macierz odwrotna do L jest także macierzą dolnotrójkątną: taką, że L L -1 = I Elementy l’ ij macierzy odwrotnej L -1 wyznaczamy ze wzorów: dla i > j, dla i = j, dla i < j, gdzie i=1,...,n, j=1,...,n.

26 Wyznaczanie macierzy odwrotnej 26 Macierz odwrotna do U jest macierzą górno-trójkątną: taką, że U U -1 =I. Elementy u’ ij macierzy odwrotnej U -1 wyznaczamy ze wzorów gdzie i=1,...,n, j=1,...,n.

27 Obliczanie wyznacznika macierzy 27 W celu obliczenia wyznacznika macierzy A dokonujemy rozkładu macierzy A metodą LU. Wówczas: W przypadku przestawiania wierszy macierzy A, wyznacznik ten należy pomnożyć przez (-1) s gdzie s jest łączną liczbą przestawień wierszy


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

Podobne prezentacje


Reklamy Google