Numerická matematika pro doktorandy

Transkript

Numerická matematika pro doktorandy
NUMERICKÉ METODY
Josef Dalík
1
Zdroje chyb
Při řešení daného technického problému numerickými metodami jde zpravidla o
zjištění některých kvantitativních charakteristik daného procesu probíhajícího v
přírodě nebo v některém technickém systému. Může jít například o tok kapaliny,
chemickou reakci nebo o deformaci tělesa.
a) Matematický model úlohy je exaktní matematický popis podstatných vztahů,
které daný proces určují. Je tvořen například okrajovou diferenciální úlohou, soustavou rovnic nebo integrálem.
b) Diskretizace modelu úlohy (Numerická úloha) musí poskytnout přesné vymezení konečného souboru vstupních dat, konečného souboru výstupních
dat a algoritmu, který k daným vstupním datům přiřadí jediná výstupní
data.
Definice. Nechť x̂ je hledaná přesná veličina a x její aproximace. Pak
ex = x̂ − x
se nazývá (absolutní) chyba aproximace a ε(x) s vlastností
|ex | ≤ ε(x)
se nazývá odhad chyby. Píšeme x̂ = x ± ε(x) a tento výraz nazýváme neúplné
číslo. Zlomek
ex
x
se nazývá relativní chyba aproximace a δ(x),
e x
≤ δ(x)
x
se nazývá odhad relativní chyby.
Definice. Je-li
a)
x̂ přesné řešení daného technického problému a
x přesné řešení matematického modelu,
pak ex se nazývá chyba matematického modelu.
b)
x̂ přesné řešení matematického modelu a
1
x přesné řešení diskretizace,
pak ex se nazývá chyba aproximace (chyba numerické metody).
c)
x̂ přesné řešení diskretizace a
x skutečně vypočtená aproximace řešení,
pak ex se nazývá zaokrouhlovací chyba.
d)
x̂ přesné řešení daného technického problému a
x skutečně vypočtená aproximace řešení,
pak je ex v jistém smyslu součtem chyb všech výše uvedených typů.
2
Startovací metody pro jednu rovnici s jednou
reálnou neznámou
Pro daný interval I v R a pro reálnou funkci f na I najděte řešení rovnice
f (x) = 0.
(1)
Číslo x se nazývá kořen rovnice (1).
Příklad 1. Určete přibližně všechny kořeny rovnice
f (x) ≡ 10 sin x − x − 5 = 0
z intervalu (0, π).
Představu o počtu a přibližný odhad hodnot kořenů poskytne tato grafická
metoda:
f (x) = 0 ⇐⇒ 10 sin x = x + 5
.
a z grafického znázornění lze odhadnout, že rovnice má dva kořeny x1 = 0.5 a
.
x2 = 2.4. Přesnější informaci poskytne tato zkouška:
x
0.5
0.7
2.4
2.2
f(x)
-0.7057
0.7422
-0.6454
0.8850
Fakt, že hodnoty funkce f v bodech 0.5 a 0.7 mají opačná znaménka říká, že
kořen x1 leží v intervalu (0.5, 0.7) a zbývající dva řádky vedou k závěru, že kořen
x2 leží v intervalu (2.2, 2.4). V této úvaze bylo využito této základní vlastnosti
funkcí spojitých na uzavřeném intervalu:
Věta 1. Jestliže f ∈ Cha, bi a platí-li f (a) · f (b) < 0, pak v otevřeném
intervalu (a, b) leží alespoň jeden kořen rovnice f (x) = 0.
2
Na opakovaném použití Věty 1 jsou založeny dvě níže uvedené metody A),
B). Jsou použitelné za předpokladu, že je dán interval (a0 , b0 ) tak, že
f ∈ Cha0 , b0 i a f (a0 ) · f (b0 ) < 0.
Spočívají v tom, že se konstruuje posloupnost intervalů
(a0 , b0 ) ⊃ (a1 , b1 ) ⊃ . . . ⊃ (an , bn ) ⊃ . . .
tak, aby f (an ) · f (bn ) < 0 pro n = 1, 2, . . . Podinterval (an , bn ) se v intervalu
(an−1 , bn−1 ) najde takto: Vybere se bod sn ∈ (an−1 , bn−1 ). Protože f (an−1 ) ·
f (bn−1 ) < 0, platí právě jedna z podmínek
1. f (an−1 ) · f (sn ) < 0 . . . položíme an = an−1 , bn = sn
2. f (sn ) · f (bn−1 ) < 0 . . . položíme an = sn , bn = bn−1
3. f (sn ) = 0 . . . výpočet skončí.
Metody A), B) se liší způsobem výpočtu bodu sn a kritériem pro ukončení.
A)Metoda půlení intevalu
an−1 + bn−1
2
a pro předem dané malé kladné číslo ε výpočet skončí, jakmile |an − bn | < ε.
sn =
Pro metodu půlení intervalu lze velmi snadno posoudit rychlost konvergence.
Na začátku výpočtu splňuje kořen x rovnice podmínku
x = s1 ± d0
d0 =
b0 − a0
2
a po n krocích je
x = sn+1 ± dn ,
dn =
b0 − a0
bn − an
= . . . = n+1 ,
2
2
dn =
d0
2n
Tedy v každém kroku se odhad chyby zmenší dvakrát.
Příklad 2. Kolik kroků metody půlení intervalu je třeba k tomu, aby se
odhad chyby zmenšil desetkrát?
Protože po n krocích se odhad chyby zmenší 2n krát, hledáme nejmenší
.
hodnotu n tak, aby 10 < 2n . Protože 10 = 23,3 , je pro zmenšení chyby desetkrát
třeba provést čtyři kroky metody půlení intervalu.
Příklad 3. Kolik kroků metody A) poskytne kořen x1 z příkladu 1 s chybou
menší než 10−3 ?
x1 ∈ (0, 5, 0, 7) =⇒ x1 = 0, 6 ± 0, 1 a d0 = 0, 1
3
Hledáme tedy n tak, aby
0, 1
≤ 10−3 ⇐⇒ 2n ≥ 100 ⇐⇒ n ≥ 7
2n
Je tedy nutno provést alespoň 7 kroků metody půlení. Doporučený způsob záznamu výpočtu je ilustrován v této tabulce:
n
1
2
3
4
5
6
7
8
an−1
0,5
0,5
0,55
0,575
0,5875
0,5875
0,590625
0,5921875
f (an−1 )
-
bn−1
0,7
0,6
0,6
0,6
0,6
0,59375
0,59375
0,59375
f (bn−1 )
+
+
+
+
+
+
+
+
sn
0,6
0,55
0,575
0,5875
0,59375
0,590625
0,5921875
0,59296875
f (sn )
+
+
-
Tedy x1 = 0, 59296875 ± 10−3 , přesněji x1 = 0, 59296875 ± 0.00078125.
B)Metoda regula falsi
Nový bod sn je průsečík osy x s přímkou, spojující body [an−1 , f (an−1 )], [bn−1 , f (bn−1 )],
tj.
sn = an−1 − f (an−1 )
bn−1 − an−1
.
f (bn−1 ) − f (an−1 )
Kriterium pro ukončení: Zvolí se δ > 0 a výpočet skončí, jakmile |f (sn )| ≤ δ.
Příklad 4. Najděte kořen rovnice
10 sin x − x − 5 = 0
na intervalu (0, 5, 0, 7) s tolerancí δ = 0, 0002.
n
1
2
3
an−1
0,5
0,5
0,5
bn−1
0,7
0,597484
0,593744
f (an−1 )
-0,705745
-0,705745
-0,705745
f (bn−1 )
0,742177
0,028156
0,000938
sn
0,597484
0,5973744
0,593619
f (sn )
0,028156
0,000938
0,000031
.
Tedy x1 = 0, 59361957.
3
Princip metody postupných aproximací (Princip iteračních metod)
Příklad 1. Uvažme rovnici
e−x − 2x = 0.
4
Její ekvivalentní vyjádření e−x = 2x má tu výhodu, že grafy funkcí e−x a 2x
jsou dobře známé. Z jejich schematického znázornění lze usoudit, že rovnice má
.
jediné řešení x̂ a x̂ = 0, 303.
Řešení dané rovnice iterací:
b) x = 12 e−x :
a) x = − ln(2x):
xn+1 = − ln(2xn )
x0 = 0.303
n
0
1
2
3
x0 = 0.303
xn
0,303
0,501
-0,002
–
xn+1 =
n
0
1
2
..
.
xn
0,303
0,369
0,346
..
.
6
7
0,352
0,352
1 −xn
e
2
Definice. Nechť X 6= ∅ a F : X −→ X. Prvek x ∈ X se nazývá pevný bod
zobrazení F , když x = F (x).
Metoda postupných aproximací hledá pevný bod zobrazení F tak, že se x0
zvolí a pro n = 0, 1, . . . se postupně počítá xn+1 = F (xn ). Předpokládejme, že
limn→∞ xn = x. Pak, je-li zobrazení F spojité, platí
x = lim xn+1 = lim F (xn ) = F ( lim xn ) = F (x).
n→∞
n→∞
n→∞
Definice. Nechť X 6= ∅ a ke každým prvkům x, y ∈ X je přiřazeno reálné
číslo d(x, y) tak, že
D1 d(x, y) ≥ 0,
d(x, y) = 0 ⇔ x = y
D2 d(x, y) = d(y, x)
D3 d(x, y) ≤ d(x, z) + d(z, y)
Pak X se nazývá metrický prostor, prvky z X se nazývají body a funkce d
metrika (vzdálenost) v X.
Definice. Nechť (xn )∞
n=1 je posloupnost bodů v metrickém prostoru X a
x ∈ X. Položíme
x = lim xn ,
n→∞
jestliže d(xn , x) −→ 0 pro n −→ ∞ [ke každému ε > 0 existuje n0 > 0:
d(xn , x) < ε pro všechna n > n0 ].
5
Každá posloupnost, která má v X limitu, se nazývá konvergentní.
Věta 1. Posloupnost bodů metrického prostoru může mít nejvýše jednu
limitu.
Definice. Posloupnost (xn )∞
n=1 bodů metrického prostoru X se nazývá cauchyovská, jestliže
d(xk , xl ) −→ 0 pro k, l −→ ∞
[ke každému ε > 0 existuje n0 > 0 tak, že
d(xn , xn+p ) < ε pro všechna n > n0 , p > 0
Věta 2. Každá konvergentní posloupnost v metrickém prostoru je cauchyovská.
Obecně není pravda, že každá cauchyovská posloupnost je konvergentní.
Definice. Metrický prostor X se nazývá úplný, je-li každá cauchyovská posloupnost v X konvergentní.
ÚLOHA. Buďte X metrický prostor a F : X −→ X. Hledáme x ∈ X splňující
x = F (x).
Definice. Nechť X je metrický prostor, F : X −→ X a 0 ≤ α < 1. Zobrazení
F se nazývá kontrakce v X s koeficientem α, jestliže
d(F (x), F (y)) ≤ αd(x, y)
pro všechna x, y ∈ X.
Věta 3. (Věta o kontrakci, Banachova věta o pevném bodu) Nechť X je
úplný metrický prostor, F kontrakce v X s koeficientem α, x0 ∈ X je libovolný
bod a (xn )∞
n=1 je příslušná posloupnost postupných aproximací. Pak platí
a) V X existuje jediný pevný bod x̂ zobrazení F .
b) x̂ = limn→∞ xn .
c) d(xn , x̂) ≤ αn d(x0 , x̂) pro n = 1, 2, . . .
d) d(xn , x0 ) ≤
αn
1−α
d(x1 , x0 ) pro n = 1, 2, . . .
Tvrzení věty 3
a) zodpovídá otázku existence a jednoznačnosti řešení ÚLOHY,
6
b) popisuje postup přibližného řešení ÚLOHY,
c) říká, že xn je tím blíže k x̂, čím
– blíže k x̂ je x0 ,
– menší je koeficient α,
– větší je index n
d) je prakticky použitelný odhad chyby.
Důkaz věty 3. 1. JEDNOZNAČNOST: Předpokládejme, že u = F (u) a v =
F (v). Pak užitím D1 dostaneme
d(u, v) = d(F (u), F (v)) ≤ αd(u, v) =⇒ (1 − α)d(u, v) ≤ 0 =⇒
d(u, v) ≤ 0 =⇒ d(u, v) = 0 =⇒ u = v
2. d(xn , xn+1 ) ≤ αn d(x0 , x1 ):
d(xn , xn+1 )
3. d(xn , xn+p ) ≤
αn
1−α
= d(F (xn−1 ), F (xn )) ≤ αd(xn−1 , xn )
≤ α2 d(xn−2 , xn−1 ) ≤ . . . ≤ αn d(x0 , x1 ).
d(x0 , x1 ) pro všechna p > 0: Užitím D3 a 2 lze ukázat
d(xn , xn+p ) ≤ d(xn , xn+1 ) + d(xn+1 , xn+2 ) + . . . + d(xn+p−1 , xn+p )
≤ (αn + αn+1 + . . . + αn+p−1 )d(x0 , x1 )
αn
≤ αn (1 + α + α2 + . . .)d(x0 , x1 ) =
d(x0 , x1 ).
1−α
n
α
d(x0 , x1 ), d(xn , xn+p ) −→
4. EXISTENCE: Protože podle 3 platí 0 ≤ d(xn , xn+p ) ≤ 1−α
0 pro n −→ ∞ a p > 0 libovolné. Tedy posloupnost (xn )∞
n=0 je cauchyovská.
Protože metrický prostor X je úplný, je tato posloupnost konvergentní a tedy
existuje x̂ = limn→∞ xn . Víme již, že potom x̂ je řešením ÚLOHY.
5. d(xn , x̂) ≤ αn d(x0 , x̂):
d(xn , x̂) = d(F (xn−1 ), F (x̂)) ≤ αd(xn−1 , x̂) ≤ . . . ≤ αn d(x0 , x̂)
6. d(xn , x̂) ≤
αn
1−α
d(x0 , x1 ): Podle D3 a 3 platí
d(xn , x̂) ≤ d(xn , xn+p ) + d(xn+p , x̂) −→
αn
d(x0 , x1 )
1−α
Příklady metrických prostorů:
d(x, y) = |x − y|
p
2. E2 = (R2 , d2 ) d2 (x, y) = (x1 − y1 )2 + (x2 − y2 )2
1. E1 = (R, d)
7
pro p −→ ∞.
3. En = (Rn , d2 )
4. (Rn , d∞ )
5. (Rn , d1 )
d2 (x, y) =
p
(x1 − y1 )2 + . . . + (xn − yn )2
d∞ (x, y) = max1≤i≤n |xi − yi |
Pn
d1 (x, y) = i=1 |xi − yi |
6. (Cha, bi, d∞ )
7. (Cha, bi, d2 )
d∞ (f, g) = maxa≤x≤b |f (x) − g(x)|
qR
b
d2 (f, g) =
(f (x) − g(x))2 dx
a
Příklad 8. Metrický prostor (X, d), kde X = (0, 1i a d(x, y) = |x − y| není
úplný:
∞
Posloupnost n1 n=1 v X není konvergentní, ale je cauchyovská:
1
=0
n→∞ n
lim
=⇒
=⇒
1
je konvergentní v E1
n
1
1
je cauchyovská v E1 =⇒
je cauchyovská v X.
n
n
Přitom tato posloupnost nemá v X limitu.
Poznámka. Metrický prostor (E1 , d) je úplný a prostory (ha, bi, d) jsou úplné
pro všechny uzavřené intervaly ha, bi. Prostory En , n ≥ 1, (Rn , d∞ ) a (Rn , d1 )
jsou úplné. Prostor (Cha, bi, d∞ ) je úplný, ale prostor (Cha, bi, d2 ) není úplný.
4
Iterační metody řešení jedné rovnice pro jednu
reálnou neznámou
Metoda prosté iterace
Hledme x ∈ I :
f (x) = 0,
(2)
kde I je libovolný interval v R.
Rovnice f (x) = 0 se převede na ekvivalentní tvar
x = F (x),
(3)
x0 ∈ I se zvolí a xn+1 = F (xn ) pro n = 0, 1, . . . vytvoří iterační posloupnost,
jejíž limita je řešením úlohy (2).
Věta 1. Nechť I je uzavřený interval v R a F : I → I zobrazení s vlastností
|F 0 (x)| ≤ α < 1 pro všechna x ∈ I. Pak F je kontrakce v úplném metrickém
prostoru I s koeficientem α.
8
Důkaz. Stačí ověřit, že d(F (x), F (y)) ≤ αd(x, y), tj. |F (x) − F (y)| ≤ α|x − y|
pro všechna x, y ∈ I: Podle Lagrangeovy věty o přírůstku funkce platí
F (x) − F (y) = F 0 (ξ)(x − y)
pro vhodný bod ξ mezi x, y ∈ I. Pak zřejmě ξ ∈ I a tedy
|F (x) − F (y)| = |F 0 (ξ)| |x − y| ≤ α|x − y|.
Důsledek. Jsou-li splněny předpoklady Věty 1, pak pro řešení úlohy (3) platí
všechna tvrzení Věty o kontrakci.
Příklad 1. Určete všechny kořeny rovnice f (x) ≡ e−2x + x − 3 = 0 na čtyři
desetinná místa.
Grafická metoda:
f (x) = 0 ⇐⇒ e−2x = −x + 3.
Schematické znázornění grafů funkcí e−2x a −x + 3 ilustruje skutečnost, že
.
.
rovnice má právě dva kořeny x(1) = −1 a x(2) = 2, 8. Za účelem řešení rovnice
iterací převedeme původní rovnici f (x) = 0 na tvar (3). a) f (x) = 0 ⇔ x =
3 − e−2x ≡ F1 (x). Protože
|F10 (x)| = 2e−2x < 1 ⇔ x >
1
.
ln 2 = 0, 3466,
2
užijeme této ekvivalentní formulace pro aproximaci kořene x(2) . Položíme x0 =
2, 8 a pro n = 0, 1, . . . budeme postupně počítat
xn+1 = 3 − e−2xn .
Viz tabulku níže.
n
0
1
2
3
xn
2,8
2,9963
2,9975
2,9975
b) f (x) = 0 ⇐⇒ x = −0, 5 ln(3 − x) ≡ F2 (x). Protože
|F20 (x)| =
1
< 1 ⇐⇒ x < 2, 5,
2(3 − x)
lze této formulace užít pro aproximaci kořene x(1) podle předpisu x0 = −1 a
xn+1 = −0, 5 ln(3 − xn )
9
pro n = 0, 1, . . .. Viz tabulku.
n
0
1
2
3
4
5
6
7
xn
-1
-0,6931
-0,6532
-0,6478
-0,6471
-0,6470
-0,6469
-0,6469
Newtonova metoda
Předpokládejme, že aproximace xn leží blízko kořene x̂ rovnice (2). Pak
0 = f (x̂) = f (xn ) + f 0 (xn )(x̂ − xn ) +
f 00 (ξ)
(x̂ − xn )2
2
(4)
Předpokládejme, že f 0 (xn ) 6= 0 a vydělme (3) f 0 (xn ). Osamostatněním x̂ vznikne
x̂ = xn −
f (xn )
f 00 (ξ)
2
−
K(x̂
−
x
)
pro
K
=
n
f 0 (xn )
2f 0 (xn )
(5)
V (4) zanedbáme poslední člen a x̂ nahradíme hodnotou xn+1 . Vznikne tento
předpis Newtonovy metody :
xn+1 = xn −
f (xn )
f 0 (xn )
Příklad 2.
f (x) ≡ e−2x + x − 3 = 0,
f 0 (x) = 1 − 2e−2x
e−2xn + xn − 3
x0 = −1, xn+1 = xn −
pro n = 0, 1, . . .
1 − 2e−2xn
n
0
1
2
3
4
5
6
xn
-1
-0,7540
-0,6589650106
-0,6471103830
-0,6469449337
-0,6469449022
-0,6469449022
10
(6)
Poznámka. Odečtením (5) od (4) vznikne
|x̂ − xn+1 | = |K|(x̂ − xn )2 , tj. |en+1 | ≤ |K||en |2
O metodě půlení intervalu víme, že pro odhad εk chyby ek = x̂ − sk platí
εn+1 ≤
1
εn
2
a pro metodu prosté iterace platí
|en+1 | ≤ α|en |,
kde α je koeficient kontrakce.
Definice. Řekneme, že iterační metoda je řádu r, jestliže odhady chyb splňují nerovnost
εn+1 ≤ Cεrn
pro všechna n a pro C nezávislé na n.
Tedy Newtonova metoda je řádu 2 a metoda půlení intervalu i metoda prosté
iterace jsou řádu 1. Metoda regula falsi je rovněž řádu 1.
5
Vektorové prostory
Libovolný vektor ~x ∈ Rn budeme považovat za sloupcový a budeme jej podrobněji značit


