• Nie Znaleziono Wyników

Rozwiązywanie układów równań liniowych

N/A
N/A
Protected

Academic year: 2021

Share "Rozwiązywanie układów równań liniowych"

Copied!
47
0
0

Pełen tekst

(1)

Rozwiązywanie układów równań liniowych

Szukamy rozwiązania układu równań liniowych w postaci:

Powyższy układ rownań można zapisać w postaci macierzowej:

gdzie:

- szukany

- macierz

współczynników układu

równań

- wektor

(2)

Rozwiązywanie układów równań liniowych

Układ równań może mieć nieskończenie wiele rozwiązań, dokładnie jedno, lub rozwiązanie może nie istnieć wcale.

Pojęcia podstawowe.

Def. Jeżeli macierz A jest macierzą kwadratową to macierz B jest macierzą do niej odwrotną jeśli zachodzi pomiędzy nimi związek:

Def. Macierz jednostkowa jest macierzą kwadratową, której elementy leżące na diagonali są równe 1 a pozostałe 0.

Jeżeli nie istenieje taka macierz B to macierz A jest nieodwracalna.

Macierz kwadratowa o wyznaczniku różnym od 0 jest odwracalna i nazywamy ją nieosobliwą. Macierz osobliwa ma wyznacznik równy 0.

(3)

Rozwiązywanie układów równań liniowych

Def. Transpozycję macierzy A dokonuje się poprzez zamianę wierszy w kolumny a kolumn w wiersze. Macierz transponowaną oznaczamy AT

Własności macierzy transponowanej:

Transpozycja macierzy nie wpływa na wyznacznik i na ślad macierzy:

Jeżeli a i b są wektorami to zachodzi relacja:

(4)

Rozwiązywanie układów równań liniowych

Def. Macierz kwadratową A nazywamy idempotentną jeśli zachodzi związek:

Def. Macierzą dodatnio określoną nazywamy macierz o własności:

1) Jeśli A jest macierzą zespoloną hermitowską (aij=aji*) to dla x∈Rn :

2) Jeśli macierz A jest macierzą rzeczywistą to dla x∈Rn :

Macierz dodatnio określona jest zawsze odwracalna. Macierz odwrotna jest również dodatnio określona.

Mnożenie macierzy nie jest w ogólności przemienne:

(5)

Rozwiązywanie układów równań liniowych

Dla macierzy A stopnia n ślad macierzy definiujemy następująco:

Normy wektorów i macierzy Dla n-wymiarowego wektora

najczęściej stosowane są poniższe normy:

1) 2)

3)

Dla dowolnego wektora x w przestrzeni Rn prawdziwe są poniższe relacje pomiędzy normami:

(6)

Rozwiązywanie układów równań liniowych

Macierz o m wierszach i n kolumnach można traktować jako operator liniowy przekształcający przestrzeń Rm w Rn. Normę takiej macierzy można określić przy użyciu wektorów:

gdzie: p i q oznaczają normy wektorów w przestrzeniach Rn i w Rm

jest normą macierzy indukowaną przez normy wektorów Dla p=q oznaczając:

możemy określić następujące normy macierzy:

- maksymalna suma modułów w kolumnie

- największa wartość własna macierzy AAT

- maksymalna suma modułów

(7)

Rozwiązywanie układów równań liniowych

- maksymalny moduł elementu

W przestrzeniach z normą |⋅|2 często używa się euklidesowej normy macierzy:

Nie jest ona indukowana żadną normą ale spełnia ona z normą ||⋅||2 warunek zgodności:

Normy macierzy mają istotne znaczenie w analizie błędów rozwiązania (np. układów równań liniowych).

(8)

Rozwiązywanie układów równań liniowych

Układ równań z macierzą trójkątną.

Zakładamy, że elementy leżące na diagonali są niezerowe. Rozwiązanie układu można znaleźć posługując się wzorem rekurencyjnym, zaczynając od elementu xn:

Najprostszy (najłatwiejszy do rozwiązania) układ równań ma postać:

W celu wyznacznenia wszystkich składowych wektora rozwiązania x należy wykonać:

- operacji mnożenia i dzielenia

(9)

Rozwiązywanie układów równań liniowych

Podczas wykonywania obliczeń pojawiają się błędy zaokrągleń wpływające na wynik.

Błędy te są równe zastępczemu zaburzeniu , które spełnia nierówność:

Z oszacowania tego wynika, że:

