Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Podobne dokumenty
Wstęp do metod numerycznych Eliminacja Gaussa Faktoryzacja LU. P. F. Góra

Wstęp do metod numerycznych Eliminacja Gaussa i faktoryzacja LU. P. F. Góra

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Wstęp do metod numerycznych Równania macierzowe Faktoryzacja LU i Cholesky ego. P. F. Góra

Wstęp do metod numerycznych Faktoryzacja macierzy. P. F. Góra

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

3. Macierze i Układy Równań Liniowych

Obliczenia naukowe Wykład nr 8

Wstęp do metod numerycznych Faktoryzacja QR i SVD. P. F. Góra

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

UKŁADY RÓWNAŃ LINIOWYCH

Metoda eliminacji Gaussa

Metody numeryczne Wykład 4

Metoda eliminacji Gaussa. Autorzy: Michał Góra

1 Układy równań liniowych

Układy równań liniowych i metody ich rozwiązywania

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

UKŁADY RÓWNAŃ LINIOWYCH - Metody dokładne

Matematyka stosowana i metody numeryczne

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

3. Wykład Układy równań liniowych.

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

, A T = A + B = [a ij + b ij ].

METODY NUMERYCZNE. wykład. konsultacje: wtorek 10:00-11:30 środa 10:00-11:30. dr inż. Grażyna Kałuża pokój

Wykład 6. Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym

O MACIERZACH I UKŁADACH RÓWNAŃ

Układy równań i nierówności liniowych

Układy równań liniowych

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Wykład 5. Metoda eliminacji Gaussa

Układy równań liniowych

UKŁADY RÓWNAŃ LINIOWYCH -Metody dokładne

Układy równań liniowych. Ax = b (1)

Układy równań liniowych

Wstęp do metod numerycznych Faktoryzacja Cholesky ego i QR. P. F. Góra

2. Układy równań liniowych

13 Układy równań liniowych

10. Metody obliczeniowe najmniejszych kwadratów

UKŁADY RÓWNAŃ LINIOWYCH

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

Własności wyznacznika

= Zapiszemy poniższy układ w postaci macierzy. 8+$+ 2&=4 " 5 3$ 7&=0 5$+7&=4

1 Macierz odwrotna metoda operacji elementarnych

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

Zaawansowane metody numeryczne

"Bieda przeczy matematyce; gdy się ją podzieli na więcej ludzi, nie staje się mniejsza." Gabriel Laub

Rozdział 4. Macierze szyfrujące. 4.1 Algebra liniowa modulo 26

Układy równań liniowych. Krzysztof Patan

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

III TUTORIAL Z METOD OBLICZENIOWYCH

Metody numeryczne II. Układy równań liniowych

Macierze. Rozdział Działania na macierzach

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

Rozdział 1 PROGRAMOWANIE LINIOWE

Metody numeryczne w przykładach

Zaawansowane metody numeryczne

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

Krótkie wprowadzenie do macierzy i wyznaczników

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Definicja i własności wartości bezwzględnej.

Wykład 14. Elementy algebry macierzy

Rozwiazywanie układów równań liniowych. Ax = b

Metody numeryczne. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50

Komputerowa analiza zagadnień różniczkowych 3. Numeryczne zagadnienie własne

Analiza numeryczna Lista nr 3 (ćwiczenia) x x 2 n x.

MACIERZE I WYZNACZNIKI

Zaawansowane metody numeryczne

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

x 2 = a RÓWNANIA KWADRATOWE 1. Wprowadzenie do równań kwadratowych 2. Proste równania kwadratowe Równanie kwadratowe typu:

Układy równań. Kinga Kolczyńska - Przybycień 22 marca Układ dwóch równań liniowych z dwiema niewiadomymi

Zad. 3: Układ równań liniowych

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Przykład 2 układ o rozwiązaniu z parametrami. Rozwiążemy następujący układ równań:

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Wstęp do metod numerycznych Metody iteracyjne Algebraiczna metoda gradientów sprzężonych. P. F. Góra

Wstęp do metod numerycznych 9a. Układy równań algebraicznych. P. F. Góra

Pendolinem z równaniami, nierównościami i układami

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Wstęp do metod numerycznych Metody iteracyjne i metoda gradientów. P. F. Góra

Wstęp do metod numerycznych Algebraiczna metoda gradientów sprzężonych. P. F. Góra

Wykład z równań różnicowych

1. A 2. A 3. B 4. B 5. C 6. B 7. B 8. D 9. A 10. D 11. C 12. D 13. B 14. D 15. C 16. C 17. C 18. B 19. D 20. C 21. C 22. D 23. D 24. A 25.

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 7a. Metody wielokrokowe

04 Układy równań i rozkłady macierzy - Ćwiczenia. Przykład 1 A =

