Wykład 2

Transkrypt

Wykład 2
Wstep
˛ do metod numerycznych
Uwarunkowanie
Eliminacja Gaussa
P. F. Góra
http://th-www.if.uj.edu.pl/zfs/gora/
2012
Uwarunkowanie zadania numerycznego
Niech ϕ : Rn → Rm bedzie
˛
pewna˛ funkcja˛ odpowiednio wiele razy różniczkowalna˛ i niech x ∈ Rn.
Definicja: Mówimy, że zagadnienie obliczenia ϕ(x) jest numerycznie dobrze uwarunkowane, jeżeli niewielkie wzgledne
˛
zmiany danych daja˛ niewielkie wzgledne
˛
zmiany rozwiazania.
˛
Zagadnienia, które nie sa˛ numerycznie dobrze uwarunkowane, nazywamy źle uwarunkowanymi.
c 2012 P. F. Góra
Copyright 2–2
Przykład
Rozważmy problem znalezienia rozwiaza
˛ ń równania
x2 + bx + c = 0 ,
(1)
przy czym zakładamy, że b2 − 4c > 0. Wiadomo, że rozwiazania
˛
maja˛
w tym wypadku postać
1 −b ±
x1,2 = 2
q
b2 − 4c .
(2)
Jak dobrze uwarunkowane jest zagadnienie obliczania (2)? Danymi sa˛ tu
współczynniki trójmianu, b, c. Zaburzmy te współczynniki: b → b + ε2,
c → c + ε3 .
c 2012 P. F. Góra
Copyright 2–3
Rozwiazaniami
˛
sa˛ teraz
x̄1,2 = 1
2 −b + ε2 ±
q
(b + ε2)2 − 4(c + ε3)


'
1 −b ±
2
2bε2 − 4ε3 
2
b − 4c + ε2 ± q
 ,
2
2 b − 4c
q
(3)
gdzie dokonaliśmy rozwiniecia
˛
Taylora do pierwszego rz˛edu w ε1,2. Widzimy, że bład
˛ wzgledny
˛
x̄
1,2 − x1,2 x1,2
(4)
rośnie nieograniczenie, gdy b2 − 4c → 0+. Problem wyznaczania pierwiastków trójmianu (1) jest wówczas numerycznie źle uwarunkowany. Problem ten jest dobrze uwarunkowany, gdy b2 − 4c 0.
c 2012 P. F. Góra
Copyright 2–4
Współczynnik uwarunkowania
Niech ϕ : Rn → Rm bedzie
˛
pewna˛ funkcja,
˛ x ∈ Rn dokładna˛ wartościa˛
argumentu, a x̄ ∈ Rn znanym numerycznym przybliżeniem x.
Definicja: Jeżeli istnieje κ ∈ R taka, że
∀x, x̄ :
kx − x̄kRn
kϕ(x) − ϕ(x̄)kRm
6κ·
kϕ(x)kRm
kxkRn
(5)
nazywamy ja˛ współczynnikiem uwarunkowania zagadnienia
wyliczenia wartości ϕ(·) (wzgledem
˛
zadanych norm).
c 2012 P. F. Góra
Copyright 2–5
Współczynnik uwarunkowania mówi jak bardzo bład
˛ wzgledny
˛
wyniku obliczeń “przekracza” bład
˛ wzgledny
˛
samej rónicy przybliżenia i wartości dokładnej. Spodziewamy sie,
˛ że jeżeli przybliżenie znacznie różni sie˛ od
wartości dokładnej, także wyniki obliczeń bed
˛ a˛ sie˛ znacznie różnić. W zagadnieniach numerycznie źle uwarunkowanych może sie˛ zdarzyć, że nawet niewielkie odchylenie przybliżenia od wartości dokładnej doprowadzi
do znacznej różnicy wyników.
c 2012 P. F. Góra
Copyright 2–6
Układy równań liniowych
Niech A ∈ Rn×n bedzie
˛
macierza,
˛ x, b ∈ Rn. Rozpatrujemy równanie
Ax = b ,
(6)
Zakładamy,
˛
że macierz A oraz wektor wyrazów wolnych b sa˛ znane. Poszukujemy wektora x. Równanie (6) jest równoważne nastepuj
˛ acemu
˛
układowi równań liniowych:


a11x1





 a21x1
a31x1


...




 a x