x1
 x2  >


~x =  .  = x1 x2 . . . xn
 .. 
xn
Vzhledem k dobře známým vlastnostem nulového vektoru ~o a operací sčítání
vektorů a násobení vektorů reálnými čísly lze vytvářet lineární kombinace vektorů.
Definice. Pro libovolná čísla c1 , c2 , . . . , ck ∈ R a vektory ~x1 , ~x2 , . . . , ~xk ∈ Rn
se výraz
c1 ~x1 + c2 ~x2 + . . . + ck ~xk
nazývá lineární kombinace vektorů ~x1 , ~x2 , . . . , ~xk s koeficienty c1 , c2 , . . . , ck .
Definice. Množinu všech lineárních kombinací vektorů ~x1 , ~x2 , . . . , ~xk budeme značit
L(~x1 , ~x2 , . . . , ~xk ).
11
Definice. Vektory ~x1 , ~x2 , . . . , ~xk se nazývají lineárně nezávislé, jestliže platí
c1 ~x1 + c2 ~x2 + . . . + ck ~xk = ~o
(7)
jen tehdy, když c1 = c2 = . . . = ck = 0.
Existují-li c1 , c2 , . . . , ck , ne všechna rovna nule, splňující (7), pak se vektory
~x1 , ~x2 , . . . , ~xk nazývají lineárně závislé.
1
−2
Příklad 1. Vektory ~x1 =
, ~x2 =
jsou lineárně závislé:
2
−4
c1 − 2c2
c − 2c2 = 0
c1 ~x1 + c2 ~x2 =
= ~o ⇐⇒ 1
⇐⇒ c1 = 2c2 .
2c1 − 4c2
2c1 − 4c2 = 0
1
−2
Vektory ~x1 =
, ~x2 =
jsou lineárně nezávislé:
2
0
c1 − 2c2
c − 2c2 = 0
1
2
c1 ~x + c2 ~x =
= ~o ⇐⇒ 1
⇐⇒ c1 = 0 = c2 .
2c1
2c1 = 0
Věta 1. Vektory ~x1 , ~x2 , . . . , ~xk jsou lineárně závislé právě když je jeden z
nich lineární kombinací ostatních.
Důkaz. ~x1 , ~x2 , . . . , ~xk lineárně závislé ⇐⇒ existují c1 , c2 , . . . , ck , ne všechna
rovna nule tak, že c1 ~x1 + . . . + ck ~xk = ~o (nechť například c1 6= 0) ⇐⇒ ~x1 =
− cc12 ~x2 − . . . − cck1 ~xk .
Definice. Neprázdná množina V ⊂ Rn se nazývá vektorový prostor, jestliže
~x ∈ V, a ∈ R
~x ∈ V, ~y ∈ V
=⇒ a~x ∈ V
=⇒ ~x + ~y ∈ V.
Příklad 2. Množina L(~x1 , ~x2 , . . . , ~xk ) je vektorový prostor pro libovolné
vektory ~x1 , ~x2 , . . . , ~xk .
Důkaz cvičení.
Definice. Vektory ~x1 , ~x2 , . . . , ~xk z vektorového prostoru V tvoří bazi ve V ,
jestliže platí
a) ~x1 , ~x2 , . . . , ~xk jsou lineárně nezávislé
b) ~x1 , ~x2 , . . . , ~xk , ~x jsou lineárně závislé pro všechna ~x ∈ V .
Dimenze vektorového prostoru je počet vektorů v jeho libovolné bazi.
12
Definice. Podmnožina W vektorového prostoru V se nazývá podprostor ve
V , je-li W vektorový prostor.
Poznámka. Libovolnou matici A typu (n, k) lze považovat za vektor s n · k
složkami. Jsou-li A, B matice téhož typu a α ∈ R, pak
αA = (αaij )
a
A + B = (aij + bij )
Tedy množina všech matic téhož typu je vektorový prostor.


horní trojúhelníková 





dolní trojúhelníková
Definice. Čtvercová matice A se nazývá
, když
diagonální






symetrická


a
=
0
pro
všechna
i
>
j


ij




aij = 0 pro všechna i < j
. Symbol diag(a11 , a22 , . . . , ann ) značí diagoaij = 0 pro všechna i 6= j 





aij = aji pro všechna i, j
nální matici A.


horních trojúhelníkových 





dolních trojúhelníkových
matic řádu n
Příklad 3. Množina všech
diagonálních