0 + 0 = 0, = 1, = 1, = 0.

9 Układy równań liniowych

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

Transformaty. Kodowanie transformujace

ALGEBRA Z GEOMETRIĄ MACIERZE ODWZOROWAŃ LINIOWYCH

2. DZIAŁANIA NA WIELOMIANACH

Algorytm simplex i dualność

Transkrypt:

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2015

Co można zrobić z układem równań... tak, aby jego rozwiazania się nie zmieniły? Rozważam układ równań (przykład 3 3 dla oszczędności miejsca): a 11 x 1 + a 12 x 2 + a 13 x 3 = b 1 a 21 x 1 + a 22 x 2 + a 23 x 3 = b 2 (1) a 31 x 1 + a 32 x 2 + a 33 x 3 = b 3 1. Równania można zapisać w innej kolejności: a 21 x 1 + a 22 x 2 + a 23 x 3 = b 2 a 11 x 1 + a 12 x 2 + a 13 x 3 = b 1 (2) a 31 x 1 + a 32 x 2 + a 33 x 3 = b 3 Odpowiada to permutacji wierszy macierzy układu równań, z jednoczesna permutacja kolumny wyrazów wolnych. Copyright c 2012-15 P. F. Góra 2 2

2. Równania można dodać stronami, po pomnożeniu przez dowolna stała różna od zera: a x 11 1 + a x 12 2 + a x 13 3 = b 1 a 21 x 1 + a 22 x 2 + a 23 x 3 = b 2 (z a 11 + a 31 )x 1 + (z a 12 + a 32 )x 2 + (z a 13 + a 33 )x 3 = z b 1 + b 3 (3) Odpowiada to zastapieniu jednego wiersza macierzy układu równań przez dowolna kombinację liniowa tego wiersza z innymi, z jednoczesna analogiczna operacja na kolumnie wyrazów wolnych. Copyright c 2012-15 P. F. Góra 2 3

3. We wszystkich równaniach można przestawić kolejność, w jakiej pojawiaja się zmienne: a 11 x 1 + a 13 x 3 + a 12 x 2 = b 1 a 21 x 1 + a 23 x 3 + a 22 x 2 = b 2 (4) a 31 x 1 + a 33 x 3 + a 32 x 2 = b 3 Odpowiada to permutacji kolumn macierzy układu równań, z jednoczesna permutacja kolumny niewiadomych. Copyright c 2012-15 P. F. Góra 2 4

Eliminacja Gaussa Rozpatrzmy jeszcze raz układ równań a 11 x 1 + a 12 x 2 + a 13 x 3 = b 1 a 21 x 1 + a 22 x 2 + a 23 x 3 = b 2 (5) a 31 x 1 + a 32 x 2 + a 33 x 3 = b 3 Podzielmy pierwsze równanie stronami przez a 11 x 1 + a 12 a x 11 2 + a 13 a x 11 3 = b 1 a 11 a 21 x 1 + a 22 x 2 + a 23 x 3 = b 2 (6) a 31 x 1 + a 32 x 2 + a 33 x 3 = b 3 Teraz mnożymy pierwsze z równań (6) przez a 21 i odejmijmy stronami od Copyright c 2012-15 P. F. Góra 2 5

drugiego, a następnie mnożymy pierwsze z równań (6) przez a 31 i odejmijmy stronami od trzeciego. Otrzymujemy x 1 + (a22 a 21a 12 a 12 a 11 x 2 + a 13 a 11 x 3 = b 1 a 11 ) a x2 + ( a 11 23 a ) 21a 13 a x3 = b 11 2 a 21 a b ( 11 1 a32 a ) 31a 12 a x2 + ( a 11 33 a ) 31a 13 a x3 = b 11 3 a 31 a b 11 1 (7a) Przepiszmy to w postaci (tylko zmiana oznaczeń!) x 1 + a 12 x 2 + a 13 x 3 = b 1 a 22 x 2 + a 23 x 3 = b 2 a 32 x 2 + a 33 x 3 = b 3 (7b) W układzie równań (7b) pierwsza zmienna, x 1, występuje wyłacznie w pierwszym równaniu. Tego równania już nie przekształcamy, natomiast z pozo- Copyright c 2012-15 P. F. Góra 2 6

stałymi równaniami postępujemy analogicznie: dzielimy drugie stronami przez a 22 i odpowiednio mnożac, odejmujemy od trzeciego. Otrzymujemy x 1 + a 12 x 2 + a 13 x 3 = b 1 x 2 + a 23 x 3 = b 2 a 33 x 3 = b 3 Teraz pierwsza zmienna występuje wyłacznie w pierwszym równaniu, druga w pierwszym i w drugim. Gdyby równań było więcej, moglibyśmy to postępowanie kontynuować. (8) Copyright c 2012-15 P. F. Góra 2 7

