ALGEBRA LINIOWA. ĆWICZENIA Układy Równań Liniowych Spis

Transkrypt

ALGEBRA LINIOWA. ĆWICZENIA Układy Równań Liniowych Spis
ALGEBRA LINIOWA. ĆWICZENIA
Układy Równań Liniowych
ALEXANDER DENISIUK
Najnowsza wersja tego dokumentu dostępna jest pod adresem
http://users.pjwstk.edu.pl/~denisjuk/
Proponowane zadania powinny zostać zrealizowane w ramach
kursu programowania. Celem ćwiczeń jest opanowanie metod rozwiązywania układów równań liniowych oraz działań na macierzach, a zarazem metod programowania. Możliwa jest implementacja w formalizmie programowania strukturalnego. Innym rozwiązaniem może zostać podejście obiektowe, z określeniem klas
macierz, wektor oraz przeciążeniem odpowiednich operatorów.
Zadanie zostało również zaopatrzone w wiadomości teoretyczne, znacznie przekraczające niezbędny minimum, potrzebny do
realizacji zadań. Część materiału może zostać pominięta przy rozwiązywaniu zadań. Taki materiał został umieszczony pomiędzy
znaczkami
oraz
.
Na końcu zadania podane są przykładowe układy równań do
rozwiązywania.
Zaliczenie zadania nie ma wpływu na zaliczenie przedmiotu
Algebra.
Spis treści
1. Zadania
1.1. Metoda eliminacji Gaussa (5 godzin)
1.2. Iteracyjne metody rozwiązywania układów równań liniowych
(3 godziny)
2. Wiadomości teoretyczne
2.1. Macierze
2.2. Macierze a układy równań liniowych
2.3. Metody Gaussa rozwiązywania układów równań liniowych
2.4. Teoria metryczna w przestrzeniach wektorowych
2.5. Iteracyjne metody rozwiązywania układów równań liniowych
2.6. Przekształcenie równania Ax = b do iteracyjnej postaci
2.7. Metoda Jacobiego
2.8. Metoda Gaussa-Seidla
3. Przykładowe układy równań
Literatura
1
1
2
2
2
5
6
8
10
11
11
13
14
14
1. Zadania
1.1. Metoda eliminacji Gaussa (5 godzin). Niech A będzie n×n macierzą, b —
znanym wektorem. Przez błędy zaokrąglenia, metoda Gaussa, zamiast dokładnego,
1
2
ALEXANDER DENISIUK
daje przybliżone rozwiązanie układu
(1)
Ax = b.
Oznaczmy go przez x0 , nazwijmy przybliżeniem zerowym. Zerowy błąd przybliżenia
ε0 = x − x0 spełnia układ równań liniowych
(2)
Aε0 = b̃0 ,
gdzie b̃0 = A(x − x0 ) = b − b0 , b0 = Ax0 . Wektor b̃0 nazywa się resztą zerową.
Rozwiązując metodą eliminacji Gaussa układ (2), można znaleźć pierwszą poprawkę η1 . Pierwszym przybliżeniem nazwijmy wektor x1 = x0 + η1 . Podstawiając
x1 do układu (1), otrzymujemy b1 = Ax1 i pierwszą resztę b̃1 = b − b1 . Z b̃1 znajdziemy drugą poprawkę η2 , drugie przybliżenie x2 = x1 + η2 i tak dalej.
Ćwiczenie 1.
• Czemu błąd przybliżenia spełnia układ (2)?
• Czemu przy rozwiązaniu układu (2) znajdujemy poprawkę, a nie błąd przybliżenia?
• Jakie równanie trzeba rozwiązać, aby z pierwszej reszty znaleźć drugą poprawkę?
• Napisz program, który dla danej macierzy A oraz wektora b oblicza i wyświetla kolejnie:
x0 ,
b̃0 ,
kb̃0 k,
x1 ,
b̃1 ,
kb̃1 k,
....................
xk ,
b̃k ,
kb̃k k,
gdzie kbk = max{|b1 |, . . . , |bn |}.
• Przetestuj swój program
(1) Utwórz układ testowy, ze znanym tobie dokładnym rozwiązaniem.
(2) Sprawdź, czy twój program oblicza to dokładne rozwiązanie.
(3) Czy wynika z tego, że program jest poprawny? Lub niepoprawny?
• Przeanalizuj wyniki działania programu dla „dobrej” i „złej” macierzy:
(1) Czy reszty się zmniejszają z każdym krokiem?
(2) Dla której macierzy reszty są mniejsze?
(3) Czy można wnioskować o wielkości błędu otrzymanego rozwiązania?
1.2. Iteracyjne metody rozwiązywania układów równań liniowych (3 godziny).
Ćwiczenie 2.
• Rozwiąż układ równań liniowych metodą iteracyjną z dokładnością ε = 0,0001. Spróbuj iteracje Jakobiego (wzór (16) ze strony 12)
oraz Gaussa-Seidla (wzór (18) ze strony 13).
• Przeanalizuj wyniki działania programu dla „dobrej” i „złej” macierzy.
• Porównaj wyniki z metodą eliminacji Gausa: czy udaje się osiągnąć lepszą
dokładność?
2. Wiadomości teoretyczne
2.1. Macierze.
Definicja 2.1. Macierzą n × m nazywamy prostokątną tablicę liczb:


a11 a12 . . . a1m
 a21 a22 . . . a2m 

A=
 . . . . . . . . . . . . . . . . . . . . .
an1 an2 . . . anm
Układy Równań Liniowych
3
Mówimy również, że macierz A ma n wierszy i m kolumn. Zapis aik oznacza, że
element ten znajduje się w i-tym wierszu i k-tej kolumnie. Jeżeli m = n, macierz
nazywa się kwadratową stopnia n.
Definicja 2.2. Macierz n × 1 nazywamy wektorem. Elementy wektora nazywamy
współrzędnymi i oznaczamy
 
x1
 x2 
 
x =  . .
 .. 
xn
Definicja 2.3. Dwie macierze A i B tego samego wymiaru n × m są równe, jeśli
wszystkie odpowiednie elementy obu macierzy, położone na tych samych miejscach,
są równe, i. e.
aik = bik i = 1, . . . , n, k = 1, . . . , m.
Definicja 2.4. Macierzą transponowaną (lub przestawioną) nazywamy macierz,
która powstaje z danej macierzy przez zmianę wierszy przez kolumny:


a11 a21 . . . an1
 a12 a22 . . . an2 

At = 
 . . . . . . . . . . . . . . . . . . . . . .
a1m a2m . . . anm
Przykład 2.5.
1
A=
4
2 3
,
5 6


1 4
At = 2 5 .
3 6
Definicja 2.6. Macierzą zerową nazywamy dowolnego wymiaru macierz, której
wszystkie elementy są równe zeru.


0 0 0
0 0 0
Przykład 2.7. Macierze zerowe: O2×3 =
, O3 = 0 0 0 .
0 0 0
0 0 0
Definicja 2.8. Macierz jest trójkątną, jeśli aij = 0 przy i > j.




1 2
3
1 2
3 7
Przykład 2.9. Macierze trójkątne: 0 −1 2  , 0 −1 2 8 .
0 0 −3
0 0 −3 9
Definicja 2.10. Macierz kwadratowa jest symetryczną, jeżeli dla wszystkich i, j =
1, . . . , n spełniona równość aij = aji .
Macierz jest symetryczna wtedy i tylko wtedy, gdy At = A.


0 1 −4
Przykład 2.11. Macierz symetryczna:  1 0 2  .
−4 2 −3
Definicja 2.12. Macierz kwadratowa nazywa
aij = 0 przy i 6= j.

1 0
Przykład 2.13. Macierz diagonalna: 0 −1
0 0
się diagonalną (przekątną), jeśli

