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

Podobne dokumenty
Układy równań liniowych. Krzysztof Patan

Zaawansowane metody numeryczne

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

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

Metody numeryczne Wykład 4

Macierze. Rozdział Działania na macierzach

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 i metody ich rozwiązywania

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

Wykład 5. Metoda eliminacji Gaussa

1 Macierze i wyznaczniki

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

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

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

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

O MACIERZACH I UKŁADACH RÓWNAŃ

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

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

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

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

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

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

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

1 Macierz odwrotna metoda operacji elementarnych

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

2. Układy równań liniowych

13 Układy równań liniowych

Zaawansowane metody numeryczne

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

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

1 Zbiory i działania na zbiorach.

A A A A A A A A A n n

Analiza matematyczna i algebra liniowa Macierze

Wykład 14. Elementy algebry macierzy

Metody dekompozycji macierzy stosowane w automatyce

UKŁADY RÓWNAŃ LINIOWYCH

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

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

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

Własności wyznacznika

Macierze i Wyznaczniki

Układy równań liniowych

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

10. Metody obliczeniowe najmniejszych kwadratów

Wyznaczniki 3.1 Wyznaczniki stopni 2 i 3

Metoda eliminacji Gaussa. Autorzy: Michał Góra

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

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

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

Macierz o wymiarach m n. a 21. a 22. A =

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

Wartości i wektory własne

Wstęp do metod numerycznych Eliminacja Gaussa i faktoryzacja LU. 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...

DB Algebra liniowa semestr zimowy 2018

Krótkie wprowadzenie do macierzy i wyznaczników

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

III TUTORIAL Z METOD OBLICZENIOWYCH

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

MACIERZE I WYZNACZNIKI

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

Zaawansowane metody numeryczne

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

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

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

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

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

Baza w jądrze i baza obrazu ( )

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

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

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Wektory i wartości własne

Wykład 4. Informatyka Stosowana. Magdalena Alama-Bućko. 25 marca Magdalena Alama-Bućko Wykład 4 25 marca / 25

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

Wektory i wartości własne

Ekoenergetyka Matematyka 1. Wykład 3.

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

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

Treści programowe. Matematyka. Efekty kształcenia. Literatura. Terminy wykładów i ćwiczeń. Warunki zaliczenia. tnij.org/ktrabka

Układy równań liniowych

D1. Algebra macierzy. D1.1. Definicje

Zadania z algebry liniowej - sem. I Przestrzenie liniowe, bazy, rząd macierzy

Metody numeryczne I Równania nieliniowe

Układy równań liniowych

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

3. FUNKCJA LINIOWA. gdzie ; ół,.

Metody numeryczne. Zagadnienia własne. Janusz Szwabiński.

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

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

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

Lista nr 1 - Liczby zespolone

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

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

Metoda eliminacji Gaussa

φ(x 1,..., x n ) = a i x 2 i +

Transkrypt:

Metody numeryczne Układy równań liniowych, część I Janusz Szwabiński szwabin@ift.uni.wroc.pl nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p./83

Układy równań liniowych, część I. Pojęcia podstawowe Normy Macierze trójkątne Wyznaczniki Układy równań liniowych 2. Metody dokładne rozwiązywania układów równań Analiza zaburzeń Wzory Cramera Układy trójkątne Eliminacja Gaussa Rozkład LU nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.2/83

Układy równań liniowych, część I 2. Metody dokładne rozwiązywania układów równań (cd.) Metoda Doolittle a Macierze dominujące diagonalnie Równoważenie układów liniowych Metoda eliminacji Jordana Inne metody dokładne Układy z macierzą trójdiagonalną Wyznaczniki Macierze odwrotne nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.3/83

Normy () Definicja Normą w przestrzeni R n nazywamy funkcję. : R n 0, + ) o następujących własnościach:. x 0 dla każdego x R n, 2. αx = α x dla każdego α R i dla każdego x R n, 3. x x 2 x + x 2 dla każdej pary x, x 2 R n (nierówność trójkąta), 4. x = 0 x = 0. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.4/83