Ostatecznie otrzymalibyśmy równanie postaci x 1 + x 2 + x 3 +... + x N = b 1 x 2 + x 3 +... + x N = b 2 x 3 +... + x N = b 3......... x N = b N gdzie symbole oznaczaja jakieś współczynniki, dajace się wyliczyć z pierwotnych współczynników równania, b i sa przekształconymi w toku całej procedury wyrazami wolnymi. (9) Równanie w postaci (9) nazywamy układem równań z macierza trójkatn a górna. Algorytm prowadzacy od (5) do (9) nazywamy eliminacja Gaussa. Copyright c 2012-15 P. F. Góra 2 8

Dygresja: Złożoność obliczeniowa Niech N oznacza liczbę danych wejściowych pewnego algorytmu. Niech M(N) oznacza liczbę operacji, jaka algorytm ten wykonuje dla N danych. Mówimy, że algorytm ma złożoność obliczeniowa O (P(N)) jeżeli N 0 N, A 1, A 2 > 0 N > N 0 : A 1 P(N) M(N) A 2 P(N) (10) Copyright c 2012-15 P. F. Góra 2 9

Złożoność obliczeniowa eliminacji Gaussa Aby usunać zmienna x 1 z jednego wiersza, należy wykonać O(N) operacji. Ponieważ zmienna x 1 musimy usunać z N 1 wierszy, musimy łacznie wykonać O(N 2 ) operacji. Ponieważ musimy to samo zrobić ze zmiennymi x 2, x 3,..., ostatecznie musimy wykonać O(N 3 ) operacji. Złożoność obliczeniowa eliminacji Gaussa wynosi O(N 3 ). Copyright c 2012-15 P. F. Góra 2 10

Backsubstitution Rozpatrzmy układ równań w postaci (9). Ostatnie równanie jest rozwia- zane ze względu na x N. Podstawiamy to rozwiazanie do wszystkich poprzednich równań. Teraz drugie od dołu równanie ma tylko jedna nieznana zmienna x N 1, a coś takiego umiemy rozwiazać. Podstawiamy to rozwiazanie do równania trzeciego od dołu i do poprzednich. Teraz trzecie od dołu równanie zawiera tylko jedna zmienna, x N 2. Rozwiazujemy, podstawiamy do poprzednich i tak dalej... Ponieważ wyeliminowanie jednej zmiennej wymaga O(N) operacji, a musimy wyeliminować N zmiennych, cały koszt rozwiazania układu z macierza trójkatn a górna za pomoca algorytmu backsubstitution wynosi O(N 2 ). Jest to niewiele w porównaniu z kosztem eliminacji Gaussa. Całkowity koszt rozwiazania układu N równań liniowych za pomoca eliminacji Gaussa z następujacym backsubstitution wynosi O(N 3 ). Copyright c 2012-15 P. F. Góra 2 11

Czy coś może pójść źle? Cały algorytm zawali się, jeżeli w którymś momencie trzeba będzie wykonać dzielenie przez zero a 11 = 0 lub a 22 = 0, lub a 33 = 0 itd. Copyright c 2012-15 P. F. Góra 2 12

Przykład Układu równań y + z = 1 x + y + z = 2 2x z = 0 (11) nie da się doprowadzić do postaci trójkatnej górnej za pomoca eliminacji Gaussa. Jeśli jednak przestawimy pierwszy wiersz z drugim lub z trzecim, eliminacja Gaussa powiedzie się. Ze względów numerycznych staramy się także unikać dzielenia przez liczby bardzo małe co do wartości bezwzględnej. Formalnie, w arytmetyce dokładnej, jest to wykonalne, ale w praktyce może to doprowadzić do bardzo znacznej utraty dokładnosci, tak, że ostateczny wynik będzie numerycznie bezwartościowy. Copyright c 2012-15 P. F. Góra 2 13

Wybór elementu podstawowego Przypuśćmy, że na pewnym etapie eliminacji Gaussa mamy układ równań x 1 +............... = b 1 x 2 +............ = b 2............... a kk x k + a k,k+1 x k+1 +... = b k a k+1,k x k + a k+1,k+1 x k+1 +... = b k+1............ a Nk x k + a N,k+1 x k+1 +... = b N Powinniśmy teraz dzielić przez a kk. Zamiast tego wśród współczynników a kk, a k+1,k, a k+2,k,..., a Nk wyszukujemy największy co do modułu, permutujemy wiersze tak, aby ten największy co do modułu znalazł się w pozycji diagonalnej i dzielimy przez niego. Współczynnik wypromowany do pozycji diagonalnej nazywa się elementem podstawowym (ang. pivot). Ten krok algorytmu nazywa się częściowym wyborem elementu podstawowego. Dalej postępujemy jak poprzednio. Copyright c 2012-15 P. F. Góra 2 14 (12)