Znając oszacowanie od góry elementów macierzy A, tj.

można oszacować prawe strony nierówności:

(10)

Rozwiązywanie układów równań liniowych

W przypadku gdy macierz jest diagonalnie dominująca (wiersz) tzn. spełniony jest warunek:

wówczas oszacowanie jest następujące:

Natomiast gdy macierz współczynników układu jest

diagonalnie dominująca kolumnowo, otrzymujemy oszacowanie:

(11)

Rozwiązywanie układów równań liniowych

Metoda eliminacji Gaussa rozwiązania układu równań liniowych.

Metoda jest dwuetapowa:

1) Eliminacja zmiennych.

Wyjściowe równanie ma postać:

Odejmujemy od i-tego wiersza (i=2,3,...,n) wiersz pierwszy pomnożony przez współczynnik

Z równań i=2,3,..,n wyeliminowana została zmienna x .

(12)

Rozwiązywanie układów równań liniowych

Powtarzamy operację, ale odejmujemy od i-tego wiersza (i=3,4,...,n) wiersz drugi pomnożony przez współczynnik

Postępując dalej w ten sposób eliminujemy z każdego następnego równania jedną zmienną. Eliminację kończymy po (n-1) krokach, gdy uzyskamy trójkątny układ równań w postaci:

2) Etap drugi nazywany jest postępowaniem odwrotnym. Rozwiązanie (kolejne składowe wektora x) znajdujemy stosując wzór rekurencyjny dla macierzy trójkątnej.

Wyznaczenie rozwiązania metodą Gaussa wymaga wykonania:

- operacji mnożenia i dzielenia

- operacji dodawania i odejmowania

(13)

Rozwiązywanie układów równań liniowych

Uwaga: Podczas obliczeń może wystąpić problem dzielenia przez zero (gdy element aii=0). W tkim przypadku należy zmienić kolejność wierszy, najlepiej

tak aby dzielić przez element o największym module. Operacja zmiany kolejności wierszy nosi nazwę wyboru elementu podstawowego. Należy jednak pamiętać żeby zmienić także kolejność elementów w wektorze wyrazów wolnych oraz

w wektorze rozwiązań x.

Metoda eliminacji Jordana (eliminacji zupełnej) W układzie równań:

równanie pierwsze dzielimy obustronnie przez współczynnik:

i odejmujemy od i-tego wiersza (i=2,3,...,n) wiersz pierwszy przemnożony przez

(14)

Rozwiązywanie układów równań liniowych

Otrzymujemy wówczas układ równań:

Podobnie postępujemy z równaniem drugim. Dzielimy je obustronnie przez:

Następnie od i-tego wiersza (i=1,3,4,...,n) odejmujemy wiersz drugi pomnożony przez współczynnik:

Otrzymujemy zmodyfikowany układ równań:

(15)

Rozwiązywanie układów równań liniowych

Po przeprowadzeniu (n-1) eliminacji zmiennych układ rówań ma poniższą postać:

czyli otrzymujemy gotowe rozwiązanie.

Metoda eleminacji Jordana wymaga wykonania:

Nakład obliczeń jest 1.5 razy większy niż w metodzie eliminacji Gaussa.

Jeśli pojawia się problem dzielenia przez 0, należy dokonać wyboru elementu podstawowego.

(16)

Rozwiązywanie układów równań liniowych

Rozkład LU metodą Gaussa(-Crouta)

Metodę Gaussa można użyć do znalezienia takch macierzy L i U, które z macierzą A związane są relacją:

Procedura wyznaczania elementów tych macierzy nosi nazwę rozkładu LU.

Sposób postępowania (wykorzystujemy metodę eliminacji Gaussa):

1) mnożenie wierszy (i=2,3,...,n) w układzie równań przez czynnik

i odjęcie od i-tego wiersza, wiersza o indeksie 1 zastępuje się mnożeniem przez macierz:

Co można zapisać macierzowo:

(17)

Rozwiązywanie układów równań liniowych

Eliminacja zmiennej z równań (i=3,4,...,n) wygląda podobnie. Mnożymy wiersze zmodyfikowanego układu równań o indeksach i=3,4,...,n przez czynnik

i odejmujemy od nich wiersz drugi. Operację tą można przeprowadzić mnożąc układ równań obustronnie przez macierz L(2):

Zapis macierzowy operacji:

Po wykonaniu (n-1) razy takich operacji otrzymamy:

