5. Rozwiązywanie układów równań liniowych · 2014-10-02 · Metody skończone rozwiązywania...

Post on 28-Dec-2019

1 views 0 download

Transcript of 5. Rozwiązywanie układów równań liniowych · 2014-10-02 · Metody skończone rozwiązywania...

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

Wprowadzenie (5.1)

Układ równań z niewiadomymi:

Wprowadzając oznaczenia macierzowe

układ równań można zapisać w postaci

n n

AX=A0.

a11 x1+a12 x2+...+a1n xn=a10 ,a21 x1+a22 x2+...+a2n xn=a20 ,.............................................. ,an1 x1+an2 x2+...+ann xn=an0 .

Wprowadzenie (5.1)

Zakłada się, że elementy są liczbami rzeczywistymi. Macierz nazywa się macierzą główną układu równań, wektor kolumną wyrazów wolnych a wektor wektorem niewiadomych. Rozwiązaniem rozważanego układu równań nazywany jest każdy wektor

o składowych rzeczywistych, spełniający równanie

Twierdzenie (Cramer): Układ równań liniowych ma dokładnie jedno rozwiązanie gdy

Metody rozwiązywania równań liniowych dzieli się na dwie klasy:

- metody skończone - pozwalają uzyskać rozwiązanie po wykonaniu skończonej liczby działań arytmetycznych a otrzymane rozwiązania obarczone są tylko błędami zaokrągleń.

- metody iteracyjne - polegają na wyznaczaniu ciągu wektorów zbieżnego do rozwiązania układu. Uzyskane rozwiązania są obarczone błędem metody oraz zaokrągleń. Metody te pozwalają jednak wyznaczyć rozwiązania z dowolną, z góry zadaną dokładniością.

A X̄=A0 .

X 0 , X 1 , , X k ,

a ij Aa ijA0

X

x j , j=1 n ,

AX=A0det A≠0.

X=[ x1 x2 xn ]T

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda wyznaczników Cramera (5.2.1)

Układ równań liniowych można rozwiązać stosując wzory Cramera

Def. Podwyznacznikiem danego wyznacznika nazywamy każdy wyznacznik, który otrzymamy usuwając z macierzy danego wyznacznika pewną liczbę wierszy i taką samą liczbę kolumn, zachowując kolejność elementów pozostałych.

Def. Minorem wyznacznika przynależnym do elementu macierzy tego wyznacznika nazywamy ten podwyznacznik danego wyznacznika, który otrzymamy usuwając z macierzy danego wyznacznika wiersz oraz kolumnę, na przecięciu których znajduje się ten element (usuwamy i-ty wiersz oraz k-tą kolumnę).

AX=A0

a ik

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda wyznaczników Cramera (5.2.1)

Uwaga! Minor wyznacznika przynależny do elementu jest minorem głównym wyznacznika

Def. Dopełnieniem algebraicznym elementu wyznacznika nazywamy iloczyn minora tego wyznacznika przynależnego do elementu oraz czynnika