0
0 .
−3
Definicja 2.14. Macierz kwadratowa jest jednostkową, jeśli
(
0 przy i 6= j,
aij =
1 przy i = j.
4
ALEXANDER DENISIUK

1 0
Przykład 2.15. Macierz jednostkowa: I3 = 0 1
0 0

0
0 .
1
Definicja 2.16. Sumą dwóch macierzy A i B tego samego wymiaru jest macierz
C = A + B tegoż wymiaru, taka że cij = aij + bij .
     
1
−1
0
Przykład 2.17. 2 +  2  = 4 .
3
4
7
Dodawanie macierzy spełnia zwykłe własności dodawania:
Definicja 2.18.
(1) A + B = B + A — przemienność,
(2) (A + B) + C = A + (B + C) — łączność
(3) A + O = O + A = A — macierz zerowa jest elementem neutralnym,
(4) dla każdej macierzy A istnieje macierz przeciwna −A, taka że
A + (−A) = (−A) + A = 0.
Definicja 2.19. Iloczynem liczby rzeczywistej λ i macierzy A jest macierz C = λA
tego samego wymiaru, taka że cij = λaij .
 


5 −1
1 − 51
0 .
0  =  10
Przykład 2.20. 5 ·  2
−1 3
−5 15
Mnożenie macierzy przez liczbę posiada własności liniowości:
Właściwości 2.21.
(1) 1 · A = A,
(2) (αβ)A = α(βA),
(3) α(A + B) = αA + αB,
(4) (α + β)A = αA + βA.
Definicja 2.22. Zbiór n-wymiarowych wektorów, razem z określonymi w 2.16 i 2.19
działaniami dodawania i mnożenia przez liczbę rzeczywistą nazywa się przestrzenią
liniową Rn .
Uwaga 2.23. Ogólną przestrzenią liniową nad ciałem liczb rzeczywistych R nazywa
się zbiór X, w którym określone są dwie operacje: dodawanie elementów zbioru X
i mnożenie elementów zbioru X przez liczby rzeczywiste w taki sposób, że są spełnione własności 2.18 oraz 2.21. Więc, zbiór wszystkich macierzy pewnego ustalonego
wymiaru n × m też jest przestrzenią liniową.
Definicja 2.24. Iloczynem macierzy A wymiaru n×r przez macierz B wymiaru r×
m jest macierz C wymiaru n × m, której element cij jest równy
cij = ai1 b1j + ai2 b2j + · · · + air brj =

2
Przykład 2.25. −1
5
r
X
aik bkr .
k=1



3 0
−11 7 12
3 −1 2 0
4
= −11 −11 2 16 .
−2 −3 1 4
1
13
−8 11 4
Mnożenie macierzy przez macierz spełnia następujące własności:
Właściwości 2.26. Założymy, że we wszystkich przypadkach mnożenie macierzy
jest określone poprawnie.
(1) A(BC) = (AB)C,
Układy Równań Liniowych
(2)
(3)
(4)
(5)
(6)
5
OA = O, AO = O,1
IA = AI = A,2
A(B + C) = AB + AC,
(A + B)C = AC + BC,
∀λ ∈ R A(λB) = λ(AB).
Uwaga 2.27. Dla miłośników C++ można powiedzieć, że operatory + i * zostały
przeciążone przez definicje 2.16, 2.19 oraz 2.24.
Definicja 2.28. Niech A będzie n × n macierzą. Macierzą odwrotną nazywa się
macierz A−1 , taka że AA−1 = A−1 A = I.
Uwaga 2.29. Macierz odwrotna istnieje nie dla wszystkich macierzy kwadratowych A.
2.2. Macierze a układy równań liniowych. Z definicji mnożenia macierzy wynika, że dla dowolnej n × m macierzy A i wektora x ∈ Rm , Ax też jest wektorem,
Ax ∈ Rn . W ten sposób macierz Macierz A o n wierszach i m kolumnach może być
traktowana jako operator liniowy przekształcający przestrzeń Rm w Rn :
A : Rm → Rn ,
(3)
x 7→ Ax.
Liniowość oznacza, że ∀x, y ∈ Rm , ∀λ ∈ R
(1) A(x + y) = Ax + Ay,
(2) A(λx) = λAx.
W formie rozwiniętej przekształcenie (3) zapisze się
 

 
x1
x1
a11 a12 . . . a1m
 x2 
 a21 a22 . . . a2m   x2 
 

 
 ..  7→  ..
..
..   ..  =
..
 . 
 .
.
.
.  . 
xm
xm
an1 an2 . . . anm


a11 x1 + a12 x2 + · · · + a1m xm
 a21 x1 + a22 x2 + · · · + a2m xm 

=
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
an1 x1 + an2 x2 + · · · + anm xm
Równanie macierzowe Ax = b odpowiada układowi równań liniowych:

a11 x1 + a12 x2 + · · · + a1m xm = b1 ,



a x + a x + · · · + a x = b ,
21 1
22 2
2m m
2
(4)
Ax = b ⇐⇒

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...



an1 x1 + an2 x2 + · · · + anm xm = bn .
Definicja 2.30. Z równaniem (4) związana jest macierz rozszerzona:


a11 a12 . . . a1m b1
 a21 a22 . . . a2m b2 


à =  .
..
.. .. 
..
 ..
.
.
. . 
an1 an2 . . . anm bn
Niżej ograniczymy się przypadkiem macierzy kwadratowych, n = m.
1w tym przykładzie O w każdym przypadku oznacza ogólnie mówiąc zerową macierz różnych
wymiarów.
2w tym przykładzie w każdym przypadku I oznacza ogólnie mówiąc jednostkową macierz różnych wymiarów.
6
ALEXANDER DENISIUK
Definicja 2.31. Macierz
A) jest nieosobliwą, jeśli dla dowolnego wek A (operator
tora x ∈ Rn
Ax = 0 ⇒ x = 0 .
Twierdzenie 2.32. Macierz A jest nieosobliwą wtedy i tylko wtedy, gdy
det A 6= 0.
Twierdzenie 2.33. Macierz A jest nieosobliwą wtedy i tylko wtedy, gdy istnieje
macierz odwrotna A−1 .
Twierdzenie 2.34. Macierz A jest nieosobliwą wtedy i tylko wtedy, gdy ∀b ∈ Rn
równanie Ax = b ma dokładnie jedno rozwiązanie.
Uwaga 2.35. Rozwiązanie równania Ax = b w przypadku macierzy nieosobliwej
dane jest wzorem x = A−1 Ax = A−1 b.
2.3. Metody Gaussa rozwiązywania układów równań liniowych. Rozważamy w tym rozdziale tylko nieosobliwe macierze.
Metoda eliminacji Gaussa oparta jest na następujące twierdzenie z algebry liniowej.
Twierdzenie 2.36. Zbiór pierwiastków układu równań liniowych nie zmieni się,
jeżeli
(1) dowolny wiersz macierzy rozszerzonej à pomnożyć przez dowolną niezerową
liczbę rzeczywistą,
(2) od dowolnego wierszu macierzy à odjąć dowolny drugi wiersz, pomnożony
przez dowolną liczbę rzeczywistą.
Metoda Gaussa polega na tym, że za pomocą przekształceń (1) i (2) macierz
rozszerzona à przekształca się do postaci trójkątnej (prosty bieg):


1 a12 a13 . . . a1(n−1)
a1n b1
 0 1 a23 . . . a2(n−1)
a2n b2 


0 0
1 . . . a3(n−1)
a3n b3 


(5)
 ..
.. ..  .
..
..
..
..
.
.
. . 
.
.
.


0 0
0 ...
1
a(n−1)n bn−1 
0 0
0 ...
0
ann bn
Potem obliczamy w jawny sposób pierwiastki układu trójkątnego

x + a12 x2 + a13 x3 + · · · + a1(n−1) xn−1 + a1n xn = b1 ,


 1


x2 + a23 x3 + · · · + a2(n−1) xn−1 + a2n xn = b2 ,




x3 + · · · + a3(n−1) xn−1 + a3n xn = b3 ,

.............................





xn−1 + a(n−1)n xn = bn−1 ,



ann xn = bn ,
poczynając z xn (odwrotny bieg):


xn = bn /ann ,





xn−1 = bn−1 − xn a(n−1)n ,





.....................


k+1
P
xi aki ,
xk = bk −


i=n



. . . . . . . . . . . . . . . . . . . . .



2

P


xi a1i .
x1 = b1 −
i=n
Układy Równań Liniowych
7
for(l=0;l<N-1;l++)
for(i=l+1;i<N;i++) A[l,i]=A[l,i]/A[l,l];
b[l]=b[l]/A[l,l];
for(i=l+1;i<N;i++){
for(j=l+1;j<N;j++) A[i,j]=A[i,j]-A[l,j]*A[i,l];
b[i]=b[i]-b[l]*A[i,l];
}
}
Rysunek 1. Prosty bieg metody eliminacji Gaussa
Prosty bieg można zrealizować w sposób następujący. Podzielimy pierwszy wierz
przez a11 . Otrzymamy macierz