Normy (2) Niech x = [x,..., x n ] T R n. Najczęściej stosowane (w obliczeniach numerycznych) normy: x = x +... + x n, x 2 = (x 2 +... + x 2 n) /2, x = max{ x,..., x n }. Jeżeli ciąg wektorów { x (i)} dąży do wektora zerowego w i= jednej z powyższych norm, to zbieżność zachodzi również dla dowolnej innej normy normy są równoważne nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.5/83

Normy (3) Definicja Normą macierzy A nazywamy A pq = max x R n x 0 Ax q x p. Jeżeli p = q, piszemy A p. Twierdzenie A = max j=,...,n n i= a ij (maksymalna suma modułów w kolumnie) nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.6/83

Normy (4) Twierdzenie 2 A 2 = λ max, gdzie λ max to największa wartość własna macierzy A T A. Twierdzenie 3 A = max i=,...,n n j= a ij (maksymalna suma modułów w wierszu) nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.7/83

Normy (5) Definicja Euklidesową normą macierzy (normą Schura, normą Frobeniusza) nazywamy m n A E = a 2 ij. i= j= A E jest zgodna z. 2, tzn. dla każdego x R n Ax 2 A E x 2 stosuje się ją często zamiast A 2 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.8/83

Macierze trójkatne () Macierz trójkątna lewa (dolna): l 0 0 l 2 l 22 0 L =...... l n l n2 l nn Macierz trójkątna prawa (górna): u u 2 u n 0 u 22 u 2n U =...... 0 0 u nn nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.9/83

Macierze trójkatne (2) Własności: sumy, iloczyny i odwrotności macierzy trójkątnych tego samego rodzaju są znów macierzami trójkątnymi det L = l l 22... l nn det U = u u 22... u nn nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.0/83

Wyznaczniki () Definicja Wyznacznikiem macierzy kwadratowej a a 2 a n a 2 a 22 a 2n A =...... a n a n2 a nn nazywamy liczbę det A = f ( ) I f a α a 2α2... a nαn, gdzie f oznacza sumowanie po wszystkich permutacjach liczb naturalnych, 2,..., n, a I f oznacza ilość inwersji w permutacji f. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p./83

Wyznaczniki (2) Definicja Minorem M ik wyznacznika det A nazywamy wyznacznik macierzy powstałej z macierzy A po skreśleniu i tego wiersza i k tej kolumny. Definicja Dopełnieniem algebraicznym A ik elementu a ik macierzy A nazywamy liczbę A ik = ( ) i+k M ik. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.2/83

Wyznaczniki (3) Twierdzenie 4 Rozwinięcie Laplace a wzdłuż i tego wiersza: det A = n j= a ij A ij Twierdzenie 5 Rozwinięcie Laplace a wzdłuż k tej kolumny: det A = n j= a jk A jk wyliczenie wyznacznika macierzy n n wymaga n! mnożeń dla dużych n (rzędu np. 000 czy 00000) rozwinięcia Laplace a są bezużyteczne nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.3/83

Układy równań liniowych () a x +... + a n x n = b a 2 x +... + a 2n x n = b 2. a m x +... + a mn x n = b m Macierz układu A = a a 2 a n a 2 a 22 a 2n...... a m a m2 a mn nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.4/83

Układy równań liniowych (2) Macierz rozszerzona układu a a 2 a n b a 2 a 22 a 2n b 2 D =....... a m a m2 a mn b m Twierdzenie 6 (Capellego) Warunkiem koniecznym i wystarczajacym rozwiazywalności dowolnego układu równań liniowych jest, aby rzad r macierzy A układu był równy rzędowi macierzy rozszerzonej D. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.5/83

Układy równań liniowych (3) Niech n - liczba niewiadomych r - rząd macierzy A i D układ posiada rozwiązanie zależne od (n r) parametrów nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.6/83

Metody bezpośrednie (dokładne) Definicja Metodami dokładnymi (bezpośrednimi) rozwiązywania układów równań liniowych nazywamy metody, które przy braku błędów zaokrągleń dają dokładne rozwiązanie po skończonej liczbie przekształceń układu wyjściowego Zalety: duża efektywność dla układów o macierzach pełnych Wady: duże obciążenie pamięci możliwa niestabilność ze względu na błędy zaokrągleń nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.7/83