Tw. (Laplace'a) Wyznacznik jest równy sumie iloczynów każdego elementu dowolnego wiersza (kolumny) i odpowiadającego temu elementowi dopełnienia algebraicznego.

Przykład 1: Stosując wzory Cramera wyprowadzić wzory na rozwiązanie układu dwóch równań liniowych z dwiema niewiadomymi

a11 x1+a12 x2=b1 ,a21 x1+a22 x2=b2 .

x1, x2

Aik

a ii

a ika ik

−1ik .

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda wyznaczników Cramera (5.2.1)

Rozwiązanie:

Przykład 2: Stosując wzory Cramera wyprowadzić wzory na rozwiązanie układu trzech równań liniowych z trzema niewiadomymi x1, x2, x3

a11 x1+a12 x2+a13 x3=b1 ,a21 x1+a22 x2+a23 x3=b2 ,a31 x1+a32 x2+a33 x3=b3 .

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda wyznaczników Cramera (5.2.1) Rozwiązanie:

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda wyznaczników Cramera (5.2.1)

Złożoność obliczeniowa metody wyznaczników Cramera:

Stosowanie wzorów Cramera nakłada konieczność obliczenia wyznaczników stopnia . Stosując opisaną wcześniej klasyczną metodę obliczania wyznacznika należy wykonać dodawań oraz mnożeń. Łącznie należy wykonać działań arytmetycznych zmiennoprzecinko-wych. W tabeli poniżej zamieszczono czasy obliczania wyznacznika przez komputer wykonujący operacji zmiennoprzecinkowych na sekundę.

Aby rozwiązać układ równań należy obliczyć wyznaczni- ków stopnia oraz wykonać dzieleń. Całkowita liczba działań arytmetycz- nych jest zatem równa Z powodu dużej złożoności obliczeniowej wzory Cramera stosuje się tylko dla

n1n

n! n⋅n !n !n1!

108

AX=A0 n1n n

n1⋅n1 !n .n4.

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Rozwiązywanie układu równań przebiega w dwóch etapach:

- etap postępowania prostego - układ równań zostaje przekształcony do postaci równoważnej (mającej takie samo rozwiązanie, co układ wyjściowy)

z trójkątną górną macierzą główną układu,

- etap postępowania odwrotnego - układ w postaci równoważnej zostaje rozwiązany.

Metoda Eliminacji Gaussa - etap postępowania prostego

Wyjściowy układ równań:

(1)

Przekształcanie macierzy głównej układu w macierz trójkątną odbywa sie w krokach.

n

a11(0) x1+a12

(0)x2+...+a1n(0) xn=a10

(0) ,a21

(0) x1+a22(0)x2+...+a2n

(0) xn=a20(0) ,

................................................ ,an1

(0)x1+an2(0) x2+...+ann

(0)xn=an0(0).

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Etap postępowania prostego (cd)

Krok 1: eliminacja niewiadomej z równań nr

Zakładając, że element dzieli się pierwsze równanie przez i otrzymuje

(2)

gdzie

Następnie od i-tego ( ) równania układu (1) odejmuje się równanie (2) pomnożone przez otrzymując

(3)

gdzie

a110 ≠0

x1

a i10

2,3, , n .

a110

i=2,3, , n

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Etap postępowania prostego (cd)

Krok 2: eliminacja niewiadomej z równań nr Schemat obliczeń kroku 1 powtarza się w odniesieniu do ukłdu równań (3). Tak więc zakładając, że element dzieli się pierwsze równanie układu (3) przez i otrzymuje

(4)

gdzie

Następnie od i-tego ( ) równania układu (3) odejmuje się równanie (4) pomnożone przez otrzymując

(5)

gdzie

a221≠0

x2

a i21

3,4,, n.

a221

i=3,4, , n

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Etap postępowania prostego (cd)

Krok 3,4, ..., n-1: eliminacja kolejnych niewiadomych w sposób analogiczny do algorytmu postępowania z kroków 1 i 2. Po wykonaniu obliczeń w kroku, otrzymuje się równania

(6) gdzie

oraz (7)

Krok n: zakłada się, że element Równanie (7) dzieli się przez i otrzymuje

(8)

n−1

x3 , , xn−1

an nn−1≠0 .

an nn−1

xn=an0n .

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Etap postępowania odwrotnego:

Rozwiącuje się równoważny układ równań uzyskany w wyniku postępowania prostego

Algorytm rozwiązania tego układu równań jest oczywisty. Z ostatniego równania odczytuje się bezpośrednio Wartość tę podstawia się do równań Z równania można wyznaczyć Obliczoną wartość podstawia sie do równań Teraz z równania można wyznaczyć itd.

xn .n−1,n−2, ,1 . xn−1 .n−1

n−2, n−3, ,1 .n−1,n−2, ,1 .

n−2xn−2

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Wnioski: Układ równań liniowych mozna rozwiązać metodą eliminacji Gaussa, gdy elementy są różne od zera. Ponieważ pomiędzy tymi elementami a minorami macierzy głównej układu zachodzą związki wyrażone w twierdzeniu Twierdzenie. Zachodzą równości

Stąd prawdziwe jest twierdzenie Twierdzenie. Układ równań liniowych można rozwiązać metodą eliminacji Gaussa, jeśli wszystkie minory główne macierzy głównej układu są różne od zera

ak k(k−1 ) (k=1 , 2 ,… , n)

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Przykład : Stosując metodę eliminacji Gaussa rozwiązać układ równań liniowych

1,2 x1 2,6 x2 −0,1 x3 1,5 x4 = 13,15 ,4,5 x1 9,8 x2 −0,4 x3 5,7 x4 = 49,84 ,0,1 x1 −0,1 x2 −0,3 x3 −3,5 x4 = −14,08 ,4,5 x1 −5,2 x2 4,2 x3 −3,4 x4 = −46,51 .

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Rozwiązanie: Postępowanie proste

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Rozwiązanie (cd): Postępowanie proste

Postępowanie odwrotne Rozwiązanie x4= 4,10003x3=−2,40029x2= 3,19989x1=−1,29983

x1=−1,29983x2= 3,19989x3=−2,40029x4= 4,10003

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Z pełnym wyborem elementu podstawowego

Przytoczone wczesniej twierdzenie określające warunki stosowalności metody eliminacji Gaussa pokazało istotne jej ograniczenia (aby układ równań liniowych można było rozwiązać metodą eliminacji Gaussa, wszystkie minory główne macierzy głównej układu muszą być różne od zera).

Algorytm ten można jednak zmodyfikować w taki sposób, aby można go było stosować do układu Cramera, tzn do układu z

Przyjmijmy, że układ równań liniowych jest rozwiązywany metodą eliminacji Gaussa i że zostało już wykonanych kroków etapu postępowania prostego. Wyjściowy układ równań został przekształcony do postaci

(9)

det A≠0.

k−1AX=A0

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

1. wyszukuje się element spełniający warunek

2. przestawia się w układzie (9) równanie z równaniem oraz kolumę kolumną ,

3. eliminuje się niewiadomą z równań zgodnie z algorytmem k-tego kroku prostej eliminacji Gaussa.

Jeśli to żaden element podstawowy w tej metodzie nie jest równy zero.

Przykład : Rozwiązać układ równań liniowych stosując metodę eliminacji Gaussa z pełnym wyborem elementu podstawowego

det A≠0

r

arsk−1

skk

xk k1, k2, , n ,

1,2 x1 2,6 x2 −0,1 x3 1,5 x4 = 13,15 ,4,5 x1 9,8 x2 −0,4 x3 5,7 x4 = 49,84 ,0,1 x1 −0,1 x2 −0,3 x3 −3,5 x4 = −14,08 ,4,5 x1 −5,2 x2 4,2 x3 −3,4 x4 = −46,51 .

∣ars(k−1)∣=maxk⩽i⩽nk⩽ j⩽n

{∣a ij(k−1)∣},

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

Rozwiązanie: Postępowanie proste

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

Rozwiązanie (cd): Postępowanie proste

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

Rozwiązanie (cd): Postępowanie proste

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

Proces zamiany elementów w macierzy oraz wektorach i najprościej można dokonać możąc powyższe zmienne przez odpowiednio dobrane macierze elementarnej permutacji .

Macierz taka różni się od macierzy jednostkowej tylko elementami i , stąd pełna informacja o macierzy dana jest tylko dwiema liczbami i . Można pokazać, że:

czyli macierz elementarnej permutacji jest symetryczna i ortogonalna.

Lewostronne przemnożenie danej macierzy przez (t.j. ) odpowiada przestawieniu jej wierszy o numerach i , a przemnożenie prawo- stronne (t.j. ) równoważne jest przestawieniu odpowiednich kolumn.

A0A X

Pk ,ik

Pk ,ik=[1..0 . . 1. .. .1 . . 0

..1

]pk ,k=p ik , ik=0 pk ,ik=p ik , k=1k ik

Pk ,ik=Pk ,i kT =Pk ,i k

−1

A Pk ,ik Pk ,ik A

k ikAPk ,i k

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

W omawianym przykładzie mamy:

W kroku 1 postępowania prostego należy zamienić miejscami wiersze

oraz . Macierz elementarnej

permutacji ma wówczas postać:

Macierz oraz wektor z zamienionymi wierszami otrzymamy w wyniku operacji

A0(0)=[ 13,15

49,84−14,08−46,51].A(0)=[1,2 2,6 −0,1 1,5

4,5 9,8 −0,4 5,70,1 −0,1 −0,3 −3,54,5 −5,2 4,2 −3,4] ,

k=1

ik=2

A(0) '=P1,2 A(0)=[0 1 0 0

1 0 0 00 0 1 00 0 0 1][

1,2 2,6 −0,1 1,54,5 9,8 −0,4 5,70,1 −0,1 −0,3 −3,54,5 −5,2 4,2 −3,4] ,