1
 a21

Ã′ =  .
 ..
an1
a′12
a22
..
.
...
...
..
.
a′1m
a2m
..
.
an2
...
anm
′
b1
b2 

..  ,
.
bn
gdzie a′1i = a1i /a11 , b′1 = b1 /a11 , i = 2, . . . , n. Żeby otrzymać w pierwszej kolumnie same zera, odejmujemy kolejno od wiersza i pierwszy wiersz mnożony przez ai1 .
Wynikiem będzie


1 a′12 . . . a′1m b′1
0 a′22 . . . a′2m b′2 


′′
à =  .
..
.. ..  ,
..
 ..
.
.
. . 
′
′
0 an2 . . . anm b′n
gdzie a′ij = aij − a′1j ai1 , b′j = bj − b′1 ai1 , i, j = 2, . . . , n.
Opracujemy w ten sam sposób podmacierz Ã2 , poczynając z drugiego wiersza
i drugiej kolumny, etc. W reszcie otrzymamy macierz trójkątną (5). Prosty bieg
metody Gaussa przedstawiony jest we fragmencie programu na rysunku 1.
Wariantem metody jest tak zwana Metoda Gaussa z wyborem elementu
głównegometoda Gaussa z wyborem elementu głównego. W tej metodzie w prostym biegu przed dzieleniem przez Al,l przestawiają wierszy i/lub kolumny macierzy à tak, żeby na miejscu (l, l) okazał się element, który ma największy moduł.
Ponieważ błąd absolutny obliczeń jest proporcjonalny wartości bezwzględnej liczb,
można oczekiwać zmniejszenia błędu w porównaniu ze zwykłą metodą Gaussa, jak
w następującym przykładzie.
Przykład 2.37. Rozważmy układ
(
0, 01x + 8, 99y = 3,
10x − y = 3.
Nietrudno obliczyć, że dokładnym rozwiązaniem jest (x0 , y0 ) = ( 31 , 31 ). Założymy, że
układ rozwiązuje się na maszynie czterocyfrowej, więc (x0 , y0 ) ≈ (0,3333, 0,3333).
8
ALEXANDER DENISIUK
Przy stosowaniu zwykłej metody Gaussa mamy ciąg przekształceń:
(
(
x + 899y = 300,
x + 899y = 300,
10x − y = 3,
−8991y = −2997,
(
(
(
x + 899y = 300,
x = 300 − 299,6 ,
x = 0,4 ,
y = 0,3333 ,
y = 0,3333 ,
y = 0,3333 .
Zaś przy stosowaniu metody Gaussa z wyborem elementu głównego
(
(
10x − y = 3,
x − 0,1y = 0,3 ,
0, 01x + 8, 99y = 3 ,
0, 01x + 8, 99y = 3,
(
(
(
x − 0,1y = 0,3 ,
x − 0,1y = 0,3 ,
x = 0,3333 ,
8, 991y = 2,997 ,
y = 0,3333 ,
y = 0,3333.
2.4. Teoria metryczna w przestrzeniach wektorowych. Rozwiązaniem układy równań liniowych jest wektor, element przestrzeni wektorowej. Metoda Gaussa
w teorii daje dokładne przybliżenie. W praktyce, jednak, przy obliczeniu na komputerze, przez błędy zaokrąglenia można otrzymać jedynie rozwiązanie przybliżone.
Żeby oszacować dokładność przybliżenia, trzeba mierzyć wielkość różnicy wektorów.
Za taką miarę przyjmowana jest norma wektora, która uogólnia pojęcia wartości
bezwzględnej liczb oraz długości wektorów geometrycznych.
 
x1
 .. 
n
W przestrzeni R , której elementami są wektory x =  .  można wprowadzić
xn
wiele norm wektorów.
Definicja 2.38. Za normę wektora można uważać dowolną funkcję Rn → R, x 7→
kxk, która spełnia następujące warunki:
(1) kxk ­ 0, kxk = 0 ⇐⇒ x = 0.
(2) ∀λ ∈ R kλxk = |λ| · kxk.
(3) (nierówność trójkąta) kx + yk ¬ kxk + kyk.
Definicja 2.39. Ciąg wektorów x(k) jest zbieżnym do wektora x przy k → ∞,
jeżeli
lim kx − x(k) k = 0.
k→∞
W obliczeniach numerycznych najczęściej są stosowane normy następujące:
kxk1 = |x1 | + |x2 | + · · · + |xn |
q
kxk2 = x21 + x22 + · · · + x2n (norma euklidesowa)
kxk∞ = max { |x1 |, |x2 |, . . . , |xn | }
Twierdzenie 2.40. Dla dowolnego wektora x ∈ Rn spełnione są nierówności
√
kxk∞ ¬ kxk2 ¬ kxk1 ¬ nkxk2 ¬ nkxk∞ .
Przed dowodem twierdzenia 2.40 udowodnimy bardzo ważną nierówność.
Układy Równań Liniowych
9
Lemat 2.41 (Nierówność Cauchy’ego). Dla dwóch dowolnych skończonych ciągów
rzeczywistych a1 , . . . , an i b1 , . . . , bn zachodzi nierówność
q
q
(6)
a1 b1 + · · · + an bn ¬ a21 + · · · + a2n b21 + · · · + b2n .
Dowód. Rozważymy trójmian kwadratowy
P (t) = (a1 + b1 t)2 + · · · + (an + bn t)2 =
= t2 (b21 + · · · + b2n ) + 2t(a1 b1 + · · · + an bn ) + (a21 + · · · + a2n ).
Ponieważ dla wszystkich rzeczywistych t zachodzi nierówność P (t) ­ 0, wyznacznik
tego trójmianu jest niedodatni, czyli
(a1 b1 + · · · + an bn )2 − (b21 + · · · + b2n )(a21 + · · · + a2n ) ¬ 0.
Z ostatniej nierówności wynika (6).
Dowód twierdzenia 2.40
(1) Niech dla pewnego i |xi | = max { |x1 |, |x2 |, . . . , |xn | } = kxk∞ . Wtedy
kxk22 = |x1 |2 + · · · + |xi |2 + · · · + |xn |2 ­ |xi |2 .
(2)
Więc kxk∞ ¬ kxk2 .
kxk22 = |x1 |2 + · · · + |xn |2 ¬
¬ |x1 |2 + · · · + |xn |2 + 2|x1 ||x2 | + 2|x1 ||x3 | + · · · + 2|xn−1 ||xn | =
2
= |x1 | + · · · + |xn | .
Więc kxk2 ¬ kxk1 .
(3) Żeby udowodnić trzecią nierówność, zastosujemy nierówność Cauchy’ego do
ciągów |x1 |, . . . , |xn | i 1, . . . , 1. Istotnie,
| {z }
n razy
kxk1 = 1 · |x1 | + · · · + 1 · |xn | ¬
p
p
√
12 + · · · + 12 |x1 |2 + · · · + |xn |2 = nkxk2 .
|
{z
}
n razy
(4) Niech dla pewnego i |xi | = max { |x1 |, |x2 |, . . . , |xn | } = kxk∞ . Wtedy
Więc
|x1 | ¬ |xi |,
kxk22
2
|x2 | ¬ |xi |,
...,
2
|xn | ¬ |xi |.
= |x1 | + · · · + |xn | ¬ |xi | + · · · + |xi |2 = nkxk2∞ .
|
{z
}
W ten sposób kxk2 ¬
2
n razy
√
nkxk∞ .
Wniosek 2.42. Jeżeli ciąg wektorów x(k) jest zbieżnym do wektora x względem
jednej normy, to jest on zbieżnym względem dwóch ostatnich norm.
Niech A będzie kwadratową macierzą rzędu n. Rozważymy operator liniowy A
(cf. (3)), działający w przestrzeni Rn . Załóżmy, że ta przestrzeń jest wyposażona
w normę. Określimy normę macierzy czyli normę operatora A korzystając z definicji
Definicja 2.43.
kAk = sup
x∈Rn
x6=0
kAxk
.
kxk
Mówimy, że norma macierzy A czyli norma operatora A jest indukowana przez
normę przestrzeni.
10
ALEXANDER DENISIUK
Norma macierzy wskazuje, ile razy co najwięcej może być zwiększona norma
wektora przez operator:
kAxk ¬ kAkkxk.
W szczególności kAk1 , kAk2 i kAk∞ oznaczają normę macierzy A, gdy w przestrzeni przyjęto odpowiednio normy wektorów kxk1 , kxk2 i kxk∞ . Znane są zależności:
n
X
(7)
|aij |
(maksymalna suma modułów w kolumnie),
kAk1 = max
j=1,...,n
(8)
(9)
kAk∞ = max
i=1,...,n
i=1
n
X
(maksymalna suma modułów w wierszu),
|aij |
j=1
v
uX
u n
kAk2 ¬ t
|aij |2 .
i,j=1
Udowodnimy jedną korzystną własność normy macierzy.
Twierdzenie 2.44. kA2 k ¬ kAk2 .
Dowód. Rozważymy x 6= 0. Jeżeli Ax = 0, to A2 x = 0 i
Niech Ax 6= 0. Wtedy
Ponieważ
kAAxk
kAxk
kA2 xk
kxk
=
kA2 xk
kxk
= 0.
kAAxk kAxk
kAxk kxk .
2
kA xk
2
2
¬ sup kAxk
kxk , kA k = sup kxk ¬ kAk .
x6=0
x6=0
2.5. Iteracyjne metody rozwiązywania układów równań liniowych. Metoda iteracji polega na tym że równanie (4) przekształca się w postać iteracyjną:
(10)
x = Mx + c
i iteracje realizują się ze wzoru
(11)
x(k+1) = M x(k) + c,
gdzie zerowe przybliżenie x(0) jest dowolnym wektorem.
Metoda (11) nie jest zawsze zbieżną.
Dostateczny warunek zbieżności metody (11) oparty jest na pojęciu odwzorowania zbliżającego.
Definicja 2.45. Odwzorowanie f : Rn → Rn nazywa się zbliżającym, jeżeli istnieje
liczba 0 < q < 1, taka że dla każdych x′ , x′′ ∈ Rn spełniona jest nierówność
kf (x′ ) − f (x′′ )k < qkx′ − x′′ k.
Twierdzenie 2.46. Jeżeli odwzorowanie y = g(x) jest zbliżającym, to równanie
(12)
x = g(x)
ma pierwiastek x , iteracje xk+1 = g(xk ) są zbieżne i
∗
kx∗ − xk k ¬
qk kx1 −x0 k
.
1−q
Układy Równań Liniowych
11
Dostateczny warunek zbieżności metody (11) dany jest przez następujące twierdzenie.
Twierdzenie 2.47. Niech kM k ¬ q < 1. Wtedy metoda (11) jest zbieżna do
pierwiastka x∗ równania (4) i
kx∗ − x(k) k ¬
qn
kx(1) − x(0) k.
1−q
Dowód tego twierdzenia oparty jest na tym, że odwzorowanie, określone
przez (11), jest zbliżającym. Istotnie, dla dowolnych x′ , x′′ ∈ Rn spełnia się kM x′ +
c − (M x′′ + c)k = kM (x′ − x′′ )k¬kM k · kx′ − x′′ k¬qkx′ − x′′ k. Dalej stosujemy
twierdzenie 2.46.
Uwaga 2.48. Zbieżność metody (11) nie zależy ani od wektora c, ani od początkowego przybliżenia x0 , ani od wprowadzonej normy.
Uwaga 2.49. Twierdzenie 2.47 razem z wzorami (7)–(9) dają dostateczne warunki
zbieżności
(11). Nie jest to jednak warunek konieczny. Iteracji dla macierzy
1 metody
8
M = 2 1 są zbieżne, lecz kM k∞ = kM k1 = 8, 5, kM k2 ­ 8.
0 2
Uwaga 2.50. Jeżeli iteracji okazały się zbieżnymi, to granica jest rozwiązaniem
układu (11).
Uwaga 2.51. W praktyce za warunek zakończenia iteracji liczą kx(k+1) −x(k) k ¬ ε,
gdzie ε jest pożądaną dokładnością.
2.6. Przekształcenie równania Ax = b do iteracyjnej postaci. Żeby stosować metodę iteracyj do początkowego równania (4), trzeba przekształcić go w
postać (10). Każdy układ
(13)
gdzie
x = x − D(Ax − b) = (I − DA)x + Db,

1 0
0 1

I = . .
 .. ..
0 0
...
...
..
.
...

0
0

.. 
.
— macierz jednostkowa,
1
ma postać (10) i przy det D 6= 0 jest równoważny układowi (4). Każdy układ (10)
równoważny układowi (4) może być zapisany w postaci (13) z macierzą D = (I −
M )A−1 . Stosując różnych rodzajów macierze D, można otrzymać różne postaci
metod iteracyjnych, które mają swoje warunki zbieżności.
2.7. Metoda Jacobiego. Niech macierz A układu (4) jest rozłożona na składniki
(14)
A = L + N + U,
gdzie L jest macierzą poddiagonalną, N — macierzą diagonalną, a U — macierzą
naddiagonalną; np.

 
 
 

1 2 3
0 0 0
1 0 0
0 2 3
4 5 6 = 4 0 0 + 0 5 0 + 0 0 6 .
7 8 9
7 8 0
0 0 9
0 0 0
12
ALEXANDER DENISIUK
Przyjmując w (13) D = N −1 , czyli M = −N −1 (L + U ), otrzymujemy wzór Jacobiego:
x(k+1) = −N −1 (L + U )x(k) + N −1 b,

a11 0 . . .
 0 a22 . . .

Dla diagonalnej macierzy N =  .
..
..
 ..
.
.
(15)
odwrotna macierz N
−1
0

−1
a11
 0

= .
 ..
a−1
22
..
.
0
...
...
..
.
0
...
0
0
0
0
..
.
k = 1, 2, . . . .





. . . ann

0
0 

..  , więc przez współrzędne me. 
a−1
nn
toda (15) zapisze się jako

x1(k+1) = a111 −a12 x2(k) − a13 x3(k) − · · · − a1n xn(k) + b1 ,



x
1
2(k+1) = a22 −a21 x1(k) − a23 x3(k) − · · · − a2n xn(k) + b2 ,
(16)

.........................................................



1
xn(k+1) = ann
−an1 x1(k) − a21 x2(k) − · · · − an n−1 xn−1(k) + bn .
Aby móc zastosować wzór (15), należy uprzednio tak zmienić kolejność równań
układu (4), aby na przekątnej były elementy niezerowe. Zrobić to możliwe w sposób, analogiczny przestawieniu równań w metodzie Gaussa z wyborem elementu
głównego (v. rozdział 2.3).
Żeby sformułować dostateczne warunki zbieżności metody Jacobiego przyjmiemy
dwie definicje.
Definicja 2.52. Macierz A jest silnie diagonalnie dominująca, jeżeli moduły elementów na przekątnej są większe od sumy modułów pozostałych elementów stojących w tym samym wierszu, i. e.
|aii | >
n
X
j=1
j6=i
|aij |,
i = 1, 2, . . . , n.
Definicja 2.53. Macierz A jest silnie diagonalnie dominująca kolumnowo,macierz
silnie diagonalnie dominująca kolumnowo jeżeli moduły elementów na diagonali są
większe od sumy modułów pozostałych elementów stojących w tej samej kolumnie, i. e.
n
X
|aij |, j = 1, 2, . . . , n.
|ajj | >
i=1
i6=j
Twierdzenie 2.54. Jeśli macierz A jest silnie diagonalnie dominująca albo silnie
diagonalnie dominująca kolumnami, to metoda Jacobiego (15) jest zbieżna.
Dowód. Zauważymy najpierw, że w obu przypadkach elementy na diagonali
są niezerowe.
Zbieżność metody wynika z twierdzenia 2.47 i wzorów (7) i (8), ponieważ w
pierwszym przypadku kN −1 (L + U )k∞ < 1, w drugim — kN −1 (L + U )k1 < 1.
Układy Równań Liniowych
13
2.8. Metoda Gaussa-Seidla. Niech jak wyżej (v. (14)) A = L + N + U , to przyjmując w (13) D = (L + N )−1 , czyli M = −(L + N )−1 U otrzymujemy metodę
Gaussa-Seidla:
x(k+1) = −(L + N )−1 U x(k) + (L + N )−1 b.
(17)
Na pierwszy rzut oka wzór ten zawiera skomplikowany problem odnalezienia macierzy odwrotnej (L + N )−1 . Jednak mnożąc obie strony (17) przez L + N , otrzymamy
równoważną równość
N x(k+1) = −Lx(k+1) − U x(k) + b.
Przy obliczaniu pierwszej współrzędnej wektora z prawej strony tej równości nie
wystąpi żadna współrzędna wektora x(k+1) . Zatem dzieląc tę równość przez a11 obliczymy x1(k+1) . Następnie przy obliczaniu x2(k+1) potrafimy obliczyć prawą stronę
równości, gdyż zależy ona jedynie od x1(k+1) oraz x(k) itd. W ten sposób przy obliczaniu kolejnej składowej wektora x(k+1) korzystamy z obliczonych już poprzednio
składowych, co w wielu przypadkach podnosi efektywność tego algorytmu w porównaniu z algorytmem Jacobiego:

x1(k+1) = a111 −a12 x2(k) − a13 x3(k) − · · · − a1n xn(k) + b1 ,



x
1
2(k+1) = a22 −a21 x1(k+1) − a23 x3(k) − · · · − a2n xn(k) + b2 ,
(18)
 .................................................................



1
−an1 x1(k+1) − a21 x2(k+1) − · · · − an n−1 xn−1(k+1) + bn .
xn(k+1) = ann
Analogicznie do twierdzenia 2.54 można udowodnić następujący warunek zbieżności metody Gaussa-Seidla.
Twierdzenie 2.55. Jeżeli macierz A jest silnie diagonalnie dominująca albo silnie
diagonalnie dominująca kolumnami, to metoda Gaussa-Seidla jest zbieżna.
Inny warunek zbieżności opiera się na pojęciach symetryczności (definicja 2.10)
i dodatniej określoności macierzy.
Definicja 2.56. Macierz A nazywa się dodatnio określoną, jeśli dla dowolnego
niezerowego wektora x ∈ Rn spełnia
n
X
aij xi xj > 0.
i,j=1
Twierdzenie 2.57. Jeśli macierz A jest symetryczna i dodatnio określona, to metoda Gaussa-Seidla jest zbieżna.
Lemat 2.58. Macierz At A jest symetryczną i, jeżeli A jest nieosobliwą, to At A
jest dodatnio określoną.
n
n
P
P
aik ail . Podczas
atki ail =
Dowód.
(1) Macierz C = At A ma wyrazy ckl =
clk =
n
P
i=1
atli aik
=
n
P
i=1
i=1
ail aik . Więc ckl = clk .
i=1
(2) Dla dowolnego niezerowego wektora x ∈ Rn
n
X
k,l=1
ckl xk xl =
n
X
ail aik xk xl =
i,k,l=1
=
n
n
X
X
i=1
l=1
ail xl
n
X
k=1
aik xk
!
=
n
n
X
X
i=1
l=1
ail xl
!2
> 0,
ponieważ z nieosobliwości (definicja 2.31) macierzy A wynika, że w ostatniej
sumie wszystkie składniki nie mogą być jednocześnie zerowymi.
14
ALEXANDER DENISIUK
Twierdzenie 2.59. Jeżeli macierz A jest nieosobliwą, to
(1) układ At Ax = At b jest równoważnym układowi Ax = b,
(2) dla układu At Ax = At b metoda Gaussa-Seidla jest zbieżną.
3. Przykładowe układy równań
Układ, mający złą macierz:

−6.96x1 − 0.21x2 + 2.28x3 + 1.7x4 − 6.22x5 − 6.48x6 = −15.89,






−4.26x1 − 0.03x2 + 1.26x3 + 0.98x4 − 3.92x5 − 3.97x6 = −9.94,

−2.6x − 0.18x + 1.02x + 0.72x − 2.30x − 2.40x = −5.74,
1
2
3
4
5
6
−1.66x1 + 0.15x2 + 0.24x3 + 0.26x4 − 1.62x5 − 1.56x6 = −4.19,





−0.95x1 − 0.33x2 + 0.78x3 + 0.46x4 − 0.68x5 − 0.84x6 = −1.56,



−0.71x1 + 0.48x2 − 0.54x3 − 0.21x4 − 0.94x5 − 0.72x6 = −2.64.
Układ, mający dobrą macierz:

6.96x1 − 0.21x2 + 2.28x3 + 1.7x4 − 6.22x5 − 6.48x6 = −1.07,






−4.26x1 + 0.03x2 + 1.26x3 + 0.98x4 − 3.92x5 − 3.97x6 = −9.87,

−2.6x − 0.18x − 1.02x + 0.72x − 2.30x − 2.40x = −7.78,
1
2
3
4
5
6
−1.66x1 + 0.15x2 + 0.24x3 − 0.26x4 − 1.62x5 − 1.56x6 = −4.71,





−0.95x1 − 0.33x2 + 0.78x3 + 0.46x4 + 0.68x5 − 0.84x6 = −0.2,



−0.71x1 + 0.48x2 − 0.54x3 − 0.21x4 − 0.94x5 + 0.72x6 = −1.2
Literatura
[1] Z. Fortuna, B. Macukow, J. Wąsowski: Metody numeryczne, Warszawa, WNT 2006.
[2] Przemysław Kajetanowicz, Jędrzej Wierzejewski: Algebra z geometrią analityczną, Wydawnictwo PWN, 2008.
[3] Aleksiej I. Kostrikin: Wstęp do algebry cz. 2, algebra liniowa Wydawnictwo PWN, 2004.
[4] D. Kincaid, W. Cheney: Analiza numeryczna, Wydawnictwa Naukowo-Techniczne, Warszawa 2006.
[5] P. Krzyżanowski, L. Plaskota: Metody numeryczne, MIMUW, http://wazniak.mimuw.
edu.pl/index.php?title=Metody_numeryczne
E-mail address: [email protected]
Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Zamiejscowy Ośrodek Dydaktyczny w Gdańsku, ul. Brzegi 55, 80-045 Gdańsk

Podobne dokumenty