Metody numeryczne Wykład no 2
Układy równań liniowych Jeżeli N<M, układ równań jest nieokreślony, N=M – określony N>M - nadokreślony Rozważymy tylko przypadek N=M
Układ NxM liczb rzeczywistych bądź zespolonych zapisujemy w formie tablicy. Taką tablicę nazywamy macierzą NM wymiarową lub macierzą prostokątną. wiersz macierzy wiersz k-ty macierzy kolumna macierzy k-ta kolumna macierzy aik – wyraz macierzy położony we wierszu i-tym i kolumnie k-tej
Macierz symbolicznie zapisujemy w postaci jednego znaku, np.: A podając liczbę wierszy i kolumn w opisie. i=(1,N); k=(1,M) Inny skrócony zapis to: Jeżeli N=M, to macierz jest macierzą o jednakowej liczbie wierszy i kolumn. Mówimy, że jest to macierz kwadratowa stopnia N, lub macierz stopnia N.
Macierz kwadratowa stopnia N. Dwie macierze A i B są równe czyli A=B, jeżeli mają jednakową liczbę wierszy i kolumn i zachodzi aij=bij dla wszystkich par (i,j). Operacje na macierzach Mnożenie macierzy przez liczbę c. c – liczba rzeczywista lub zespolona.
lub krótko B=cA=[caik] wymiary macierzy B są identyczne jak wymiary macierzy A. Dodawanie (odejmowanie) dwóch macierzy A i B. Obie macierze muszą mieć tę samą liczbę wierszy i kolumn.
suma: lub krótko C =A+B=[aij+bij] lub w postaci realizacji na maszynie: cij=aij+bij dla i=(1,N), j=(1,M): for i:=1 to N do for j:=1 to M do C[i,j]:=A[i,j]+B[i,j] Suma macierzy jest przemienna, czyli A+B=B+A
różnica: lub krótko C =A-B=[aij-bij] lub w postaci realizacji na maszynie: cij=aij-bij dla i=(1,N), j=(1,M): for i:=1 to N do for j:=1 to M do C[i,j]:=A[i,j]-B[i,j]
Iloczyn dwóch macierzy Dane dwie macierze prostokątne: A o wymiarze NAxMA i B o wymiarze NBxMB Obliczyć iloczyn C=AB. Macierz będącą iloczynem można obliczyć tylko wtedy, jeżeli liczba kolumn pierwszego czynnika – czyli MA – jest równa liczbie wierszy drugiego czynnika – czyli NB, a więc warunkiem wykonalności mnożenia dwóch macierzy prostokątnych jest MA=NB Macierz C będzie miała NAwierszy i MB kolumn. Jeżeli A i B są macierzami kwadratowi tego samego stopnia N mnożenie jest zawsze wykonalne.
Wyrazy macierzy C=[cik] będącej iloczynem macierzy AB obliczamy z zależności: Przykład: liczba wierszy 3 liczba kolumn 5 liczba wierszy 4 liczba kolumn 3
Macierz C=AB będzie macierzą o 4 wierszach i 5 kolumnach c11=a11b11+a12b21+a13b31=1·2+3 ·0+0 ·0=2 c12=a11 b12+a12b22+a13b32=1 ·0+3 ·3+0 ·0=9 c13=a11b13+a12b23+a13b33=1 ·(-2)+3 ·4+0 ·0=10 c14=a11b14+a12b24+a13b34=1 ·1+3 ·0+0 ·2=1 c15=a11b15+a12b25+a13b35=1 ·0+3 ·0+0 ·1=0 c21=a21b11+a22b21+a23b31=(-2) ·2+0 ·0+3 ·0=-4 itd…
Iloczyn dwóch macierzy, również kwadratowych, nie jest przemienny czyli AB≠BA
Jeżeli zachodzi AB=BA mówimy, że macierze są przemienne. Macierz jednostkowa I – jest to macierz kwadratowa o wymiarze N, której wyraz δik jest zdefiniowany następująco: czyli np. macierz jednostkowa 5-go stopnia ma postać: Wykazać, że AI=IA=A
Ograniczymy nasze rozważania tylko do macierzy kwadratowych stopnia N O wyrazach aii macierzy A mówimy, że leżą na głównej przekątnej a macierz A, która ma niezerowe wyrazy tylko na głównej przekątnej nazywamy macierzą diagonalną
Jeżeli w macierzy A zamienimy wiersze z kolumnami, to tak otrzymaną macierz nazywamy macierzą transponowaną i oznaczamy AT
zapisując symbolicznie możemy napisać: [aik]T=[aki] Przykład: Zachodzą związki: Przykład:
Dla każdej macierzy zachodzi
Macierz B, dla której zachodzi równość: nazywamy macierzą symetryczną Macierz B=AAT jest macierzą symetryczną.
Wyznacznik Dla danej macierzy kwadratowej A: definiujemy liczbę: gdzie detAij jest wyznacznikiem macierzy stopnia N-1 otrzymanej przez skreślenie z macierzy A wiersza i-go i kolumny j-ej.
Jest to definicja rekurencyjna i dlatego musimy zdefiniować wyznacznik macierzy kwadratowej stopnia N=1, czyli A=[a11]. Wyznacznik tej macierzy jest: detA=a11. Dla macierzy drugiego stopnia mamy: Zgodnie ze wzorem mamy: czyli dla macierzy drugiego stopnia mamy: Wyznacznik drugiego stopnia obliczamy bezpośrednio: dla obliczenia wyznacznika musimy wykonać dwa mnożenia
Wyznacznik macierzy trzeciego stopnia: Zgodnie ze wzorem: mamy: Liczba mnożeń, którą trzeba wykonać wynosi 9=3! Wyznacznik 3-go stopnia możemy łatwo obliczyć metodą Sarrusa - - - + + +
Macierz odwrotną do macierzy kwadratowej A będziemy Obliczenie wyznacznika N-go stopnia wymaga wykonania N! mnożeń. Obliczanie wyznaczników stopnia 4-go i wyższych jest operacją czasochłonną, Macierz odwrotna Macierz odwrotną do macierzy kwadratowej A będziemy oznaczać A-1. Macierz A-1 jest macierzą odwrotną do macierzy A tylko wtedy jeżeli Jeżeli wyrazy macierz odwrotnej oznaczymy przez bik a wyrazy macierzy A przez aik, to dla wyznaczenia wyrazów macierzy odwrotnej mamy N2 równań:
Wyrazy macierzy odwrotnej można wyznaczyć ze wzorów analitycznych: gdzie detA – wyznacznik macierzy A, Aij – oznacza macierz stopnia N-1 otrzymaną z macierzy A przez skreślenie i-go wiersza i j-ej kolumny, a detAij jest wyznacznikiem macierzy Aij. Z powyższego wzoru wynika, że warunkiem istnienia macierzy odwrotnej jest aby wyznacznik główny detA≠0 Podanego wzoru praktycznie nigdy nie stosujemy do obliczenia macierzy odwrotnej, gdyż prowadzi on do olbrzymiej liczby obliczeń. Szacując tylko liczbę mnożeń mamy dla obliczenia wyznacznika głównego N!. Dla obliczenia N2 wyrazów macierzy odwrotnej (N-1)! mnożeń, a więc N!+N2(N-1)!=(N+1)! mnożeń.
Rozwiązywanie układów równań liniowych Dany jest układ równań liniowych: A – macierz (tablica) o wymiarze NxN, aij – element macierzy A leżący w i-tym wierszu i j-tej kolumnie
X – wektor (tablica jednokolumnowa) niewiadomych o N składowych Zapis: Często wygodniej zapisywać w postaci: Formalnie rozwiązanie równania AX=B możemy zapisać w postaci: i ponieważ obliczenie macierzy odwrotnej wymaga (N+1)! mnożeń, więc w przybliżeniu taki byłby nakład pracy przy rozwiązaniu w ten sposób. Niestety jest to niewykonalne dla dużych układów równań.
Przestrzeń Rn jest utworzona przez n - wymiarowe wektory X Definiujemy normy dla wektora: jako lub norma euklidesowa: norma maksimum: Normy wektorów są równoważne, co oznacza, że jeżeli ciąg norm jest zbieżny do zera według jednej z norm to jest zbieżny również względem pozostałych.
Macierz A o m wierszach i n kolumnach: wektorom X(m) przestrzeni Rm przyporządkowuje wektory X(n) przestrzeni Rn. Mówimy, że mamy operator liniowy A przekształcający przestrzeń Rm w Rn. Normę operatora definiujemy: Jeżeli przyjmiemy w obu przestrzeniach normę to maksymalna suma modułów w kolumnie
Jeżeli w obu przestrzeniach jest stosowana norma euklidesowa: to normę macierzy najczęściej ocenia się za pomocą normy: zwanej normą euklidesową. Dla normy maksimum w obu przestrzeniach maksymalna suma we wierszu norma macierzy jest
bez wyboru elementu wiodącego Metoda Gaussa bez wyboru elementu wiodącego Przykład: Zapisujemy w postaci macierzy dołączonej:
W wyniku przeprowadzonej redukcji otrzymujemy układ równań w postaci: Redukcja górnej trójkątnej:
ostatnia kolumna zawiera rozwiązanie: 8.1147767 2.5788529 X = 0.5987301 2.3897439
Liczba działań w metodzie Gaussa: mnożeń: n3/3+n2-n/3n3 i dodawań: n3/3+n2/2-5n/6n3 ogólnie około n3 działań. Licząc ze wzorów Cramera (wyznaczniki) potrzeba działań np. n=100 w metodzie Gaussa daje 106 działań. Jeżeli maszyna wykonuje 107 mnożeń na sekundę, to układ zostanie rozwiązany w czasie 0.1s. Wzorami Cramera potrzeba t.j. około 10152s, rok około 3.1·107s a więc około 145 lat
Rozważmy układ równań który jest układem już rozwiązanym po zmianie pierwszego i ostatniego wiersza: Nie może układ wierszy wpłynąć na istnienie rozwiązania!
Metoda Gaussa z częściowym wyborem elementu podstawowego Największy element w kolumnie pierwszej znajduje się we wierszu czwartym i dlatego zamieniamy te dwa wiersze miejscami:
Przeprowadzamy eliminację:
Jeszcze raz rzut oka na otrzymany układ równań:
i redukcja górnej trójkątnej: i ostatnia kolumna zawiera rozwiązanie.
Dana jest macierz A i przedstawiamy ją w postaci: Rozkład LU. Metoda Croute’a. Rozkład na macierze trójkątne Dana jest macierz A i przedstawiamy ją w postaci: A=LU gdzie macierz L jest macierzą dolną trójkątną:
lub ogólnie: Macierz U górna trójkątna: lub ogólnie:
Jeżeli A=LU, to dla układu równań AX=b mamy: Rozwiązanie układu LY=b z dolną macierzą trójkątną jest łatwe: i=2,3,...,N
i rozwiązanie równania UX=Y z górną macierzą trójkątną jest łatwe: i=N-1,N-2,...,1 Duża zaleta: Znając rozkład LU możemy go wykorzystać wielokrotnie dla różnych prawych stron.
Obliczanie wyrazów macierzy L i U w wyniku mnożenia obu macierzy mamy macierz B=[bij] Zaczynamy kolejno: pierwszy wiersz macierzy L razy k-ta kolumna macierzy U: k-ty wiersz macierzy L razy pierwszy wiersz macierzy U:
k-ty wiersz macierzy L razy j-ta (jk) kolumna macierzy U: j-ty wiersz (j>k) macierzy L razy k-ta kolumna macierzy U:
ponieważ musi zachodzić B=A, czyli bij=aij dla (i,j=1,2,...,N) stąd otrzymujemy kolejno: Pierwszy wiersz macierzy U: pierwsza kolumna macierzy L: k-ty wiersz macierzy U: dla j=k,k+1,...,N k-ta kolumna macierz L: dla j=k+1,k+2,...,N
Przykład: Zgodnie z: pierwszy wiersz macierzy U:
Pierwsza kolumna macierzy L zgodnie z gdzie u11=4
drugi wiersz macierzy U zgodnie ze wzorem: j=2,3,4,5
Druga kolumna macierzy L: j=3,4,5
trzeci wiersz macierzy U zgodnie ze wzorem: j=3,4,5
trzecia kolumna macierzy L: j=4,5
czwarty wiersz macierzy U zgodnie ze wzorem: j=4,5
czwarta kolumna macierzy L: j=5
Dla sprawdzenia czy nie popełniliśmy błędu obliczamy: B=LU
Mając macierz A=LU możemy rozwiązać równanie LUX=b dla dowolnego wektora prawej strony.
Znając rozkład LU macierzy łatwo obliczyć wyznacznik główny |A| macierzy A=LU. Mamy: ale a i ostatecznie: