Numerická matematika

Transkript

Numerická matematika
Numerická matematika
J. Felcman
Univerzita Jana Evangelisty Purkyně v Ústí nad Labem
KNM PRESS
2004
.
PRAHA
iv
PŘEDMLUVA
1. přednáška
1. [email protected]
• Tel. 47528 4386
• KI č. dv. 541
2. Numerická matematika - anotace
• Studijní program B1802 - Aplikovaná informatika
Studijní obor Informační systémy
KI 0027 2.IS ZS 2/2 Zk/Z (44 stud.)
• Studijní program M7504 - Učitelství pro střední školy
Studijní obor Výpočetní technika pro SŠ
KI 0026 2.FY VT SŠ ZS 2/2 -/Z (12 stud.)
2.MA VT SŠ
3. Požadavky ke zkoušce
• státnice (prospěl s vyznamenáním)
• sylabus
4. Tituly
• Ph.D. (projekt + angličtina)
• RNDr.
• Mgr.
• Bc
5. Studium v zahraničí - ERASMUS
6. Ceny udělované studentům
7. SVOČ
8. Hodnocení učitelů - srozumitelnost
9. Náhrada
• 20.10. 2004 (Uni Braunschweig)
• 27.10. 2004 (Uni Braunschweig)
• 03.11. 2004 (Uni Braunschweig)
• 10.11. 2004 (Uni Braunschweig)
• 17.11. 2004 (Svátek)
10. Zkouška (15. prosince 2004)
část písemná
část ústní
Práce na tomto textu byla částečně podporována Grantovou agenturou České
Republiky (projekty č. 201/02/0684 a 101/01/0938), Grantovou agenturou Univerzity Karlovy (projekt č. 275/2001/B-MAT/MFF) a Ministerstva školství,
v
vi
PŘEDMLUVA
mládeže a tělovýchovy České republiky (projekt č. MSM113200007). Děkuji panu
Michalu Zerolovi, studentu Matematicko-fyzikální fakulty UK v Praze, který napsal v LATEXu tento učební text a přispěl tak podstatnou měrou k jeho realizaci.
Praha, září 2004
J. F.
PŘEDMLUVA
vii
Numerická matematika a optimalizace
B1802 AI-IS, M7504 USŠ-VT ZS 2004/2005
22.09. 2004 Reálné situace, modely, diskretizace, počítačová realizace (fólie)
Náměty do cvičení: Zdroje chyb v numerické matematice
29.09. 2004 Aproximace funkcí, interpolace, aproximace pomoci metody nejmenších
čtverců, Lagrangeova báze, existence a jednoznačnost Lagrangeova interpolačního polynomu, chyba Lagrangeovy interpolace,
Náměty do cvičení: Newtonova báze, monomiální báze, Vandermondova
matice a determinant, vyčíslení Lagrangeova interpolačního polynomu v jediném bodě (Aitkenovo-Nevilleovo schéma), Hornerovo schéma, počet operací při vyčíslení hodnoty polynomu.
OBSAH
Úvod
1
1
Aproximace funkcí v IR
1.1 Lagrangeův interpolační polynom
1.1.1 Chyba Lagrangeovy interpolace
1.2 Kubický spline
1.2.1 Konstrukce přirozeného kubického spline
2
4
5
6
7
2
Numerická integrace funkcí
2.1 Newtonovy-Cotesovy vzorce
2.2 Rombergova kvadratura
2.3 Gaußova kvadratura
12
12
14
15
3
Metody řešení nelineárních rovnic
3.1 Newtonova metoda
3.1.1 Důkaz konvergence Newtonovy metody
3.2 Metoda postupných aproximací
3.3 Kořeny polynomu
3.3.1 Hornerovo schema
18
18
19
21
21
22
4
Soustavy lineárních rovnic
4.1 Podmíněnost matic
4.2 Gaußova eliminace
4.2.1 Pivotace
4.3 Gaußova eliminace jako faktorizační metoda
4.4 LU rozklad v obecném případě
4.4.1 Vliv zaokrouhlovacích chyb
4.5 Choleského rozklad
4.6 QR rozklad
24
24
26
26
27
29
30
30
31
5
Iterační metody řešení soustav lineárních rovnic
5.1 Klasické iterační metody
32
33
6
Výpočet vlastních čísel matic
6.1 Mocninná metoda výpočtu dominantního vlastního čísla
36
36
7 Numerická integrace soustav obyčejných diferenciálních rovnic
7.1 Formulace problému
7.2 Jednokrokové metody
38
38
38
Bibliografie
41
ix
x
Index
OBSAH
42
ÚVOD
Numerická analýza: Studium algoritmů (jednoznačně definovaná konečná posloupnost aritmetických a logických operací) pro řešení problémů spojité matematiky. L.N. Trefethen, Bulletin IMA 1993
Numerická matematika: realizace matematických modelů na počítači
Fyzikální realita → matematický model → numerické řešení, t.j. realizace
matematického modelu na počítači.
Validation (solving the right equations) – verification (solving the equations
right)
Literatura k přednášce: (Quarteroni, 2000), (Ueberhuber, 2000), (Kinkel,
2000), (Segethová, 2000)
Předpokládané znalosti: Rolleova věta, definice normy funkce, definice seminormy, vlastní čísla, Geršgorinovy kruhy, ostře diagonálně dominantní matice,
báze lineárního vektorového prostoru, . . .
1
1
APROXIMACE FUNKCÍ V IR
2. přednáška
Jedna ze základních úloh numerické matematiky: aproximace dané funkce f
jinou funkcí ϕ
Zadání aproximované funkce - analyticky, nebo je k dispozici
• tabulka hodnot (xi , fi ), xi , fi ∈ IR, i = 0, . . . , n, n ∈ IN, fi = f (xi ) (viz obr.
1.0.1)
• tabulka hodnot derivací do určitého řádu v uzlech xi
Pro funkci f definovanou na uzavřeném intervalu [a, b] uvažujeme dělení intervalu [a, b] a = x0 < x1 , . . . < xn = b, n ∈ Z + = {0, 1, . . .} a nazýváme ho sítí.
xi , i = 0 . . . , n nazýváme uzly (ekvidistantní, je-li xi = a + ih, kde h ∈ IR je krok
sítě.)
Poznámka 1.1 Pojem síť se používá obecně v N -rozměrném prostoru, viz např.
(Feistauer et al., 2003, page . . .): Let Ω ⊂ IRN be a domain. If N = 2, then by
Ωh we denote a polygonal approximation of Ω. This means that the boundary
∂Ωh of Ωh consists of a finite number of closed simple piecewise linear curves.
For N = 3, Ωh will denote a polyhedral approximation of Ω. For N = 3 we set
Ωh = Ω. The system Dh = {Di }i∈J , where J ⊂ Z + = {0, 1, . . .} is an index set
and h > 0, will be called a finite volume mesh in Ωh , if Di , i ∈ J, are closed line
segments or closed polygons or polyhedrons, if N = 1 or N = 2 or 3, respectively,
with mutually disjoint interiors such that
[
Ωh =
Di .
i∈J
The elements Di ∈ Dh are called finite volumes. Two finite volumes Di , Dj ∈
Dh are either disjoint or their intersection is formed by a common part of their
boundaries ∂Di and ∂Dj . If ∂Di ∩∂Dj contains at least one straight segment or a
plane manifold, if N = 2 or 3, respectively, then we call Di and Dj neighbouring
finite volumes (or simply neighbours).
Požadavky na aproximující funkci ϕ
(A) jednoduchý tvar, snadno vyčíslitelná
∗ polynom {1, x, x2 , x3 , . . .}
∗ trigonometrický polynom {1, sin x, cos x, sin 2x, cos 2x, . . .}
∗ racionální funkce
∗ exponenciální funkce aebx
2
APROXIMACE FUNKCÍ V IR
3
5
4
3
2
1
0
1
2
3
4
5
Obr. 1.0.1. Interpolační polynom nabývající v daných uzlech předepsaných
hodnot
3
2.5
2
1.5
1
0.5
0
1
2
3
4
Obr. 1.0.2. Proložení přímky třemi body (ve smyslu nejmenších čtverců)
(B) ϕ(j) (xi ) = f (j) (xi ),
derivací v uzlech)
∀i = 0, . . . , n, j = 0, . . . , ci (rovnost hodnot, event.
(C) kϕ − f k ‘malá’, kde k · k značí normu
Poznámka 1.2 Od požadavku (B) někdy upouštíme (proložit třemi body přímku - viz obr. 1.0.2)
Nejčastější způsoby aproximace
1. Interpolace - k funkci f sestrojíme funkci ϕ z jisté třídy M splňující (B)
2. Aproximace metodou nejmenších čtverců - k funkci f sestrojíme funkci ϕ
z jisté třídy M splňující (B) ve smyslu nejmenších čtverců
• diskrétní případ
4
APROXIMACE FUNKCÍ V IR
n
X
i=0
n
X
¡
¢2
¡
¢2
wi f (xi ) − ϕ(xi ) = min
wi f (xi ) − ψ(xi )
ψ∈M
i=0
kde wi > 0, i = 0, . . . , n jsou zadaná čísla, zvaná váhy. Název ‘nejmenší
čtverce’ je patrný z následujícího příkladu:
Příklad 1.3 Pro dané dělení intervalu [a, b] a dané váhy wi uvažujme
normu funkce f danou vztahem
v
u n
uX ¡
¢2
wi f (xi )
kf k := t
i=0
ϕ ∈ M se hledá tak, že
kf − ϕk2 = min kf − ψk2
ψ∈M
• spojitý případ
Z
Z b
¡
¢2
w(x) f (x) − ϕ(x) dx = min
ψ∈M
a
a
b
¡
¢2
w(x) f (x) − ψ(x) dx
w je váhová funkce (skoro všude kladná v [a, b], w ∈ L2 (a, b). Definice
pojmu ‘skoro všude’ a prostoru L2 (a, b) viz např. (Feistauer et al.,
2003, strana . . .).)
3. Čebyševova (stejnoměrná) aproximace
max |ϕ(x) − f (x)| ≤ max |ψ(x) − f (x)|
[a,b]
[a,b]
pro všechny funkce ψ ∈ M, kde M je zvolená množina funkcí.
1.1 Lagrangeův interpolační polynom
Hledáme polynom Ln stupně nejvýše n (píšeme Ln ∈ Πn - prostor polynomů
stupně nejvýše n) takový že
Ln (xi ) = f (xi )
i = 0, . . . , n
(1.1.1)
xi - navzájem různé uzly, obecně neekvidistantní
Věta 1.4 Nechť x0 , . . . , xn jsou navzájem různé uzly. Pak existuje právě jeden
interpolační polynom Ln ∈ Πn :
Ln (xi ) = f (xi )
i = 0, . . . , n
Důkaz
1. Existence
Uvažujme polynomy
li (x) =
(x − x0 )(x − x1 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn )
(xi − x0 )(xi − x1 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn )
(tzv. Lagrangeovy polynomy)
Platí
LAGRANGEŮV INTERPOLAČNÍ POLYNOM
α)
li (x) ∈ Πn
β)
li (xj ) = δij =
Položme

 1,