Analiza zaburzeń () Rozwiązanie przybliżone układu Ax = b zastępujemy rozwiązaniem dokładnym układu (A + δa)(x + δx) = b + δb nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.8/83

δb 0 i δa = 0 () W tym przypadku mamy A(x + δx) = b + δb Ax + Aδx = b + δb Aδx = δb δx = A δb Stąd dla dowolnych norm wektorów δx oraz δb δx p A qp δb q nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.9/83

δb 0 i δa = 0 (2) Jeśli b 0, to δx p A qp δb q x p x p = A qp b q x p δb q b q K pq δb q b q, gdzie K pq to wskaźnik uwarunkowania układu K pq = A qp A pq. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.20/83

δb 0 i δa = 0 (3) Przykład A =, 2969 0, 8648 0, 26 0, 44, A = 0 8 0, 44 0, 8648 0, 26, 2969 Stąd wynika A = 2, 67, A =, 53 0 8, oraz K = A A 3, 3 0 8. rozwiązując układ opisany macierzą A w najgorszym wypadku możemy utracić 8 miejsc istotnych dokładności układ bardzo źle uwarunkowany nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.2/83

δb = 0 i δa 0 Z równania macierzowego (A + δa)(x + δx) = b wynika a stąd czyli δx = A δa(x + δx), δx A δa x + δx, δx x + δx A δa = K δa A nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.22/83

δb 0 i δa 0 () Niech U - jednostka maszynowa A + δa - macierz A po zaokrągleniu Wówczas (a ij + δa ij ) a ij = δa ij U a ij Stąd max i n n j= δa ij U max i n n j= a ij, czyli δa U A nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.23/83

δb 0 i δa 0 (2) Analogicznie δb U b Biorąc pod uwagę poprzednie przypadki, otrzymamy δx x 2UK nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.24/83

Wzory Cramera Twierdzenie 7 Układ równań liniowych Cramera (tzn.: o nieosobliwej macierzy współczynników) ma dokładnie jedno rozwiazanie postaci x k = det A k det A, k =, 2,..., n, gdzie macierz A k powstaje z macierzy A przez zastapienie k tej kolumny przez wektor b Własności: oszczędność pamięci bardzo duży nakład obliczeń (wyklucza praktyczne zastosowania dla dużych n) nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.25/83

Układy trójkatne () Rozważmy układ a x + a 2 x 2 +... + a n x n = b a 22 x 2 +... + a 2n x n = b 2 Rozwiązanie (tzw. podstawianie wstecz) x n = b n a nn, x i = b i gdzie i = n, n 2,..., a nn x n = b n n k=i+ a ikx k a ii,. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.26/83

Układy trójkatne (2) Jeśli macierz układu jest macierzą trójkątną dolną, stosujemy podstawianie w przód: Nakład obliczeń: x = b a x i = b i i k= a ikx k, i = 2,..., n a ii M = 2 n2 + n mnożeń i dzieleń 2 D = 2 n2 2 n dodawań nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.27/83

Eliminacja Gaussa () (i) sprowadzenie układu do postaci trójkątnej (eliminacja zmiennych), (ii) rozwiązanie układu trójkątnego Rozważmy układ równań A () x = b () postaci a () x + a () 2 x 2 +... + a () n x n = b () a () 2 x + a () 22 x 2 +... + a () 2n x n = b () 2 a () n x + a () n2 x 2 +... + a () nnx n = b () n Od i tego wiersza (i = 2, 3,..., n) odejmujemy pierwszy pomnożony przez a () i /a(),. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.28/83

Eliminacja Gaussa (2) a (2) x + a (2) 2 x 2 +... + a (2) n x n = b (2) a (2) 22 x 2 +... + a (2) 2n x n = b (2) 2 a (2) n2 x 2 +... + a (2) nnx n = b (2) n wyeliminowaliśmy niewiadomą x z wierszy o indeksach i = 2, 3,..., n Odejmujemy od j tego wiersza układu (j = 3, 4,..., n) wiersz drugi pomnożony przez a (2) j2 /a(2) 22,. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.29/83