(18)

Rozwiązywanie układów równań liniowych

Macierze L(i) są nieosobliwe (można znaleźć dla każdej macierz odwrotną).

Przemnażając obie strony powyższych równań przez (L(n-1))-1, (L(n-2))-1...., otrzymamy:

Wprowadzamy oznaczenia:

Należy jeszcze znaleźć macierze odwrotne (L(i))-1:

(19)

Rozwiązywanie układów równań liniowych

Macierz L:

Uwaga: Macierz L jest macierzą dolną z jedynkami na diagonali, macierz U jest macierzą trójkątną górną.

Dysponując macierzami L i U można rozwiązać układ równań:

Rozwiązujemy najpierw szukając wektora y:

(20)

Rozwiązywanie układów równań liniowych

Rozkład LU metodą Doolittle'a.

Równanie A=LU traktujemy jako n2 równań z n2 niewiadomymi lij (i>j) i niewiadomymi uij (i≤j ). Elementy lij oraz uij oblicza się ze wzorów:

Liczba wykonywanych działań jest identyczna jak w metodzie Gaussa.

Elementy uij oraz lij można zapamiętać w komórkach macierzy A.

(21)

Rozwiązywanie układów równań liniowych

Zalety:

1) Duża wydajność dla dużej liczby równań.

Rozkład LU opłaca się stosować w przypadku rozwiązywania wielu układów równań z tą samą macierzą współczynników układu A. Każdy układ równań różni się wtedy tylko wektorem wyrazów wolnych. Rozkład LU wykonuje się w takim przypadku tylko raz (ilość operacji ~n3). Rozwiązanie pojedynczego układu równań można znaleźć przy zastosowaniu algorytmu postępowania odwrotnego (ilość operacji ~n2).

2) Oszczędność zajmowanej pamięci.

Elementy macierzy L i U mogą zostać zapisane w macierzy A. Pomija się elementy diagonalne, których wartośc jest równa 1.

3) Jeśli macierz A jest symetryczna i dodatniookreslona to nie trzeba dokonywać wyboru elementów podstawowych. Jeśli macierz jest symetryczna i silnie

diagonalnie dominująca to macierz jest dodatniookreślona.

(22)

Rozwiązywanie układów równań liniowych

Układy równań z macierzą symetryczną.

Rozkład LDLT

Oznaczmy rozkład LU jako:

Szukamy rozkładu macierzy A w postaci:

gdzie: L – macierz trójkątna dolna z jedynkami na diagonali

D – macierz diagonalna z elementami diagonalnymi macierzy U – macierz trójkątna górna z jedynkami na diagonali

Jeśli macierz A jest symetryczna:

Dla macierzy symetrycznych istnieje jednoznaczny rozkład:

(23)

Rozwiązywanie układów równań liniowych

Elementy macierzy L i D wyznaczamy ze wzorów:

a dla i=2,3,...,n oblicza się na przemian:

W celu wyznaczenia rozkładu LDLT należy wykonać:

-operacji mnożenia i dzielenia

-operacji dodawania i odejmowania

(24)

Rozwiązywanie układów równań liniowych

Układ równań Ax=b rozwiązuje się w trzech etapach:

Zaletą rozkładu LDLT jest dwukrotnie mniejszy nakład obliczeń potrzebny do znalezienia rozwiązania układu równań niż w metodzie Gaussa-Crouta.

Ponadto zamiast posługiwać się pełną macierzą o n2 elementach wystarczy zapamiętać dolną macierz trójkątną z elementami diagonalnymi. Liczba elementów potrzebnych do zapamiętania wynosi zatem:

(25)

Rozwiązywanie układów równań liniowych

Rozkład Banachiewicza-Cholesky'ego

Jeśli macierz A jest macierzą symetryczną dodatnio okresloną wówaczas można dokonać następującego rozkładu:

Macierz L jest macierzą trójkątną dolną z elementami na diagonali mogącymi się różnić od 1.

Macierz

z rozkładu LU również spełnia warunek:

więc rozkład ten nie jest jednoznaczny. Jeśli jednak liczby na diagonali macierzy L są ddatnie wówczas rozkład jest jednoznaczny, a elementy macierzy wyznaczamy ze wzorów:

(26)

Rozwiązywanie układów równań liniowych

Aby przeprowadzić rozkład LLT należy wykonać:

n obliczeń pierwiastka kwadratowego

- operacji mnożenia i dzielenia