n1 1
+ a12x2
+ a22x2
+ a32x2
...
+ an2x2
+ a13x3
+ a23x3
+ a33x3
...
+ an3x3
+ ...
+ ...
+ ...
...
+ ...
+ a1n
+ a2n
+ a3n
...
+ ann
= b1
= b2
= b3
...
= bn
(7)
gdzie aij sa˛ elementami macierzy A, natomiast xj , bj sa˛ elementami wektorów, odpowiednio, x, b.
c 2012 P. F. Góra
Copyright 2–7
Rozwiazywanie
˛
układów równan liniowych rzadko stanowi
“samoistny” problem numeryczny. Zagadnienie to wystepuje
˛
jednak bardzo czesto
˛
jako pośredni etap wielu problemów
obliczeniowych. Dlatego też dogłebna
˛
znajomość algorytmów
numerycznego rozwiazywania
˛
układów równań liniowych jest
niezwykle ważna.
c 2012 P. F. Góra
Copyright 2–8
Rozwiazywalno
˛
ść układów równań liniowych
Układ równań (6) ma jednoznaczne rozwiazanie
˛
wtedy i tylko wtedy, gdy
det A 6= 0 .
(8)
Z elementarnej algebry wiadomo, że rozwiazania
˛
można wówczas skonstruować posługujac
˛ sie˛ wzorami Cramera. Uwaga: Numeryczne korzystanie ze wzorów Cramera jest koszmarnie drogie i dlatego w praktyce
korzystamy z innych algorytmów.
Jak dobrze uwarunkowane jest zagadnienie rozwiazania
˛
równania (6)?
c 2012 P. F. Góra
Copyright 2–9
Przykład
Rozważmy nastepuj
˛ ace
˛ układy równań:

2x + 6y
2x + 6.00001y
=8
= 8.00001

2x + 6y
2x + 5.99999y
=8
= 8.00002
Współczynniki tych układów równan różnia˛ sie˛ co najwyżej o 0.00002 =
2 · 10−5. Rozwiazaniem
˛
pierwszego sa˛ liczby (1, 1), drugiego — liczby
(10, −2). Widzimy, że mała zmiana współczynników powoduje, że różnica rozwiaza
˛ ń jest ∼106 razy wieksza,
˛
niż zaburzenie współczynników.
Powyższe układy równań sa˛ źle uwarunkowane.
c 2012 P. F. Góra
Copyright 2–10
Normy wektorów
Niech x ∈ Rn oraz kxk oznacza norme˛ w przestrzeni Rn. Najcz˛eściej
używa sie˛ jednej z trzech norm:
• Norma taksówkowa:
kxk1 = |x1| + |x2| + · · · + |xn|
(9a)
• Norma Euklidesowa:
q
kxk2 =
xT x =
q
2
2
x2
1 + x2 + · · · + xn
(9b)
• Norma maximum (worst offender ):
kxk∞ = max |xi|
i=1,...,n
(9c)
Jeżeli nie zazanaczymy inaczej, przez norme˛ wektorowa˛ bedziemy
˛
rozumieć norme˛ Euklidesowa.
˛
c 2012 P. F. Góra
Copyright 2–11
Norma macierzy
Niech A ∈ RN ×N . Norma˛ macierzy (indukowana)
˛ nazywam
(
kAk = max
)
kAxk
: x ∈ RN , x 6= 0 = max {kAxk}
kxk
kxk=1
(10)
Promieniem spektralnym macierzy A ∈ RN ×N nazywam
r
T
ρ = AA c 2012 P. F. Góra
Copyright (11)
2–12
Współczynnik uwarunkowania układu równań liniowych
Rozwiazujemy
˛
układ rownań (det A 6= 0)
Ay = b
(12a)
Przypuśćmy, że wyraz wolny b jest obarczony jakimś błedem
˛
∆b, czyli
rozwiazujemy
˛
Aỹ = b + ∆b
(12b)
Zauważmy, że ỹ − y = A−1 (b + ∆b) − A−1y = A−1∆b.
c 2012 P. F. Góra
Copyright 2–13
Jak bład
˛ wyrazu wolnego wpływa na rozwiazanie?
˛
Obliczamy
kỹ − yk
=
kyk
−1
A ∆b
kyk
6
−1
A · k∆bk
kyk
(13a)
Z drugiej strony
kbk = kAyk 6 kAk · kyk
skad
˛ wynika, że
1
kAk
6
kyk
kbk
(13b)
kỹ − yk −1 k∆bk
6 A · A ·
kyk
{z
} kbk
|
(13c)
Ostatecznie
κ
c 2012 P. F. Góra
Copyright 2–14
Współczynnik uwarunkowania macierzy symetrycznej, rzeczywistej
Niech A ∈ RN bedzie
˛
odwracalna˛ macierza˛ symetryczna,
˛ rzeczywista.
˛
W takim wypadku jej wartości własne sa˛ rzeczywiste a jej unormowane
n . Oznaczmy wartości własne
wektory własne {ei}n
stanowi
a
˛
baz˛
e
w
R
i=1
n taki, że kxk = 1.
tej macierzy przez {λi}n
.
Weźmy
dowolny
x
∈
R
i=1
Wówczas
x=
n
X
i=1
αiei ,
n
X
α2
i = 1.
(14)
i=1
v
u n
n
n
n
uX 2 2
X
X
X
αi λi
kAxk = A
αi e i = αiAei = αiλiei = t
i=1
i=1
i=1
i=1
v
v
u n
u n
uX 2
uX 2
2
t
6
αi max(λi ) = max |λi| · t
αi = max |λi| (15)
i
i
i=1
i=1
c 2012 P. F. Góra
Copyright 2–15
Uwzgledniaj
˛
ac
˛ (10), widzimy, że kAk = max |λi|: norma odwracalnej
i
macierzy symetrycznej, rzeczywistej jest równa najwiekszemu
˛
modułowi
spośród jej wartości własnych.
Rozważmy teraz macierz A−1. Ma ona te same wektory własne, co A,
natomiast jej wartości własne sa˛ odwrotnościami wartości własnej macierzy nieodwróconej, A−1ei = λ1 ei. Postepuj
˛ ac
˛ jak powyżej, łatwo możemy
i
pokazać, że
1
1
−1
=
.
A = max
i |λi |
min |λi|
i
c 2012 P. F. Góra
Copyright (16)
2–16
Uwzgledniaj
˛
ac
˛ (13c), (15) i (16), widzimy, że zachodzi nastepuj
˛ ace
˛
Twierdzenie: Współczynnik uwarunkowania odwracalnej macierzy symetrycznej, rzeczywistej jest równy ilorazowi najwiekszego
˛
i najmniejszego
modułu spośród jej wartości własnych.
max |λi|
κ=
i
min |λi|
.
(17)
i
c 2012 P. F. Góra
Copyright 2–17
Co można zrobić z układem równań
. . . tak, aby jego rozwiazania
˛
sie˛ nie zmieniły?
Rozważam układ równań (przykład 3 × 3 dla oszcz˛edności miejsca):


 a11x1 + a12x2 + a13x3 = b1