Eliminacja Gaussa (3) a (3) x + a (3) 2 x 2 + a (3) 3 x 3 +... + a (3) n x n = b (3) a (3) 22 x 2 + a (3) 23 x 3 +... + a (3) 2n x n = b (3) 2 a (3) n3 x 3 +... + a (3) nnx n = b (3) n wyeliminowaliśmy niewiadomą x 2 z wierszy o indeksach i = 3,..., n. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.30/83

Eliminacja Gaussa (4) Po (n ) eliminacjach a (n) x + a (n) 2 x 2 +... + a (n) n x n = b (n) Nakład obliczeń a (n) 22 x 2 +... + a (n) 2n x n = b (n) 2 a nn (n) x n = b n (n). M = 3 n3 + n 2 3 mnożeń i dzieleń D = 3 n3 + 2 n2 5 6 n dodawań liczba operacji bez porównania mniejsza niż dla wzorów Cramera nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.3/83

Częściowy wybór elementu podstawowego () Przykład Rozważmy układ 0 2 2 3 3 0 0 x = 3 2 macierz układu jest nieosobliwa, więc istnieje jednoznaczne rozwiązanie, ale... stosując eliminację Gaussa obliczenia zostaną przerwane przy eliminacji x, ponieważ a = 0 metoda nie jest niezawodna nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.32/83

Częściowy wybór elementu podstawowego (2) Definicja Elementem podstawowym nazywamy ten element macierzy A, za pomocą którego dokonujemy eliminacji zmiennej z dalszych równań Metoda Gaussa-Crouta (modyfikacja eliminacji Gaussa): zmień kolejność wierszy (rozwiązanie układu nie zmienia się), aby znaleźć optymalny element podstawowy nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.33/83

Częściowy wybór elementu podstawowego (3) Przykład Rozważmy ponownie układ 0 2 2 3 3 0 x = 0 Zamieniamy wiersz pierwszy z trzecim, 0 3 3 0 x = 0 2 2 3 2 2 3 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.34/83

Częściowy wybór elementu podstawowego (4) Przykład (ciąg dalszy) Od drugiego wiersza odejmujemy pierwszy pomnożony przez 3/, od trzeciego - pierszy pomnożony przez 0/, 0 2 0 3 3 x = 3 0 2 2 Od trzeciego wiersza odejmujemy drugi pomnożony przez 2/3, 0 2 0 3 3 x = 3 0 0 4 3 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.35/83

Częściowy wybór elementu podstawowego (5) Przykład (ciąg dalszy) Stosując metodę podstawiania wstecz, otrzymujemy ostatecznie x = 5 4 4 3 4. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.36/83

Częściowy wybór elementu podstawowego (6) Przykład SUBROUTINE ELGS (A,N,INDX) IMPLICIT NONE INTEGER, INTENT (IN) :: N INTEGER :: I,J,K,ITMP INTEGER, INTENT (OUT), DIMENSION (N) :: INDX REAL :: C,PI,PI,PJ REAL, INTENT (INOUT), DIMENSION (N,N) :: A REAL, DIMENSION (N) :: C DO I =, N INDX(I) = I END DO nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.37/83

Częściowy wybór elementu podstawowego (7) DO J =, N- PI = 0.0 DO I = J, N PI = ABS(A(INDX(I),J)) IF (PI.GT.PI) THEN PI = PI!wybór elementu podstawowego K = I ENDIF END DO ITMP = INDX(J) INDX(J) = INDX(K)!zmień kolejność wierszy INDX(K) = ITMP DO I = J+, N PJ = A(INDX(I),J)/A(INDX(J),J) A(INDX(I),J) = PJ!zapisz PJ poniżej przekątnej DO K = J+, N A(INDX(I),K) = A(INDX(I),K)-PJ*A(INDX(J),K) END DO END DO END DO END SUBROUTINE ELGS nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.38/83