P1,2=[0 1 0 01 0 0 00 0 1 00 0 0 1].

A(0) ' A0(0) '

X (0)=[x1x2x3x4] ,

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

W kroku 1 należy również zamienić miejscami kolumny oraz . Macierz elementarnej permutacji ma wówczas postać

A(0) '=[4,5 9,8 −0,4 5,71,2 2,6 −0,1 1,50,1 −0,1 −0,3 −3,54,5 −5,2 4,2 −3,4] ,

A0(0) '=P1,2 A0

(0)=[0 1 0 01 0 0 00 0 1 00 0 0 1][

13,1549,84

−14,08−46,51]=[ 49,84

13,15−14,08−46,51] ,

k=1 ik=2

P1,2=[0 1 0 01 0 0 00 0 1 00 0 0 1].

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

Macierz z zamienionymi kolumnami otrzymamy w wyniku operacji

W tym przypadku konieczna jest również zamiana wierszy w wektorze Wykonując poniższe przekształcenie otrzymuje sie wektor

A(0) ' '=A(0) ' P1,2=[4,5 9,8 −0,4 5,71,2 2,6 −0,1 1,50,1 −0,1 −0,3 −3,54,5 −5,2 4,2 −3,4][

0 1 0 01 0 0 00 0 1 00 0 0 1]=

