Wykład III Układy równań liniowych i dekompozycje macierzy

Podobne dokumenty
UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Układy równań liniowych. Krzysztof Patan

Zaawansowane metody numeryczne

Metody numeryczne Wykład 4

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

Rozwiązywanie układów 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 ...

III TUTORIAL Z METOD OBLICZENIOWYCH

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

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

2. Układy równań liniowych

Matematyka stosowana i metody numeryczne

Wykład 5. Metoda eliminacji Gaussa

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

1 Układy równań liniowych

Zaawansowane metody numeryczne

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

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

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

Macierze. Rozdział Działania na macierzach

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

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

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

, 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

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

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Układy równań liniowych

UKŁADY RÓWNAŃ LINIOWYCH

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

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

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

Układy równań liniowych

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

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

Własności wyznacznika

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 =

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

Matematyka stosowana i metody numeryczne

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

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

13 Układy równań liniowych

Przekształcanie równań stanu do postaci kanonicznej diagonalnej

Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

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

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

1 Macierz odwrotna metoda operacji elementarnych

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

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

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

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

Wykład 14. Elementy algebry macierzy

A A A A A A A A A n n

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

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

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

Krótkie wprowadzenie do macierzy i wyznaczników

Metoda eliminacji Gaussa

DB Algebra liniowa semestr zimowy 2018

x y

Obliczenia naukowe Wykład nr 8

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

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

O MACIERZACH I UKŁADACH RÓWNAŃ

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

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

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

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

Wartości i wektory własne

1 Zbiory i działania na zbiorach.

POD- I NADOKREŚLONE UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

UKŁADY RÓWNAŃ LINIOWYCH

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

Wprowadzenie do Scilab: macierze

ECTS (Część 2. Metody numeryczne) Nazwa w języku angielskim: Algorithms and data structures.

Odwrócimy macierz o wymiarach 4x4, znajdującą się po lewej stronie kreski:

Obliczenia w programie MATLAB

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

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

1. PODSTAWY TEORETYCZNE

Numeryczna algebra liniowa

Wektory i wartości własne

3. FUNKCJA LINIOWA. gdzie ; ół,.

Metody dekompozycji macierzy stosowane w automatyce

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

9 Układy równań liniowych

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która

MATLAB - laboratorium nr 1 wektory i macierze

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

Analiza matematyczna i algebra liniowa Macierze

Wektory i wartości własne

Metody numeryczne w przykładach

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

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

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

1 Macierze i wyznaczniki

Transkrypt:

Wykład III Układy równań liniowych i dekompozycje macierzy Metody eliminacji i podstawienia wstecz Metoda dekompozycji LU i jej zastosowania Metody dla macierzy specjalnych i rzadkich Metody iteracyjne

Problem do rozwiązania Dla równania macierzowego (reprezentującego układ równań liniowych) Ax = b gdzie A (macierz kwadratowa x) i b (wektor x1) są zadane a x (wektor x1) jest niewiadomą należy znaleźć zawartość wektora x spełniającą ten układ równań. Graficzna interpretacja zadania to problem znalezienia punktu wspólnego hiperpłaszczyzn w przestrzeni -wymiarowej. Interpretacja wektorowa to problem znalezienia współczynników x kombinacji liniowej wektorów bazowych (kolumn macierzy A) dającej w wyniku wektor b. W zależności od docelowej architektury i wymagań czasowych zadanie należy rozwiązać szybko (aplikacje real-time) i z małym wykorzystaniem pamięci (procesory DSP). Rozwiązanie metodami eliminacji Druga ze szkolnych metod rozwiązywania układów równań liniowych (obok metody wyznaczników Cramera) wspominanych na poprzednim wykładzie to metoda eliminacji zmiennych poprzez wydzielenie zmiennej w danym równaniu i podstawienie do innego równania. Taka eliminacja określona w precyzyjny algorytmiczny sposób to metoda Gaussa-Jordana prowadzącą do diagonalizacji macierzy A (rozdzielenia poszczególnych zmiennych) i metoda eliminacji Gaussa przekształcająca macierz A do trójkątnej górnej i układu równań łatwo rozwiązywanego metodą iteracyjną. ie należy jednak traktować metod eliminacji jako podstawowych służą one przede wszystkim jako przykład dydaktyczny i wprowadzenie do metod dekompozycji macierzy.

