Předmět: MA 4 Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda Četba: Text o lineární algebře v Příručce přežití na webových stránkách přednášejícího.
OPAKOVÁNÍ: Normy komplexních vektorů a reálných matic x 1 = n x i (oktaedrická norma),, i=1 ( n ) 1/2 x 2 = x i 2 x = i=1 max x i i {1,2,...,n} (euklidovská norma), (max-norma),. Norma matice generovaná normami vektorů A YmX n = Ax Ym max. {x X n: x 0} x Xn Jestliže y = Ax, kde x X n a y Y m, pak y Ym A YmX n x Xn.
Některé generované normy matice lze počítat jednodušeji (A je reálná matice): m A 1 = a ik, A = max k {1,2,...,n} max i=1 i {1,2,...,m} k=1 n a ik, A 2 = ( (A T A)) 1/2 = ( (AA T )) 1/2 (spektrální norma), kde A T je transponovaná matice. A reálná a symetrická: A 2 =( (A T A)) 1/2 = ( (A 2 )) 1/2 = (A). ( m ) 1/2 n A F = a ik 2 Frobeniova norma, není generovaná. i=1 k=1 Platí (A) A pro Frobeniovu i každou generovanou normu. Všechny normy NLP konečné dimenze jsou ekvivalentní. Např. c 1, c 2 > 0 x R n c 1 x 1 x 2 c 2 x 1
Skalární součin reálných vektorů x = (x 1,..., x n ) a y = (y 1,..., y n ) je číslo (x, y) = Řada vlastností, připomeňme jen n x k y k, k=1 (x, x) = x 2 2 0, (1) (x, y) x 2 y 2. Schwarzova nerovnost (2) Důkaz (2): y = 0 (2) platí. Jestliže y 0, pak (x, y) 0 x y 2 y 2 = x 2 2 2 2 2(x, y)2 y 2 2 = + ( x (x, y)2 y 2 2 (x, y) y 2 y, x 2 = x 2 2 ) (x, y) y 2 y 2 (x, y)2 y 2 2
Pozitivně definitní matice Matice A = (a ij ) typu (n, n) se nazývá pozitivně definitní, platí-li pro každý nenulový n-rozměrný reálný vektor x (Ax, x) > 0, tj. n n a ij x i x j > 0. j=1 j=1 Důležité: Lze ukázat, že symetrická (!) matice A je pozitivně definitní právě tehdy, když všechna vlastní čísla matice A jsou kladná.
OPAKOVÁNÍ: Číslo podmíněnosti Necht je nějaká generovaná norma a necht A je regulární matice. Pak číslo κ(a) = A A 1 se nazývá číslo podmíněnosti matice A vzhledem k normě. Je-li A symetrická a pozitivně definitní a použijeme-li normu 2, je κ(a) = λ max /λ min. Necht Ax 0 = b 0 a Ax 1 = b 1, kde b 0 b 1, pak platí x 1 x 0 x 0 κ(a) b 1 b 0. (3) b 0 K A existují b 0 0 a b 0 b 1 takové, že v (3) nastane rovnost.
Iterační metody pro řešení soustav lineárních algebraických rovnic vytvářejí posloupnost vektorů {x k } k=1, která konverguje k řešení soustavy Ax = b. Obecně potřebují nekonečný počet kroků, ale prakticky je stačí ukončit po konečném počtu kroků při dosažení dostatečně přesné aproximace přesného řešení.
Motivační příklad: Iterační výpočet a, kde a > 0 Myšlenka (M. Fiedler: Speciální matice): x 2 = a, x = a x, 2x = x + a x, x = 1 2 ( x + a x ). Metoda: zvolit počáteční hodnotu x 0, x k+1 = 1 ) (x k + axk, k = 0, 1,..., 2 zastavit iterace, pokud x k+1 x k ε, kde ε je předem zadané malé číslo, např. ε = 10 15.
Konvergence posloupnosti {x k } k=1 není náhodná. Užitím středoškolské algebry snadno odvodíme x k+2 x k+1 = 1 2 x xk 2 k+1 x k a xk 2 + a, x k+2 x k+1 1 2 x k+1 x k, ( ) 1 k+1 x k+2 x k+1 x 1 x 0 = 2 ( ) 1 k+2 a 2 x 0 x. 0
Odvodili jsme nerovnost ( ) 1 k+1 a x k+1 x k x 0 2 x. 0 Z ní pro přirozené č. m > 1 získáme x k+m x k = x k+m x k+m 1 + x k+m 1 + x k+1 x k x k+m x k+m 1 + x k+m 1 x k+m 2 + + x k+1 x k [ 1 2 m 1 + 1 2 m 2 + + 1 ] 1 2 + 1 a 2 k+1 x 0 x 0 2 1 a 2 k+1 x 0 x = 1 a 0 2 k x 0 x. 0 Vidíme, že posloupnost {x k } k=1 je cauchyovská. Tudíž má limitu x, která splňuje x = 1 ( x + a ), tj. x = a. 2 x
Ukázali jsme, že lim k x k = a a že pro libovolné přirozené m platí x k+m x k 1 a 2 k x 0 x. 0 Otdud a x k = a x k+m + x k+m x k a x k+m + x k+m x k a x k+m + 1 a 2 k x 0 x. 0 S použitím lim m x k+m = a se odvodí ( ) 1 k a a x k x 0 2 x. 0 To je hrubý odhad, skutečná konvergence je rychlejší.
Soustavy lineárních algebraických rovnic Soustava (I A)x = b. Předpoklad (A) < 1 (k tomu stačí A < 1 pro nějakou generovanou normu). Pak pro b, x 0 posloupnost vektorů {x k } k=0,1,2,... daná x k+1 = Ax k + b, k = 0, 1, 2,..., konverguje (po souřadnicích) k vektoru x, jenž je řešením soustavy (I A)x = b. Platí odhady (důkaz (5) je jednoduchý) x x k A k x 0 + A k b, 1 A (4) x x k A 1 A x k x k 1. (5)
V praxi Cx = y. Nutno od Cx = y přejít k (I A)x = b. Napíšeme C = (c ij ) jako D Ĉ, kde D = diag{c 11, c 22,..., c nn } a Ĉ = (ĉ ij ) je matice s prvky ĉ ii = 0, ĉ ij = c ij pro i j. Jsou-li všechny diagonální prvky c ii nenulové, položíme A = D 1 Ĉ, b = D 1 y. Iterační metoda x k+1 = Ax k + b se nazývá Jacobiova a lze ji zapsat i takto x k+1 = D 1 Ĉx k + D 1 y, k = 0, 1,..., x 0 R n zvolíme, postupně vypočítáváme x 1, x 2,...
Podmínka (D 1Ĉ) < 1 zaručuje konvergenci Jacobiovy metody pro každou pravou stranu y a při libovolné volbě počátečního vektoru x 0. Dvě jednodušší podmínky: (a) C = (c ij ) má převládající diagonálu, tj. existují kladná čísla h 1, h 2,...,h n tak, že c ii h i > k i c ik h k, i = 1,...,n. Pak Jacobiova metoda pro řešení soustavy Cx = y konverguje pro y, x 0. Poznámka: Často stačí volit h 1 = h 2 = = h n = 1.
(b) Má-li reálná symetrická matice C všechny prvky na hlavní diagonále kladné, konverguje Jacobiova metoda pro y, x 0, právě když C i 2D C jsou pozitivně definitní matice.
Jiný rozklad matice C vede na jinou metodu. Pišme C = D L U, kde D je opět diagonální část matice C, matice L (resp. U) je dolní (resp. horní) trojúhelníková matice, matice L a U mají nulové hlavní diagonály. Definujme A = (D L) 1 U, b = (D L) 1 y. Iterační metoda x k+1 = (D L) 1 Ux k + (D L) 1 y, k = 0, 1,..., se nazývá Gaussova-Seidelova metoda. Vektor x k+1 řeší soustavu (D L)x k+1 = Ux k + y. V praxi se nepočítají inverzní matice, ale dosazuje se do explicitních vztahů pro x (i) k, kde i = 1, 2,...,n a n je řád matice C.
Konvergence G-S metody (a) Má-li matice C převládající diagonálu, je ((D L) 1 U) < 1, tj. metoda konverguje pro každou volbu počátečního vektoru a každou pravou stranu. (b) Gaussova-Seidelova metoda konverguje pro y, x 0, je-li matice C pozitivně definitní.
Metoda sdružených gradientů A s.p.d. matice typu (n, n). x 0 počáteční aproximace, Ax 0 b. Položme p 0 = r 0 = b Ax 0 a počítejme pro k = 0, 1,...,n 1 a k = (r k, r k ) (Ap k, p k ), x k+1 = x k + a k p k, r k+1 = r k a k Ap k, b k = (r k+1, r k+1 ), (r k, r k ) p k+1 = r k+1 + b k p k. Není-li pro žádné k < n vektor r k nulový, je x n řešení. Nastane-li (poprvé) pro nějaké k < n, že vektor r k je nulový, je x k řešení. (Metoda přímá/iterační.)
Konvergence: odhad x x k A 2 ( κ(a) 1 κ(a) + 1 ) k x x 0 A, k = 0, 1, 2,..., kde κ(a) je číslo podmíněnosti definované jako podíl největšího vlastního čísla matice A k nejmenšímu vl. číslu matice A a x A = x T Ax je (energetická) norma (že jde o normu, to plyne z pozitivní definitnosti matice A).
Předpodmínění Vlastnosti matice C v soustavě Cx = b (snížení čísla podmíněnosti, tj. rozložení vlastních čísel) můžeme zlepšit předpodmíněním, tj. vynásobením vhodnou maticí M a řešením upravené soustavy se součinem MC nebo CM: MCx = Mb nebo CMy = b, kde My = x. Ideální volbou by bylo M = C 1, výpočet inverzní matice je však časově náročný (delší než řešení soustavy rovnic), proto volba matice M musí být kompromisem mezi kvalitou a výpočetními nároky.