- operacji dodawania i odejmowania Rozkład LLT pozwala na wykonanie dwukrotnie mniejszej liczby operacji oraz zajęcie prawie dwukrotnie mniejjszej liczby komórek pamięci niż metoda Gaussa-Crouta.

(27)

Rozwiązywanie układów równań liniowych

Przykład:

obliczenia elementów:

(28)

Rozwiązywanie układów równań liniowych

Układy równań z macierzą trójdiagonalną Szukamy rozwiązania układu równań:

Zdarza się że macierz układu równań jest macierzą postaci:

Można wykonać rozkład LU macierzy T, macierze te mają postać:

(29)

Rozwiązywanie układów równań liniowych

Elementy li oraz ui oblicza się rekurencyjnie:

Rozwiązanie układu Tx=d czyli Lux=d rozwiązuje się dwuetapowo:

wykorzystując wzory:

(30)

Rozwiązywanie układów równań liniowych

Dokonując rozkładu T=LU należy wykonać:

M=2n-2 - operacji mnożenia i dzielenia oraz

D=n-1 - operacji dodawania i odejmowania

Uwzględniając dodatkowo rozwiązanie układu równań należy w sumie wykonać:

M=3n-2 i D=2n-2 działań. Ponadto elementy macierzy L i U można zapamiętać

w macierzy T. Liczba zajętych komórek pamięci wynosi: P=3n-2. Zamiast posługiwać się macierzami można używać 3 wektorów jednowymiarowych.

Jeśli macierz jest dominująca kolumnowo to rozkład T=LU jest równoważny

rozkładowi z częściowym wyborem elementu podstawowego (niezawodność metody).

Elementy macierzy L spełniają warunek:

co poprawia oszacowanie błędów zaokrągleń.

(31)

Rozwiązywanie układów równań liniowych

Rozkład LU – obliczanie wyznacznika

Aby obliczyć wyznacznik macierzy A możemy posłużyć się rozkładem

Macierz E jest macierzą zaburzeń. Jej obecność w powyższych wzorach jest wynikiem błędów zaokrągleń pojawiających się podczas obliczania rozkładu.

Wyznacznik macierzy U można łatwo obliczyć, gdzyż jest on iloczynem n elementów stojących na diagonali tej macierzy. Dysponując rozkładem LU wystarczy wykonanie n-1 operacji mnożenia w celu wyznaczenia wyznacznika macierzy A.

Małe zaburzenia wartości elementów macierzy mogą powodować duże zmiany wartości wyznacznika macierzy. Zmiany te zależą od wielkości:

(32)

Rozwiązywanie układów równań liniowych

Rozkład LU – odwracanie macierzy.

Aby znaleźć przy pomocy macierzy L i U macierz odwrotną A-1 należy rozwiązać n układów równań:

gdzie: -jest wersorem w n-wymiarowej przestrzeni

Rozwiązania układów równań x(i) stanowią kolumny macierzy odwrotnej A-1 (po uwzględnieniu ewentualnych przestawień wierszy wynikających z

wyboru elementu podstawowego).

Przykład. Znaleźć macierz A-1 jeśli macierz A jest zdefiniowana:

(33)

Rozwiązywanie układów równań liniowych

Wektor przestawień (wektor permutacji)

Macierz odwrotna:

(34)

Rozwiązywanie układów równań liniowych

Iteracyjne poprawianie rozwiązania układu równań Błąd rozwiązania można sprawdzić obliczając wektor reszt:

Zazwyczaj współrzędne wektora r są różne od zera. Oznacza to że nie uzyskaliśmy dokładnego rozwiązania, ale przybliżone. Rozwiązanie to chcemy poprawić:

gdzie: jest poprawką, którą można łatwo wyznaczyć

Należy jednak pamiętać że wyznaczając poprawkę znowu popełniamy jakiś błąd i rozwiązanie które uzyskamy będzie miało postać:

(35)

Rozwiązywanie układów równań liniowych

Lemat. Jeżeli wektor reszt r=b-Ax jest obliczony dokładnie, poprawka x została wyznaczona metodą Gaussa-Crouta oraz zachodzi warunek:

to wtedy:

Sposób iteracyjnego poprawiania rozwiązania:

1. Rzowiązujemy układ Ax(1)=b metodą Gaussa

2. Obliczamy wektor reszt r(1) i sprawdzamy rozwiązanie 3. Sprawdzamy czy poniższy warunek jest prawdziwy