Eliminacja w działaniu Działanie metod eliminacji opiera się na dwóch podstawowych operacjach które prowadzą do równoważnego (wg rozwiązania) układu równań ale w dużo prostszej obliczeniowo postaci: zastąpienie jednego z równań kombinacją liniową tego równania z innym z równań mnożenie jednego z równań przez stałą (szczególny przypadek poprzedniej operacji). Dla uodpornienia metod eliminacji na dzielenie przez zero i na zaburzenie współczynników układu równań stosowane są dodatkowo operacje zamiany wierszy i kolumn układu równań prowadzące do ustawienia najlepszej dla dokładności obliczeń wartości elementów diagonalnych macierzy. Eliminacja Gaussa-Jordana W każdym k-tym kroku algorytmu eliminacji Gaussa-Jordana wykonujemy dwie operacje: 1) ustawienie elementu diagonalnego a kk macierzy A na wartość 1 przez dzielenie współczynników k-tego równania (wiersza) a k j b przez element a 2) zerowanie pozostałych wartości k-tej kolumny przez odjęcie pierwszego równania pomnożonego przez współczynnik a ik od każdego z pozostałych równań. Po krokach algorytmu macierz A jest przetworzona do macierzy jednostkowej a wektor b zawiera rozwiązanie układu równań tj. poszukiwany wektor x. k kk

Przykład: Symbolicznie na przypadku 2x2 Początkowa postać układu równań: krok 1/1: krok 1/2: krok 2/1: krok 2/2: a12 b 1 1 a x 11 1 a11 x = a21 a22 2 b2 a12 b1 1 a11 x 1 a11 = a11a22 a21a12 a11b2 a21b1 0 x a 2 11 a11 a b1 12 1 11 11 1 a a x a11b2 a21b1 0 1 x = 2 a11a22 a21a12 a22b1 a12b2 1 0 x 1 a11 a22 a21a12 = a 0 1 11b2 a21b x 1 2 a11 a22 a21a12 a11 a12 x1 b1 a a = x b 21 22 2 2 (dzielimy wiersz1 przez element diagonalny a 11 ) (zerujemy kolumnę1: wierszi - wiersz1 x a i1 ) (dzielimy wiersz2 przez element diagonalny a 22 ) (zerujemy kolumnę2: wierszi - wiersz2 x a i2 ) Wynik zgadza się z uzyskanym poprzednio rozwiązaniem ze wzoru Cramera.

Wybór elementu głównego (pivoting) Problemem w dotychczas omówionym algorytmie jest możliwość wystąpienia wartości 0 na diagonali. Dla uniknięcia dzielenia przez zerowy element diagonalny dokonuje się wyboru elementu głównego przez: zmianę kolejności wierszy-równań (partial pivoting) zmianę kolejności wierszy-równań i kolumn-zmiennych (full pivoting) co wymaga po rozwiązaniu układu odtworzenia pierwotnej kolejności zmiennych. Algorytm eliminacji Gaussa-Jordana z wyborem jako elementu głównego największego elementu w kolumnie/wierszu jest dodatkowo bardziej odporny na błędy reprezentacji danych.

