Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Wstęp do metod numerycznych
Wykład 4 Rozwiązywanie układów równań liniowych dr inż. Wojciech Bieniecki Instytut Matematyki i Informatyki
2
Metody rozwiązywania układów równań liniowych
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
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). GAUSS Carl Friedrich (1777–1855
4
Metoda Eliminacji Gaussa
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
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 a11 jest niezerowy, dzielimy wszystkie elementy pierwszego wiersza (wraz z wyrazem wolnym) przez a11. W efekcie uzyskujemy wynik, jak na Rys.4
6
Metoda Eliminacji Gaussa
Teraz, wykorzystując ten nowo otrzymany pierwszy wiersz będziemy "produkowali" zera w całej kolumnie poniżej jedynki. Aby uzyskać zero bezpośrednio pod jedynką (w drugim wierszu, pierwszej kolumnie) odejmujemy od całego drugiego wiersza wiersz pierwszy, pomnożony przez a21. W efekcie (Rys.5.) pod jedynką pojawi się zero, a pozostałe liczby w drugim wierszu (yxx i yx) zmienią swoje wartości.
7
Metoda Eliminacji Gaussa
Nie będą to jednak wartości docelowe tylko wyniki pośrednie. Dopiero "produkowanie" jedynki zamiast elementu y22 przekształci wiersz drugi do postaci docelowej. Odejmujemy od niego pierwszy wiersz pomnożony przez a31, otrzymując wynik jak na Rys.6. Pojawia się kolejne zero w kolumnie pierwszej i kolejne tymczasowe współczynniki yij na pozostałych miejscach w wierszu trzecim.
8
Metoda Eliminacji Gaussa
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 a11) 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
W następnym "kroku" przesuwamy się w dół i w prawo wzdłuż przekątnej, na miejsce elementu a22, który teraz ma wartość y22. Dzielimy cały wiersz przez y22 i "produkujemy" kolejną jedynkę na przekątnej oraz docelowe wartości współczynników wij 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
Dalej, jak w poprzednim "kroku", "produkujemy" zero w kolumnie drugiej wierszu trzecim, odejmując od wiersza trzeciego wiersz drugi, cały pomnożony przez y32. 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
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 xn = zn, potem wyliczamy xn-1 z wiersza poprzedniego itd.
12
Wybór elementu głównego
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
14
Faktoryzacja macierzy
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 LLT. 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
Znając czynniki L i U można rozwiązać układ Ax=b kosztem 2n2/2 operacji (eliminacja Gaussa wymaga natomiast operacji). I tak na przykład dla 18 000 równań będziemy mieli 324 miliony i 1 944 000 miliony operacji czyli 6000 razy więcej. Niech A będzie macierzą wymiaru n x n i niech Ak oznacza macierz k x k, utworzoną z elementów początkowych k wierszy i kolumn z A Jeśli det(Ak)≠0 (k=1,2, … , n-1), to istnieje jedyny rozkład A=LU na czynniki takie, że macierz L=[mij] jest macierzą trójkątną dolną i ma elementy mii=1 (i=1, … , n), a macierz U = [uij] 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
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 u11, a następnie z kolejnych l21 l31, … , lN1
17
Algorytm Doolitle’a rozkładu LU
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 u12. Wartości l.1 też już są znane, a więc jest możliwość wyznaczenia u22 i następnych wartości l.
18
Przykład dekompozycji LU
Macierz A
19
Przykład dekompozycji LU
Macierz A po dekompozycji wygląda tak Rozwiązyjemy układ równań Ly=b
20
Przykład dekompozycji LU
Mając obliczone y, oraz macierz U, rozwiązujemy układ równań Ux=y
21
Dekompozycja Choleskiego
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
Algorytm podobny jest do algorytmu Doolitle’a Pierwsza kolumna macierzy A daje zależności: Z pierwszego równania obliczamy c11 a z następnych pozostałe współczynniki c.
23
Dekompozycja Choleskiego
Algorytm dekompozycji Cholesky’ego można zapisać w postaci
24
Wyznaczanie macierzy odwrotnej
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
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
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
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.