A(0) ' '

[ 9,8 4,5 −0,4 5,72,6 1,2 −0,1 1,5

−0,1 0,1 −0,3 −3,5−5,2 4,5 4,2 −3,4]X (1)=P1,2 X

(0)=[0 1 0 01 0 0 00 0 1 00 0 0 1][

x1x2x3x4]=[x2x1x3x4].

X (0).X (1) .

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

Teraz można przystąpić do przekształceń pierwszego kroku algorytmu eliminacji Gaussa, w wyniku czego otrzymamy macierz oraz wektor o postaciach:

W kroku 2 postępowania prostego należy zamienić miejscami wiersze

oraz . Macierz elementarnej

permutacji ma postać:

A0(1 )A(1 )

A(1 )=[1,0 0,45918 −0,04082 0,581630,0 0,00613 0,00613 −0,012240,0 0,14592 −0,30408 −3,441840,0 6,88774 3,98774 −0,37552] , A0

(1 )=[ 5,08571−0,07285

−13,57143−20,06413].

k=2

ik=4

P2,4=[1 0 0 00 0 0 10 0 1 00 1 0 0].

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

Macierz oraz wektor z zamienionymi wierszami otrzymamy w wyniku operacji

A(1 ) '=P2,4 A(1)=[1 0 0 0

0 0 0 10 0 1 00 1 0 0][

1,0 0,45918 −0,04082 0,581630,0 0,00613 0,00613 −0,012240,0 0,14592 −0,30408 −3,441840,0 6,88774 3,98774 −0,37552] ,

A(1 ) ' A0(1 ) '