Częściowy wybór elementu podstawowego (8) SUBROUTINE LEGS (A,N,B,X,INDX) IMPLICIT NONE INTEGER, INTENT (IN) :: N INTEGER :: I,J INTEGER, INTENT (OUT), DIMENSION (N) :: INDX REAL, INTENT (INOUT), DIMENSION (N,N) :: A REAL, INTENT (INOUT), DIMENSION (N) :: B REAL, INTENT (OUT), DIMENSION (N) :: X CALL ELGS (A,N,INDX) DO I =, N- DO J = I+, N!zmodyfikuj b B(INDX(J)) = B(INDX(J))-A(INDX(J),I)*B(INDX(I)) END DO END DO nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.39/83

Częściowy wybór elementu podstawowego (9) X(N) = B(INDX(N))/A(INDX(N),N)!oblicz x DO I = N-,, - X(I) = B(INDX(I)) DO J = I+, N X(I) = X(I)-A(INDX(I),J)*X(J) END DO X(I) = X(I)/A(INDX(I),I) END DO END SUBROUTINE LEGS nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.40/83

Rozkład LU () Przekształcenie A () x = b () A (2) x = b (2) jest równoważne pomnożeniu obu stron układu A () x = b () przez macierz 0 0... 0 l 2 0... 0 L () = l 3 0... 0....... l n 0 0..., l i = a() i, i = 2, 3,..., n a () nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.4/83

Rozkład LU (2) Otrzymujemy dwa równania: L () A () = A (2), L () b () = b (2) Podobnie, L (2) A (2) = A (3), L (2) b (2) = b (3) przy czym L (2) = 0 0... 0 0 0... 0 0 l 32... 0....... 0 l n2 0..., l i2 = a(2) i2, i = 3,..., n a (2) 22 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.42/83

Rozkład LU (3) Ostatecznie, L (n ) L (n 2)... L () A () = A (n) oraz L (n ) L (n 2)... L () b () = b (n) Macierze L (i), i =,..., n, są nieosobliwe, możemy więc zapisać A () = (L () ) (L (2) )... (L (n) ) A (n) nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.43/83

Rozkład LU (4) Ponadto, L (L () ) (L (2) )... (L (n) ) = 0 0... 0 l 2 0... 0 l 3 l 32... 0....... l n l n2 l n3... A (n) jest macierzą trójkątną górną A = L U nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.44/83

Rozkład LU (5) Zastosowanie do układów równań liniowych Ly = b Ax = b Ux = y zapamiętując L i U, możemy szybko rozwiązać wiele układów różniących się wektorami b zarządzanie pamięcią maszyny: a a 2 a 3... a n a 2 a 22 a 23... a 2n a 3 a 32 a 33... a 3n......... u u 2 u 3... u n l 2 u 22 u 23... u 2n l 3 l 32 u 33... u 3n......... a n a n2 a n3... a nn l n l n2 l n3... u nn nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.45/83

Metoda Doolitle a () Przykład Niech 3 3 0 0 2 2 = 0 0 0 l 2 0 l 3 l 32 u u 2 u 3 0 u 22 u 23 0 0 u 33 Stąd 3 = u, 3 = u 2, 0 = u 3, 0 = 3l 2, = 3l 3, 2 = 0 3 + u 22, 2 = 0 + u 23, 0 = 3 3 + 2l 32, = 0 + ( 2) 2 u33, nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.46/83

Metoda Doolitle a (2) Przykład (ciąg dalszy) czyli 3 3 0 0 2 2 = 0 0 0 0 3 3 0 0 2 2 0 3 2 0 0 2 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.47/83

Metoda Doolitle a (3) W przypadku ogólnym dla i =, 2,..., n u ij = a ij i k= l ik u kj, j = i, i +,..., n, l ji = a ji i k= l jku ki, j = i +, i + 2,..., n u ii Nakład obliczeń: rozkład LU M = 3 n3 3 n mnożeń, D = 3 n3 2 n2 + 6 n dodawań rozkład LU i rozwiązanie układu równań M = 3 n3 + n 2 3 n i D = 3 n3 + 3 n2 5 6 n nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.48/83

Metoda Doolitle a (4) Przykład Rozważmy macierz 20 3 23 30 24 8 5 32 2 Wprowadzamy dodatkową kolumnę indeksującą wiersze 20 3 23 30 24 8 2 5 32 2 3 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.49/83