0,
5
i = j,
(Kroneckerovo delta)
i 6= j.
Ln (x) =
n
X
f (xi )li (x)
i=0
2. Jednoznačnost
Nechť L1n , L2n ∈ Πn splňují (viz (1.1.1))
L1n (xi ) = L2n (xi ) = f (xi )
∀i = 0, . . . , n
L1n − L2n ∈ Πn , který má (n + 1) kořenů. Podle Základní věty algebry je
L1n − L2n nulový polynom.
2
Poznámka 1.5
ωn+1 (x) = (x − x0 ) . . . (x − xn )
ωn+1 (x)
ℓi (x) =
′
(xi )
(x − xi ) · ωn+1
kde čárka označuje derivaci.
1.1.1 Chyba Lagrangeovy interpolace
Věta 1.6 Nechť f ∈ C n+1 (I), kde I je nejmenší interval obsahující x0 , . . . , xn , x∗
a x0 , . . . , xn jsou navzájem různé uzly, . Nechť Ln ∈ Πn je Lagrangeův interpolační polynom pro funkci f . Pak ∃ ξ ∈ I
f (x∗ ) − Ln (x∗ ) =
f (n+1) (ξ) · ωn+1 (x∗ )
(n + 1)!
(chyba Lagrangeovy interpolace v bodě x∗ )
Důkaz Pro x∗ = xi je důkaz zřejmý. Pro x∗ 6= xi uvažujme funkci :
kde t ∈ IR. Platí:
F (x) = f (x) − Ln (x) − t · ωn+1 (x)
F (xi ) = 0
Pro vhodnou volbu
∀ i = 0, . . . , n
f (x∗ ) − Ln (x∗ )
ωn+1 (x∗ )
∗
platí F (x ) = 0. F má tedy n + 2 nulových bodů (uzly xi a bod x∗ ). Podle
Rolleovy věty:
t :=
F′
má n + 1 nulových bodů
6
APROXIMACE FUNKCÍ V IR
..
.
F (n+1) má 1 nulový bod, označme ho ξ
F (n+1) (ξ) = 0 = f (n+1) (ξ) − 0 − t · (n + 1)!
Á
ωn+1 (x∗ )
(n + 1)!
(kde jsme využili toho, že (n + 1)-ní derivace Ln je nulová a (n + 1)-ní derivace
ωn+1 je (n + 1)!)
f (x∗ ) − Ln (x∗ ) =
f (n+1) (ξ) · ωn+1 (ξ)
(n + 1)!
2
Zkušební otázka 1.1 Chyba Lagrangeovy interpolace
1.2
Kubický spline
Definice 1.7 Nechť je dáno dělení intervalu [a, b], a = x0 , x1 , . . . , xn = b (xi
navzájem různé). Řekneme, že funkce ϕ : [a, b] → IR je kubický spline, jestliže
• ϕ′′ je spojitá (∈ C 2 [a, b])
• ϕ|[xi ,xi+1 ] je kubický polynom, pro i = 0, 1, . . . , n − 1
Poznámka 1.8 Kubický spline dobře aproximuje funkci, která popisuje tvar s
minimální energií.
Poznámka 1.9 Spline - elastické pravítko používané při stavbě lodí
Poznámka 1.10 Kubický spline je speciálním případem spline k-tého řádu pro
k = 3. Důvodem častého použití kubického spline je fakt, že lidské oko je schopné
rozlišit ještě změny 2. derivace.
Poznámka 1.11 Popíšeme-li tvar pružné laťky funkcí y = f (x), potom
E(y) =
Z
a
b
y ′′ (x)
£
¤3/2 dx
1 + (y ′ (x))2
měří její ohybovou energii. Lať se deformuje tak, že je tato energie minimální
(Hamiltonův princip). Dá se ukázat, že mezi všemi funkcemi z C 2 [a, b] aproximuje
kubický spline ϕ :: ϕ(xi ) = f (xi ) velmi dobře funkci y ∗ , pro kterou se nabývá
minima E(y): miny E(y) = E(y ∗ ).
KUBICKÝ SPLINE
7
Věta 1.12 Nechť f ∈ C 2 [a, b]. Pak pro každý kubický spline ϕ splňující
ϕ(xi ) = f (xi )
i = 0, . . . , n
platí
2
kϕk ≤ kf k , kde kuk :=
Z
b
a
2
|u′′ (x)| dx,
jestliže je splněna některá z následujících třech podmínek:
(a)
(b)
(c)
ϕ′′ (a) =
0
= ϕ′′ (b)
ϕ′ (a) = f ′ (a) a ϕ′ (b) = f ′ (b)
ϕ′ (a) = ϕ′ (b) a ϕ′′ (a) = ϕ′′ (b)
(1.2.1)
Poznámka 1.13 (Pozor, k.k ve větě 1.12 neznačí normu, ale pouze seminormu
v Sobolevově prostoru H 2 (a, b), která se obvykle značí |.|H 2 (a,b) , detaily viz např.
(Feistauer et al., 2003, page . . .))
Důkaz Viz cvičení.
2
Důsledek 1.14 Ve všech třech případech (a), (b), (c) je kubický spline určen
jednoznačně.
1.2.1
Konstrukce přirozeného kubického spline
3. přednáška
Značení:
fi := f (xi )
ϕi := ϕ|[xi ,xi+1 ]
hi := xi+1 − xi
∀i = 0, . . . , n
∀i = 0, . . . , n − 1
∀i = 0, . . . , n − 1
Kubický polynom ϕi je na intervalu [xi , xi+1 ] určen čtyřmi koeficienty. Počet
intervalů je n, celkem máme tedy pro určení ϕ počet stupňů volnosti 4n. Pro
tyto stupně volnosti sestavíme příslušné rovnice.
Počet neznámých
Počet rovnic
4 × počet intervalů
ϕ(xi ) = f (xi ), i = 0, . . . , n
spojitost ϕ v xi , i = 1, . . . , n − 1
spojitost ϕ′ v xi , i = 1, . . . , n − 1
spojitost ϕ′ v xi , i = 1, . . . , n − 1
4n
n+1
n−1
n−1
n−1
4n − 2
Počet rovnic je o dvě menší než počet neznámých. Doplníme je proto některou
z podmínek (1.2.1), (a)–(b). Uvažujme např. podmínku (1.2.1), (a), tj. podmínku
nulových druhých derivací v krajních bodech. Takový spline nazýváme přirozeným kubickým splinem. Pro určení přirozeného kubického splinu hledáme ϕi ve
vhodném tvaru. Ukazuje se, že efektivní metoda není založena na vyjádření
ϕi (x) = ai x3 + bi x2 + ci x + di
(NEVHODNÉ viz cvičení)
8
APROXIMACE FUNKCÍ V IR
ϕ′′i
((
Mi
( (((
(
r ( ((
((( (
Mi+1
r
(( (
xi
xi+1
Obr. 1.2.1. Přímka ϕ′′i
ani na vyjádření
ϕi (x) = ai (x−xi )3 +bi (x−xi )2 +ci (x−xi )+di
(MÉNĚ VHODNÉ viz cvičení)
ale na vyjádření pomocí tzv. momentů, což jsou hodnoty druhé derivace ϕ v
uzlech. Označme je Mi :
Mi := ϕ′′ (xi ), i = 0, . . . , n
a předpokládejme, že tyto momenty známe. Později ukážeme, jak je určit. Platí
ϕi − kubický polynom
ϕ′i − parabola
ϕ′′i − přímka
Z předpokladu spojitosti druhé derivace ϕ v uzlech dostáváme
Mi = ϕ′′i (xi )
Mi+1 = ϕ′′i (xi+1 )
Je tedy ϕ′′i přímka, procházející body (xi , Mi ) a (xi+1 , Mi+1 ) (viz obr. 1.2.1).
ϕ′′i (x) =
(x − xi ) · Mi+1
Mi · (x − xi+1 )
+
xi+1 − xi
xi − xi+1
ϕ′′i (x) = −
Mi
Mi+1
· (x − xi+1 ) +
· (x − xi )
hi
hi
Integrací odvodíme
ϕ′i (x) = −
Mi+1
Mi
· (x − xi+1 )2 +
· (x − xi )2 + Ai
2hi
2hi
KUBICKÝ SPLINE
ϕi (x) = −
Mi+1
Mi
· (x − xi+1 )3 +
· (x − xi )3 + Ai (x − xi ) + Bi
6hi
6hi
vhodný rozpis integrační konstanty ↑
9
(1.2.2)
Ve vyjádření ϕi ve tvaru (1.2.2) nejprve určíme koeficienty Ai , Bi , i =
0, . . . , n − 1 pomocí momentů a potom sestavíme rovnice pro momenty. Využijeme k tomu podmínky
ϕi (xi ) = fi
ϕi (xi+1 ) = fi+1 , i = 0, . . . , n − 1
(Dvě rovnice pro dvě neznámé Ai , Bi , i = 0, . . . , n − 1.) Dostaneme
ϕi (xi ) =
Mi 2
· hi + Bi = fi
6
Mi 2
· hi
6
Mi 2
Mi+1 2
· hi + Ai hi + fi −
· hi = fi+1
ϕi (xi+1 ) =
6
6
fi+1 − fi
Mi − Mi+1
→ Ai =
+
· hi
hi
6
Rovnice pro momenty sestavíme ekvivalentním vyjádřením podmínky spojitosti
derivace kubického spline v uzlech:
→
Bi = fi −
ϕ′i−1 (xi ) = ϕ′i (xi ),
i = 1, . . . , n
Připomeňme si tvar ϕ′i
ϕ′i (x) = −
Mi+1
Mi
· (x − xi+1 )2 +
· (x − xi )2 + Ai
2hi
2hi
resp. ϕ′i−1
ϕ′i−1 (x) = −
Mi
Mi−1
· (x − xi )2 +
· (x − xi−1 )2 + Ai−1
2hi−1
2hi−1
S využitím vyjádření pro Ai , resp. Ai−1 pomocí momentů dostaneme
fi − fi−1
Mi−1 − Mi
Mi
· h2 +
+
· hi−1
2hi−1 i−1
hi−1
6
Mi
fi+1 − fi
Mi − Mi+1
=−
· h2i + 0 +
+
· hi = ϕ′i (xi )
2hi
hi
6
ϕ′i−1 (xi ) = 0 +
Protože konstruujeme přirozený kubický spline, je M0 = ϕ′′ (x0 ) = 0 = ϕ′′ (xn ) =
Mn a dostáváme tak n − 1 rovnic (i = 1, . . . , n − 1) pro neznáme momenty
M1 , M2 , . . . , Mn−1 . Tyto rovnice lze přepsat ve tvaru
10
APROXIMACE FUNKCÍ V IR
¶
µ
hi−1
hi
hi
fi − fi−1
fi+1 − fi
hi−1
hi
hi−1
Mi−1 +
−
+
−
+
·Mi + Mi+1 = −
6
2
6
2
6
6
hi−1
hi
{z
}
|
|
{z
}
gi
hi−1 +hi
3
Maticový zápis vede na soustavu s třídiagonální maticí.
 h0 +h1
3
 ..

.










h1
6
..
..
.
.
..
..
.
.
hi−1
6
..

.
hi−1 +hi
3
..
.
hi
6
..
..
.
.
..
..
.
.
hn−1
6
..
.
hn−1 +hn
3

M1

  ..
 .

  Mi−1

  Mi

  Mi+1
 .
 .
.


 g 
1
  .. 
  . 
 

  gi−1 
 

 =  gi 
 

  gi+1 
  . 
  . 
.
Mn−1
gn−1
Příklad 1.15 Pro ekvidistantní dělení s krokem h má matice soustavy tvar


4
1

 ... ... ...

h


1
4
1


6
.. .. .. 

.
.
.
1
4
Při vyšetřování řešitelnosti této soustavy lze využít následující definici a větu z
algebry:
Definice 1.16 Řekněme, že matice A typu n × n, n ≥ 2 je ostře diagonálně
dominantní (ODD), jestliže
|aii | >
n
X
j=1,j6=i
|aij |
∀i = 1, . . . , n
Věta 1.17 Nechť A ∈ IRn×n je ODD. Pak A je nesingulární.
Důkaz pomocí Geršgorinových kruhů, viz (Quarteroni, 2000, page . . .).
A je nesingulární ⇔ detA 6= 0 ⇔ rovnice det(A−λI) = 0 nemá kořen λ = 0 ⇔
nula není vlastním číslem matice A. Nechť λ je vlastní číslo matice A
Ax = λx
Ay = λy
X
j6=i0
x
, kxk := max |xi |
i
kxk
|yi | ≤ 1, ∃i0 :: |yi0 | = 1
y :=
ai0 j yj + ai0 i0 yi0 = λyi0
KUBICKÝ SPLINE
11
¯X
¯
¯
ai0 j yj ¯ = |λ − ai0 i0 ||yi0 |
j6=i0
¯X
¯
|λ − ai0 i0 | ≤ ¯
ai0 j ¯
j6=i0
¯X
¯
(Geršgorinův kruh o středu ai0 i0 a poloměru ¯
ai0 j ¯)
j6=i0
Kdyby λ = 0 bylo vlastním číslem
¯X
¯
|ai0 i0 | ≤ ¯
ai0 j ¯
Spor s ODD
j6=i0
λ = 0 tedy není vlastní číslo a matice A je nesingulární.
2
Matice soustavy rovnic pro momenty je ODD, soustava je tedy podle výše
uvedené věty jednoznačně řešitelná a protože matice soustavy je třídiagonální,
lze pro řešení použít např. Gaußovu eliminaci.
2
NUMERICKÁ INTEGRACE FUNKCÍ
Cíl:
Ih (f ) =
Z
a
2.1
b
f (x) dx ≈
n
X
αi f (xi )
(2.0.1)
i=0
Newtonovy-Cotesovy vzorce
Z
a
Z
a
b
f (x) dx ≈
Z
b
Ln (x) dx =
a
li (x)
}|
{
(x − x0 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn )
dx =
f (xi )
(xi − x0 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn )
i=0
n Z b
X
(2.1.1)
ℓi (x) dx f (xi )
i=0 | a {z
}
z
n
bX
αi
Tento vzorec nazýváme pro ekvidistantní uzly Newton-Cotesův.
subst. x = a + th
αi :=
Z
b
n
Y
a j=0,j6=i
xi = a + ih
Z
n
(x − xj )
b−a n Y
dx =
(xi − xj )
n
0
j=0,j6=i
(t − j)
dt
(i − j)
(2.1.2)
Z konstrukce Lagrangeovy interpolace Ln funkce f ∈ Πn plyne, že Ln (x) =
f (x), a tedy N-C vzorec je přesný pro polynomy stupně nejvýše n. To nás vede
k následující definici.
Pn
Definice 2.1 Řekněme, že kvadraturní formule i=0 αi f (xi ) má (algebraický)
řád n ∈ IN , jestliže
Z b
n
X
αi p(xi )
∀p ∈ Πn
a
(2.1.3)
p(x) dx =
a
i=0
∃ polynom p̃(x) stupně n + 1, pro který platí
Z b
n
X
αi p̃(xi )
p̃(x) dx 6=
a
i=0
12
(2.1.4)
NEWTONOVY-COTESOVY VZORCE
13
Zkušební otázka 2.1 Řád kvadraturní formule
Lemma 2.2 Je-li kvadraturní formule symetrická, t.j.
b − xn−i = xi − a
αi = αn−i
a je-li řádu alespoň n, n sudé, pak je její řád alespoň n + 1.
Lemma 2.3 Newtonův-Cotesův vzorec je symetrická kvadraturní formule.
Důsledek 2.4 Pro n sudé je řád N-C vzorce ≥ n + 1.
Zkušební otázka 2.2 Odvoďte Newtonův-Cotesův vzorec
Lemma 2.5 (Odhad chyby lichoběžníkového pravidla)
Nechť f ∈ C 2 [a, b]. Označme Th (f ) N-C vzorec pro n = 1. Pak ∃ ξ ∈ [a, b],
Rb
t.ž. (při značení I(f ) = a f (x) dx)
I(f ) − Th (f ) = −
f ′′ (ξ) h3
·
2
6
(2.1.5)
Lemma 2.6 (Odhad chyby Simpsonova pravidla)
Nechť f ∈ C 3 [a, b]. Označme Sh (f ) N-C vzorec pro n = 2. Pak ∃ ξ ∈ [a, b],
t.ž.
h5
(2.1.6)
I(f ) − Sh (f ) = − · f ′′′ (ξ)
90
Definice 2.7 (zbytek kvadraturního vzorce)
Eh (f ) = I(f ) − Ih (f ),
(H =
Z
xi+1
xi
Ih (f ) =
H
b−a
, h=
m
n
n
X
αi f (xi )
i=0
m, n ∈ IN )
f (x) dx ≈ Ihi (f ) =
n
X
αji f (xj )
j=0
Věta 2.8 (složené N-C vzorce) Nechť f ∈ C n+1 [a, b]. pak pro složené N − C
vzorce platí
I(f ) − Ih (f ) ≤ Chn+1
(2.1.7)
Důkaz plyne z odhadu chyby Lagrangeova interpolačního polynomu
Zkušební otázka 2.3 Odhady chyb N-C vzorců
2
14
NUMERICKÁ INTEGRACE FUNKCÍ
2.2
Rombergova kvadratura
Rb
Výpočet a f (x) dx pomocí lichoběžníkového pravidla.
b−a
m
h=H
H=
Věta 2.9 (Eulerova-Maclaurinova) Nechť f ∈ C 2N +2 [a, b], h = b−a
n , n ∈ IN .
Potom pro složené lichoběžníkové pravidlo (označíme ho CTh (f )) platí:
CTh (f ) = p(h2 ) + O(h2N +2 )
2
(2.2.1)
4
2N
= I(f ) + a1 h + a2 h + · · · + aN h + O(h
Z b
f (x) dx = I(f )
kde p ∈ ΠN , p(0) =
2N +2
)
(2.2.2)
a
p = p(t) = a0 + a1 t + · · · + aN t
Důkaz viz Stör Numerische Mathematik I
2
Rombergova kvadratura: konstruujeme lineární kombinaci vzorců CTh (f ) pro
vhodné h tak, abychom získali vzorec, který je přesnější v následujícím smyslu:
CTh (f ) = I(f ) + a1 h2 + O(h4 ) / − 1
h2
+ O(h4 ) /4
CT h (f ) = I(f ) + a1
2
4
4CT h (f ) − CTh (f )
2
= I(f ) + O(h4 )
3
CTh (f ) = I(f ) + a1 h2 + a2 h4 + O(h6 ) = L2 (0) + b1 h2 + b2 h4
(2.2.3)
2
4
4
2
h
h
CT h (f ) = I(f ) + a1 h4 + a2 h16 + O(h6 ) = L2 (0) + b1
+ b2
(2.2.4)
2
4
16
2
h2
h4
h4
+ O(h6 ) = L2 (0) + b1
CT h (f ) = I(f ) + a1 h16 + a2 256
+ b2
(2.2.5)
4
16
256
6
lin.k. ↑=
I(f ) + 0 + 0 + O(h )
= L2 (0) + 0 + 0
Zobecnění: L2 (t) = b0 +b1 t + b2 t2
|{z}
L2 (0)
2
2
h
h
h2
4
16
CTh (f ) (2.2.3) CT h (f ) (2.2.4) CT h (f ) (2.2.5)
2
4
Rb
Závěr: L2 (0) aproximuje a f (x) dx s chybou O(h6 ). Při konstrukci L2 (0) se
jedná o tzv. Richardsonovu extrapolaci.
Problém: Vyčíslení Lagrang. interpolačního polynomu v 0.
GAUßOVA KVADRATURA
15
2.3 Gaußova kvadratura
Víme, že N − C vzorce mají
Pn řád n (pro n sudé dokonce n + 1). Jakého řádu
můžeme být formule typu i=0 αi f (xi )?
Z b
n
X
b−a
αi f (xi )(∗) f ∈ Πn
(2.3.1)
f (x) dx ≈
h=
n
a
i=0
Lemma 2.10 (Řád kvadraturní formule) Řád kvadraturní formule (2.3.1) je
nejvýše 2n + 1.
Qn
Důkaz Uvažujme polynom p(x) = i=0 (x − xi )2 ∈ Π2n+2
f := p̃
Z
b
p̃(x) > 0
a
n
X
αi p(xi ) = 0
i=0
2
Gaußova kvadratura je způsob konstrukce vzorce
přesný pro všechny polynomy stupně nejvýše 2n + 1.
Pn
i=0
αi f (xi ), který je
Definice 2.11 (skalární součin polynomů) Skalární součin v C[a, b] je definován
Z b
u(x)v(x) dx
(2.3.2)
(u, v) =
a
Definice 2.12 Množina normovaných polynomů
Π̃n = {p ∈ Πn ;
p(x) = xn + an−1 xn−1 + · · · + a0 }
(2.3.3)
Idea pro konstrukci Gaußovy kvadratury:
xi (uzly): kořeny polynomů pn+1 z množiny ortogonálních polynomů {p0 , p1 , . . . , pn+1 }
Rb
αi (koeficienty): P
určíme
tak,
aby
q(x) dx
=
a
n
α
q(x
)
∀q
∈
Π
i
i
2n+1
i=0
Věta 2.13 (Ortogonální polynomy)
1. Existují jednoznačně určené polynomy pi ,
(pi , pj ) = 0
i 6= j
pi ∈ Π̃i ,
(pozn.
i ∈ IN ∪ 0
p0 (x) = 1)
2. Kořeny x0 , . . . , xn polynomu pn+1 jsou reálne, jednoduché a leží v (a, b)
3.
 p (x ) p (x ) · · · p (x ) 
0 0
0 1
0 n
 p1 (x0 ) p1 (x1 ) · · · p1 (xn ) 

je nesingulární
A=
..


.
pn (x0 )
pn (x1 )
···
pn (xn )
16
NUMERICKÁ INTEGRACE FUNKCÍ
Důkaz viz cvičení
2
Z
b
f (x) dx ≈
a
n
X
αi f (xi )
i=0
Gauß: xi − kořeny pn+1
Rb
Pn
αi : a q(x) dx = i=0 αi q(xi ), ∀q ∈ Π2n+1
Dělení polynomu polynomem: q(x) = r(x)pn+1 (x) + s(x) r, s ∈ Πn
Z
=
n
bX
Z
b
r(x)pn+1 (x) dx +
{z
}
|a
γj pj (x) dx =
j=0
b
s(x) dx =
a
=0
a j=0
n
X
Z
Z
n
bX
γj p0 (x)pj (x) dx =
a j=0
γj
Z
b
p0 (x)pj (x) dx = γ0
Z
b
p0 (x) dx
a
a
Levá strana
γ0 (b − a)
Pravá strana
n
X
i=0
⇒
γ0
αi [r(xi )pn+1 (xi ) +s(xi )] =
{z
}
|
=0
n
X
i=0
αi
n
X
γj pj (xi )
j=0
γ0 (b − a) + γ1 · 0 + · · · + γn · 0 =
Pn
Pn
i=0 p1 (xi )αi + · · · + γn
i=0 pn (xi )αi
Pn
i=0 p0 (xi )αi + γ1
Pn
Pni=0 p0 (xi )αi
i=0 p1 (xi )αi
..
Pn .
i=0 pn (xi )αi
=
=
=

 p (x ) · · ·
(b − a) 
0 0


0 
 p1 (x0 ) · · ·
⇔
..
..


.

.


p0 (xn ) · · ·
0
p0 (xn )   α0   b − a 
p1 (xn )   α1   0 
 .  =  . 
  ..   .. 
pn (xn )
αn
0
Z hlediska
stability je výhodné, že koeficienty αi Gaußova kvadraturního
Pn
vzorce i=0 αi f (xi ) jsou kladné.
Věta 2.14 (pozitivita αi ) Koeficienty αi Gaußova kvadraturního vzorce jsou
kladné.
GAUßOVA KVADRATURA
Důkaz Položme:
p̃k (x) =
n
Y
j=0,j6=k
0<
Z
a
b
p̃k (x) dx =
(x − xj )2
n
X
i=0
17
∈ Π2n
αi p̃k (xi ) = αk p̃k (xk )
| {z }
>0
⇒ αk musí být kladné
2
3
METODY ŘEŠENÍ NELINEÁRNÍCH ROVNIC
F : IRN → IRN
F (x) = 0
Hledáme α : F (α) = 0
Metody pro řešení výše uvedené úlohy jsou většinou iterační. Cíl je generovat
posloupnost {xk } takovou, že lim x = α, kde F (α) = 0.
3.1
Newtonova metoda
Nahrazení problému F (x) = 0 posloupností lineárních problémů Lk (x) = 0, Lk :
IRN → IRN
α . . . F (α) = 0 α ≈ xk+1 Lk (xk+1 ) = 0
Taylorův rozvoj funkce více proměnných v bodě xk ∈ IRN
0 = F (α) = F (x(k) ) + J(x(k) )(α − x(k) ) + O((α − x(k) )2 )
(za předpokladu dostatečné hladkosti zobrazení F )
.
F (x) = 0 ≈ 0 = F (x) + J(x(k) )(α − x(k) ) zleva J −1 (x(k) )
{z
}
|
(3.1.1)
Lk (x)=0
(k+1)
α ≈ x
(k)
=x
− J −1 (x(k) )F (x(k) )
Algoritmus:
1. J(x(k) ) (x − xk ) = −F (x(k) )
| {z }
(k+1)
2. x
δx(k)
(k)
=x
+ δx(k)
N =1:
x(k+1) = x(k) −
f (x(k) )
f ′ (x(k) )
lk (x) :: [x(k) , f (x(k) )]
lk (x) = f (x(k) ) + (x − x(k) )qk
qk := f ′ (x(k) )
18
(3.1.2)
NEWTONOVA METODA
3.1.1
19
Důkaz konvergence Newtonovy metody
Věta 3.1 (Konvergence Newtonovy metody pro soustavy) Nechť F ∈ C(D), D ⊂
IRN konvexní, otevřená množina, která obsahuje α :: F (α) = 0. Nechť ∃ J −1 (α),
nechť ∃ R > 0, C > 0, L > 0 :
° −1 °
°J (α)° ≤ C
∀x, y ∈ B(α, R)
kJ(x) − J(y)k ≤ L kx − yk
| {z }
{z
}
|
maticová norma
vekt. norma
Potom ∃ r, ∀x(0) ∈ B(α, r), posloupnost 3.1.2 je jednoznačně definována a konverguje k α a platí
°2
°
°
°
°
°
°
°
(3.1.3)
°α − x(k+1) ° ≤ CL °α − x(k) °
Motivace: N = 1
x(k+1) = x(k) −
f (x(k) )
f ′ (x(k) )
metoda
Taylor:
f ′′ (ξ)(α − x(k) )2
f (α) = f (x(k) ) + f ′ (x(k) )(α − x(k) ) +
2
¯
¯
(k+1) ¯
¯
Zajímá nás chyba (α − x). Chceme ukázat, že α − x
→ 0.
α − x(k+1) = α − x(k) +
0=
f ′′ (ξ)(α − x(k) )2
f (x(k) )
(k)
+
(α
−
x
)
+
f ′ (x(k) )
2 · f ′ (x(k) )
α − x(k+1) = −
Kdyby
f (x(k) )
f ′ (x(k) )
f ′′ (ξ)(α − x(k) )2
2 · f ′ (x(k) )
¯
¯
¯ f ′′ (ξ) ¯
¯
¯
¯ 2 · f ′ (x(k) ) ¯ < C̃ ⇒
¯¯4
¯
¯
¯
¯2
¯
¯4
1 ¯¯ ¯¯
¯¯
¯
¯
¯
¯
¯
¯
¯α − x(k+1) ¯ ≤ C ¯α − x(k) ¯ ≤ CC 2 ¯α − x(k−1) ¯ ≤ ¯C ¯α − x(k−1) ¯¯
C
¯¯2k+1
1 ¯¯ ¯¯
¯¯
≤ ¯C ¯α − x(0) ¯¯
C
¯
¯
¯
¯
C ¯α − x(0) ¯ < 1 pokud je x(0) dostatečně blízko k α
|f ′′ | omezená shora (koresp. s lipchs.)
20
METODY ŘEŠENÍ NELINEÁRNÍCH ROVNIC
Vosh:
1
f ′ (x(k) )
° −1 °
°J (α)° ≤ C
omezená shora (f ′ (α) 6= 0)
|f ′ (x) − f ′ (y)| = f ′′ (ξ)(x − y)
kJ(x) − J(y)k ≤ L kx − yk
Důkaz [Věty 3.1] x(0) zvolíme v B(α, r), kde r učíme tak, aby J −1 (x(0) ) existovala. K tomu nám pomůže algebra:
kAk < 1 ⇒ (I − A)−1
°
°
°(I − A)−1 ° ≤
Potom
existuje a platí
1
1 − kAk
(viz cvičení)
A := 1 − J −1 (α)J(x(0) )
(I − A) = J −1 (α)J(x0 ),
(I − A)−1 = J −1 (x(0) )J(α)
°
° °
°
°
°
°
° °
°
°
°
°I − J −1 (α)J(x(0) )° = °J −1 (α)(J(α) − J(x(0) ))° ≤ CL °α − x(0) °
x(0) zvolím tak, aby (3.1.4) ≤
1
2
r := min
Odhadneme:
(3.1.4)
µ
1
,R
2CL
¶
°
° °
°
° −1 (0) ° ° (−1)
°
(α)J(α)J (−1) (x(0) )° ≤
°J (x )° = °J
C
1
≤ 2C
1 − kAk
|{z}
≤ 12
α − x(1) = α − x(0) + J (−1) (x(0) )F (x(0) )
{z
}
|
pomocí Taylora
°
° °
°1 °
°2
°
° °
°
°
°
°α − x(1) ° ≤ °J −1 (x(0) )° L °α − x(0) ° ≤
2
°´ °
°
°
°2 ³
°
° °
°
°
°
°
≤ CL °α − x(0) ° = CL °α − x(0) ° °α − x(0) °
|
{z
}
< 12
a odtud plyne konvergence, a dále indukcí.
2
METODA POSTUPNÝCH APROXIMACÍ
21
Poznámka 3.2 Modifikace Newtonovy metody:
• Jacobiho matice se nemění pro p ≥ 2 kroků
• nepřesné řešení soustavy lin. rovnic
• vyčíslení Jacobiho matice pomocí diferencí f ′ (x) ≈
f (x+h)−f (x)
h
Definice 3.3 (řád konvergence iterační metody pro řešení F (x) = 0) Řekněme,
že posloupnost {x(k) } generována numerickou metodou konverguje k α s řádem
p ≥ 1, pokud ∃ C > 0
°
°
°α − x(k+1) °
°
°p ≤ C
∀ k ≥ k0
°α − x(k) °
V takovém případě se numerická metoda nazývá řádu p. Věta 3.1 říká, že Newtonova metoda je kvadraticky konvergentní, pokud je x(0) dostatečně blízko α a
pokud je J(α) nesingulární.
3.2
Metoda postupných aproximací
Definice 3.4 (kontrahující zobrazení) Kontrahující zobrazení G : D ⊂ IRN →
IRn na D0 ⊂ D, pokud ∃L < 1
kG(x) − G(y)k ≤ L kx − yk
∀x, y ∈ D0
Věta 3.5 (věta o pevném bodě) Nechť G : D ⊂ IRN → IRN kontrahující na
uzavřené množině D0 ⊂ D, G(x) ⊂ D0 ∀x ∈ D0 . Pak G má právě jeden pevný
bod.
Důkaz jednoznačnost, existence (Cauchyovská posloupnost, spojitost G)
2
Poznámka 3.6 Newtonova metoda jako speciální případ věty o pevném bodě.
3.3
Kořeny polynomu
Nalezení
• lokalizace kořenů v C
• aproximace kořenů
Věta 3.7. (Descartes) Počet kladných kořenů (včetně násobnosti) polynomu
pn (α) = a0 + a1 x + · · · + an xn je roven počtu znaménkových změn v posloupnosti
a0 , a1 , . . . , an , nebo je o sudé číslo menší.
Věta 3.8. (Cauchy) Kořeny polynomu leží v kruhu
½
Γ = z ∈ C; |z| ≤ 1 + η, η = max
1 ≪ η: translace a změna souřadnic
¯ ¯¾
¯ ak ¯
¯ ¯
0≤k≤n−1 ¯ an ¯
22
METODY ŘEŠENÍ NELINEÁRNÍCH ROVNIC
3.3.1
Hornerovo schema
Vyčíslení polynomu:
pn (α) = a0 + a1 x + · · · + an xn
1. neefektivní
r = 1; s = a0 ;
for i = 1 to n do
r = r · x;
s = s + ai · r;
end for
počet násobení 2n
2. Hornerovo schema
s = an ;
for h = n − 1 downto 0 do
s = s · x + ah ;
end for
počet násobení n
Poznámka 3.9 (ad 2) Zapišme algoritmus pro vyčíslení pn (z) takto:
bn = an ;
for k = n − 1 downto 0 do
bk = bk+1 · z + ak ;
end for
Ukážeme, že tento zápis je vhodný pro vyčíslení derivace p′n (a následně
použijeme Newtonovu metodu pro určení kořene pn (x))
(an xn +an−1 xn−1 +· · ·+a0 ) : (x−z) = an xn−1 +(an−1 + an z )xn−2 +· · ·+b1 +zbytek
|{z}
{z
}
|
bn
bn−1
pn (x) = qn−1 (x; z)(x − z) + b0
kde qn−1 (x; z) = bn xn−1 + bn−1 xn−2 + · · · + b1
Je-li z kořen, tak b0 = 0.
Aplikace Newtonovy metody pro nalezení kořene polynomu pn .
pn (x) = 0
Newtonova metoda: x(k+1) = x(k) −
Hornerovo sch.
z }| {
pn (x(k) )
p′n (x(k) )
| {z }
Hornerovo sch.
,
x(0) dáno
KOŘENY POLYNOMU
23
⇒ Newtonova-Hornerova metoda
x(k+1) = x(k) −
pn (x(k) )
qn−1 (x(k) ; x(k) )
z := x(k)
′
p′n (x) = qn−1
(x; z)(x − z) + qn−1 (x; z)
p′n (z) = qn−1 (z; z)
Algoritmus pro nalezení kořenů polynomu pn :
for m = n downto 1 do
Najdi kořen r polynomu pm (Newtonova metoda)
Vyčísli qm−1 (x; r) (pomocí Hornerova schematu)
pm−1 := qm−1
end for
Poznámka 3.10 Začít od kořene nejmenšího v absolutní hodnotě (kvůli zaokrouhlovacím chybám).
Poznámka 3.11 Restartovat algoritmus, t.j. použít původní polynom (je-li r̃j
(0)
aproximace kořene rj , jít zpět k pn (x) a hledat novou aproximaci rj = r̃j ).
4
SOUSTAVY LINEÁRNÍCH ROVNIC
Hledáme x ∈ IRN
Ax = b
A-nesingulární, A ∈ IRN ×N
Metody:
• přímé - konečný předem známý počet kroků pro nalezení řešení
• iterační - konstruujeme (nekonečnou) posloupnost vektorů konvergujících
k řešení
4.1
Podmíněnost matic
Matice se nazývá dobře podmíněná, jestliže relativně malé změny v koeficientech způsobí relativně malé změny v řešení. Matice se nazývá špatně podmíněná, jestliže relativně malé změny v koeficientech způsobí relativně velké
změny v řešení.
Analýza zaokrouhlovacích chyb - chyby ve výpočtu se obvykle reprezentují
chybami ve vstupních datech. Vzhledem k zaokrouhlovacím chybám poskytuje
numerická metoda přibližné řešení, které splňuje perturbovaný systém. Numerická metoda poskytuje (přesné) řešení x + δx perturbovaného systému
(A + δA)(x + δx) = b + δb
δx lze (”zhruba”) odhadnout následujícím způsobem
x + δx = (A + δA)−1 (b + δb) = [A(I + A−1 δA)]−1 (b + δb) =
= (I + A−1 δA)−1 A−1 (b + δb)
| {z }
nahradíme
≈ (I − A−1 δA)(x + A−1 δb) = x + A−1 δb − A−1 δAx − A−1 δAA−1 δb
1
= 1 + xf ′ (0) + chyba = 1 + x(−1) + chyba
f (x) =
1+x
.
δx = A−1 δb − A−1 δAx
° −1 °
°
°
kδxk ≤ °A ° kδbk + °A−1 ° kδAk kxk
24
µ
1
≈1−x
1+x
¶
PODMÍNĚNOST MATIC
kδxk
kxk
≤
kA−1 kkδbk
kxk
kA kkAkkxkkδbk
−1
kxkkbk
+
+
kA−1 kkδAkkxk
kxk
25
≤
kA kkδAkkAkkxk
−1
kxkkAk
Záver:
δx
≤
kxk
°
°
kAk °A−1 °
{z
}
|
číslo podmíněnosti
K(A)
µ
kδbk kδAk
+
kbk
kAk
¶
Poznámka 4.1 Nejčastěji používané normy v Cn , x ∈ Cn
kxk1 =
X
i
|xi |
vÃ
!
u
u X
2
t
kxk2 =
|xi |
Euklidova
X
1≤p<∞
i
kxkp =
Ã
i
p
|xi |
! p1
kxk∞ = max |xi |
i
kAxk
x6=0 kxk
X
kAk1 = max
kAk = sup
|aij |
|{z}
sloupcový součet
q
q
kAk2 = ρ(AH A) = ρ(AAH )
j
i
AH − transponovaná a kompl. združená (hermitovská)
ρ(B) − největší v abs. hodnotě vlastní číslo B (spektrální poloměr)
sX
2
|aij |
Frobeniova
kAkF =
i,j
kAk∞ = max
i
• kIkF =
X
j
|aij |
řádkový součet
√
N
• kIk = 1, kAxk ≤ kAk · kxk
• kABk ≤ kAk kBk sub-multiplikativita
4. přednáška
26
SOUSTAVY LINEÁRNÍCH ROVNIC
4.2
Gaußova eliminace
Cíl:
Ax = b ⇔ U x = b̂,
kde U je horní trojúhelníková
Algoritmus 4.2
for sloupec j = 1 to n − 1 do
hledám apj 6= 0,
p ∈ {j, . . . , n}
if apj = 0 ∀p then
STOP (singularita)
else
záměna p a j-tého řádku
end if
for řádek i = j + 1 to n do
aij
;
lij = ajj
for k = j to n do
aik = aik − lij ajk ;
end for
bi = bi − lij bj ;
end for
end for
(uij ), i ≤ j jsou pak poslední hodnoty aij
b̂i
Počet operací
Hledání apj 6= 0
Výpočet lij
Výpočet aik
Výpočet bi
jsou pak poslední hodnoty bi
v j-tém kroku
n−j+1
n−j
2(n − j)2
2(n − j)
celkem
Pn
j = (2+n)(n−1)
2
Pj=2
n−1
n(n−1)
j=1 j =
2
Pn−1
3
2
+n
2 j=1 j 2 = 2 2n −3n
6
Pn−1
2 j=1 j = n(n−1)
2
Celkový počet operací:
Počet operací pro řešení U x = b̂ :
4.2.1
2 3
n + O(n2 )
3
násobení sčítání
(n+1)n
2
n(n−1)
2
Pivotace
Výpočet lij =
aij
ajj
v Algoritmu 4.2, ajj 6= 0.
Částečná pivotace |apj | = maxl=j,...,n |alj |
Úplná pivotace |apj | = maxl,m=j,...,n |alm |
(4.2.1)
(4.2.2)
Důvod: I když Guaßova eliminace je proveditelná bez záměny řádků a sloupců,
mohou malé hodnoty ajj způsobit velké chyby v řešení.
GAUßOVA ELIMINACE JAKO FAKTORIZAČNÍ METODA
Příklad 4.2

6 1
8 6 1


8 6

..

.
1
..
.
8


 x1

  ..
.
.. 
. x
6

7
 15 
 
 =  15 
 . 
 .. 

50

14



xGE = 


1
1
1
..
.
−3 × 107
27






Gaußova eliminace je numericky nestabilní. Pivotace je podstatná pro stabilitu elim. procesu. Ani velké hodnoty pivotů však nejsou zárukou dostatečně
přesného řešení.
Důvod: velké změny v koeficientech
Pn
Náprava: škálování, dělení i-tého řádku di = j=1 |aij |, ale toto dělení opět
vnáší zaokrouhlovací chyby.
4.3
Gaußova eliminace jako faktorizační metoda
Ax = b ⇔ LU x = b
½
U x = b̂
Lb̂ = b
(4.3.3)
Nechť matice Pi provádí záměnu příslušných řádků matice A a matice Li
nulování příslušného sloupce. Celkem (GE s částeční pivotací):
Ln−1 Pn−1 · · · L1 P1 A = U
|
{z
}
M
Označme
P = Pn−1 · · · P1
M = Ln−1 Pn−1 · · · L1 P1
Pak
MA = U
M P −1 P A = U
−1
PA = P
|M
{z } U
L
P A = LU
Lze-li provést Gaußovou eliminaci bez záměny řádků a sloupců, dostáváme
A = LU
(4.3.4)
Věta 4.3 Nechť A ∈ IRn×n , A regulární. Pak existuje permutační matice P ∈
IRn×n , nesingulární U a L s jedničkami na diagonále ::
P A = LU
(4.3.5)
28
SOUSTAVY LINEÁRNÍCH ROVNIC
Algoritmus
Matici L výše uvedenou dostaneme pomocí Algoritmu 4.2 tak, že lij uložíme
do aij , jejichž hodnoty nejsou v Gaußově eliminaci potřeba a při pivotaci je
zaměníme
Řešení úlohy Ax = b ve třech krocích
1. P A = LU
2. P Ax = L |{z}
Ux = Pb
b̂
Lb̂ = P b
3. U x = b̂
Měření kvality řešení r = b − Ax̃ - reziduum
Věta 4.4 (Odhad rezidua) [Prager/Oettli]
Nechť x̃ je přibližné řešení Ax = b, r = b − Ax̃ reziduum. Nechť je dáno
0 ≤ δA ∈ IRn×n , 0 ≤ δb ∈ IRn . Pak x̃ je přesné řešení
Ãx̃ = b̃
právě když
(4.3.6)
kde
¯
¯
¯
¯
¯
¯
¯
¯
¯Ã − A¯ ≤ δA, ¯b̃ − b¯ ≤ δb
(po složkách)
|r| ≤ δA |x̃| + δb
(4.3.7)
(4.3.8)
Důkaz (pouze ⇒)
Nechť Ãx̃ = b̃ (x̃ je přesné řešení perturbovaného systému) a pro peturbace
platí odhad
¯
¯
¯
¯
¯Ã − A¯ ≤ δA
¯
¯
¯
¯
¯b̃ − b¯ ≤ δb
à = A + ∆A
b̃ = b + ∆b
|∆A| ≤ δA
|∆b| ≤ δb
¯
¯
¯
¯
¯
¯
¯
|r| ≤ |b − Ax̃| = ¯b̃ − ∆b − |{z}
Ãx̃ +∆Ax̃¯¯ ≤
¯
¯
b̃
≤ |∆Ax̃ − ∆b| ≤ δA |x̃| + δb
2
LU ROZKLAD V OBECNÉM PŘÍPADĚ
4.4
29
LU rozklad v obecném případě
A=
A=
A=
µ
µ
µ
1 2
1 2
0 1
1 0
0 1
0 2
¶
∃ !LU rozklad
¶
neexistuje LU rozklad
¶
LU není jednoznačný
A = LU
n
X
aij =
lik ukj
n2 rovnic
k=1
m-tý řádek matice U
amj =
m−1
X
k=1
lmk ukj + 1 · umj
m≤j
m-tý sloupec matice L
aim =
m−1
X
k=1
lik ukm + lim · umm
Věta 4.5 Nechť A ∈ IRn×n je obecná matice. Faktorizace A = LU existuje a je


a11 · · · a1k
..
 k=
jednoznačná právě když všechny hlavní minory A, t.j. det 
.
ak1 · · · akk
1, . . . , n − 1 jsou nenulové.
Věta 4.6 Je-li matice řádkově nebo sloupcově diagonálně dominantní, t.j.
|aii | ≥
nebo
|ajj | ≥
n
X
j=1,j6=i
n
X
i=1,i6=j
|aij |
|aij |
(řádkově)
(4.4.9)
(sloupcově)
(4.4.10)
Pak LU rozklad existuje. Specielně, je-li matice sloupcově diagonálně dominantní, je |lij | ≤ 1 ∀i, j = 1, . . . , n
30
SOUSTAVY LINEÁRNÍCH ROVNIC
4.4.1
Vliv zaokrouhlovacích chyb
Uvažujeme-li zaokrouhlovací chyby, faktorizační proces produkuje matice L̂, Û
takové, že
L̂Û = A + δA
(4.4.11)
Lze odhadnout
|δA| ≤
nu ¯¯ ¯¯ ¯¯ ¯¯
¯L̂¯ ¯Û ¯ ,
1 − nu
u=
1
εM
2
(4.4.12)
a
ij
, viz Gaußova eliminace), že přítomnost maZ (4.4.12) je vidět (lij = ajj
lých pivotů může způsobit neomezenost pravé strany a v důsledku toho ztrátu
kontroly kontroly δA. Je tedy vhodné najít odhad
|A|
g(u)
|{z}
vhodná funkce
¯ ¯¯ ¯ ¯ ¯
¯ ¯¯ ¯ ¯ ¯
Příklad 4.7 Nechť L̂ ≥ 0, Û ≥ 0, pak ¯L̂¯ ¯Û ¯ = ¯L̂Û ¯
|δA| ≤
Odtud
¯ ¯¯ ¯ ¯ ¯
¯ ¯¯ ¯ ¯ ¯
¯L̂¯ ¯Û ¯ = ¯L̂Û ¯ = |A + δA| ≤ |A| + |δA| ≤ |A| +
a z 4.4.12 dostáváme
¯ ¯¯ ¯µ
¯ ¯¯ ¯
¯L̂¯ ¯Û ¯ 1 −
nu
1 − nu
¶
≤ |A|
¯ ¯ ¯ ¯ µ 1 − 2nu ¶−1
¯ ¯¯ ¯
|A|
¯L̂¯ ¯Û ¯ ≤
1 − nu
|δA| ≤
nu ¯¯ ¯¯ ¯¯ ¯¯
¯L̂¯ ¯Û ¯
1 − nu
nu
|A|
1 − 2nu
| {z }
(4.4.13)
g(u)
Pivotace umožňuje obdržet odhad obdobný (4.4.13) pro libovolnou matici.
4.5
Choleského rozklad
Věta 4.8 Pro každou symetrickou, pozitivně definitní (xT Ax > 0, ∀x 6= 0, x ∈
IRn ) matici A ∈ IRn×n existuje právě jedna dolní trojúhelníková matice L s
kladnými prvky na diagonále tak, že platí
A = L · LT
(4.5.14)
Důkaz indukcí
Věta 4.9 Nechť A ∈ IRn×n je symetrická, ostře diag. dominantní (|aii | >
aii > 0, pak A je pozitivně definitní.
2
P
j6=i
|aij |),
QR ROZKLAD
4.6
31
QR rozklad
Věta 4.10 Ke každé nesingulární matici A ∈ IRn×n existuje ortogonální matice
Q ∈ IRn×n (QQT = QT Q = I) a nesingulární horní trojúhelníková R taková, že
A=Q·R
(4.6.15)
Poznámka 4.11 Transformace, která (na rozdíl od LU ) nezvyšuje číslo podmíněnosti (K(U ) ≤ 4n−1 K(P A))
5
ITERAČNÍ METODY ŘEŠENÍ SOUSTAV LINEÁRNÍCH
ROVNIC
5. přednáška
Hledáme x ∈ IRn ::
A ∈ IRn×n , b ∈ IRn , detA 6= 0
Ax = b
(5.0.1)
Přímé metody (např. Gaußova eliminace) :
• pro libovolné plné matice
• počet operací O( 32 n3 )
Nevýhoda:
a) nevyužívají informaci o struktuře matice (řídkost, blokově diagonální)
b) nákladné, je-li n velké
c) pro řídké matice mohou být nevhodné (zaplnění)
Iterační metody
• formálně poskytují řešení po nekonečném počtu kroků
• v každém kroku požadují výpočet rezidua, výpočetní náročnost O(n2 )
• mohou soupeřit s přímými metodami, je-li počet iterací k získání řešení s
danou tolerancí nezávislý na n nebo menší než n
• používají se, stačí-li získat řešení pouze s určitou přesností (Fyzika-model
→ Matematický model)
Idea iteračních metod: konstrukce {x(k) }
x = lim x(k) ,
k→∞
kde x je řešení
(5.0.2)
°
°
Poznámka 5.1 nekonečná posloupnost x(0) ,°x(1) , . . . , x°(k) ? °x∗ − x(k) ° ≤ ε
stopping kriterium (např. omezenost rezidua °b − Ax(k) ° ≤ ε2 )
Princip iteračních metod
x(k+1) = ϕ(x(k) ),
Požadavky:
resp. x(k+1) = ϕ(x(k) , x(k−1) , . . . , x(0) )
x(k+1) → x − řešení k → ∞
32
KLASICKÉ ITERAČNÍ METODY
33
• rychlá konvergence
• snadné vyčíslení ϕ (méně operací než matice × vektor, řádově O(n))
• řešení s předepsanou přesností
5.1
Klasické iterační metody
Idea: věta o pevném bodě
Ax = b ⇔ x = G(x) + x(k+1) = G(x(k) )
x(0) dáno, b − Ax = 0
| {z }
F (x)=0
1.
x = x + b − Ax
x = (I − A) x + b
| {z }
BR
(k+1)
x
= BR x(k) + b
(Richardson)
2.
A = E + D + F,
kde
E je ostře dolní trojúhelníková
D je diagonální
F je ostře horní trojúhelníková
Ax = b → (E + D + F )x = b
Dx = −(E + F )x + b
x = −D−1 (E + F )x + D−1 b
x(k+1) = BJ x(k) + f
BJ = −D−1 (E + F )
f = D−1 b (Jacobiho, za předp. aii 6= 0)
3.
Ax = b → (D + E)x + F x = b
(D + E)x = −F x + b
x = −(D + E)−1 F x + (D + E)−1 b
x
= BGS x(k) + fGS
BGS = −(D + E)−1 F
(k+1)
fGS = (D + E)−1 b (Gauß-Seidel)
(5.1.1)
34
ITERAČNÍ METODY ŘEŠENÍ SOUSTAV LINEÁRNÍCH ROVNIC
Poznámka 5.2
Dx = −Ex − F x + b
(k+1)
Dx
= −Ex(k+1) − F x(k) + b
(5.1.2)
Jacobi: x(k+1) = BJ x(k) + fJ po složkách
Při použití Jacobiho metody je třeba si pamatovat celý vektor x(k) pro
výpočet nové iterace x(k+1) . U metody Gaußovy-Seidelovy se v paměti
počítače rezervuje místo pro jediný vektor x(k) , na jehož místo se postupně
ukládají složky vektoru x(k+1) jak vyplývá z rozepsání po složkách vztahu
(5.1.2)
Při zápisu po složkách:
Pn
j=1 aij xj = b∗
Pi−1
Pn
j=1 aij xj + aii xi +
j=i+1 aij xj = bi
Pi−1
Pn
aii xi = − j=1 aij xj − j=i+1 aij xj + bi
³P
´
Pn
(k+1)
(k)
(k+1)
i−1
+ abiii
− j=i+1 aij xj
= a1ii
xi
j=1 aij xj
4. (Viz Gauß-Seidel)
Ax = (E + D + F )x = b
(k+1)
x̃
= −D−1 Ex(k+1) − D−1 F x(k) + D−1 b
x(k+1) = x(k) + ω(x̃(k+1) − x(k) )
x(k+1) = (1 − ω)x(k) + ωx̃(k+1)
£
¤
x(k+1) = −ωD−1 Ex(k+1) + (1 − ω)I − ωD−1 F x(k) + ωD−1 b
¡
¢−1 £
¤
x(k+1) = I + ωD−1 E
(1 − ω)I − ωD−1 F x(k) +
+(I + ωD−1 E)−1 ωD−1 b (super over relaxační)
x(k+1) = BSOR x(k) + fSOR
BSOR = (D + ωE)−1 [(1 − ω)D − ωF ]
fSOR = (D + ωE)−1 ωb
Uvažujme iterační metodu
x(k+1) = Bx(k) + f
(5.1.3)
Definice 5.3 Řekneme, že iterační metoda tvaru (5.1.3) je konzistentní s Ax =
b, jestliže
x = Bx + f, kde x :: Ax = b je řešení
Ekvivalentně
f = (I − B)x = (I − B)A−1 b
KLASICKÉ ITERAČNÍ METODY
35
Věta 5.4 Nechť x(k+1) = Bx(k) + f je konzistentní metoda. Pak posloupnost
{x(k) } konverguje k x∗ , kde x∗ splňuje Ax∗ = b pro libovolné x(0) právě když
ρ(B) (spektrální poloměr matice B (ρ(B) = maxλ vl. č.B |λ|)) je menší než 1.
Důkaz
e(k+1) = x(k+1) − x∗
x(k+1) = Bx(k) + f
x∗ = Bx∗ + f
(k)
x
2 (k−2)
e(k+1) =°Be(k)
= · · · = B (k+1) e(0)
°=B e
° (k) °
∗
(k)
→ x ⇔ °e ° → 0 ⇔ B → 0 ⇔? ρ(B) < 1
Poslední ekvivalenci dokážeme na základě následující věty z algebry. Vyhneme se tak klasickému důkazu pomocí převedení matice B na Jordanův kanonický tvar
Věta 5.5 Nechť A ∈ Cn×n , ε > 0. Pak existuje konzistentní (kAxk ≤ kAk kxk)
maticová norma k.kA,ε taková, že
kAkA,ε ≤ ρ(A) + ε
Pokračování v důkazu předchozí věty
⇐ Nechť ρ(B) < 1, ∃ρ(B) < 1 − ε a dále existuje k.kB,ε ,
kBkB,ε ≤ ρ(B) + ε < 1
⇒
lim B k = 0, λ vl. č. B
° k°
k
°B °
≤ kBkB,ε → 0
B,ε
Bx = λx x 6= 0
B k x = λk x
lim λ = 0 ⇔ kλk < 1
k
2
6
VÝPOČET VLASTNÍCH ČÍSEL MATIC
6. přednáška
• omezíme se na výpočet dominantního vlastního čísla
• aplikace: kvantová mechanika, strukturální vibrace, analýza elektrických
sítí
6.1
Mocninná metoda výpočtu dominantního vlastního čísla
A ∈ Cn×n , A diagonalizovatelná
 .
..

−1
A = XλX , X =  x1
..
.
···
.. 
.

xn  ∈ Cn×n
..
.
xi vlastní vektory (Axi = λi xi ), kxi k = 1. Nechť |λ1 | > |λ2 | ≥ |λ3 | ≥ · · · |λn |, λ1
má násobnost 1. Pak λ1 nazveme
°
°dominantním vlastním číslem.
Nechť je dáno q (0) ∈ pn , °q (0) ° = 1 (Euklidovská)
Aq (k−1)
°
q (k) = °
°Aq (k−1) ° = · · · =
Ak q (0)
°
°
°Ak q (0) ° (odtud název mocninná metoda)
Je-li A diagonalizovatelná, X má za sloupce vlastní vektory. Ty jsou lineárně
nezávislé a tvoří bazi Cn . Lze tedy psát:
q (0) =
n
X
i=1
αi xi , αi ∈ C, i = 1, . . . , n
Dále Axi = λi xi pro i = 1, . . . , n a tedy
Pn
k
α1 λk1 (x1 + y (k) )
(k)
i=1 αi λi xi °
¯
°
°¯
P
=
q =°
° n αi λk xi °
¯α1 λk °x1 + y (k) °¯
1
i
i=1
kde
y (k) =
µ ¶k
n
X
αi λi
xi
α
λ1
i=2 1
36
MOCNINNÁ METODA VÝPOČTU DOMINANTNÍHO VLASTNÍHO ČÍSLA
y (k) → 0
37
pro k → ∞
T
Pro k → ∞ se směr q (k) bude blížit směru x1 . Uvažujme Aq (k) a q (k) Aq (k) .
Ukážeme, že
T
q (k) Aq (k) → λ1
pro k → ∞
T
α1 λk (λ1 x1 + Ay (k) )
°
Aq (k) = ¯¯ 1 k ¯¯ °
α1 λ1 °x1 + y (k) °
q (k) Aq (k) =
.
q (k)
T
T
(α1 λk1 )2 (λ1 + λ1 xT1 y (k) + xT1 Ay (k) + y (k) Ay (k) )
→ λ1
¯
°
¯ °
¯α1 λk ¯2 °x1 + y (k) °2
1
Dále platí, že q (k) → x1 . K tomu uvažujme
α1 λk (λ1 x1 + Ay (k) ) α1 λk1 (λ1 x1 + λ1 y (k) )
° − ¯
¯°
°
Aq (k) − λ1 q (k) = ¯¯ 1 k ¯¯ °
¯α1 λk ¯ °x1 + y (k) °
α1 λ °x1 + y (k) °
1
1
α1 λk (Ay (k) − λ1 y (k) )
° →0
= ¯¯ 1 k ¯¯ °
α1 λ °x1 + y (k) °
1
Jak určit aproximaci vlatního vektoru x1 s předem danou přesností, t.j.:
°
°
°
° approx
− x1 ° ≤ ǫ
°x1
K tomu stačí užít definici q (k)
q (k) =
neboli
α1 λk1 (x1 + y (k) )
°
°
°Ak q (0) °
°
°
q (k) °Ak q (0) °
= x1 + y (k)
|{z}
α1 λk1
|
{z
}
chyba
approx
x
1
Přesněji:
¯
n ¯
°
° °
°
° ° (k) ° X ¯¯ αi λki ¯¯
° approx
− x1 ° ≤ °y ° =
°x1
ik
¯ α λk ¯ kx
1 1 |{z}
i=2
=1
¯ ¯k
¯¯ ¯
n ¯
X
¯ λ2 ¯
¯ αi ¯ ¯ λ2 ¯k
¯ ¯
¯
¯
¯
¯
≤
¯ α1 ¯ ¯ λ1 ¯ ≤ C ¯ λ1 ¯
i=2
| {z }
C
7
NUMERICKÁ INTEGRACE SOUSTAV OBYČEJNÝCH
DIFERENCIÁLNÍCH ROVNIC
7.1
Formulace problému
Dáno f : [a, b] × IRs → IRs , f = f (x, y), x ∈ [a, b], y ∈ IRs . Dána tzv. počáteční
podmínka η ∈ IRs . Najít zobrazení y : [a, b] → IRs splňující
y ′ (x) = f (x, y(x))
y(a) = η
x ∈ (a, b)
Vyšetřování:
• existence a jednoznačnost - Matematická analýza
• nalezení řešení
∗ analyticky (těžké)
∗ numericky
7.2
Jednokrokové metody
xi = a + ih (konstantní krok, obecně lze uvažovat nekonstantní)
Hodnotu řešení y(xi ) aproximujeme pomocí hodnoty yi :
y(xi ) ≈ yi
i = 0, . . . , n
y ′ (xi ) = f (xi , y(xi ))
y(xi+1 − y(xi ))
+ O(h)
y ′ (xi ) =
h
y(xi+1 ) = y(xi ) + h · y ′ (xi ) + O(h2 )
y(xi+1 ) − y(xi )
= y ′ (xi ) + O(h)
h
y(xi+1 ) − y(xi )
+ O(h) = f (xi , y(xi ))
h
yi+1 − yi
= f (xi , yi ) → nápad:
h
yi+1 = yi + h · f (xi , yi ),
y0 = η( dáno)
38
JEDNOKROKOVÉ METODY
39
→ Eulerova metoda
Obecně uvažujeme metody typu:
yi+1 = yi + h
φ(xi , yi , h)
| {z }
přírustkové zobrazení
(7.2.1)
y(x + h) − y(x)
= φ(x, y(x), h) + O(h)
h
To nás vede k definici řádu metody (pro srovnání kvality metod):
Definice 7.1 Řekneme, že metoda 7.2.1 je řádu p, jestliže
y(x + h) − y(x)
= φ(x, y(x), h) + O(hp )
h
Věta 7.2 Metoda 7.2.1 je konvergentní právě když f (x, y) = φ(x, y, 0) za předpokladu spojitosti f, φ a lipschitzovskosti f, φ v druhé proměnné.
Věta 7.3 Je-li metoda řádu p, potom
kyi − y(xi )k ≤ C · hp ·
eLH(xi −x0 ) − 1
,
L
kde L je konstanta lipschitzovskosti φ.
y(x + h) − y(h)
= φ(x, y(x), h) + O(hp )
(7.2.2)
h
Metody typu Runge-Kutha: konstruuje se φ, splňující (7.2.2), aniž by se použila derivace f .
Příklad 7.4 Odvoďte Runge-Kuthovu metodu 2. řádu.
Nápad:
p
X
φ(x, y, h) =
ωi ki = ω1 k1 + ω2 k2 + · · · + ωp kp ,
i=1
kde ωi jsou konstanty, kteřé je třeba určit.
k1 = f (x, y)
k2 = f (x + α2 h, y + β21 hk1 )
..
.
p−1
X
kp = f (x + αp h, y + h
βpm km )
m=1
Řešení:
φ(x, y) = ω1 f (x, y) + ω2 f (x + αh, y + βhf (x, y))
40NUMERICKÁ INTEGRACE SOUSTAV OBYČEJNÝCH DIFERENCIÁLNÍCH ROVNIC
Cíl:
y(x + h)y(x)
= φ(x, y, h) + O(h2 )
h
Myšlenka: Taylor
y(x + h) + y(x)
= výraz 1 + O(h2 )
h
φ(x, y, h) = výraz 2 + O(h2 )
1
y(x + h) = y(x) + hf + h2 [
2
fx + fy f
| {z }
] + O(h3 )
d
f (x,y)=fx +fy
y ′′ (x)= dx
y(x + h) − y(x)
1
1
= f + hfx + hfy f +O(h2 )
h
2
2
|
{z
}
výraz 1
φ(x, y, h) = ω1 f + ω2 [f + αhfx + βhf fy ] +O(h2 )
|
{z
}
výraz 2
f (x + h1 , y + h2 ) = f (x, y) + h1
1 = ω1 + ω2
∂f
∂f
(x, y) + h2 (x, y) + O(h2 )
∂x
∂y
1
= αω2
2
1
= βω2
2
⇒ 3 rovnice pro 4 neznámé
Zvolíme:
ω2 = 1, ω1 = 0
1
1
α= , β=
2
2
yi+1 = yi + hφ(xi , yi , h)
1
1
φ(xi , yi , h) = f (xi + h, yi + hf (xi , yi ))
2
2
BIBLIOGRAFIE
Feistauer, M., Felcman, J., and Straškraba, I. (2003). Mathematical and Computational Methods for Compressible Flow. Oxford University Press, Oxford.
Kinkel, P. (2000). Numerische Mathematik für Informatiker. Universität Leipzig, http://ilabws.informatik.uni-leipzig.de/~mai98gkl/num.
Quarteroni, A. (2000). Numerical . . . Springer, Berlin.
Segethová, J. (2000). Základy numerické matematiky. Karolinum, Praha.
Ueberhuber, W. (2000). Numerical Computation 1, 2: Methods, Software, and
Analysis. Springer, Berlin.
41
INDEX
finite volume, 2
neighbouring finite volumes, 2
42