jeśli nie to przerywamy obliczenia. Jeśli jest spełniony to kontynuujemy.

4. Obliczamy poprawkę i wyznaczamy

5. Wyznaczamy wektor reszt r(2) i sprawdzamy rozwiązanie. W razie konieczności

(36)

Rozwiązywanie układów równań liniowych

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

Idea metody. Rozważamy ciąg wektorów x(0), x(1),x(0),...generowany przez wyrażenie rekurencyjne:

gdzie: x(0) jest ustalonym wektorem, M jest macierzą kwadratową, w jest wektorem.

Ciąg określony powyższą relacją rekurencyjną przy dowolnym wektorze x(0) jest zbieżny do jedynego punktu granicznego wtedy i tylko wtedy gdy:

Promień spektralny jest to największa co do wartości bezwględnej wartość własna macierzy.

Poszukując iteracyjnie kolejnych elementów ciągu dążymy do osiągnięcia:

Aby znaleźć iteracyjnie rozwiązanie układu równań należałoby użyć dowolnej macierzy M okreslonej w lemacie oraz wektor w zdefiniowany:

(37)

Rozwiązywanie układów równań liniowych

Takie postępowanie wymagałoby znalezienia macierzy odwrotnej układu co byłoby nieekonomiczne. Aby tego uniknąć zakładamy:

gdzie: N jest pewną macierzą kwadratową.

Określamy macierz M w postaci:

i otrzymujemy ogólny przepis iteracyjny:

Zastosowanie powyższej realacji pozwala wyznaczyć wektor rozwiązań jeśli spełniony jest warunek:

Istnieją sposoby określenia macierzy N. istotnym problemem jest efektywność poszczególnych metod (liczba wykonywanych działań ~ liczba iteracji)

oraz błędy zaokrągleń wpływające na wynik końcowy. Efektywność można badać określając wektor błędu:

(38)

Rozwiązywanie układów równań liniowych

Efektywność metod iteracyjnych związana jest ściśle z promieniem spektralnym macierzy M.

Metody iteracyjne są bardzo czułe na błędy zaokrągleń. W każdej iteracji zamiast:

otzrymujemy:

Nawet przy małej wartości błędów zaokrągleń, duża liczba iteracji może spowodować kumulację błędów:

W skrajnym przypadku błąd zaokrągleń:

może doprowadzić do uzyskania

i ciąg wektorów nie jest zbieżny do rozwiązania.

(39)

Rozwiązywanie układów równań liniowych

Metoda Jacobiego.

Metoda Gaussa-Seidla.

(40)

Rozwiązywanie układów równań liniowych

(41)

Rozwiązywanie układów równań liniowych

(42)

Rozwiązywanie układów równań liniowych

(43)

Rozwiązywanie układów równań liniowych

(44)

Rozwiązywanie układów równań liniowych

(45)

Rozwiązywanie układów równań liniowych

(46)

Rozwiązywanie układów równań liniowych

(47)

Rozwiązywanie układów równań liniowych

Cytaty

Powiązane dokumenty

Jeśli jednak liczby na diagonali macierzy L są dodatnie wówczas rozkład jest jednoznaczny, a elementy macierzy wyznaczamy ze wzorów.. Nakład obliczeń dla rozkładu

W dalszych rozważaniach zakładamy że macierz A jest symetryczna i dodatniookreślona, wówczas możemy użyć formy kwadratowej postaci. która ma minimum w

W dalszych rozważaniach zakładamy że macierz A jest symetryczna i dodatniookreślona, wówczas możemy użyć formy kwadratowej postaci. która ma minimum w

Algorytm metody CG można przedstawić w alternatywnej postaci, gdzie wymagamy tylko jednego mnożenia macierz-wektor:. Maksymalna liczba iteracji w metodzie CG wynosi n+1 – więc

Metodę GS można zastosować w przypadku niezerowych elementów diagonalnych macierzy A. Metoda jest zbieżna jeśli macierz jest symetryczna i dodatnio określona oraz gdy jest

Struktura zbioru rozwiązań układu

Uwaga: gdyby w naszym zadaniu jako parametry przyjęto inne niewiadome, bądź pominięto inne równanie (w wyniku realizacji nieco innej koncepcji

Przekształcenie polega na tym, że równania, których współczynniki „nie mieszczą” się w minorze zostają skreślone, zaś zmienne, których współczynniki