Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Metody rozwiązywania układów równań liniowych. Parę słów o macierzach Macierz m  n : tablica m na n ( m wierszy n kolumn) liczb (np. tabliczka mnożenia).

Podobne prezentacje


Prezentacja na temat: "Metody rozwiązywania układów równań liniowych. Parę słów o macierzach Macierz m  n : tablica m na n ( m wierszy n kolumn) liczb (np. tabliczka mnożenia)."— Zapis prezentacji:

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

2 Parę słów o macierzach Macierz m  n : tablica m na n ( m wierszy n kolumn) liczb (np. tabliczka mnożenia). Macierz kwadradowa: m=n Macierz symetryczna (zawsze kwadratowa): a ij =a j i Macierz transponowana A T : (A T ) ij =a ji Macierz nieosobliwa: macierz o niezerowym wyznaczniku. Macierz dodatnio określona: x T Ax>0 dla każdego niezerowego wektora x. Norma euklidesowa macierzy: Norma spektralna macierzy Wskaźnik uwarunkowania macierzy

3 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

4 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 x n z n-tego równania, następnie wstawić x n do równania n-1 i wyliczyć z niego x n-1, następnie wstawić x n oraz x n-1 do równania n-2 i wyliczyć x n-2 aż do dotarcia do równania pierwszego i wyznaczenia x 1.

5 1.Wybieramy równanie i takie, że |a i1 | jest największym elementem w pierwszej kolumnie po czym przestawiamy i-te równanie na początek i eliminujemy x 1 z równań od 2 do n. 2.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).

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

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

8 Zastosowania metody eliminacji Gaussa i innych metod rozwiązywania układów równań liniowych. 1. Odwracanie macierzy Należy więc jednocześnie rozwiązać n układów równań z wektorami jednostkowymi poszczególnych osi w przestrzeni n-wymiarowej jako wyrazami wolnymi. Wszystkie wektory wyrazów wolnych przekształca się jednocześnie w czasie faktoryzacji macierzy A. Koszt obliczeniowy operacji wynosi (4/3)n 3 -n/3 operacji.

9 2. Mnożenie macierzy przez macierz odwrotną Jeżeli macierz A ma rozmiar nxn to macierz B musi mieć n wierszy (liczba kolumn może być dowolna, np. m). Zagadnienie sprowadza się do jednoczesnego rozwiązania m układów równań liniowych, których wektory wyrazów wolnych są równe kolejnym kolumnom macierzy B. Podobie jak przy odwracaniu macierzy podczas faktoryzacji A jednocześnie przekształcamy wszystkie kolumny macierzy B. Wysiłek obliczeniowy wynosi n 3 /3-n/3+mn 2 operacji.

10 Metoda Gaussa-Jordana W odróżnieniu od metody eliminacji Gaussa eliminujemy poszczególne zmienne nie tylko z równań następujących po danym równaniu ale również z równań je poprzedzających. W wyniku tej operacji końcowy układ równań ma postać diagonalną a w kroku j-1 ma on następującą postać:

11 Dla dużych n metoda Gaussa-Jordana wymaga ok. n 3 /2 operacji.

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

13 Postępowanie przy rozwiązywaniu układów równań metodą faktoryzacji Choleskiego. 1.Wyznaczenie faktorów L i D. Układ przyjmuje postać LDL T x=b 2. Obliczenie pomocniczego wektora w. w=L -1 b 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 w 1, w 2,…, w n podobnie jak w koncowym etapie eliminacji Gaussa. 3. Obliczenie z=D -1 w (D jest macierzą diagonalną więc po prostu dzielimy w i przez d ii. 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ą L T x=z Ten etap jest identyczny z ostatnim etapem metody eliminacji Gaussa. Metoda wymaga ok. n 3 /6 operacji (2 razy mniej niż metoda eliminacji Gaussa). Uwaga: klasyczna metoda Choleskiego wymaga ponadto n pierwiastkowań.

14 Klasyczna faktoryzacja Choleskiego (A=LL T )

15 Faktoryzacja “bezpierwiastkowa” kod źródłowykod źródłowy

16 Metoda Householdera

17

18 Iteracyjna poprawa rozwiązania układu równań liniowych Proces kończymy gdy

19 Metoda sprzężonych gradientów Rozwiązanie układu równań przedstawiamy jako rozwiązanie zagadnienia minimalizacji funkcji E(x), której gradient jest różnicą pomiędzy lewą a prawą stroną układu równań. Metoda polega na wykonaniu n kroków w kierunkach d 0, d 1,…, d n-1 stopniowo zbliżających się do kierunku jednej z osi hiperparaboloidy E(x); długość kroku w każdym kierunku jest tak dobrana aby zlokalizować minimum E na tym właśnie kierunku. Poszczególne kierunki są A- ortogonalne, tj. d k+1 Ad k =0

20 1.Wybieramy punkt startowy x 0. Obliczamy d 0 =-g 0 =b-Ax 0. Jeżeli g 0 =0 procedura jest zakończona. 2.W kroku k=0,1,…,n-1 obliczamy Wstawiamy x k+1 =x k +  k d k Wstawiamy g k+1 =g k +  k Ad k. Jeżeli ||g k+| ||<  kończymy proces, w przeciwnym wypadku wstawiamy a następnie wstawiamy d k+1 =-g k+1 +  k d k Procedura jest teoretycznie zawsze zbieżna w n krokach (0,1,…,n-1). Dla dobrze uwarunkowanego zadania zbieżność jest szybsza a dla źle uwarunkowanego zadania często występują oscylacje. Kod źródłowy metody sprzężonych gradientów.

21 Metody iteracji Jacobiego oraz iteracji Gaussa-Seidla Metody te stosuje się dla dużych układów równań, pojawiających się przykładowo przy rozwiązywaniu równań różniczkowych cząstkowych lub równań całkowych. Iteracja Jacobiego 1.Wyznaczamy przybliżenie początkowe x (0) 2.Kolejne przybliżenia x (1), x (2),…, obliczamy wyznaczając x i z i-tego równania dla i=1,2,…,n a następnie podstawiając po prawej stronie poprzednie przybliżenie x. 3. Proces kończymy jeżeli ||x (p+1) -x (p) ||< .

22 Metoda iteracji Gaussa-Seidla. Metoda ta różni się od metody iteracji Jacobiego tym, że kolejne przybliżenie i- tej współrzędnej wektora x obliczamy wykorzystując przybliżenia x 1,…,x i-1 wyliczone w aktualnej iteracji oraz przybliżenia x i+1,…,x n z poprzedniej iteracji. Metoda iteracji Gaussa-Seidla jest zawsze zbieżna dla macierzy dodatnio określonych.

23 Kod źródłowy metody Gaussa-Seidla. Optymalna wartość czynnika relaksacji;  jest największą wartością własną macierzy B=B (l) +B (r) Wartość czynnika relaksacji łatwa do obliczenia.


Pobierz ppt "Metody rozwiązywania układów równań liniowych. Parę słów o macierzach Macierz m  n : tablica m na n ( m wierszy n kolumn) liczb (np. tabliczka mnożenia)."

Podobne prezentacje


Reklamy Google