Eliminacja Gaussa do macierzy trójkątnej i rozwiązanie metodą podstawienia wstecz Proces eliminacji Gaussa-Jordana jest prowadzony aż do osiągnięcia macierzy jednostkowej z lewej strony równania i rozwiązania po prawej stronie równania. Takie sposób rozwiązania układu równań może być uproszczony przez ograniczenie drugiej operacji algorytmu (zerowanie kolumny) do elementów znajdujących się pod diagonalą. W wyniku tej modyfikacji proces eliminacji przekształca A do macierzy trójkątnej górnej (zamiast macierzy diagonalnej). Rozwiązanie takiego układu jest łatwe do zaprogramowania metodami iteracyjnymi. Taka odmiana metody eliminacji nosi nazwę eliminacji Gaussa (Gaussian elimination). Rozwiązanie układu trójkątnego górnego przez podstawienie wstecz (back substitution): u11 u1 x1 b1 0 Dla układu równań w postaci: = 0 0 u x b Rozwiązanie iteracyjne ma postać: Począwszy od x b u = każdy kolejny: bk uk jxj xk = j= k+ 1 u k = 1 1 Zadanie: sprawdzić zgodność rozwiązania układu dwóch równań z wynikami poprzednich metod. kk

Operacje eliminacji Gaussa w sensie macierzowym W każdym kroku eliminacji Gaussa wykonywane są operacje zerujące elementy kolumny macierzy leżące pod elementem diagonalnym. Można to zapisać operacją mnożenia przez macierz modyfikującą: 1 0 0 a11 a1 i a1 0 0 0 1 0 () i () i ( i 1) A = M A = a i+ 1 i 0 0 a 1 0 0 a ii ii 0 0 ai 0 0 0 0 1 0 0 ai a aii Cały proces eliminacji Gaussa prowadzi do macierzy trójkątnej górnej więc możemy napisać: ( 1) (2) (1) M M M A = U Przekształcając dostajemy: ( ( 1) (2) (1) ) 1 A = M M M U= LU Macierz w nawiasie jest (tak samo jak jej odwrotność L) trójkątna dolna z jedynkami na diagonali.

Metoda dekompozycji LU i jej zastosowania Poważną wadą poprzednio przedstawionych metod eliminacji jest operowanie jednocześnie na macierzy A i na wektorze b. W przypadku powtarzalnych układów równań ze zmienną lewą stroną (jak np. w metodach różnic/elementów skończonych ze zmiennymi warunkami brzegowymi) oznacza to konieczność wykonania wszystkich operacji powtórnie. Przedstawiana teraz metoda dekompozycji polega w istocie na zapisaniu wykonywanych operacji modyfikujących macierz A i wektor b w postaci dwóch macierzy transformacji. W ten sposób po zmianie danych b wystarczy (przy niezmienionej macierzy A) wykonać na nich operacje z macierzy transformacji. Z użyciem macierzy transformacji łatwo również wyznaczyć dla A wyznacznik i macierz odwrotną. Z tego powodu jest to podstawowa metoda rozwiązywania układów równań. W metodzie dekompozycji LU macierz A jest rozdzielana na iloczyn dwu macierzy składowych - dolnej i górnej trójkątnej tzn. A= LU. Dla przykładu macierz A o wymiarach (33) jest a11 a12 a13 1 0 0 u11 u12 u13 dekomponowana na składowe: a21 a22 a 23 = l21 1 0 0 u22 u 23 a31 a32 a33 l31 l32 1 0 0 u33 Sama zasada dekompozycji (nazywana algorytmem Crouta) opiera się na efekcie przyrostu o jedną nową zmienną w każdym następnym elemencie wiersza/kolumny: i 1 j 1 1 ui j= ai j li kuk j j i li j= ai j li kuk j j i k = 1 u < j j k = 1

Rozwiązanie LU-zdekomponowanego układu równań liniowych Dysponując rozkładem macierzy A na macierze trójkątne górną i dolną możemy zastosować znany już iteracyjny schemat przez podstawienie wstecz i dodatkowo przez podstawienie w przód. Ponieważ: A x = ( L U) x = L ( U x) = b to rozwiązujemy najpierw: L y = b przez podstawienie w przód: i 1 y = b y = b l y i = 23 1 1 i i i j j j= 1 a następnie: Ux = y przez podstawienie wstecz: y 1 x = xi = yi ui jxj i = 1 2 1 u u ii j=+ i 1 Inne zastosowania macierzy dekompozycji Obliczenie wyznacznika: wyznacznik to prosty iloczyn elementów diagonalnych U det[ A] = det[ L] det[ U ] = u j j 1 Wyznaczenie macierzy odwrotnej A : Ponieważ iloczyn macierzy i macierzy odwrotnej jest macierzą jednostkową to odwrotność macierzy możemy łatwo wyznaczyć wykonując podstawienia w przód/wstecz na kolumnach L U x = 0 010 0 T macierzy jednostkowej tj. ( ) [ ] j= 1