a21x1 + a22x2 + a23x3 = b2

 a x
31 1 + a32 x2 + a33 x3 = b3
(18)
1. Równania można zapisać w innej kolejności:


 a21x1 + a22x2 + a23x3 = b2
a11x1 + a12x2 + a13x3 = b1

 a x
31 1 + a32 x2 + a33 x3 = b3
(19)
Odpowiada to permutacji wierszy macierzy układu równań, z jednoczesna˛ permutacja˛ kolumny wyrazów wolnych.
c 2012 P. F. Góra
Copyright 2–18
2. Równania można dodać stronami, po pomnożeniu przez dowolna˛ stała˛
różna˛ od zera:


a11 x1 +
a12 x2 +
a13 x3 =
b1
a21 x1 +
a22 x2 +
a23 x3 =
b2
 (z · a + a )x + (z · a + a )x + (z · a + a )x = z · b + b
11
31
1
12
32
2
13
33
3
1
3
(20)
Odpowiada to zastapieniu
˛
jednego wiersza macierzy układu równań
przez dowolna˛ kombinacje˛ liniowa˛ tego wiersza z innymi, z jednoczesna˛ analigiczna˛ operacja˛ na kolumnie wyrazów wolnych.
c 2012 P. F. Góra
Copyright 2–19
3. We wszystkich równaniach można przestawić kolejność, w jakiej pojawiaja˛ sie˛ zmienne:


 a11x1 + a13x3 + a12x2 = b1
a21x1 + a23x3 + a22x2 = b2

 a x
31 1 + a33 x3 + a32 x2 = b3
(21)
Odpowiada to permutacji kolumn macierzy układu równań, z jednoczesna˛ permutacja˛ kolumny niewiadomych.
c 2012 P. F. Góra
Copyright 2–20
Eliminacja Gaussa
Tej cz˛eści — na razie? — nie ma. Była na
wykładzie.
c 2012 P. F. Góra
Copyright 2–21
Dygresja: Złożoność obliczeniowa
Niech N oznacza liczbe˛ danych wejściowych pewnego algorytmu. Niech
M(N ) oznacza liczbe˛ operacji, jaka˛ algorytm ten wykonuje dla N danych.
Mówimy, że algorytm ma złożoność obliczeniowa˛ O (P(N )) jeżeli
∃N0 ∈ N, A1, A2 > 0 ∀N > N0 : A1 · P(N ) 6 M(N ) 6 A2 · P(N )
(22)
c 2012 P. F. Góra
Copyright 2–22