symetrických
tvoří vektorový prostor. Je to podprostor v prostoru všech matic řádu n.
Definice. Jednotkovou matici E a nulovou matici O lze definovat předpisem
E = diag(1, 1, . . . , 1)
a O = diag(0, 0, . . . , 0).
Definice. Čtvercová matice A se nazývá regulární, když detA 6= 0. Jinak se
A nazývá singulární.
Definice. Jsou-li matice A typu (m, n) a matice B typu (n, k), pak matice
C = A · B je typu (m, k) a pro její prvky platí cij = ai1 b1j + . . . + ain bnj pro
všechna i, j = 1, . . . , n.
Poznámka. Pro libovolnou čtvercovou matici A platí A + O = A a AE =
EA = A. Pro libovolný vektor ~x platí E~x = ~x.
Věta 2.
a) Ke každé regulární matici A existuje jediná matice A−1 tak, že A A−1 =
A−1 A = E. Pak se matice A−1 nazývá inverzní k matici A.
b) Jsou-li A, B regulární matice téhož řádu, pak AB je regulární a platí
(AB)−1 = B −1 A−1 .
13
Definice. Matici A typu (m, n) lze považovat za soubor vektorů ~a1 , . . . , ~an
z Rm (sloupcových vektorů A) a značit A = [~a1 , . . . , ~an ]. Dimenze vektorového
prostoru L(~a1 , . . . , ~an ) se nazývá hodnost matice A a značí se h(A).
6
Normy matic a vektorů
Definice. Předpis, který k libovolné matici A přiřadí reálné číslo kAk se
nazývá norma matic, platí-li
N1 kAk ≥ 0 a kAk = 0 ⇐⇒ A = 0
N2 kαAk = |α|kAk
N3 kA + Bk ≤ kAk + kBk
N4 kA · Bk ≤ kAk · kBk
Věta 1. Každý předpis, který k libovolné matici A typu (m, n) přiřadí číslo
Pn
a) kAkr = max1≤i≤m j=1 |aij |,
Pm
b) kAks = max1≤j≤n i=1 |aij |,
qP
m Pn
2
c) kAke =
i=1
j=1 |aij |
je norma. Tyto předpisy se postupně nazývají řádková, sloupcová a euklidovská
norma.
Poznámka. Libovolný vektor ~x ∈ Rn je matice typu (n, 1). Každé zobrazení
x 7−→ kxk z Rn do R s vlastnostmi N1, N2, N3 se nazývá norma vektorů. Podle
Věty 1 jsou předpisy
v
u n
n
X
uX
x2i
k~xkr = max |xi |, k~xks =
|xi |, k~xke = t
1≤i≤n
i=1
i=1
normy vektorů.
Věta 2. Nechť A je řádu n a ~x ∈ Rn . Pak pro Q = r, s, e platí
kA~xkQ ≤ kAkQ k~xkQ .
Tato nerovnost se nazývá podmínka konzistence.
Definice. Skalární součin vektorů ~x, ~y ∈ Rn je číslo
(~x, ~y ) = ~x> ~y = x1 y1 + . . . + xn yn .
Věta 3. Skalární součin má vlastnosti
14
S1 (~x, ~x) ≥ 0 a (~x, ~x) = 0 ⇐⇒ ~x = ~o
S2 (~x, ~y ) = (~y , ~x)
S3 (α~x, ~y ) = α(~y , ~x)
S4 (~x, ~y + ~z) = (~x, ~y ) + (~x, ~z)
a platí:
(~x, ~x) = kxk2e ,
|(~x, ~y )| ≤ kxke · kyke
(Cauchyova nerovnost)
Důkaz Cauchyovy nerovnosti: Pro všechna reálná čísla λ platí
0
7
≤
⇐⇒
⇐⇒
(~x + λ~y , ~x + λ~y ) = (~x, ~x) + 2λ(~x, ~y ) + λ2 (~y , ~y )
4(~x, ~y )2 − 4(~x, ~x)(~y , ~y ) ≤ 0 ⇐⇒ (~x, ~y )2 ≤ (~x, ~x)(~y , ~y )
|(~x, ~y )| ≤ kxke · kyke
Finitní metody řešení systémů lineárních algebraických rovnic
A~x = ~b
(8)
Předpoklad: Matice A je regulární (a tedy i čtvercová).
Poznámka. Úloha (8) má jediné řešení x̂. Numerický výpočet poskytne vždy
jen aproximaci ~x vektoru x̂. Numerické metody řešení úlohy (8) jsou v podstatě
dvojího typu:
a) finitní (přímé), které (teoreticky) přesným provedením předepsaného konečného počtu operací poskytnou přesné řešení x̂.
b) iterační.
Gaussova eliminační metoda (GEM)
je založena na tom, že řešení soustavy (9), v níž uii 6= 0 pro i = 1, . . . , n, je
velmi rychlé.
u11 x1 + u12 x2 + . . . + u1n xn = d1
..
.
un−1n−1 xn−1 + un−1n xn = dn−1
unn xn = dn
15
(9)
Poznámka. Lze snadno ověřit, že počet operací násobení a dělení (i sčítání
a odčítání) při řešení tohoto systému n rovnic s horní trojúhelníkovou maticí je
2
přibližně n2 .
GEM má dvě části:
1. Přímý chod. Převedení dané soustavy na soustavu s horní trojúhelníkovou
maticí opakováním ekvivalentní úpravy ”přičtení násobku jedné rovnice k
rovnici jiné”.
2. Zpětný chod. Řešení soustavy s horní trojúhelníkovou maticí.
Příklad 1. Převeďte daný systém rovnic na soustavu s horní trojúhelníkovou maticí.
16
1 x1 + 4x2 + 3x3
1. fáze 2x1 + 5x2 + 4x3
x1 − 3x2 − 2x3
2. fáze
= 1
= 4 m21 = −2
= 5 m31 = −1
-3 x2 − 2x3
= 2
− 7x2 − 5x3
=
− 13 x3
m32 = −
4
= −
7
3
2
3
Výsledný systém rovnic s horní trojúhelníkovou maticí tvoří právě rovnice, v
nichž jsou koeficienty v rámečku.
Poznámka. Počet násobení a dělení i počet sčítání a odčítání v přímém chodu
3
GEM je až na násobky nižších mocnin roven n3 .
Definice. Hlavní prvek (k-té fáze) je prvek, který je ve jmenovateli multiplikátorů z k-té fáze a kterým se dělí ve zpětném chodu při výpočtu xk .
Definice. Nechť A je matice řádu n a k ∈ {1, 2, . . . , n}. Označme A(k)
matici, vytvořenou z průsečíků prvních k řádků a k sloupců matice A. Tedy
a11 a12
(1)
(2)
A = [a11 ] , A =
, . . . , A(n) = A.
a21 a22
Věta 1. Systém rovnic A~x = ~b je řešitelný GEM právě tehdy, když det A(k) 6=
0 pro k = 1, . . . , n.
Příklad 2. Níže uvedený systém rovnic řešte GEM. Zaokrouhlujte na 4
platné číslice.
x1 + x2 + x3
=
1
0.0001x2 + x3
=
1
x2 + x3
−9999x3
Tedy x̂3 =
10000
9999
m32 = −
1
= −10000
0.0001
= 0
= −10000
= 1.0001000 =⇒ x3 = 1 a odtud plyne


 
1
0
 ~x =  0  .
x̂ =  − 10000
9999
10000
1
9999
Zdůvodnění podstatného rozdílu mezi x̂ a ~x : Při výpočtu x3 vznikla zaokrouhlo1
vací chyba 9999
. Při výpočtu x2 se tato chyba zvětšila 10000 krát na 10000
9999 . Důvodem tohoto nárůstu je fakt, že hodnota hlavního prvku druhé fáze je 0.0001 1.
17
GEM s částečným a úplným výběrem hlavních prvků
A) Částečný výběr: V k-té fázi se za hlavní prvek vybere v absolutní hodnotě
největší číslo z k-tého sloupce, ležící v nebo pod hlavní diagonálou.
B) Úplný výběr: V k-té fázi se za hlavní prvek vybere v absolutní hodnotě
největší číslo s řádkovým i sloupcovým indexem mezi k a n.
7.1
LU-rozklad matice
Definice. Nechť A je čtvercová matice řádu n. Dolní trojúhelníková matice L s
jednotkami v hlavní diagonále a horní trojúhelníková matice U tvoří LU-rozklad
matice A, jestliže A = LU .




a11 a12 a13
1

Příklad 3. Nechť A =  a21 a22 a23 , M1 =  m21 1
a31 a32 a33
m31
1


1
 . Pak M1 A =
1
a M2 = 
m32 1


 
a11 a12 a13
a11
a12
a13
(1)
(1) 
 m21 a11 + a21 m21 a12 + a22 m21 a13 + a23  = 
a22 a23  a

(1)
(1)
m31 a11 + a31 m31 a12 + a32 m31 a13 + a33
a32 a33

 

a11
a12
a13
a11 a12 a13

 
(1)
(1)
(1)
(1) 
a22
a23
a22 a23  = U.
M2 (M1 A) = 
=
(1)
(1)
(1) (1)
(2)
m32 a22 + a32 m32 a23 a33
a33
Horní trojúhelníková matice M2 (M1 A) = U je výsledkem přímého chodu GEM.
Násobíme-li obě strany této maticové rovnice zleva postupně maticemi M2−1 a
M1−1 , vznikne
A = (M1−1 M2−1 ) = LU.
Lze snadno ověřit, že

M1−1
1
=  −m21
−m31


 , M2−1 = 
1
1

1
1
−m32

a tedy M2−1 M1−1
1
=  −m21
−m31

1

1
−m32
=L
1
je horní trojúhelníková matice, takže L, U tvoří LU-rozklad matice A. Je zřejmé,
že tento rozklad je produktem přímého chodu GEM. Matice L je sestavena z
multiplikátorů přímého chodu a matice U je výsledkem přímého chodu.
18
Je zřejmé, že stejná tvrzení platí i pro matice jiných řádů, než 3.
Příklad 4. Matice

1 4
 2 5
1 −3
soustavy rovnic z příkladu 1 má tento LU-rozklad:
 

 
1 4
3
1
3
·
−3 2  .
4 = 2 1
−2
− 31
1 37 1
Věta 2. Nechť A je matice řádu n splňující det A(k) 6= 0 pro k = 1, . . . , n−1.
Pak A = LU , kde



L=

7.2


1
−m21
..
.
1
..
.
−mn1
−mn2
...
... 1
a11


U =



,

a12
(1)
a22
...
...
...
a1n
(1)
a2n
..
.



.

(n−1)
ann
Výpočet matice inverzní
Předpokládejme, že matice A je regulární řádu n. Je dobře známo, že matice X
je inverzní k A, když
AX = E.
(10)
Označíme-li matice X, E pomocí sloupcových vektorů, tj. X = [~x1 , . . . , ~xn ],
E = [~e1 , . . . , ~en ], pak (10) ⇐⇒ (11), kde
A~xj = ~ej
pro
j = 1, . . . , n,
(11)
což je soustava n systémů rovnic se stejnou maticí A. Všechny systémy rovnic
této soustavy lze řešit současně.


1 4
3
4 .
Příklad 5. Určete matici, inverzní k A =  2 5
1 −3 −2
1
2
1
4
5
-3
−3
-7
3
4
-2
-2
-5
− 31
1
0
0
-2
-1
11
3
0
1
0
1
0
− 37
0
0
1
0
1
1
Použitím tří zpětných chodů získáme sloupcové vektory






2
−1
1
~x1 =  8  , ~x2 =  −5  , ~x3 =  2  a tedy
−11
7
−3
19

A−1

2
−1 1
−5 2  .
= 8
−11 7 −3
Poznámka. Lze ověřit, že algoritmus výpočtu inverzní matice potřebuje zhruba
n3 operací násobení a dělení a zhruba stejný počet operací sčítání a odčítání.
7.3
Číslo podmíněnosti matice
Nyní se budeme zabývat otázkou závislosti chyby řešení systému rovnic (8), tj.
Ax̂ = b̂, na chybě vektoru ~b pravých stran za teoretického předpokladu, že při
řešení jsou všechny aritmetické operace prováděny přesně. Označíme
~b aproximaci přesného řešení
~x přesné řešení soustavy (8)
b̂ = ~b + ~eb
x̂ přesné řešení soustavy Ax̂ = b̂
x̂ = ~x + ~ex
Symbolem k · k bude v následující úvaze značena libovolná norma matic a s ní
konzistentní norma vektorů.
~b + ~ex =⇒
A~x + A~ex = ~b + ~ex =⇒ podle (8)
A~ex = ~eb =⇒ ~ex = A−1~eb =⇒
k~ex k ≤ kA−1 k k~eb k.
A(~x + ~ex )
=
Tato nerovnost a nerovnost k~bk ≤ kAk k~xk, která je důsledkem (8), implikují
k~ex k k~bk ≤ kAk kA−1 k k~eb kk~xk
a odtud po vydělení obou stran výrazem k~bk k~xk vznikne nerovnost
k~eb k
k~ex k
≤ kAk kA−1 k
.
k~xk
k~bk
(12)
Je zřejmé, že levá strana této nerovnosti odpovídá relativní chybě vektoru řešení
a pravá strana odpovídá relativní chybě vektoru pravých stran, vynásobené
koeficientem
condA = kAk kA−1 k,
který se nazývá číslo podmíněnosti matice A. Je-li číslo podmíněnosti matice A
velké [malé], nazývá se A dobře [špatně] podmíněná.
Příklad 1. Pro systém rovnic
x1 + 0, 7x2
0, 7x1 + 0, 5x2
20
= 1, 69
= 1, 21
1 0, 7
1, 69
1, 7
, b̂ =
a položme ~b =
. Současným
0, 7 0, 5
1, 21
1, 2
řešením systémů rovnic Ax̂ = b̂ a A~x = ~b lze snadno zjistit, že
−0.2
1
−1, 2
x̂ =
a ~x =
a tedy ~ex =
.
2.7
1
1, 7
50 −70
−1
Protože A =
, platí pro řádkovou normu matic a vektorů
−70 100
označme A =
k~ex k = 1, 7, k~xk = 1, kAk = 1, 7,
kA−1 k = 170, k~eb k = 0, 01 a k~bk = 1, 7.
Dosazením těchto hodnot do nerovnosti (12) vznikne
0, 01
1, 7
≤ 170 · 1, 7
,
1
1, 7
takže v tomto případě je nerovnost (12) splněna rovností. Příklad ukazuje, že
horní odhad relativní chyby vektoru řeešení v (12) není zbytečně příliš velký.
7.4
Speciální matice soustavy
(A) Pozitivně definitní matice
Definice. Matice A řádu n se nazývá pozitivně definitní, je-li
a) symetrická a
b) platí-li
~x> A~x =
n
n X
X
aij xi xj > 0
pro všechna ~x 6= ~o.
i=1 j=1
Věta 3. Symetrická matice A řádu n je pozitivně definitní právě když jsou
(1)
(n−1)
všechny hlavní prvky a11 , a22 , . . . , ann
z GEM kladné.
Věta 4. Je-li matice A symetrická, pak je symetrická i matice
 (k)