Metoda Doolitle a (5) Przykład (ciąg dalszy) Element podstawowy wybieramy tak, aby u ii miało jak największą wartość. Dla i = w zależności od tego, czy na pierwszym miejscu ustawimy wiersz pierwszy, drugi czy trzeci, uzyskamy odpowiednio u = 20, u = 30 oraz u = 5. Dlatego zamieniamy miejscami wiersz pierwszy z drugim, 30 24 8 2 20 3 23 5 32 2 3 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.50/83

Metoda Doolitle a (6) Przykład (ciąg dalszy) Obliczamy: u = 30, u 2 = a 2 = 24, u 3 = a 3 = 8, l 2 = 2, 3 l 3 = 2 Wartości te wpisujemy do macierzy A 30 24 8 2 3 23 3 32 2 2 2 3 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.5/83

Metoda Doolitle a (7) Przykład (ciąg dalszy) Dla i = 2 otrzymamy lub u 22 = a 22 a 2 a 2 = 3 2 3 u 22 = a 32 a 3 a 2 = 32 2 24 = 5 24 = 20 w zależności od tego, czy na drugim miejscu ustawimy wiersz drugi czy trzeci. Zamieniamy wiersze miejscami, 30 24 8 2 32 2 2 3 2 3 23 3 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.52/83

Metoda Doolitle a (8) Przykład (ciąg dalszy) Obliczamy u 22 = 20, u 23 = a 23 a 2 a 3 = 2, u 32 = 5 20 Stąd 30 24 8 20 2 2 2 3 2 3 3 23 4 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.53/83

Metoda Doolitle a (9) Przykład (ciąg dalszy) Dla i = 3 obliczamy u 33 = 2. Stąd 30 24 8 20 2 2 2 3 2 3 3 2 4 w miejsce macierzy A otrzymaliśmy rozkład LU macierzy, która składa się z wierszy 2, 3 i macierzy wyjściowej A nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.54/83

Błędy zaokragleń () Trzy etapy rozwiązania (i) wyznaczenie rozkładu à = LU metodą Gaussa lub Doolittle a (metody są równoważne numerycznie). à oznacza przy tym macierz wyjściową z odpowiednio poprzestawianymi wierszami, (ii) znalezienie rozwiązania układu Ly = b, (iii) znalezienie rozwiązania układu Ux = y. W etapie pierwszym: LU = à + E, gdzie macierz E to błąd rozkładu nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.55/83

Błędy zaokragleń (2) W etapie drugim i trzecim: (L + δl)y = b, (U + δu)x = y Stąd (à + E + LδU + δlu + δlδu)x = b Można pokazać, że zaburzenie ma oszacowanie δa à ɛ δa = E + LδU + δlu + δlδu ( 9 2 n3 + 6 ) 2 n2 8n 6 + O(ɛ) nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.56/83

Błędy zaokragleń (3) Stąd wynika gdzie δx x α α α = ɛko ( 9 n3) 2 O ( 9 n3) = ( 9 2 2 n3 + 6 2 n2 8n 6 ) K - wskaźnik uwarunkowania nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.57/83

Macierze dominujace diagonalnie () Definicja Macierz kwadratową A nazywamy diagonalnie dominującą, jeżeli a ii n k= k i a ik, i =, 2,..., n. Jeżeli nierówności są ostre, mówimy o macierzy silnie diagonalnie dominującej. Definicja Macierz A jest diagonalnie dominująca kolumnowo, jeżeli A T jest diagonalnie dominująca, tzn. a ii n k= k i a ki, i =, 2,..., n. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.58/83

Macierze dominujace diagonalnie (2) Twierdzenie 8 Jeżeli macierz A jest nieosobliwa i diagonalnie dominujaca kolumnowo, to przy eliminacji metoda Gaussa Crouta nie ma potrzeby przestawiania wierszy. Dowód Pokażemy, że po wyeliminowaniu m niewiadomych, uzyskana macierz jest nadal macierzą diagonalnie dominującą kolumnowo. Macierz A () jest diagonalnie dominująca kolumnowo z założenia. Pierwszym elementem podstawowym jest więc a (). Wszystkie mnożniki l k = a () k /a(), k = 2,..., n, spełniają warunek n l k. k=2 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.59/83