Szczególny przypadek dekompozycji LU - dekompozycja Choleskiego Jeśli macierz A układu równań jest macierzą symetryczną dodatnio określoną (jest np. macierzą kowariancyjną lub korelacyjną) to jej dekompozycja LU ma prostszą postać nazywaną dekompozycją Choleskiego macierz trójkątna górna U ma taką samą zawartość elementową jak macierz trójkątna dolna L. Wyznaczyć trzeba dwukrotnie mniej elementów macierzy. a11 a1 l11 0 0 T Dekompozycja ma postać A= = LL L= 0 a1 a l1 l Poszczególne elementy macierzy L są wyznaczane wg zależności: a l l l = a l = a l i= 23 l = j = 23 i 1 i 1 i j i k j k 2 k = 1 11 11 ii ii ik i j k = 1 l j j Przykład: 1 2 3 1 0 0 1 2 3 T A= 2 8 10 = 2 2 0 0 2 2 = LL 3 10 22 3 2 3 0 0 3 j 1

Przykład: Równanie Yule a-walkera Klasyka cyfrowego przetwarzania sygnałów to równanie Yule a-walkera opisujące m.in. model autoregresyjny sygnału używany w kompresji mowy czy przejście sygnału losowego przez filtr opisany odpowiedzią impulsową. Jest również uogólnieniem estymatora LS na przypadek nieskończenie długich sygnałów wejściowych o znanych parametrach dynamicznych. Rozpatrzmy zadanie wyznaczania odpowiedzi impulsowej filtra na podstawie długotrwałych rejestracji wejścia i wyjścia. Podstawą równań jest zależność splotowa wejścia u i wyjścia y obiektu opisanego odpowiedzią impulsową h: y uy = [ ] [ ] h u i k i k k= 0 uu i = E i i = k E i i k = k k k= 0 k= 0 uu uy r u y h uu h r Drugą zależność łączącą korelacje własną r i wzajemną r sygnałów obiektu uzyskujemy mnożąc obie strony równania przez u i i biorąc ich wartość oczekiwaną. Zapisując tę zależność dla kolejnych chwil czasowych uzyskujemy układ +1 równań z +1 współczynnikami filtra: uu uu uu uy r0 r h 1 r 0 r 0 uu uu uy r1 r h 0 1 r1 = uu r 1 uu uu uu uy r h r1 r0 r Macierz po lewej stronie jest symetryczna i dodatnio określona. Układ może być efektywnie rozwiązany przy długiej odpowiedzi h metodą dekompozycji Choleskiego i podstawienia.

Rozwiązywanie układu równań liniowych w Matlabie arzucającym się rozwiązaniem układu równań Ax = b jest mnożenie prawej strony przez odwrotność A tzn. x = inv ( A) b. ie jest to najlepsze możliwe rozwiązanie ponieważ omówione dotąd zasady eliminacji i podstawiania (direct solution) są zaimplementowane w Matlabie przy użyciu lewostronnego dzielenia macierzowego w postaci x = A\ b i dopasowywane do aktualnej postaci macierzy A. Rozróżniane są m.in. ogólne macierze kwadratowe (dekompozycja LU i podstawienie) trójkątne dolna i górna (tylko podstawienie) trójprzekątniowa (szybka eliminacja bez pivotingu) rzadka (szybka eliminacja) symetryczna dodatnio określona (dekompozycja Choleskiego). Metoda direct solution jest 2 do 3 razy szybsza od metody macierzy odwrotnej daje również dokładniejsze wyniki (na poziomie błędu reprezentacji). Funkcja odwracania macierzy również wykorzystuje dekompozycję LU ale modyfikacja prawej strony równania jest osobnym krokiem obliczeń. Metody dla macierzy specjalnych i rzadkich Duże macierze rzadkie (częsty przypadek przy analizie metodą różnic i elementów skończonych) i w szczególności macierze trójprzekątniowe (interpolacja spline ami) mogą być przetwarzane metodami eliminacji dużo efektywniej przy wykrywaniu i pomijaniu elementów zerowych. Macierze rzadkie są często pamiętane w strukturach upakowanych (nie w pełnej macierzy) co przy tak prowadzonej eliminacji daje duże oszczędności pamięci.