A(1 ) '=[1,0 0,45918 −0,04082 0,581630,0 6,88774 3,98774 −0,375520,0 0,14592 −0,30408 −3,441840,0 0,00613 0,00613 −0,01224] ,

A0(1 ) '=P2,4 A0

(1)=[1 0 0 00 0 0 10 0 1 00 1 0 0][

5,08571−0,07285

−13,57143−20,06413]=[ 5,08571

−20,06413−13,57143−0,07285] ,

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

Teraz można przystąpić do przekształceń drugiego kroku algorytmu eliminacji Gaussa, w wyniku którego otrzymamy macierz oraz wektor o postaciach:

Wektor ma postać:

A(2) A0(2)

A(2)=[1,0 0,45918 −0,04082 0,581630,0 1,00000 0,57896 −0,054520,0 0,00000 −0,38856 −3,433880,0 0,00000 0,00258 −0,01191], A0

(2)=[ 5,08571−2,91305

−13,14636−0,05499].

X (2)=X (1)=[x2x1x3x4].X (2)

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

W kroku 3 postępowania prostego należy zamienić miejscami kolumny

oraz . Macierz elementarnej permutacji

ma wówczas postać:

Macierz z zamienionymi kolumnami otrzymamy w wyniku operacji

k=3

ik=4

A(2) '=A(2)P3,4=[1,0 0,45918 −0,04082 0,581630,0 1,00000 0,57896 −0,054520,0 0,00000 −0,38856 −3,433880,0 0,00000 0,00258 −0,01191][

1 0 0 00 1 0 00 0 0 10 0 1 0]=

P3,4=[1 0 0 00 1 0 00 0 0 10 0 1 0].

A(2) '

[1,0 0,45918 0,58163 −0,040820,0 1,00000 −0,05452 0,578960,0 0,00000 −3,43388 −0,388560,0 0,00000 −0,01191 0,00258].

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

W tym przypadku konieczna jest również zamiana wierszy w wektorze Wykonując poniższe przekształcenie otrzymuje sie wektor

Teraz można przystąpić do przekształceń trzeciego kroku algorytmu eliminacji Gaussa, w wyniku którego otrzymamy macierz oraz wektor o postaciach:

X (3)=P3,4 X(2)=[1 0 0 0

0 1 0 00 0 0 10 0 1 0][

x2x1x3x4]=[x2x1x4x3].

X (2).X (3).

A(3) A0(3)

A0(3)=[ 5,08571

−2,913053,82843

−0,00939].A(3)=[1,0 0,45918 0,58163 −0,040820,0 1,00000 −0,05452 0,578960,0 0,00000 1,00000 0,113150,0 0,00000 0,00000 0,00393],

Metody skończone rozwiązywania układów równań liniowych (5.2)

Metoda Eliminacji Gaussa (5.2.2)

Algorytm z pełnym wyborem elementu podstawowego

W kroku 4 (ostatnim) postępowania prostego należy jedynie sprowadzić do współczynnik macierzy . Ostatecznie po zakończeniu postępowania prostego otrzymujemy układ równań z macierzą główną trójkątną górną i wektorem

Teraz można rozwiązać powyższy układ równań - rozpocząć etap postępowa-nia odwrotnego algorytmu eliminacji Gaussa. Ostatecznie otrzymuje się wektor , którego elementy należy odpowiednio przepisać do wektora .

1,0A4,4

(3) A(3)

A(4)X (4)=A0(4) A(4)

X (4)=X (3).

[1,0 0,45918 0,58163 −0,040820,0 1,00000 −0,05452 0,578960,0 0,00000 1,00000 0,113150,0 0,00000 0,00000 1,00000][

x2x1x4x3]=[ 5,08571

−2,913053,82843

−2,38931].X (0)X (4)

X (4)=[x2x1x4x3]=[ 3,20402−1,306274,09878

−2,38931] , X (0)=[x1x2x3x4]=[−1,306273,20402−2,389314,09878 ].