Macierze dominujace diagonalnie (3) Dowód (ciąg dalszy) Po eliminacji pierwszej niewiadomej uzyskamy z kolumn i wierszy o numerach 2,..., n macierz o elementach Stąd wynika, a (2) ki = a () ki l k a () i, k, i = 2,..., n. a (2) ii a() ii l i a () i, a (2) ki a() ki + l k a () i. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.60/83

Macierze dominujace diagonalnie (4) Dowód (ciąg dalszy) Stąd a (2) ii n k=2 k i n a (2) ki a() ii a() i k=2 l k n k=2 k i a () i 0, czyli A (2) jest diagonalnie dominująca kolumnowo. Podobnie postępujemy w przypadku dalszych eliminacji. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.6/83

Równoważenie układów liniowych () Przykład Rozważmy układ 0000 x 0, 000 x 2 = 0000 Układ ten ma rozwiązanie x = x 2 = 0, 9999 (zaokrąglone do czterech cyfr dziesiętnych) Niech a będzie elementem podstawowym. Szukamy rozwiązań układu w trzycyfrowej arytmetyce zmiennopozycyjnej: x = 0.00, x 2 =.00 (b. złe!) nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.62/83

Równoważenie układów liniowych (2) Przykład (ciąg dalszy) Pomnóżmy teraz pierwsze równanie przez 0 4, 0, 000 x = 0, 000 x 2 Wybierając a 2 jako element podstawowy, otrzymamy x =.00, x 2 =.00, co w trzycyfrowej arytmetyce jest wynikiem dobrym. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.63/83

Równoważenie układów liniowych (3) Definicja Zrównoważeniem układu będziemy nazywali takie przeskalowanie zmiennych, po którym macierz układu będzie spełniała warunek max j n a ij =, i =,..., n. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.64/83

Metoda eliminacji Jordana () a () x + a () 2 x 2 +... + a () n x n = b () a () 2 x + a () 22 x 2 +... + a () 2n x n = b () 2 a () n x + a () n2 x 2 +... + a () nnx n = b () n Dzielimy pierwsze równanie obustronnie przez a (),a następnie od i tego wiersza (i = 2, 3,..., n) odejmujemy pierwszy pomnożony przez a () i,. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.65/83

Metoda eliminacji Jordana (2) x + a (2) 2 x 2 +... + a (2) n x n = b (2) a (2) 22 x 2 +... + a (2) 2n x n = b (2) 2 a (2) n2 x 2 +... + a (2) nnx n = b (2) n W kolejnym kroku dzielimy drugie równanie obustronnie przez a (2) 22 i odejmujemy od i tego wiersza (i =, 3, 4,..., n) wiersz drugi pomnożony przez a (2) i2,. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.66/83

Metoda eliminacji Jordana (3) x +... + a (3) n x n = b (3) x 2 +... + a (3) 2n x n = b (3) 2... + a (3) nnx n = b (3) n Po (n ) eliminacjach otrzymujemy układ x = b (n) x 2 = b (n) 2.... x n = b (n) n. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.67/83

Metoda eliminacji Jordana (4) Nakład obliczeń: M = 2 n3 + 2 n2, D = 2 n3 2 około półtora raza więcej niż w eliminacji Gaussa Zalety: oszczędne gospodarowanie pamięcią możliwość prostego określenia rozwiązania obciętego układu równań Wady: duży nakład obliczeń brak odpowiednika rozkładu LU nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.68/83

Inne metody dokładne rozkład LDL T, gdzie D to macierz diagonalna stosowany, gdy macierz A jest symetryczna równanie wyjściowe zastępuje się trzema innymi oszczędność pamięci, mała liczba działań rozkład LL T (Cholesky ego, Banachiewicza) dla macierzy symetrycznych, dodatnio określonych mały nakład obliczeń, oszczędność pamięci nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.69/83

Układy z macierza trójdiagonalna () T = b c a 2 b 2 c 2 0 a 3 b 3 c 3 0 a 4 b 4............... b n c n a n b n nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.70/83

Układy z macierza trójdiagonalna (2) Rozkład LU tej macierzy ma postać 0. l 2.. L =...., U =.. 0 l n u c 0......... c n 0 u n, przy czym u = b, l i = a i u i, u i = b i l i c i, i = 2, 3,..., n nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.7/83