Koszt wyszukania jednego elementu podstawowego wynosi O(N). Jeżeli robimy to w każdym kroku, całkowity koszt jest rzędu O(N 2 ), a więc jest mały w porównaniu ze złożonościa obliczeniowa samej eliminacji Gaussa. Wynika z tego, iż częściowego wyboru elementu podstawowego należy zawsze dokonywać, gdyż nie zwiększa to znacznie kosztu całej procedury, może natomiast zapewnić numeryczna stabilność algorytmu. Zamiast szukać elementu podstawowego wyłacznie w jednej kolumnie, można szukać największego co do modułu współczynnika wśród wszystkich a i,j, k i, j N. Po znalezieniu, należy tak spermutować wiersze i kolumny układu równań, aby element podstawowy znalazł się w pozycji diagonalnej. Nazywa się to pełnym wyborem elementu podstawowego. Zauważmy, że koszt numeryczny wynosi O(N 3 ), a więc staje się porównywalny z kosztem całej eliminacji Gaussa, ponadto zaś permutacja kolumn wymaga późniejszego odwikłania permutacji elementów rozwiazania, co Copyright c 2012-15 P. F. Góra 2 15

jest kłopotliwe. Pełny wybór elementu podstawowego zapewnia większa stabilność numeryczna, niż wybór częściowy, ale w praktyce jest rzadko używany, ze wskazanych wyżej powodów. Do skutecznego przeprowadzenia eliminacji Gaussa potrzebna jest znajomość kolumny wyrazów wolnych, gdyż wyrazy wolne także sa przekształcane i permutowane w czasie eliminacji. Copyright c 2012-15 P. F. Góra 2 16

Uwagi o eliminacji Gaussa Przypuśćmy, że mamy rozwiazać kilka układów równań z ta sama lewa strona, a różnymi wyrazami wolnymi: Ax (i) = b (i), i = 1, 2,..., M (13) gdzie A R N N, x (i), b (i) R N. Eliminacja Gaussa (z wyborem elementu podstawowego!) jest efektywna, jeżeli z góry znamy wszystkie prawe strony b (1), b (2),..., b (M), gdyż w tym wypadku przeprowadzajac eliminację Gaussa, możemy przekształcać wszystkie prawe strony jednocześnie. Całkowity koszt rozwiazania (13) wynosi wówczas O(N 3 ) + O(MN 2 ). Copyright c 2012-15 P. F. Góra 2 17

Jeżeli jednak wszystkie prawe strony nie sa z góry znane co jest sytuacja typowa w obliczeniach iteracyjnych eliminacja Gaussa jest nieefektywna, gdyż trzebaby ja niepotrzebnie przeprowadzać dla każdej prawej strony z osobna, co podnosiłoby koszt numeryczny do O(MN 3 ) + O(MN 2 ). Copyright c 2012-15 P. F. Góra 2 18

Dygresja: równania macierzowe Zauważmy, że korzystajac z własności mnożenia macierzy, równania (13) można zapisać w postaci gdzie A R N N, X, B R N M, przy czym AX = B (14) x (1) 1 x (2) 1... x (M) 1 X = x (1) 2 x (2) 2... x (M) 2............ x (1) N x (2) N... x (M) N i analogicznie dla B. Innymi słowy, macierzowy układ równań (14) jest równoważny układowi równań liniowych (13) z M niezależnymi prawymi stronami. Copyright c 2012-15 P. F. Góra 2 19

Uwaga jawna konstrukcja macierzy odwrotnej Z powyższych uwag widać, że problem jawnej konstrukcji macierzy odwrotnej A A 1 = I (15) jest problemem postaci (14), a więc kolejne kolumny macierzy odwrotnej uzyskujemy rozwiazuj ac kolejne układy (13) dla i = 1, 2,..., N, przy czym b (1) = [1, 0, 0,... ] T, b (2) = [0, 1, 0,... ] T itd. Rozwiazanie układu równań Ax = b poprzez jawna konstrukcję macierzy odwrotnej, x = A 1 b, wymaga rozwiazania N układów równań liniowych, co oznacza koszt O(2N 3 ), podczas gdy koszt bezpośredniego rozwiazania równania Ax = b to O(N 3 ). Copyright c 2012-15 P. F. Góra 2 20

Pojawiajacy się często we wzorach napis A 1 b zawsze rozumiemy jako wezwanie do znalezienie Przykład Wyrażenie interpretujemy jako wektora z takiego, że Az = b. x n+1 = x n J 1 f n (16) x n+1 = x n z (17a) gdzie Jz = f n (17b) Copyright c 2012-15 P. F. Góra 2 21