(k)
ak+1,k+1 . . . ak+1,n


..
..

Ak = 
.
.


(k)
(k)
an,k+1
. . . an,n
pro k = 1, . . . , n − 1.
Důsledek. Je-li v úloze (8) matice A pozitivně definitní, lze (8) řešit GEM a
v přímém chodu počítat jen prvky v a nad hlavní diagonálou. Čas i nároky na
operační paměť se redukují v podstatě na polovinu.
21
Věta 5. Je-li matice A pozitivně definitní, pak existuje jediná horní trojúhelníková matice U s kladnými prvky v hlavní diagonále taková, že A = U > U .
Poznámka. Je-li známá matice U z Věty 5, lze místo soustavy rovnic A~x = ~b
řešit dvě soustavy U > ~y = ~b a potom U~x = ~y . Algoritmus pro získání matice


u11 u12 . . . u1n

u22 . . . u2n 


U =
.. 

...
. 
unn
je touto modifikací přímého chodu GEM:
√
1. u11 = a11 a pro j = 2, . . . , n:
u1j = a1j /u11
q
Pi−1
aii − r=1 u2ri a pro j = i + 1, . . . , n:
!
i−1
X
uij = aij −
usi usj /uii
2. Pro i = 2, . . . , n − 1: uii =
s=1
3. unn =
q
ann −
Pn−1
r=1
u2rn
Tato metoda se nazývá Choleského metoda nebo odmocninová metoda a je velmi
populární. Je časově stejně náročná jako metoda využívající vět 3, 4.
(B) Pásové matice
Definice. Matice A řádu n se nazývá pásová, existují-li p, q ≥ 0:
j > i + p =⇒ aij = 0 a
i > j + q =⇒ aij = 0 pro i, j = 1, . . . , n.
Číslo s = p + q + 1 se nazývá šířka pásu matice A. Při LU-rozkladu matice A
se pásovost zachovává.
Poznámka. Důležitou roli hrají tzv. třídiagonální matice. Jsou
matice, pro něž p = 1 = q a jejich LU-rozklad má tvar


a1 c1
 b2 a2

c2


=
.
.
.
A = 



bn−1 an−1 cn−1 
bn
an

 
1
α1 c1
 β2 1
 
α2 c2

 
·
.
.
.
.
..
= 

 

 
βn−1 1
αn−1 cn−1
βn 1
αn
22
to pásové



 = LU.


Porovnáním prvků matice A a součinu LU vzniknou tyto rovnice:
a1 = α1
a bk = βk αk−1 , ak = βk ck−1 + αk pro k = 2, . . . , n.
Užitím těchto rovnic lze spočítat prvky matic L a U tímto algoritmem:
α1 := a1 ;
for k := 2 to n do
begin
βk = bk /αk−1 ;
αk = ak − βk ck−1
end;
Systém rovnic A~x = d~ lze pak řešit pomocí dvou zpětných chodů
L~y = d~ a potom
U~x = ~y .
Tento algoritmus řešení lze pomocá fragmentu programu v jazyku Pascal zapsat
takto:
y1 := d1 ;
for k := 2 to n do
yk = dk − βk yk−1 ;
for k := n − 1 downto 1 do
xk = (yk − ck xk+1 )/αk ;
Z uvedených popisů algoritmů je patrné, že pro řešení systémů n rovnic pro n
neznámých s třídiagonální maticí je třeba 5n − 5 (přibližně 5n) operací násobení
a dělení a 3n−3 (přibližně 3n) operací sčítání a odčítání. Porovnání těchto počtů
3
s číslem n3 vede k závěru, že řešení systémů rovnic s třídiagonálními maticemi
je velmi efektivní.
Definice. Čtvercová matice se nazývá řídká, je-li většina jejích prvků rovna
nule.
8
Vlastní čísla a vlastní vektory matic
Definice. Nechť A je matice řádu n. Jestliže pro číslo λ (obecně komplexní) a
vektor ~u 6= ~o platí
A~u = λ~u,
(13)
pak se λ nazývá vlastní číslo matice A a vektor ~u se nazývá vlastní vektor matice
A, příslušný vlastnímu číslu λ.
23
Poznámka. Rovnici (13) lze psát ve tvaru
(A − λE)~u = ~o,
(14)
což je homogenní soustava n lineárních rovnic pro n neznámých. (14) má nenulové řešení právě když
det(A − λE) = 0.
(15)
Tato charakteristická rovnice matice A je polynomem n-tého stupně v λ. Tedy
esistuje právě n (reálných či komplexních, případně násobných) vlastních čísel
A. Pak
%(A) = max{|λ|; λ je vlastn slo matice A}
(16)
se nazývá spektrální poloměr matice A.
Poznámka. Je-li známé vlastní číslo λ, pak příslušný vlastní vektor je každé
nenulové řešení soustavy (14). Naopak, je-li známý vektor ~u, pak z (13) plyne
~u> A~u = λ~u> ~u = λk~uk2E . Odtud plyne, že
λ=
~u> A~u
.
k~uk2E
Toto vyjádření vlastního čísla λ se nazývá Rayleighův podíl.
Věta 1. Jestliže A~u = λ~u pro ~u 6= 0, c 6= 0 je reálné číslo a k = 2, 3, . . .,
pak platí
(a) A(c~u) = λ(c~u)
(b) (A − cE)~u = (λ − c)~u
(c) Ak ~u = λk ~u
(d) A−1 ~u = λ1 ~u pro regulární matici A.
Věta 2. Nechť matice A je symetrická. Pak
(a) všechna vlastní čísla matice A jsou reálná,
(b) vlastní vektory matice A, příslušné vzájemně různým vlastním číslům,
jsou vzájemně kolmé a
(c) je-li A norma matic, konzistentní s odpovídající normou vektorů, pak
%(A) ≤ kAk.
Důkaz (b): Nechť λ 6= µ, ~u je vlastní vektor příslušný λ a ~v je vlastní vektor
příslušný µ. Pak platí A~u = λ~u a A~v = µ~v a odtud plyne
~v > A~u
~u> A>~v
~u> A~v
~u> µ~v
µ~u>~v
~u> · ~v
=
=
=
=
=
=
λ~v > ~u |>
λ~u>~v
λ~u>~v
λ~u>~v
λ~u>~v
0, nebo λ 6= µ
24
Důkaz (c): Zvolme vlastní číslo λ tak, aby |λ| = %(A). Pak
kAk k~uk ≥ kA~uk = kλ~uk = |λ|k~uk = %(A)k~uk.
Definice. Soustava vektorů ~u1 , . . . , ~uk se nazývá ortogonální, když
i 6= j =⇒ (~ui , ~uj ) = 0.
Poznámka. Každá ortogonální soustava vektorů je lineárně nezávislá: Jsou-li
~u1 , . . . , ~uk ortogonální, pak
c1 ~u1 + . . . + ck ~uk = ~o | · ~ui
c1 (~u1 , ~ui ) + . . . + ck (~uk , ~ui ) = (~o, ~ui )
ci (~ui , ~ui ) = (~o, ~ui )
ci = 0
pro i = 1, . . . , k.
Věta 3. Ke každé symetrické matici A řádu n lze najít ortogonální soustava
n vlastních vektorů. Tyto vektory tedy tvoří bazi v Rn .
8.1
Mocninná metoda
Základní varianta této metody najde aproximaci v absolutní hodnotě největšího
vlastního čísla a příslušného vlastního vektoru dané matice A řádu n.
PŘEDPOKLADY:
1. Matice A je symetrická
2. Vlastní čísla matice A lze očíslovat λ1 , λ2 , . . . , λn tak, že |λ1 | > |λ2 | ≥
. . . ≥ |λn |
Označíme ~ui vlastní vektor příslušný vlastnímu číslu λi tak, že ~u1 , . . . , ~un tvoří
ortogonální soustavu a k~ui k = 1 pro i = 1, . . . , n.
PRINCIP MOCNINNÉ METODY: Vektor ~z0 se zvolí a postupně se počítají
vektory
~z1 = A~z0 , ~z2 = A~z1 , . . . , ~zk = A~zk−1 , . . .
Tedy pro k = 1, 2, . . . platí ~zk = Ak ~z0 a protože vektory ~u1 , . . . , ~un tvoří bazi v
Rn , existují koeficienty c1 , c2 , . . . , cn :
~z0
~zk = Ak ~z0
= c1 ~u1 + c2 ~u2 + . . . + cn ~un Pak
= c1 Ak ~u1 + c2 Ak ~u2 + . . . + cn Ak ~un
= c1 λk1 ~u1 + c2 λk2 ~u2 + . . . + cn λkn ~un
k
k !
λn
λ2
k
1
2
= λ1 c1 ~u + c2
~u + . . . + cn
~un
λ1
λ1
25
Tedy
.
~zk = λk1 c1 ~u1
pro dostatečně velká k, neboť
k
k
λn
λ2
−→ 0, . . . ,
−→ 0
λ1
λ1
(17)
pro
k −→ ∞.
Tedy vektor ~zk je, jako násobek vlastního vektoru ~u1 , aproximací vlastního
vektoru, příslušného vlastnímu číslu λ1 . Pak Rayleighův podíl
σk =
~zk T A~zk .
= λ1 .
k~zk k2E
(18)
podle poznámky.
Z předchozí úvahy je patrné, že
(A) vektor ~z0 je třeba volit tak, aby koeficient c0 byl co největší. V nejhorším
případě, kdy c0 = 0, platí
~z0 ⊥ ~u1 −→ ~zk ⊥ ~u1
pro k = 1, 2, . . ., takže ~zk 6−→ ~u1 . Při praktickém výpočtu sice vlivem zaokrouhlovacích chyb zpravidla ~zk −→ ~u1 , ale konvergence je velmi pomalá.
(B) Z (17) plyne, že
|λ1 | > 1
|λ1 | < 1
=⇒ k~zk k −→ ∞ pro k −→ ∞
=⇒ k~zk k −→ 0 pro k −→ ∞
Tyto implikace naznačují, že při tomto výpočtu pro velké hodnoty k vzniká
nebezpečí přetečení v prvním případě a podtečení ve druhém případě. I
když tyto extrémy nenastanou, vede práce s extrémně velkými případně
extrémně malými hodnotami ke ztrátě přesnosti.
Důsledky: Z (A) plyne, že vektor ~z0 je třeba zvolit tak, aby jeho směr byl co
nejblíže směru vektoru ~u1 . Nebezpečí signalizované úvahou (B) bude odstraněno
touto úpravou výpočtu: Každý nově vypočtený vektor ~zk se normalizuje: Položí
se
1
~y k = c~zk tak, aby k~y k kE = |c|k~zk kE = 1, tj. c = k .
kz kE
KRITÉRIUM PRO UKONČENÍ: Zvolí se ε > 0 a výpočet se ukončí, jakmile
|σk − σk−1 | ≤ ε.
ALGORITMUS MOCNINNÉ METODY:
Nechť jsou dány symetrická matice A, vektor ~z0 a malé kladné číslo ε.
26
1. ~y 0 =
1
z0
k~
z 0 kE ~
(normalizace)
~z1 = A~y 0 , σ0 = (~y 0 , ~z1 )
2. Pro k = 1, 2, . . .
~y k =
1
~zk
k~
z k kE
(normalizace)
~zk+1 = A~y k , σk = (~y k , ~zk+1 ), dokud |σk − σk−1 | > ε.
3. Je-li |σk − σk−1 | ≤ ε, pak ~y =
1
~zk+1
k~
z k+1 kE
Výstup σk (aproximace λ1 ) a ~y (aproximace ~u1 )
Příklad 1. Aproximujte v absolutní hodnotě největší vlastní číslo matice
−4 1
A=
1 2
a příslušný vlastní vektor. Položte ~z0 = [−1, 0]> a ε = 0.5 · 10−3 .
k
0
1
2
6
7
y1k
-1
0,97014
-0,99315
..
.
y2k
0
-0,24254
0,11684
-0,98759
0,98682
0,15703
-0,16182
z1k
-1
4
4,12310
-4,11060
z2k
0
-1
0,48506
σk
-4
-4,11763
-4,15016
0,65361
-4,15906
-4,16138
-4,16208
-4,16220
.
.
Tedy λ1 = −4, 16220 a ~u1 = [0, 98682, −0, 16182]> . Pro srovnání jsou přesné
hodnoty
λ1 = −4, 16227766,
~u1 = [0, 987087, −0, 16018224]> .
I z výsledku tohoto příkladu je patrná známá skutečnost, že hodnota vlastního
čísla je zpravidla aproximována přesněji, než souřadnice příslušného vlastního
vektoru.
Poznámka. Mocninné metody lze použít i pro aproximaci v absolutní hodnotě nejmenšího vlastního čísla a příslušného vlastního vektoru takto:
Podle Věty 1(d) má matice A−1 vlastní čísla
1 1
1
, ,...,
λ1 λ2
λn
27
a příslušné vlastní vektory ~u1 , ~u2 , . . . , ~un . Vzhledem k PŘEDPOKLADU 2 platí
1
| < | λ1n |, pak matice A−1 splňuje PŘEDP.
| λ11 | ≤ | λ12 | ≤ . . . ≤ | λ1n |. Jestliže | λn−1
.
1,2 a aplikace mocninné metody na matici A−1 poskytne aproximace σk = λ1n
.
a ~y = ~un .
Při aplikaci mocninné metody na matici A−1 se počítá
~zi+1 = A−1 ~y i
pro
i = 0, 1, . . .
(19)
Aby nebylo nutno počítat matici A−1 , je místo (19) vhodnější řešit systém rovnic
A~zi+1 = ~y i
pro
i = 0, 1, . . .
Zde se opakovaně řeší systémy rovnic s touž maticí A. Je výhodné poprvé najít
LU-rozklad matice A a potom, pro i = 1, 2, . . ., řešit úlohu LU~zi+1 = ~y i pomocí
dvou zpětných chodů.
9
Iterační metody řešení systémů lineárních algebraických rovnic
Budeme se opět zabývat řešením úlohy (8)
A~x = ~b
za předpokladu, že matice A řádu n je pozitivně definitní, tj. že A je symetrická
a ~x> A~x > 0 pro všechna ~x 6= ~o. Označme x̂ přesné řešení úlohy (8).
Věta 1. Všechna vlastní čísla pozitivně definitní matice A jsou kladná.
Důkaz. A~u = λ~u a ~u 6= ~o =⇒ λ =
~
u> A~
u
k~
uk2E
> 0.
Úmluva. Vlastní čísla matice A označíme λ1 , λ2 , . . . , λn tak, aby 0 < λ1 ≤
λ2 ≤ . . . ≤ λn a odpovídající vlastní vektory ~u1 , ~u2 , . . . , ~un zvolíme tak, aby
tvořily ortogonální soustavu a aby k~ui kE = 1 pro i = 1, 2, . . . , n.
Definice. Položíme
J(~x) =
1 >
~x A~x − ~x>~b.
2
Věta 2. (Hlavní věta) Je-li matice A pozitivně definitní, pak platí tato
tvrzení (a), (b), (c):
(a) J(x̂) = − 12 x̂> Ax̂.
(b) J(~x) = 12 (~x − x̂)> A(~x − x̂) + J(x̂).
(c) J(x̂) < J(~x) pro všechna ~x 6= x̂.
28
Důkaz (a): J(x̂) = 12 x̂> Ax̂ − x̂> Ax̂ = − 21 x̂> Ax̂.
Důkaz (b): J(~x) = 21 ~x> A~x − ~x> Ax̂
=
=
=
1 >
1
~x A(~x − x̂) − ~x> Ax̂
2
2
1 >
1
1
~x A(~x − x̂) − (~x − x̂)> Ax̂ − x̂> Ax̂
2
2
2
1
>
(~x − x̂) A(~x − x̂) + J(x̂).
2
Důkaz (c): Tvrzení (c) plyne ihned z (b) a z pozitivní definitnosti matice
A.
Definice. Nechť A je matice řádu n a p ∈ {1, 2, . . . , n}. Symbolem ~ap označíme p-tý řádkový vektor matice A.
Věta 3. Pro libovolnou čtvercovou matici A platí grad J(~x) = A~x − ~b.
Důkaz. Lze snadno ověřit, že pro libovolný index p ∈ {1, 2, . . . , n} jsou
všechny sčítance v J(~x), obsahující symbol xp , právě
X
1 2
xp app + xp
apj xj − xp bp .
2
(20)
j6=p
Tedy derivací J(~x) podle xp vznikne
X
app xp +
apj xj − bp = ~ap ~x − bp .
(21)
j6=p
9.1
Jacobiova metoda
pro danou k-tou aproximaci ~xk a pro každý index p ∈ {1, 2, . . . , n} hledá novou
hodnotu xk+1
jako tu hodnotu y, pro niž výraz
p
Jpk = J(xk1 , . . . , xkp−1 , y, xkp+1 , . . . , xkn )
nabývá svého minima. Z nutné podmínky pro minimum ∂J
∂y = 0 a ze vztahů
:
(20), (21) lze snadno odvodit tento vztah pro novou hodnotu xk+1
p