Metody iteracyjne alternatywa dla macierzy rzadkich Wadą metod bezpośrednich opartych o eliminację i podstawienie jest mała efektywność dla macierzy rzadkich. Dekompozycja ogólnej macierzy rzadkiej (o niewielu elementach poza diagonalą) może prowadzić do pełnej macierzy trójkątnej po dekompozycji. Alternatywą dla metod bezpośrednich są metody iteracyjne w których modyfikacji nie podlega sama macierz równania a jedynie kolejne oszacowania rozwiązania bazujące na niezerowych elementach macierzy. Ideę metod iteracyjnych tłumaczy poniższy przykład: a11 a12 a13 x1 b1 Ogólny układ równań: a21 a22 a 23 x 2 b = 2 a31 a32 a33 x3 b3 możemy zapisać w równoważnej postaci trzech równań: b1 ( a12x2 + a13x3 ) b2 ( a21x1 + a23x3) b3 ( a31x1 + a32x2 ) x1 = x2 = x3 = a11 a22 a33 Przyjmując że powyższa zależność ma charakter iteracyjny tzn. po lewej stronie są nowe oszacowania x oparte na poprzednich wartościach x możemy napisać zależność iteracyjną: ( k) ( k) ( k) ( k) ( k) ( k) b ( ) 1 ( a12x2 + a13x3 ) b ( ) 2 1 1 ( a21x1 + a23x3 ) b k k ( k 1) 3 ( a31x1 + a32x + + + 2 ) x1 = x2 = x3 = a11 a22 a33 i wyliczać nowe oszacowania rozwiązania począwszy od wybranej wartości startowej.

Zapisując ostatnią zależność w postaci macierzowej otrzymujemy iterację metodą Jacobiego: ( k ) ( ) ( k ( ) ) + 1 1 x = D b L+ U x gdzie: D jest diagonalą macierzy A L jest dolną trójkątną częścią (nie dekompozycją LU!) A U jest górną trójkątną częścią A. Metoda Gaussa-Seidla jest prostą modyfikacją tej metody wykorzystującą fakt że w momencie wyliczania elementu x j są już znane świeże (bardziej aktualne) oszacowania rozwiązania dla elementów o niższych indeksach. Taka modyfikacja daje szybszą zbieżność metody i ma postać: ( ) ( ) ( k+ 1) 1 ( k+ 1) ( k) x = D b Lx + Ux Metoda Successive Overrelaxation (SOR) została opracowana w celu osiągnięcia szybszej zbieżności schematu iteracyjnego do rozwiązania. W każdym kroku iteracyjnym rozwiązanie jest ważoną średnią poprzedniego rozwiązania i nowego oszacowania: ( ) ( ) ( ) ( ) ( + 1 ) 1 ( + 1 ) ( ) k k k k x = ωd b Lx + Ux + 1 ω x Optymalny dobór wagi ω nazywanej współczynnikiem relaksacji (relaxation parameter) zależy od własności macierzy A. ajszybszą zbieżność daje w średnim przypadku wartość 1.2 1.3. Analiza zbieżności poszczególnych metod iteracyjnych wykracza poza przyjęty zakres wykładu.