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

Podobne dokumenty
Wykład 5. Metoda eliminacji Gaussa

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

1 Macierz odwrotna metoda operacji elementarnych

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

Obliczenia naukowe Wykład nr 8

Matematyka stosowana i metody numeryczne

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

Analiza matematyczna i algebra liniowa Macierze

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

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

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

det[a 1,..., A i,..., A j,..., A n ] + det[a 1,..., ka j,..., A j,..., A n ] Dowód Udowodniliśmy, że: det[a 1,..., A i + ka j,..., A j,...

Macierze. Rozdział Działania na macierzach

RACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska

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

Zaawansowane metody numeryczne

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

13 Układy równań liniowych

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

Definicja macierzy Typy i właściwości macierzy Działania na macierzach Wyznacznik macierzy Macierz odwrotna Normy macierzy RACHUNEK MACIERZOWY

Układy równań liniowych

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

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

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

Układy równań liniowych

O MACIERZACH I UKŁADACH RÓWNAŃ

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Układy równań liniowych. Krzysztof Patan

Zestaw 12- Macierz odwrotna, układy równań liniowych

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

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

2. Układy równań liniowych

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

Wykład 7 Macierze i wyznaczniki

UKŁADY RÓWNAŃ LINIOWYCH

1 Układy równań liniowych

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn a 1j a 2j R i = , C j =

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

1 Macierze i wyznaczniki

NUMERYCZNE METODY ROZWIĄZYWANIA ROWNAŃ LINIOWYCH. PRZYGOTOWAŁA: ANNA BANAŚ KoMBo, WILiŚ

Metody numeryczne. Janusz Szwabiński. nm_slides-7.tex Metody numeryczne Janusz Szwabiński 11/11/ :45 p.

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

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

Ekoenergetyka Matematyka 1. Wykład 3.

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

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

Własności wyznacznika

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

Zastosowania wyznaczników

Programowanie Współbieżne. Algorytmy

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

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

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

Macierze i Wyznaczniki

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

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

Wyznaczniki. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 6. Wykład z algebry liniowej Warszawa, listopad 2013

Wykład 14. Elementy algebry macierzy

Algebra liniowa. Macierze i układy równań liniowych

Krótkie wprowadzenie do macierzy i wyznaczników

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

5 Wyznaczniki. 5.1 Definicja i podstawowe własności. MIMUW 5. Wyznaczniki 25

Metoda eliminacji Gaussa

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

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

1 Zbiory i działania na zbiorach.

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

Równania liniowe. Rozdział Przekształcenia liniowe. Niech X oraz Y będą dwiema niepustymi przestrzeniami wektorowymi nad ciałem

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

Wprowadzenie do metod numerycznych Wykład 3 Metody algebry liniowej I Wektory i macierze

DB Algebra liniowa semestr zimowy 2018

MATEMATYKA I SEMESTR ALK (PwZ) 1. Sumy i sumy podwójne : Σ i ΣΣ

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

det A := a 11, ( 1) 1+j a 1j det A 1j, a 11 a 12 a 21 a 22 Wn. 1 (Wyznacznik macierzy stopnia 2:). = a 11a 22 a 33 +a 12 a 23 a 31 +a 13 a 21 a 32

MACIERZE I WYZNACZNIKI

A A A A A A A A A n n

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

Zestaw 12- Macierz odwrotna, układy równań liniowych

OBLICZANIE POCHODNYCH FUNKCJI.

Laboratorium Techniki Obliczeniowej i Symulacyjnej

III TUTORIAL Z METOD OBLICZENIOWYCH

Procesy stochastyczne WYKŁAD 2-3. Łańcuchy Markowa. Łańcuchy Markowa to procesy "bez pamięci" w których czas i stany są zbiorami dyskretnymi.

Algorytmy numeryczne 1

Lista nr 1 - Liczby zespolone

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

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

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

Zaawansowane metody numeryczne

Algorytm. a programowanie -

Wyk lad 9 Baza i wymiar przestrzeni liniowej

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

ALGEBRA Z GEOMETRIĄ MACIERZE ODWZOROWAŃ LINIOWYCH

ALGEBRA LINIOWA. Wykład 2. Analityka gospodarcza, sem. 1. Wydział Zarządzania i Ekonomii Politechnika Gdańska

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

D1. Algebra macierzy. D1.1. Definicje

Algebra. macierzy brzegowych z zastosowaniami. Micha Kolupa Zbigniew Âleszyƒski

Macierze. Układy równań.

Układy równań liniowych

Transkrypt:

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

ELIMINACJA GAUSSA Z WYBOREM CZĘŚCIOWYM ELEMENTÓW PODSTAWOWYCH 2 Przy pomocy klasycznego algorytmu eliminacji Gaussa nie możemy znaleźć rozwiązania wszystkich układów dla których układ ma rozwiązanie tj. det A 0, a jedynie układów których wszystkie minory główne są różne od zera.

W k-tym kroku eliminacji Gaussa może się zdarzyć, że element podstawowy a kk A (k 1) =[a11 =0. a 11 0 (k 1) a 1,n+1 a kk =0 a k,n+1 0 a nk a n,n+1 ] 3 (k 1) Wtedy w czynniku r= a ik (k 1) otrzymamy dzielenie przez zero niewykonalne. a kk

Aby tego uniknąć, należy zastosować wybór częściowy (ang. pivoting) tj. wyznaczyć indeks p taki, że a pk =max a ik k i n tzn. w wektorze [ a kk (k 1) o największym module. Następnie należy w macierzy A (k 1) (k 1), a k+1, k,, a n, k ] T znaleźć współrzędną przestawić wiersze o numerach k i p, co jest równoważne z przestawieniem równań. Po tej operacji mamy układ równań równoważny poprzedniemu. 4

Wybór częściowy algorytm k-ty krok: Na początku szukamy indeksu p elementu maks maksymalnego co do modułu (wartości bezwzględnej) w k- tej kolumnie od przekątnej w dół : A (k 1) =[a11 a 1k 0 a kk 0 a nk (k 1) a 1,n+1 ( a k,n+1 ( a n,n+1 k 1)] 5

Po dokonaniu wyboru częściowego możliwe są dwa przypadki: 1. jeżeli maks 0, to przestawiamy wiersz k-ty z p-tym w bieżącej macierzy w eliminacji Gaussa: for (i=k; j<=n+1;j++) { r=a[k][j]; a[k][j]=a[p][j]; a[p][j]=r; } i kontynuujemy eliminację Gaussa wykonując k-ty krok, 6

tj. zerujemy k-tą kolumnę pod przekątną odejmując od i-tego wiersza i=k +1, k +2,, n, wiersz k-ty pomnożony przez 7 r= a ik (k 1) (k 1) : a kk ( k ) a ij = a ij a ik (k 1) (k 1) a kk (k 1) a kj j=k, k+1,, n+1 2. jeżeli maks=0, to układ wejściowy jest osobliwy, kończymy metodę eliminacji Gausa z wynikiem układ osobliwy

Przykład 1. Rozwiązać układ równań Ax=b dla danych: 8 4 2 0 1 0 1 1 A=[2 ] 0 1 3 1 2 1 2 1 2 b=[4 0 Tworzymy macierz uzupełnioną: 4 2 0 A =[2 (0) 1 0 1 1 2 0 1 3 1 0 2 1 2 1 4 6] 6]

Krok 1-szy Szukamy elementu maksymalnego co do wartości bezwzględnej w 1-szej kolumnie 4 2 0 A =[2 (0) 1 0 1 1 2 0 1 3 1 0 2 1 2 1 4 6] Element maksymalny to element na głównej przekątnej ( 0) a 11 =2, p=1. Nie musimy zatem dokonywać zamiany wierszy (p==k). 9

Wykonujemy 1-szy krok eliminacji Gaussa tj. zerowanie 1-szej kolumny pod przekątną. Od wierszy od 2-go do 4-tego odejmujemy pierwszy wiersz pomnożony przez czynnik r = a i1 ( 0) i =2,3,4. ( 0) a 11 10 4 2 0 A =[2 (1) 0 2 2 1 0 0 1 3 1 0 0 3 0 1 4 2] w 2 w 2 1 2 w 1 w 3 w 3 0 2 w 1 w 4 w 4 2 2 w 1

Krok 2 szukamy elementu maksymalnego co do wartości bezwzględnej w drugiej kolumnie od przekątnej w dół : 11 4 2 0 A =[2 (1) 0 2 2 1 0 0 1 3 1 0 0 3 0 1 4 2] (1) Element o maksymalnym module to a 42 = 3, p=4. Przestawiamy wierszy 2-gi z 4-tym. Otrzymujemy:

12 [2 4 2 0 0 3 0 1 2 0 1 3 1 0 0 2 2 1 4 0] Wykonujemy teraz drugi krok eliminacji Gaussa tj. zerowanie 2-giej kolumny poniżej przekątnej poprzez odejmowanie od wierszy pod przekątną i=3,4 wiersza drugiego pomnożonego przez r = a i 2 (1) (1) a 22

4 2 0 4 A =[2 (2) 0-3 0 1 2 0 0 3-2/3 2/3 0 0 2 1/3 4/3] 13 w 3 w 3 1-3 w 2 w 4 w 4-2 -3 w 2 Krok 3 - szukamy elementu maksymalnego co do wartości bezwzględnej w trzeciej kolumnie od przekątnej w dół : [2 4 2 0 4 0-3 0 1 2 0 0 3-2/3 2/3 0 0 2 1/3 4/3]

Element maksymalny to element na głównej przekątnej ( 2) a 33 =3, p=3. Nie musimy zatem dokonywać zamiany wierszy (p=k). Wykonujemy teraz 3-ci krok eliminacji Gaussa tj. zerowanie 3-ciej kolumny poniżej przekątnej poprzez odejmowanie od wiersza 4-tego wiersza trzeciego 14 pomnożonego przez r= a (2) i 3 (2) a 33

4 2 0 A =[2 (3) 0-3 0 1 0 0 3-2/3 0 0 0-1/9 4 2 w 2/3 8/9] 4 w 4 2 3 w 3 15 W ten sposób doszliśmy do układu górnie trójkątnego. Postępowanie odwrotne Gaussa: Rozwiązując powyższy układ od końca otrzymujemy: x 1 =-4, x 2 =2, x 3 =2, x 4 =8.

16 bool GaussCzD(double** A, int n, double * x) { //zerowanie kolumn od 0-wej do n-2 for (int k=0; k <= n-2; k++) {//Element maksymalny z k-tej kolumny: int ielmax = k;//indeks el. max double elmax = fabs(a[k][k]); for (int m = k+1; m < n; m++) if (fabs(a[m][k]) > elmax) { elmax = fabs(a[m][k]); ielmax = m; }

//sprawdzamy czy elem na gl.przek!=0 17 if (elmax == 0)// Macierz osobliwa return false; if (ielmax!= k)//jest zamiana {//Zamiana wierszy-równañ "k" z "ielmax" double * rob = A[k]; A[k] = A[ielmax]; A[ielmax] = rob; }

//k-ty krok eliminacji Gaussa 18 for (int i = k+1; i < n; i++) { double r= A[i][k]/A[k][k]; for (int j = k+1; j <= n; j++) A[i][j]=A[i][j] - r*a[k][j]; } }//for k -po kolejnych kolumnach //sprawdzamy ostatni el. na glownej przekatnej if (A[n-1][n-1] == 0) //macierz osobliwa return false;

// postępowanie odwrotne Gaussa x[n-1] = A[n-1][n]/A[n-1][n-1]; for (int i = n-2; i >= 0; i--) { double s = 0; for (int j = i+1; j < n; j++) s += A[i][j]*x[j]; x[i] = (A[i][n] - s) / A[i][i]; } return true; } 19

PEŁNY WYBÓR ELEMENTU PODSTAWOWEGO Wybór pełny zapewnia większą stabilność metody eliminacji Gaussa. Przestawiać będziemy zarówno wiersze jak i kolumny macierzy. Tworzymy wektor 20 Q=[ 1, 2,, n], w którym będziemy pamiętać kolejność kolumn (zmiennych). k-ty krok: W k-tym kroku postępowania prostego wyznaczamy indeksy p i q takie, że a (k 1) pq =max k i n k j n a (k 1) ij

tzn. szukany elementu o największym module w bloku macierzy: A (k 1) =[a11 a 1k a 1n 0 0 a k,k a k,n 0 0 a n,k a n,n a 1n+1 a (k 1)] k,n+1 a n,n+1 Po znalezieniu indeksów p i q, jeżeli a pq przestawiamy wiersz k-ty z p-tym (jeśli jest taka potrzeba: k!=p ) oraz kolumnę q-tą z k-tą (jeśli k!=q). 21 0

Przestawienie kolumn o numerach k i q oznacza przestawienie w wektorze rozwiązań x=[ x 1,, x n ] T współrzędnej x k z x q. Dlatego dodatkowo w wektorze Q=[1, 2,, n] przestawiamy współrzędne q i k tzn.. r=q[ k ], Q[ k ]=Q[q], Q[q]=r. Jeżeli a pq =0 postępowanie kończymy, w przeciwnym razie wykonujemy k-ty krok eliminacji Gaussa. Ostatecznie więc, po wykonaniu postępowania prostego i odwrotnego otrzymuje się rozwiązanie x Q[1 ], x Q [2],, x Q [n]. 22

Przykład. Korzystając z eliminacji Gaussa z pełnym wyborem elementów podstawowych rozwiązać układ równań 23 Ax=b dla danych: A=[ 0 1 2 3] b=[ 2 8]. Tworzymy macierz uzupełnioną: =[ A (0) 0 1 2 3 2 8] oraz wektor Q=[1,2].

Szukamy elementu o maksymalnej wartości bezwzględnej w zaznaczonym obszarze A (0) =[ Q=[1,2] 0 1 2 3 2 8] Jest to element a 22. Przestawiamy wiersze pierwszy z drugim: A (0) =[ Q=[1,2] 2 3 0 1 8 2] 24

A następnie zamieniamy kolumny pierwszą z drugą oraz przestawiamy pierwszy z drugim elementy wektora Q: A (0) =[ Q=[2,1] 3 2 1 0 8 2] 25 Wykonujemy eliminację Gaussa: A (1) =[ Q=[2, 1] 3 2 0 2/3 2/3] 8 w 2 w 2 1 3 w 1

Na koniec postępowanie odwrotne Gaussa pamiętając o przestawieniu zmiennych zgodnie z wektorem Q=[2,1], czyli: x Q[1 ], x Q [2] 2 x 1 A =[x (1) 3 2 0 2/3 2/3] 8 26-2/3 x 1 =-2/3 => x 1 =1 3x 2 +2x 1 =8 3x 2 +2*1=8 => 3x 2 =6 => x 2 =2

Koszt obliczeń eliminacji Gaussa (liczba długich działań): dla k = 1,2,,n-1 oblicz { r = a ik /a kk ; dla j = k+1,,n+1 oblicz a ij = a ij -r*a kj ; } W k-tym kroku dla i-tego wiersza mamy: n-k+2 działań: 1(/ w r) + 2(n-k+1) (*,- w wierszu), zaś wierszy jest n-k. n 1 Łącznie k=1 (2(n k+1)+1) 2 / 3 n 3 + O( n 2 ) działań. 27

Postępowanie odwrotne Gaussa : dla i = n,n-1,,1 oblicz n x i =(a i - j=i+1 a ij x j )/a ii 28 jest mniej kosztowne, wymaga dla obliczenia x i 1 (/)+(n-i+1)(*) + 1 (-)+(n-i)(+). Łącznie n 2 operacji. Zatem całkowity koszt eliminacji Gaussa to 2 / 3 n 3 + O( n 2 ) działań.

Zastosowanie eliminacji Gaussa 1. Obliczanie wyznaczników 29 ( n 1) ( n 1) (n 1) det A=a 11 a 22 a nn Przekształcanie elementarne dopuszczalne w postępowaniu prostym Gaussa nie zmieniają wartości wyznacznika. Jeżeli przestawilibyśmy wiersze lub kolumny, to należy jednocześnie zmienić znak wyznacznika: ( n 1) ( n 1) det A=a 11 a 22 a nn l. p. wierszy+l. p. kolumn (n 1)( 1)

Odwracanie macierzy Jeśli macierz A=[ a ij ] nxn jest nieosobliwa, det A 0, to istnieje macierz X=[ x ij ] nxn, taka że AX=XA=I. Macierz X oznaczamy A 1 i nazywamy macierzą odwrotną. Bezpośrednio z definicji wynika, że macierz odwrotna jest rozwiązaniem macierzowego układu równań AX=I. Jej wyznaczenie można przeprowadzić przy pomocy metody eliminacji Gaussa zastosowanej do macierzy uzupełnionej 30 postaci [ A I ] [ I A 1 ].

Źródła błędu w rozwiązywaniu układów równań liniowych: 1. Błędy danych wejściowych (macierz A i wektor b), np. dla danych empirycznych 2. Zaokrąglenia wykonywane w czasie obliczeń, wynikające ze stosowania skończonej arytmetyki maszynowej. Ich wpływ kumuluje się w trakcie obliczeń. Czasami niewielkie modyfikacje wzorów pozwalają na poprawienie dokładności. Wzory Cramera ze względu na zbyt duży koszt i złą jakość wyniku nie są stosowane. 31

Przykład. (arytmetyka zmiennopozycyjna z 2 cyframi dziesiętnymi) 32 { 0.99 x+0.70 y=0.54 { x=0.80 0.70 x+0.50 y=0.38 y= 0.36 Metoda Cramera { x=0.00 y=0.00 Metoda eliminacji Gaussa otrzymamy układ równań nieoznaczony

Zadania 1) Korzystając z eliminacji Gaussa bez wyboru elementów podstawowych wyznacz macierz odwrotną do macierzy A=[ 1 3 2 4] 0 4 8 5 6 2) Sprowadź macierz A=[ 2 1 0 ] 4 4 1 6 5 4 do postaci górnie trójkątnej. Oblicz wyznacznik macierzy. 33