xk+1
=
p
1 
bp −
app

X
apj xkj 
j6=p
29
pro
p = 1, 2, . . . , n
(22)

  1 
2 −1 0
x1
3
Příklad 1. Systém rovnic  −1 2 −1   x2  =  1  řešte Ja0 −1 2
x3
− 31
cobiovou metodou.
1
1
k+1
k
x1
=
x2 +
2
3
1 k
k+1
x1 + xk3 + 1
x2
=
2
1
1
k+1
k
x3
=
x2 −
2
3

Průběh výpočtu je zaznamenán v následující tabulce. Výpočet skončil po 26
krocích, jakmile ~xk+1 = ~xk .
k
0
1
2
..
.
xk1
0
0,1667
0,4167
..
.
xk2
0
0,5
0,5
..
.
xk3
0
-0,1667
0,0833
..
.
25
26
0,6666
0,6666
0,9999
0,9999
0,3333
0,3333
Tato situace nemusí vždy nastat. Pro ukončení výpočtu se doporučuje toto
kriterium: Zvolí se číslo ε > 0 a výpočet se ukončí, jakmile k~xk+1 − ~xk k < ε.
Zde k · k je některá norma vektorů.
Poznámka. Jacobiova metoda konverguje pro každou počáteční aproximaci
~x0 , je-li matice A pozitivně definitní.
Maticový zápis obecného předpisu (22) pro řešení úlohy (8) Jacobiovou metodou je
~
~xk+1 = C~xk + d,

0
 − a21
 a22
C=
..

.
n1
− aann
− aa12
11
0
n2
− aann
. . . − aa1n
11
. . . − aa2n
22
..
.
...
0
kde








a d~ = 

b1
a11
b2
a22
..
.





bn
ann
Definice. Matice A řádu n se nazývá silně diagonálně dominantní, když
X
|aii | >
|aij | pro i = 1, 2, . . . , n.
j6=i
30
Věta 4. Je-li matice A silně diagonálně dominantní, pak Jacobiova metoda
pro řešení A~x = ~b konverguje pro každou počáteční aproximaci ~x0 .
Důkaz. A~x = ~b ⇐⇒ ~x = C~x + d~ ≡ F ~x a platí
kCkR = max
1≤i≤n
X |aij |
j6=i
|aii |
< 1.
Pak pro libovolné vektory ~x, ~y ∈ Rn platí
kF ~x − F ~y kR = kC(~x − ~y )kR ≤ kCkR k~x − ~y kR .
Tedy F je kontrakce v Rn s koeficientem kCkR < 1. Tedy Jacobiova metoda
konverguje podle Věty o kontrakci.
9.2
Gaussova-Seidelova metoda
Nechť jsou známy k-tá iterace ~xk a z (k+1)-té iterace souřadnice xk+1
, . . . , xk+1
1
p−1 .
k+1
k+1
Pak hledáme p-tou komponentu xp vektoru ~x
jako tu hodnotu y, pro niž
je výraz
k
k
J˜pk (y) = J(xk+1
, . . . , xk+1
1
p−1 , y, xp+1 , . . . , xn )
minimální. Podobně jako v (22) lze užitím vztahů (20), (21) ukázat, že nutná
˜
podmínka ∂∂yJ = 0 pro minimum J˜ poskytne hodnotu
xk+1
p


X
X
1 
bp −
apj xk+1
−
=
apj xkj 
j
app
j<p
j>p
(23)
Poznámka. Gaussova-Seidelova metoda konverguje pro všechny nulté aproximace ~x0 , je-li matice A pozitivně definitní. V těchto případech konverguje
rychleji, než metoda Jacobiova.
Příklad 2. Úlohu z př.1 řešte metodou Gaussovou-Seidelovou.
1
1
k+1
k
x2 +
x1
=
2
3
1 k+1
x1 + xk3 + 1
xk+1
=
2
2
1
1
k+1
k+1
x2 −
x3
=
2
3
Průběh výpočtu je zaznamenán v následující tabulce. Výpočet skončil po 15
31
krocích, jakmile ~xk+1 = ~xk .
9.3
k
0
1
2
..
.
xk1
0
0,1667
0,4583
..
.
xk2
0
0,5833
0,7917
..
.
xk3
0
0,1250
0,2290
..
.
14
15
0,6666
0,6666
1,0000
1,0000
0,3333
0,3333
Relaxační metoda
je definována relací
xk+1
p


X
X
ω
bp −
= xkp +
apj xk+1
−
apj xkj 
j
app
j<p
(24)
j≥p
Poznámka. Pro konvergenci relaxační metody je nutné, aby ω ∈ (0, 2). Je-li
ω > 1, mluvíme o superrelaxaci a v případě ω < 1 se metoda nazývá subrelaxace.
Rychlost konvergence je velmi citlivá na volbu parametru ω.
Příklad 3. Úlohu z př.1 řešte relaxační metodou s parametrem ω = 1, 2.
1 k 1
k+1
k
k
x1
= x1 + 1, 2 −x1 + x2 +
2
6
1 k+1
1 k 1
k+1
k
k
x2
= x2 + 1, 2
x
− x2 + x3 +
2 1
2
2
1 k+1
1
xk+1
= xk3 + 1, 2
x
− xk3 −
3
2 2
6
Průběh výpočtu je zaznamenán v následující tabulce. Výpočet skončil po osmi
krocích, jakmile ~xk+1 = ~xk .
k
0
1
2
..
.
xk1
0
0,2
0,52
..
.
xk2
0
0,6
0,672
..
.
xk3
0
-0,2
0,2432
..
.
7
8
0,6667
0,6667
1,0001
1,0001
0,3334
0,3334
32
9.4
Metody největšího spádu, těžkého míče a konjugovaných gradientů
Další metody pro minimalizaci výrazu
J(~x) =
1 >
~x A~x − ~x>~b
2
pro pozitivně definitní matice A vychází z tohoto principu: Je dána k-tá aproximace ~xk a směrový vektor ~v k . Hledá se koeficient αk tak, aby pro
~xk+1 = ~xk + αk~v k
platilo
J(~xk + αk~v k ) ≤ J(~xk + α~v k )
pro vechna
α ∈ R.
k
Hodnotu α lze snadno stanovit:
˜
J(α)
≡ J(~x + α~v )
=
=
dJ˜ dJ
=
(~x + α~v )
dα
dα
=
⇐⇒
1
(~x + α~v )> A(~x + α~v ) − (~x + α~v )>~b
2
1 >
1
~x A~x − ~x>~b + α[~v > A~x − ~v >~b] + α2~v > A~v
2
2
~v > (A~x − ~b) + α~v > A~v = 0
α=
~v T · ~r
~v > A~v
pro ~r = ~b − A~x.
Položíme tedy
αk =
9.4.1
~v k T · ~rk
,
~v k T A~v k
kde ~rk = ~b − A~xk
se nazv reziduum.
Metoda největšího spádu, gradientní metoda
Zvolí se ~v k = − grad J(~xk ) = ~b − A~xk = ~rk podle Věty 3. Je dobře známo, že
tento vektor je kolmý k vrstevnici a určuje směr největšího spádu hodnot výrazu
J(~x). Postup výpočtu:
~x0
se zvol
a pro
~xk+1 = ~xk + αk ~rk ,
k = 1, 2, . . .
kde
αk =
~rk T · ~rk
~rk T A~rk
Poznámka. Počet kroků metody největšího spádu odpovídá číslu condA.
33

  1 
2 −1
x1
3
Příklad 4.  −1 2 −1   x2  =  1 
−1 2
x3
− 13

k
0
1
2
3
4
5
9.4.2
xk1
0
0,1667
0,4167
0,4167
0,5417
0,5417
xk2
0
0,5
0,5
0,75
0,75
0,875
xk3
0
-0,1667
0,0833
0,0833
0,2083
0,2083
r1k
1/3
0,5
0
0,25
0
r2k
1
0
0,5
0
0,25
r3k
-1/3
0,5
0
0,25
0
αk
0,5
0,5
0,5
0,5
0,5
Metoda těžkého míče
Pohyb míče po ploše v gravitačním poli není ve směru největšího spádu, ale
závisí i na ”starém směru”:
~v k = ~rk + β k−1~v k−1 ,
kde β k−1 ≥ 0 je vhodně zvolený parametr a ~v −1 = ~o.
9.4.3
Metoda konjugovaných gradientů
Definice. Nechť A je pozitivně definitní matice. Pro libovolné vektory ~x, ~y
položíme
h~x, ~y iA = ~x> A~y .
Věta 1. Předpis h·, ·iA je skalární součin v Rn .
Důkaz.
S1: h~x, ~xiA ≥ 0 a h~x, ~xiA = 0 ⇐⇒ ~x = ~o plyne ihned z definice pozitivně
definitní matice.
S2: h~x, ~y iA = ~x> A~y = ~y A> ~x = ~y A~x = h~y , ~xiA
S3: h~x, a~y + g~ziA = a~x> A~y + b~x> A~z = ah~x, ~y iA + bh~x, ~ziA .
Definice. Vektory ~x, ~y se nazývají konjugované, když h~x, ~y iA = 0.
Metoda konjugovaných gradientů je metoda těžkého míče, v níž je koeficient
β k zvolen tak, aby ~v k a ~v k+1 byly konjugované vektory. Tedy algoritmus metody
konjugovaných gradientů lze zapsat takto:
~x0
se zvol a pro k = 0, 1, . . .
~xk+1 = ~xk + αk~v k ,
kde
αk =
34
~v k T · ~rk
. Pitom
h~v k , ~v k iA
~v 0 = ~r0 = ~b − A~x0 ,
~v k = ~rk + β k−1~v k−1 a β k−1 = −
h~v k−1 , ~rk iA
pro k = 1, 2, . . .
h~v k−1 , ~v k−1 iA

  1 