Układy z macierza trójdiagonalna (3) Aby znaleźć rozwiązanie układu Tx = b, rozwiązujemy dwa układy równań według wzorów oraz y = b, Ly = b, Ux = y y i = b i l i y i, i = 2,..., n, x n = y n u n, x i = y i c i x i+ u i, i = n, n 2,..., nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.72/83

Układy z macierza trójdiagonalna (4) Własności: metoda jest niezawodna, jeśli macierz T jest diagonalnie dominująca oszacowanie błędu wynosi δx x α α gdzie α = 4ɛK nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.73/83

Wyznaczniki Jeżeli zachodzi konieczność obliczenia wyznacznika, dokonaj rozkładu macierzy A = LU (z wyborem częściowym lub bez) zastosuj wzór: det A det LU = det L det U = det U = u... u nn nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.74/83

Macierze odwrotne () W celu obliczenia macierzy A wyznaczamy rozkład LU macierzy A rozwiązujemy układy równań LUx (i) = e (i), i =,..., n, gdzie e (i) = (0,..., 0,, 0,..., 0) T jest i tym wersorem bazowym w przestrzeni R n Rozwiązania x (i) są kolumnami macierzy odwrotnej, przy czym należy ustawić je w kolejności wynikającej z przestawień wierszy macierzy. nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.75/83

Macierze odwrotne (2) Przykład Chcemy obliczyć A = 0 3 3 0 0 2 2 Szukamy najpierw rozkładu LU macierzy A. Wprowadzamy dodatkową kolumnę indeksującą wiersze, 0 3 3 0 2 0 2 2 3 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.76/83

Macierze odwrotne (3) Przykład (ciąg dalszy) Zamieniamy pierwszy wiersz z drugim, następnie obliczamy u = 3, u 2 = 3, u 3 = 0, l 2 = 3, l 3 = 0, i wpisujemy wyniki do macierzy wyjściowej, 3 3 0 2 0 3 0 2 2 3 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.77/83

Macierze odwrotne (4) Przykład (ciąg dalszy) Zamieniamy miejscami wiersz drugi z trzecim, obliczamy u 2 = 2, u 23 = 2, l 32 =, 2 wyniki wpisujemy do macierzy, 3 3 0 0 2 2 3 2 2 3 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.78/83

Macierze odwrotne (5) Przykład (ciąg dalszy) Obliczamy u 33 = 2, aby ostatecznie otrzymać 3 3 0 0 2 2 2 3 2 2 3 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.79/83

Macierze odwrotne (6) Przykład (ciąg dalszy) W drugim etapie rozwiązujemy równania LUx (i) = e (i), i =, 2, 3, tzn. 0 0 0 0 3 2 3 3 0 0 2 2 0 0 2 x() = 0 0 itd. Rozwiązania mają postać x () = 6 6 6, x(2) = 4 4 4, x(3) = 2 2 2 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.80/83

Macierze odwrotne (7) Przykład (ciąg dalszy) W wektorze przestawień (23) T numer zajmuje trzecią pozycję, więc w macierzy odwrotnej jako pierwszą kolumnę ustawiamy x (3), numer 2 zajmuje pierwszą pozycję, więc jako drugą kolumnę bierzemy x () i na końcu x (2). Stąd A = 2 2 6 4 6 2 6 4 4 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.8/83

Macierze odwrotne (8) Przykład (ciąg dalszy) Sprawdźmy, czy rzeczywiście powyższa macierz jest macierzą odwrotną macierzy A, 0 3 3 0 0 2 2 2 2 6 4 6 2 6 4 4 = 2 + 2 = 6 6 = 0 4 + 4 = 0 3 2 3 2 = 0 2 + 2 = 3 4 + 3 4 = 0 + = 0 3 3 = 0 2 + 2 = nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.82/83

Macierze odwrotne (9) Oszacowanie błędu: δa A α α, α = ɛko ( ) 9 2 n3 nm_slides-7.tex Metody numeryczne Janusz Szwabiński //2002 2:45 p.83/83