2 −1
x1
3
Příklad 5.  −1 2 −1   x2  =  1 
−1 2
x3
− 13

k
0
1
2
3
xk1
0
0,1667
0,7052
0,6667
k
0
1
2
xk2
0
0,5
0,8461
1
v1k
1/3
0,6364
-0,0652
xk3
0
-0,1667
0,1409
0,3333
v2k
1
0,4091
0,2605
r1k
1/3
0,5
-0,231
v3k
-1/3
0,3636
0,3258
r2k
1
0
0,1539
αk
0,5
0,84
0,5907
r3k
-1/3
0,5
0,231
βk
0,4091
0,3447
Poznámka. Je dokázáno, že metoda konjugovaných gradientů poskytne přesné
řešení po n krocích (n je řád matice A). Prakticky jsou však aproximace dostatečně přesné po menším počtu iterací. Počet potřebných kroků odpovídá
√
condA.
10
Řešení systémů nelineárních rovnic
Z důvodu formální jednoduchosti se omezíme jen na systémy dvou nelineárních
rovnic pro dvě neznámé. Budeme tedy pracovat v prostoru R2 s některou z
norem k · kR , k · kS , k · kE . Vektor ~x ∈ R2 budeme nazývat bod a značit ~x = (x, y)
místo ~x = [x1 , x2 ]> . Libovolnou ohraničenou, otevřenou a souvislou podmnožinu
v R2 nazveme oblastí v R2 .
ÚLOHA. Nechť f , g jsou spojité funkce, definované na některé oblasti Ω0 v
R2 . Najděte bod (x, y) ∈ Ω0 , který splňuje rovnice
f (x, y) = 0
g(x, y) = 0
(25)
Příklad 1. Otázka existence a počtu řešení úlohy (25) je velmi složitá. Pro
ilustraci této skutečnosti se přesvědčte, že systém rovnic
x2 − y + a = 0
−x + y 2 + a = 0
má jediné řešení pro a = 0, 25, dvě řešení pro a = 0 a čtyři řešení pro a = −1.
35
10.1
Metoda prosté iterace
spočívá v převedení systému rovnic (25) na soustavu
x = F (x, y)
y = G(x, y)
(26)
ekvivalentní s (25) na některé podoblasti Ω v Ω0 . Označíme-li
~x = (x, y)
a F~ (~x) = (F (x, y), G(x, y)) ,
vznikne vektorový zápis
~x = F~ (~x),
formálně shodný se zápisem x = F (x), používaným při řešení jedné rovnice
pro jednu neznámou metodou prosté iterace. I v tomto případě tedy počáteční
aproximaci ~x0 zvolíme a počítáme
~xk+1 = F~ (~xk ).
Z obecných úvah z Kap.3 víme, že pokud posloupnost postupných aproximací
{~xk }∞
0 konverguje k bodu x̂, je x̂ řešením úlohy (26) a tedy i řešením úlohy (25).
Poznámka 1. (Kritérium pro ukončení) Použije se jedno z těchto kritérií:
a) zvolí se ε > 0 a výpočet se ukončí, jakmile k~xk+1 − ~xk k < ε
b) zvolí se a δ > 0 a výpočet se ukončí, jakmile kF~ (~xk )k < δ.
Poznámka 2. Funkce F a G je třeba volit tak, aby norma Jacobiovy matice
"
#
J(~x) =
∂F
∂x
∂G
∂x
∂F
∂y
∂G
∂y
byla co nejmenší. Lze snadno ověřit, že vektorová funkce F~ : R2 −→ R2 je
kontrakce na některé oblasti Ω1 ⊂ Ω, když F~ zobrazuje Ω1 do Ω1 a některá
norma splňuje podmínku max~x∈Ω1 kJ(~x)k < 1. Podle Věty o kontrakci je pak
konvergence tím rychlejší, čím menší toto maximum je.
Příklad 1. Grafickou metodou určete počet kořenů systému rovnic
f (x, y) ≡ xy − y − 1 = 0
g(x, y) ≡ x2 − y 2 − 1 = 0
a hrubé odhady jejich hodnot. Metodou prosté iterace určete jeden z kořenů s
chybou menší, než 0,0005.
36
Protože
f (x, y) = 0 =⇒ y =
1
x−1
p
a g(x, y) = 0 =⇒ x = ± y 2 + 1,
(27)
lze schematickým znázorněním grafů těchto funkcí zjistit, že úloha má dvě řešení,
jejichž přibližné hodnoty jsou
~x1 = (1, 7, 1, 3)
a ~x2 = (−1, 1, −0, 2).
p
1
Tedy Jacobiova matice vektorové funkce F~ = ( y 2 + 1, x−1
) je
"
#
√ y2
0
y +1
J(~x) =
1
− (x−1)
0
2
a její řádková i sloupcová norma má hodnotu kJ(~x)k = max{ √ |y|
, 1 2 }.
y 2 +1 (x−1)
.
.
Protože kJ(~x1 )k = 2, 041 a kJ(~x2 )k = 0, 2268, použijeme předpisu (27) pro
2
zpřesnění kořene ~x . Předpis má tedy tvar
~x0
~xk+1
(x0 , y 0 ) = (−1, 1, −0, 2) a
q
= (xk+1 , y k+1 ) = (− (y k )2 + 1,
=
Výpočet se ukončí, jakmile k~xk+1 − ~xk kR
menán v této tabulce:
i
xi
0
-1,1
1 -1,0198
2 -1,1076
3 -1,1159
4 -1,1069
5 -1,1061
6 -1,1069
7 -1,1070
10.2
xk
1
)
−1
pro
k = 0, 1, . . .
< 0, 0005. Průběh výpočtu je zaznayi
-0,2
-0,4762
-0,4951
-0,4745
-0,4726
-0,4746
-0,4748
-0,4746
Newtonova metoda (metoda linearizace)
Předpokládejme, že funkce f , g mají spojité druhé parciální derivace a že
známe aproximaci ~xk = (xk , y k ) blízko přesného řešení x̂ = (x̂, ŷ) úlohy (25).
Aproximujeme-li nulové hodnoty f (x̂), g(x̂) Taylorovým polynomem prvního
stupně v okolí bodu ~xk , vznikne
f (~xk ) +
g(~xk ) +
∂f
xk )(x̂ − xk ) +
∂x (~
∂g
xk )(x̂ − xk ) +
∂x (~
.
∂f
xk )(ŷ − y k ) = 0
∂y (~
.
∂g
xk )(ŷ − y k ) = 0
∂y (~
Rozdíl mezi levou a pravou stranou rovnic v (28) je úměrný součinům
(x̂ − xk )2 , (x̂ − xk )(ŷ − y k ), (ŷ − y k )2 ,
37
(28)
což jsou za předpokladu, že aproximace ~xk = (xk , y k ) leží blízko přesného řešení x̂ = (x̂, ŷ), velmi malé hodnoty. Nahradíme-li v (28) bod (x̂, ŷ) bodem
(xk+1 , y k+1 ) a požadujeme-li přesné splnění rovností (28), vznikne systém rovnic
k+1
x
− xk
f (~xk )
J(~xk )
=
−
,
(29)
y k+1 − y k
g(~xk )
což je jeden krok řešení úlohy (25) Newtonovou metodou.
Poznámka. V Newtonově metodě se aproximace ~xk blíží k přesnému řešení x̂
rychle, ale jen tehdy, když je nultá aproximace ~x0 dostatečně blízko k přesnému
řešení x̂.
Příklad 2. Aproximaci kořene úlohy z příkladu 1 zpřesněte co nejvíce
Newtonovou metodou.
Položíme tedy ~x0 =(-1,1070,-0,4746). Pak pro
y x−1
J(~x) =
2x −2y
platí
0
J(~x ) =
−0, 4746 −2, 1070
−2, 2140 0, 9492
−
a
f (~x0 )
g(~x0 )
=
0, 0000178
−0, 00020384
.
řešením tohoto případu systému rovnice (28) získáme
0, 000080658
1
0
~x − ~x =
,
−0, 000266161
−1, 106919342
1
takže ~x =
. Stejným postupem byly vypočteny i aproximace
−0, 474626616
2
3
~x a ~x z níže uvedené tabulky.
i
0
1
2
3
11
xi
-1,1070
-1,106919342
-1,106919340
-1,106919340
yi
-0,4746
-0,474626616
-0,474626618
-0,474626618
Funkční prostory
Definice. Pro libovolné funkce f , g se stejným definičním oborem D a pro
α, β ∈ R se funkce
(αf + βg)(x) = αf (x) + βg(x)
nazývá lineární kombinace funkcí f , g s koeficienty α, β.
38
Definice. Funkční prostor je každá neprázdná množina funkcí F se stejným
definičním oborem s vlastností
f, g ∈ F =⇒ αf + βg ∈ F
11.1
pro vechna
α, β ∈ R.
Příklady funkčních prostorů
Uvedeme několik příkladů funkčních prostorů i jejich konstrukcí.
Příklad 1. Množina Cha, bi všech funkcí spojitých na intervalu ha, bi je
funkční prostor.
Příklad 2. C (k) ha, bi = {f ; f, f 0 , . . . , f (k) ∈ Cha, bi} je funkční prostor pro
k = 1, 2, . . ..
Příklad 3. {f ∈ Cha, bi; f (x) > 0 pro vechna x ∈ ha, bi} není funkční
prostor.
Zřejmě platí
Cha, bi ⊃ C (1) ha, bi ⊃ C (2) ha, bi ⊃ . . . ⊃ C (∞) ha, bi,
kde
C (∞) ha, bi =
∞
\
C (k) ha, bi
k=1
a každé dva z těchto prostorů jsou vzájemně různé.
Definice. Je-li F prostor funkcí, definovaných na ha, bi (na oblasti Ω̄), položíme
F0 = {f ∈ F; f (a) = 0 = f (b)}
(F0 = {f ∈ F; f (x, y) = 0 na hranici Ω})
Ověřte, že F0 je vždy funkční prostor.
Definice. Funkce f1 , . . . , fk z funkčního prostoru F jsou lineárně nezávislé,
jestliže
c1 f1 + . . . + ck fk = o
jen tehdy, když c1 = c2 = . . . = ck = 0. Každá maximální lineárně nezávislá
množina funkcí v F se nazývá báze prostoru F.
Věta 1. Funkce ϕ0 (x) = 1, ϕ1 (x) = x, . . ., ϕn (x) = xn−1 , definované na
intervalu ha, bi jsou lineárně nezávislé pro každé n > 0.
Definice. Označíme ψi (x) = (x − a)(x − b)ϕi (x) pro i = 0, 1, . . . a pro
všechna x ∈ ha, bi.
Věta 2. Funkce ψ0 , ψ1 , . . . , ψn jsou lineárně nezávislé pro všechna n > 0.
39
Poznámka. Lze snadno ověřit, že libovolná soustava polynomů vzájemně
různých stupňů je lineárně nezávislá.
Poznámka. Funkce ϕ0 , ϕ1 , . . . , ϕn leží ve všech prostorech F z příkladů 1-3
a funkce ψ0 , ψ1 , . . . , ψn leží ve všech prostorech F0 z příkladů 1-3.
Tedy ani prostory F z Příkladů 1–3, ani prostory F0 z Příkladů 1–3 nemají
konečnou dimenzi. Říkáme, že jejich dimenze je nekonečná.
Definice. Pro libovolné funkce f1 , f2 , . . . , fn s týmž definičním oborem označíme L(f1 , . . . , fn ) množinu všech lineárních kombinací funkcí f1 , f2 , . . . , fn .
Věta 3. L(f1 , . . . , fn ) je funkční prostor. Jsou-li f1 , f2 , . . . , fn navíc lineárně
nezávislé, pak f1 , f2 , . . . , fn tvoří bazi v prostoru L(f1 , . . . , fn ).
Definice. Položíme
P 0 = L(1),
P 1 = L(1, x),
..
.
n
P
= L(1, x, . . . , xn ) a
∞
[
P =
Pn
n=0
Definice. Vzájemně různá reálná čísla se nazývají uzly. Uzly x0 , x1 , . . ., xn
se nazývají ekvidistantní, existuje-li kladné číslo h krok tak, že xi = x0 + ih pro
i = 1, 2, . . . , n.
Příklad 5. (Prostor lineárních splajnů) Buďte a = x0 < x1 < . . . < xn = b
ekvidistantní uzly s krokem h. Označíme S 1 (a, b, h) množinu všech funkcí ϕ
splňujících tyto podmínky (a), (b):
(a) ϕ ∈ Cha, bi,
(b) ϕ je lineární na hxi−1 , xi i pro i = 1, . . . , n.
Zřejmě platí
(c) Libovolná funkce f ∈ S 1 (a, b, h) je jednoznačně určena hodnotami fi =
f (xi ) pro i = 0, . . . , n.
Tedy pro i = 0, . . . , n předpis
wi (xi ) = 1
a
wi (xj ) = 0 pro vechna j 6= i
určuje funkci wi jednoznačně.
Dokažte, že platí
40
1. Funkce f ≡ c0 w0 + c1 w1 + . . . + cn wn má v uzlech hodnoty f (xi ) = ci pro
i = 0, 1, . . . , n
2. c0 w0 + c1 w1 + . . . + cn wn = o =⇒ c0 = c1 = . . . = cn = 0
3. f ∈ S 1 (a, b, h) =⇒ f = f (x0 )w0 + f (x1 )w1 + . . . + f (xn )wn a tedy
S 1 (a, b, h) = L(w0 , w1 , . . . , wn ),
takže funkce w0 , w1 , . . . , wn tvoří bazi v prostoru S 1 (a, b, h).
11.2
Normy a skalární součin funkcí
f ∈ Cha, bi =⇒ |f | ∈ Cha, bi =⇒ existuje |f |C = max |f (x)|
a≤x≤b
Přiřazení f 7−→ |f |C z Cha, bi do R má vlastnosti
N1 |f |C ≥ 0 a |f |C = 0 ⇐⇒ f = o
N2 |αf |C = |α| |f |C
N3 |f + g|C ≤ |f |C + |g|C ,
takže | · |C je norma na funkčním prostoru Cha, bi. Nazývá se čebyševovská
norma.
Z b
f ∈ Cha, bi =⇒ existuje konen
f 2 (x) dx.
a
Pak
s
Z
b
kf k =
f 2 (x) dx
a
má vlastnosti N1-N3, takže i k · k je norma na prostoru Cha, bi. Nazývá se
euklidovská norma.
Definice. Pro f, g ∈ Cha, bi položme
Z
(f, g) =
b
f (x) g(x) dx.
a
Věta 1. Přiřazení (·, ·) má vlastnosti S1–S4 z odstavce 6, takže je to skalární
součin na Cha, bi. Navíc zřejmě platí
kf k2 = (f, f )
pro vechna
f ∈ Cha, bi.
Předpisy dC (f, g) = |f − g|C a dE (f, g) = kf − gk definují metriky na Cha, bi.
Věta 2. Metrický prostor (Cha, bi, dC ) je úplný, ale metrický prostor (Cha, bi, dE )
není úplný.
41
Skutečnost, že prostor (Cha, bi, dE ) není úplný, lze snadno ukázat ověřením,
že posloupnost (fn )∞
1 , kde

 −1 pro x ∈ h−1, − n1 i
nx pro x ∈ h− n1 , n1 i ,
fn (x) =

1 pro x ∈ h n1 , 1i
je cauchyovská v (Cha, bi, dE ), ale není v tomto prostoru konvergentní.
Definice. Symbolem L2 (a, b) označíme množinu všech funkcí f , pro něž
Lebesgueův integrál
Z b
f 2 (x) dx
a
existuje a má konečnou hodnotu.
Poznámka. Pojem Lebesgueova integrálu se prakticky neliší od známého
pojmu Riemannova integrálu. Existuje-li Riemannův integrál, pak existuje i
Legesgueův integrál a mají stejnou hodnotu.
Definujeme-li v množině funkcí L2 (a, b) rovnost předpisem
Z b
2
f = g kdy
(f (x) − g(x)) dx = 0,
a
pak platí
Věta 3. (L2 (a, b), dE ) je nejmenší úplný metrický prostor s vlastností
L2 (a, b) ⊇ Cha, bi, k · k je normou v L2 (a, b) a (·, ·) je skalární součin v L2 (a, b).
12
Interpolace a aproximace funkce
ÚLOHA LAGRANGEOVY INTERPOLACE: Jsou dány uzly x0 , x1 , . . . , xn a
hodnoty fi = f (xi ) pro i = 0, 1, . . . , n. Najděte ”jednoduchou” funkci ϕ, splňující
ϕ(xi ) = fi pro i = 0, 1, . . . , n.
(30)
Funkce ϕ se nazývá interpolant funkce f v uzlech x0 , x1 , . . . , xn .
12.1
Interpolační polynomy
Věta 1. Nechť je dáno n + 1 uzlů x0 , x1 , . . . , xn a hodnoty fi = f (xi ) funkce f
pro i = 0, 1, . . . , n. Pak v P n existuje jediný interpolant P (x) funkce f v uzlech
x0 , x1 , . . . , xn .
Důkaz. Každý polynom P (x) ∈ P n lze zapsat ve tvaru P (x) = a0 + a1 x +
. . . + an xn . Podmínky (30):
P (xi ) = fi
pro
42
i = 0, 1, . . . , n
lze zapsat ve tvaru





1
1
..
.
x0
x1
...
...
1 xn
...
xn0
xn1
..
.





xnn
a0
a1
..
.


 
 
=
 
f0
f1
..
.



.

(31)
fn
an
Determinant matice V tohoto systému rovnic se nazývá Vandermondův a má
hodnotu
Y
det V =
(xi − xj ).
0≤j<i≤n
Tedy det V 6= 0, neboť xi 6= xj pro všechna i 6= j a to znamená, že úloha má
jediné řešení.
Definice. Polynom P (x) z Věty 1 se nazývá interpolační polynom funkce f
v uzlech x0 , x1 , . . . , xn .
KONSTRUKCE:
I. Interpolant v základním tvaru: V P n se zvolí baze ϕ0 = 1, ϕ1 = x, . . .,
ϕn = xn−1 a koeficienty a0 , a1 , . . . , an vzniknou řešením systému rovnic
(31).
II. Interpolant v Newtonově tvaru: V P n se zvolí baze ϕ0 = 1, ϕ1 = (x − x0 ),
ϕ2 = (x − x0 )(x − x1 ), . . ., ϕn = (x − x0 )(x − x1 ) . . . (x − xn−1 ). Polynom
P (x) = a0 + a1 (x − x0 ) + . . . + an (x − x0 )(x − x1 ) . . . (x − xn−1 )
splňuje podmínky (30) právě když
a0 = f0
a0 + (x1 − x0 )a1 = f1
..
.
. = ..
(32)
a0 + (xn − x0 )a1 + . . . + (xn − x0 ) . . . (xn − xn−1 )an = fn
Protože matice systému rovic (32) je dolní trojúhelníková, je jeho řešení
podstatně efektivnější, než v případě (31). Navíc lze toto řešení popsat
užitím rekurze takto: Zřejmě
a0 = f0
a a1 =
f1 − f0
.
x1 − x0
Obecněji lze ukázat, že
ai = f [x0 , x1 , . . . , xi ]
43
pro
i = 1, 2, . . . , n,
kde
f [xi , xi+1 ]
=
f [xi , xi+1 , xi+2 ]
=
fi+1 − fi
pro i = 0, . . . , n − 1
xi+1 − xi
f [xi+1 , xi+2 ] − f [xi , xi+1 ]
pro i = 0, . . . , n − 2
xi+2 − xi
..
.
f [x0 , . . . , xn ]
=
f [x1 , . . . , xn ] − f [x0 , . . . , xn−1 ]
.
xn − x0
Tyto výrazy se postupně nazývají poměrné diference 1.,2.,. . ., n-tého řádu.
Tedy interpolant v Newtonově tvaru je polynom
P (x)
= f0 + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 ) + . . .
+ f [x0 , x1 , . . . , xn ](x − x0 )(x − x1 ) . . . (x − xn−1 )
(33)
Příklad 1. Určete Newtonův interpolační polynom funkce f v uzlech z
tabulky
i
0
1
2
3
xi
-1
0
1
3
fi
3
2
1
23
f [xi , xi+1 ]
-1
-1
11
f [xi , xi+1 , xi+2 ]
0
4
f [x0 , x1 , x2 , x3 ]
1
Tedy P (x) = 3 − (x + 1) + (x + 1)x(x − 1).
Poznámka. Konstrukce interpolačního polynomu v Newtonově tvaru je efektivní (v podstatě spočívá v řešení systému rovnic s trojúhelníkovou maticí oproti
konstrukci I, kde je řešen systém stejného počtu rovnic s plnou maticí) a zároveň lze se získaným tvarem efektivně pracovat podobně jako s polynomem v
základním tvaru. Příklad 2 ukazuje, že například algoritmus výpočtu hodnoty
polynomu v Newtonově tvaru je v podstatě stejně efektivní (provádí stejný počet operací násobení) jako optimálně rychlý algoritmus Hornerova schematu pro
polynomy v základním tvaru.
Příklad 2. Výpočet hodnoty polynomu ve tvaru (33) zobecněným Hornerovým schematem.
p := fn ;
for i := n − 1 downto 0 do
p := p ∗ (x − xi ) + fi ;
44
Věta 2. Nechť f ∈ C (n+1) ha, bi a P ∈ P n je interpolant funkce f v uzlech
a = x0 < x1 < . . . < xn = b. Pak ke každému x ∈ ha, bi existuje ξ ∈ (a, b) tak,
že
f (n+1) (ξ)
ω(x),
f (x) = P (x) +
(n + 1)!
kde ω(x) = (x − x0 )(x − x1 ) . . . (x − xn ).
Poznámka. Polynom ω(x) má pro x blízko a nebo b podstatně větší hodnoty,
než blízko středu intervalu ha, bi. V případě, že délka intervalu ha, bi je větší
nebo uzlů interpolace je větší počet a jsou rozmístěny rovnoměrně, je chyba
aproximace poblíž hranice intervalu ha, bi extrémně velká. Tento nedostatek
(toto omezení použitelnosti) interpolačního polynomu se nazývá Rungeho jev.
12.2
Interpolační kubické splajny
Pro intervaly větší délky je použití interpolačního polynomu
nízkého stupně příliš nepřesné a
vyšších stupňů nevhodné vzhledem k Rungeho jevu.
Proto se ha, bi rozděluje na několik (krátkých) podintervalů a na každém se
konstruuje obecně jiný interpolační polynom nízkého stupně. Výsledný interpolant je ”po částech” polynom. Jde o to, aby takto vytvořený interpolant byl co
nejhladší, tj. aby měl co nejvíce spojitých derivací.
Poznámka. Interpolační lineární splajn.
Definice. Nechť a = x0 < x1 < . . . < xn = b. Kubický splajn s uzly
x0 , . . . , xn je každá funkce g(x) s těmito vlastnostmi (a), (b):
(a) Na hxi−1 , xi i je g(x) = gi (x) polynom stupně nejvýše třetího a
(b) g(x) ∈ C (2) ha, bi, tj. g, g 0 , g 00 jsou spojité na ha, bi.
Poznámka. Podmínka (b) je zřejmě ekvivalentní s podmínkou
gi (xi ) = gi+1 (xi )
0
gi0 (xi ) = gi+1
(xi )
pro i = 1, . . . , n − 1
00
gi00 (xi ) = gi+1
(xi )
ÚLOHA. Nechť a = x0 < x1 < . . . < xn = b a fi = f (xi ) pro i = 0, 1, . . . , n.
Hledáme kubický splajn g(x) s uzly x0 , . . . , xn tak, aby
g(xi ) = fi
pro
i = 0, 1, . . . , n.
Pak se g nazývá interpolační kubický splajn funkce f v uzlech x0 , . . . , xn .
45
(34)
Poznámka. Ukážeme, že jestliže se navíc požaduje
g 00 (a) = 0 = g 00 (b),
(35)
pak má úloha jediné řešení.
Definice. Kubické splajny, splňující podmínku (35), se nazývají přirozené.
ODVOZENÍ
KONSTRUKCE
INTERPOLAČNÍHO
KUBICKÉHO
SPLAJNU: Podle definice je pro každý kubický splajn g druhá derivace g 00 spojitá na ha, bi a na hxk−1 , xk i lineární pro k = 1, . . . , n. Tedy existují koeficienty
m0 = g100 (x0 ), . . ., mn = gn00 (xn ) tak, že platí
gk00 (x) = mk−1
x − xk−1
xk − x
+ mk
,
hk
hk
(36)
kde hk = xk − xk−1 pro k = 1, . . . , n.
Funkci (36) integrujme dvakrát vzhledem k proměnné x:
gk (x) = mk−1
(xk − x)3
(x − xk−1 )3
xk − x
x − xk−1
+ mk
+ Ak
+ Bk
.
6hk
6hk
hk
hk
Hodnoty integračních konstant Ak a Bk určíme tak, aby byly splněny podmínky
interpolace (34), čímž bude zároveň zajištěna spojitost splajnu g:
gk (xk ) = mk
gk (xk−1 ) = mk−1
h2k
+ Bk = fk
6
h2k
+ Ak = fk−1
6
=⇒ Bk = fk − mk
h2k
6
=⇒ Ak = fk−1 − mk−1
h2k
6
a tedy
gk (x)
(x − xk−1 )3
(xk − x)3
+ mk
= mk−1
6hk
6hk
h2k xk − x
h2 x − xk−1
+
fk−1 − mk−1
+ fk − mk k
.
6
hk
6
hk
(37)
Zbývá zvolit hodnoty koeficientů m0 , . . . , mn tak, aby byla spojitá i první derivace g 0 :
(x − xk−1 )2
fk − fk−1
(xk − x)2
+ mk
+
2hk
2hk
hk
mk − mk−1
−
hk
6
hk
fk − fk−1
hk
gk0 (xk ) = −mk−1
+ mk
+
6
3
hk
h
h
fk+1 − fk
k+1
k+1
0
gk+1
(xk ) = −mk
− mk+1
+
3
6
hk+1
gk0 (x)
= −mk−1
46
0
Odtud a z podmínky gk0 (xk ) = gk+1
(xk ) plyne rovnice
mk−1
hk + hk+1
hk+1
fk+1 − fk
fk − fk−1
hk
+ mk
+ mk+1
=
−
6
3
6
hk+1
hk
(38)
pro k = 1, . . . , n − 1 a m0 = 0 = mn plyne z (35).
Označíme-li


m
~ =




f0
m1

..  , f~ =  ..  , A = 

 . 
. 

fn
mn

a H
1
h1
− h11 −
1
h2


= 

1
h2
h1 +h2
3
h2
6
h2
6
h2 +h3
3
..
.

h3
6
..
.
hn−1
6
1
h2
..
.
hn−1 +hn
3





− h12 −
..
.
1
h3
1
h3
..
.
− hn−1 −
1
1
hn−1
1
hn


,
.. 
. 
1
hn
pak je maticový zápis systému rovnic (38):
Am
~ = H f~
(39)
KONSTRUKCE INTERPOLAČNÍHO KUBICKÉHO SPLAJNU:
1. Výpočet h1 , . . . , hn .
2. Sestavení matic A a H.
3. Řešení systému rovnic (38).
4. Dosazení do (37).
Níže uvedená věta je přesným matematickým vyjádřením skutečnosti, že kubický splajn je ”nejhladším interpolantem”.
Věta 3. Přirozený kubický splajn g(x) je jediný interpolant funkce f v
uzlech x0 , . . . , xn , který leží v C (2) ha, bi takový, že
Φ(g) ≤ Φ(ϕ)
pro všechny interpolanty ϕ ∈ C (2) ha, bi funkce f v uzlech x0 , . . . , xn . Zde Φ(ϕ) =
R b 002
ϕ (x) dx.
a
12.3
Hermiteovy interpolační polynomy
ÚLOHA HERMITEOVY INTERPOLACE: Je dáno n + 1 uzlů x0 , . . . , xn a
hodnoty fj = f (xj ), fj0 = f 0 (xj ) funkce f a její derivace f 0 pro j = 0, 1, . . . , n.
Je třeba najít ”co nejjednodušší funkci” ϕ tak, aby
ϕ(xj ) = fj
a
ϕ0 (xj ) = fj0
47
pro
j = 0, 1, . . . , n
(40)
Řekneme, že funkce ϕ je Hermiteův interpolant funkce f v uzlech x0 , x1 , . . . , xn .
(A) ϕ je polynom co nejnižšího stupně.
Věta 4. Nechť je dáno n + 1 uzlů x0 , x1 , . . . , xn a hodnoty fj = f (xj ),
fj0 = f 0 (xj ) pro j = 0, 1, . . . , n. Pak v P 2n+1 existuje právě jeden Hermiteův
interpolační polynom H funkce f v uzlech x0 , x1 , . . . , xn .
KONSTRUKCE HERMITEOVA INTERPOLAČNÍHO POLYNOMU
I. V základním tvaru: Podle Věty 4 je obecný tvar polynomu
H(x) = a0 + a1 x + . . . + a2n+1 x2n+1 .
Koeficienty a0 , a1 , . . . , a2n+1 se volí tak, aby polynom H splňoval podmínky (40).
Příklad 1. Najděte Hermiteův interpolační polynom funkce f (x) v uzlech
z tabulky.
k xk f (xk ) f 0 (xk )
0 -1
2
1
1
1
0
1
H(x) = a0 + a1 x + a2 x2 + a3 x3
H 0 (x) = a1 + 2a2 x + 3a3 x2 .
Dosazením x0 = −1 a x1 = 1 za x vznikne systém rovnic:
a0 − a1 + a2 − a3
a1 − 2a2 + 3a3
a0 + a1 + a2 + a3
a1 + 2a2 + 3a3
= 2
= 1
= 0
= 1
Řešením tohoto systému rovnic dostaneme koeficienty a0 = 1, a1 = −2, a2 = 0,
a3 = 1, takže Hermiteův interpolační polynom je H(x) = 1 − 2x + x3 .
II. V zobecněném Newtonově tvaru: Oproti úloze Lagrangeovy interpolace
jsou zde v každém uzlu dány dvě hodnoty. Zapíšeme tedy každý uzel do tabulky dvakrát. Vznikne potřeba počítat poměrnou diferenci f [xi , xi ], která nemá
smysl. Je však přirozené ji definovat předpisem
f [xi , xi ] = lim f [xi , x] = lim
x−→xi
x−→xi
f (x) − f (xi )
= f 0 (xi )
x − xi
Při výpočtu poměrných diferencí vyšších řádů již nevznikají žádné potíže. Tedy
Hermiteův interpolační polynom H(x) má tvar
H(x)
= f0 + f [x0 , x0 ](x − x0 ) + f [x0 , x0 , x1 ](x − x0 )2 + . . .
+ f [x0 , x0 , . . . , xn , xn ](x − x0 )2 . . . (x − xn−1 )2 (x − xn )
48
Příklad 2. Úlohu z příkladu 1 řešte pomocí zobecněného Newtonova polynomu.
i
0
1
2
3
xi
-1
-1
1
1
fi
2
2
0
0
f [xi , xi+1 ]
1
-1
1
f [xi , xi+1 , xi+2 ]
-1
1
f [xi , xi+1 , xi+2 , xi+3 ]
1
Tedy H(x) = 2 + (x + 1) − (x + 1)2 + (x + 1)2 (x − 1) = x3 − 2x + 1.
Příklad 3. Najděte Hermiteův interpolační polynom funkce f v uzlech z
tabulky.
i xi fi fi0
0 -1
1
2
1
0
2
1
2 0,5 1 -1
Řešení:
i
0
1
2
3
4
5
xi
-1
-1
0
0
0,5
0,5
fi
1
1
2
2
1
1
f [xi , xi+1 ]
2
1
1
-2
-1
-1
0
-6
2
1
-4
16
- 10
3
40
3
100
9
Tedy
H(x)
=
1 + 2(x + 1) − (x + 1)2 + (x + 1)2 x −
+
100
(x + 1)2 x2 (x − 0, 5).
9
10
(x + 1)2 x2
3
(B) ϕ je interpolační Hermiteův kubický splajn.
I v případě Hermiteovy interpolace je nevýhodné pracovat s polynomy vysokých stupňů. Pro řešení ÚLOHY HERMITEOVY INTERPOLACE se velmi
osvědčuje tento typ po částech polynomiální funkce:
Definice. Nechť a = x0 < x1 < . . . < xn = b. Hermiteův kubický splajn s
uzly x0 , x1 , . . . , xn je každá funkce s(x) na ha, bi s těmito vlastnostmi (a), (b):
(a) Na intervalu hxi−1 , xi i je s(x) polynom nejvýše třetího stupně (tento polynom označíme si (x)) pro i = 1, 2, . . . , n
(b) s(x) ∈ C (1) ha, bi, tj. s a s0 jsou spojité na ha, bi.
49
Všimněte si, že Hermiteův kubický splajn obecně není kubický splajn.
Definice. Nechť a = x0 < x1 < . . . < xn = b a f ∈ C (1) ha, bi. Hermiteův
kubický splajn s(x) s uzly x0 , x1 , . . . , xn splňující
s(xi ) = f (xi )
a s0 (xi ) = f 0 (xi )
pro i = 0, 1, . . . , n se nazývá interpolační Hermiteův kubický splajn funkce f v
uzlech x0 , x1 , . . . , xn .
Podle Věty 4 je polynom si (x) pro i = 1, 2, . . . , n jednoznačně určen požadavky
si (xj ) = f (xj ) a s0i (xj ) = f 0 (xj ) pro j = i − 1, i.
Tento polynom lze zkonstruovat konstrukcí I nebo II.
Příklad 4. Najděte interpolační Hermiteův kubický splajn funkce f v uzlech
x0 , x1 , x2 z příkladu 3.
1. Interval hx0 , x1 i = h−1, 0i:
i
0
1
3
4
xi
-1
-1
0
0
fi
1
1
2
2
f [xi , xi+1 ]
2
1
1
-1
0
1
fi
2
2
1
1
f [xi , xi+1 ]
1
-2
-1
-6
2
16
2. Interval hx1 , x2 i = h0, 0, 5i:
i
0
1
3
4
Tedy s(x) =
12.4
xi
0
0
0,5
0,5
s1 (x) = 1 + 2(x + 1) − (x + 1)2 + (x + 1)2 x pro − 1 ≤ x ≤ 0
s2 (x) = 2 + x − 6x2 + 16x2 (x − 0, 5)
pro 0 ≤ x ≤ 0, 5
Aproximace diskrétní metodou nejmenších čtverců
Viz skripta Dalík: Numerické metody (stručně skripta) odst. 10.5, Úloha 2.
12.5
Aproximace funkce vyrovnávacími kubickými splajny
ÚLOHA APROXIMACE (2): Nechť f ∈ Cha, bi, a = x0 < x1 < . . . < xn = b
jsou uzly, f0 = f (x0 ), . . . , fn = f (xn ) a p0 , p1 , . . . , pn jsou kladná čísla (váhy).
Najděte funkci u ∈ C (2) ha, bi splňující
Φ(u) ≤ Φ(h)
pro vechna
50
h ∈ C (2) ha, bi.
(41)
Zde Φ(h) =
Rb
a
h002 dx +
Pn
k=0
pk (h(xk ) − fk )2 .
Věta 5. Úloha aproximace má jediné řešení, kterým je kubický splajn příslušný uzlům x0 , x1 , . . . , xn .
Důkaz. Nechť u0 ∈ C (2) ha, bi splňuje (41). Sestrojme kubický splajn g(x)
příslušný uzlům x0 , . . . , xn tak, aby g(xk ) = u0 (xk ) pro k = 0, . . . , n. Druhé
sčítance ve výrazech Φ(u0 ) a Φ(g) jsou stejné a tedy podle Věty 3 platí Φ(g) ≤
Φ(u0 ). Zároveň však Φ(u0 ) ≤ Φ(g) podle (41) a tedy Φ(g) ≤ Φ(u0 ). Odtud
plyne u0 = g podle Věty 3.
KONSTRUKCE VYROVNÁVACÍHO KUBICKÉHO SPLAJNU: Hledáme
kubický splajn g tak, aby výraz
Z
b
Φ(g) =
a
g 002 dx +
n
X
pk (gk − fk )2 = F (g0 , g1 , . . . , gn ),
k=0
kde gi = g(xi ) pro i = 0, 1, . . . , n, byl minimální. Nutnou podmínkou minima je
∂F
=0
∂gs
(A + H P −1 H > )m
~ = H f~
pro
s = 0, 1, . . . , n ⇐⇒
a
~g = f~ − P −1 H > m.
~
Zde A, H, m
~ a f~ jsou definovány v odst. 12.2 a P = diag(p0 , p1 , . . . , pn ).
13
13.1
Numerické derivování a numerická integrace
Numerické derivování
Viz skripta odst. 11.1
13.2
Numerická integrace
Viz skripta odst. 11.3-11.5 bez Rombergovy metody.
51

Podobné dokumenty

ˇRešen´ı Navierových-Stokesových rovnic metodou tlakových korekc´ı

ˇRešen´ı Navierových-Stokesových rovnic metodou tlakových korekc´ı (to je jistě vždy možné, triviálnı́ volba je f0u = f u , f1u = 0). Přitom f¯0u resp. f¯1u jsou linearizované hodnoty funkcı́ f0u resp. f1u (za u, v, p v nich dosadı́me ū, v̄, p̄). V dalšı́...

Více

Učební text

Učební text Předpokládejme, že hodnoty f (x) i f (x + h) dokážeme vypočı́tat s relativnı́ chybou rovnou přibližně čı́slu√δ, takže ε ≈ M0 δ,√kde M0 ≈ max(|f (x0 )|, |f (x0 + h)|). Pro M0 ≈ M2 je hopt...

Více

Testování elektrických vlastností keramických komponent

Testování elektrických vlastností keramických komponent 3.3. Experiment 3: Měření závislosti izolačního odporu keramické části topného tělesa a tělesa z keramiky na bázi korundu Cílem tohoto experimentu bylo zjistit aktuální hodnoty izolačního odporu př...

Více

NÁHLÁ SRDEČNÍ SMRT

NÁHLÁ SRDEČNÍ SMRT Boj proti NSS má celou řadu kroků. Vzhledem k tomu, že velká část úmrtí se vyskytne jako první projev srdečního onemocnění, je nezbytné zlepšit znalosti kardiopulmonální resuscitace. Po úspěšné res...

Více

Katalog Ela kompresní podpůrné punčochové zboží

Katalog Ela kompresní podpůrné punčochové zboží ANTIBACTERIAL LINE, AMBIENS LINE AND UNISEX KNEE HIGHS

Více

IAD metody v poˇcıt´anı Markovov´ych retˇezc˚u

IAD metody v poˇcıt´anı Markovov´ych retˇezc˚u 1 Zvolı́ se počátečnı́ aproximace k := 0. 2 Vyřešı́ se RBS(xk )z 3 Prodlouženı́ z na y k

Více