Metoda konjugovaných gradientů

Podobné dokumenty
4. Přednáška: Kvazi-Newtonovské metody:

Buckinghamův Π-teorém (viz Barenblatt, Scaling, 2003)

1 Gaussova kvadratura

Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008

7.3.9 Směrnicový tvar rovnice přímky

Geometrická zobrazení

1 Seznamová barevnost úplných bipartitních

V této sekci zobecníme vnější kalkulus z kapitoly 4 operaci vnějšího. se sice na zde zavedené operace budeme odvolávat, vždy ale jen jako

7.3.9 Směrnicový tvar rovnice přímky

0.1 Úvod do lineární algebry

PRVOČÍSLA 1 Jan Malý UK v Praze a UJEP v Ústí n. L. Obsah

11. Skalární součin a ortogonalita p. 1/16

1 Polynomiální interpolace

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

9 Stupně vrcholů, Věta Havla-Hakimiho

Úlohy krajského kola kategorie A

PROSTORY SE SKALÁRNÍM SOUČINEM. Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti

Úlohy domácího kola kategorie B

Příklady: - počet členů dané domácnosti - počet zákazníků ve frontě - počet pokusů do padnutí čísla šest - životnost televizoru - věk člověka

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

Necht L je lineární prostor nad R. Operaci : L L R nazýváme

0.1 Úvod do lineární algebry

6 5 = 0, = 0, = 0, = 0, 0032

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

f (k) (x 0 ) (x x 0 ) k, x (x 0 r, x 0 + r). k! f(x) = k=1 Řada se nazývá Taylorovou řadou funkce f v bodě x 0. Přehled některých Taylorových řad.

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Základní spádové metody

MATEMATIKA II V PŘÍKLADECH

Budeme pokračovat v nahrazování funkce f(x) v okolí bodu a polynomy, tj. hledat vhodné konstanty c n tak, aby bylo pro malá x a. = f (a), f(x) f(a)

PRIMITIVNÍ FUNKCE. Primitivní funkce primitivní funkce. geometrický popis integrály 1 integrály 2 spojité funkce konstrukce prim.

Lineární programování

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

III. Diferenciál funkce a tečná rovina 8. Diferenciál funkce. Přírůstek funkce. a = (x 0, y 0 ), h = (h 1, h 2 ).

ALGEBRA. Téma 5: Vektorové prostory

PRIMITIVNÍ FUNKCE DEFINICE A MOTIVACE

Příklad. Řešte v : takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar

1 Linearní prostory nad komplexními čísly

Otázku, kterými body prochází větev implicitní funkce řeší následující věta.

Těleso na nakloněné rovině Dvě tělesa spojená tyčí Kyvadlo

3.3.4 Thaletova věta. Předpoklady:

Mocnost bodu ke kružnici

Riemannův určitý integrál

Lineární algebra : Metrická geometrie

Primitivní funkce a Riemann uv integrál Lineární algebra Taylor uv polynom Extrémy funkcí více prom ˇenných Matematika III Matematika III Program

Úlohy nejmenších čtverců

Mocnost bodu ke kružnici

Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda

EUKLIDOVSKÉ PROSTORY

Lingebraické kapitolky - Analytická geometrie

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)

3.2.9 Věta o středovém a obvodovém úhlu

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Aplikovaná numerická matematika - ANM

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

stránkách přednášejícího.

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

Funkce a lineární funkce pro studijní obory

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Symetrické a kvadratické formy


MATEMATIKA 1 4 A B C D. didaktický test. Zadání neotvírejte, počkejte na pokyn! MA1ACZMZ07DT. Pokyny pro vyplňování záznamového archu

Soustavy lineárních rovnic

Základy maticového počtu Matice, determinant, definitnost

Matematika I 12a Euklidovská geometrie

ANALYTICKÁ GEOMETRIE V ROVINĚ

Numerické metody 6. května FJFI ČVUT v Praze

Předpoklady: a, b spojité na intervalu I.

Vlastní (charakteristická) čísla a vlastní (charakteristické) Pro zadanou čtvercovou matici A budeme řešit maticovou

3. Mocninné a Taylorovy řady

Binomická věta

Lineární algebra : Vlastní čísla, vektory a diagonalizace

Dijkstrův algoritmus

3. Přednáška: Line search

Úvod do lineární algebry

Operace s maticemi. 19. února 2018

1 Analytická geometrie

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

Vlastní čísla a vlastní vektory

Vlastní čísla a vlastní vektory

LDF MENDELU. Simona Fišnarová (MENDELU) LDR druhého řádu VMAT, IMT 1 / 22

Lineární algebra : Lineární prostor

V: Pro nulový prvek o lineárního prostoru L platí vlastnosti:

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

Aplikovaná numerická matematika

P. Rozhodni, zda bod P leží uvnitř, vně nebo na kružnici k. Pokud existují, najdi tečny kružnice procházející bodem P.

Hodnocení přesnosti výsledků z metody FMECA

6.1 Vektorový prostor

Nelineární optimalizace a numerické metody (MI NON)

MULTIKRITERIÁLNÍ ROZHODOVÁNÍ VEKTOROVÁ OPTIMALIZACE

Lineární algebra : Polynomy

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

2 Diferenciální rovnice

Diferenciální rovnice 3

8 Matice a determinanty

Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.

Transkript:

0 Metoda onjugovaných gradientů Ludě Kučera MFF UK 11. ledna 2017 V tomto textu je popsáno, ja metodou onjugovaných gradientů řešit soustavu lineárních rovnic Ax = b, de b je daný vetor a A je symetricá a pozitivně definitní reálná matice. Jedná se o metodu iterativní: vycházejíce z libovolného bodu x 0 v příslušném Eulidovsém prostoru, budeme postupně procházet (opaováním stále stejného výpočtu) body x 1, x 2,..., až se naonec dostaneme do bodu, terý je řešením soustavy, nebo alespoň ta blízo němu, že nám daná hodnota bude vyhovovat jao přibližné řešení soustavy. 1 Řešení soustavy lineárních rovnic minimalizací vadraticého funcionálu Definujme funcionál f tato: f(x) = 1 2 xt Ax x T b pro aždé x E n. Lemma 1 Řešení x sol soustavy Ax = b je jediné minimum funcionálu f. Důaz: Uvažujme vetor x E n a řešení x sol soustavy Ax = b (sol jao solution, anglicy řešení ). Položme e = x x sol. Pa f(x) = f(x sol + e) = 1 2 (x sol + e) T A(x sol + e) (x sol + e) T b = = 1 2 (xt solax sol + x T solae + e T Ax sol + e T Ae) x T solb e T b = = ( 1 2 xt solax sol x T solb) + e T Ae + e T (Ax sol b) = f(x sol ) + e T Ae, protože x T sol Ae = et Ax sol a proto 1 2 (xt sol Ae + et Ax sol ) = e T Ax sol. Jeliož je A pozitivně definitní, je hodnota výrazu e T Ae vždy nezáporná a je rovna nule (své nejmenší možné hodnotě) právě dyž e = 0, neboli dyž x = x sol. 1

2 Minimalizace funcionálu v daném směru Předpoládejme nyní, že se nacházíme v bodě x a vydáme se z něj ve směru vetoru p (vpřed nebo i vzad). Navštívíme tedy body x + αp, de α je reálné číslo. Naším cílem je určit, de na této dráze má funcionál f nejmenší hodnotu. Hodnota funcionálu f na této dráze je f(x + αp) = 1 2 (x + αp)t A(x + αp) (x + αp) T b = = 1 2 xt Ax + αp T Ax + 1 2 α2 p T Ap x T b αp T b = U + αv + α 2 W, de U = 1 2 xt Ax x T b, V = p T Ax p T b, W = 1 2 pt Ap. Pro pevné x a p jsou U, V a W onstanty a výraz pro f(x + αp) je vadraticou funcí α. Je známo, že tato funce má minimum, dyž se její derivace podle α rovná 0. Ta derivace je obecně rovna 2W α+v a tedy minimum nabývá pro α = V 2W, neboli pro α = pt (b Ax) p T. Ap Mimimum na dráze tvořené body x + αp je v bodě 3 Směr největšího spádu x + pt (b Ax) p T p (1) Ap Dále si představme, že jsme v bodě x a chceme se pustit směrem nejprudšího lesání funcionálu f. Který to je směr? Vezměme vetor e dély 1 a vydejme se v jeho směru z bodu x. Položme ϕ(α) = f(x + αe). Pro pevné e je rychlost změny funcionálu f v bodě x při pohybu ve směru e rovna hodnotě derivace funce ϕ podle α v bodě α = 0. Propočítejme to: ϕ(α) = f(x + αe) = 1 2 xt Ax + αe T Ax + α 2 e T Ae x T b αe T b ϕ(α) α = et Ax + 2αe T Ae e T b a tedy hodnota této derivace pro α = 0 je ϕ(α) α = e T Ax e T b = e T (b Ax). α=0 Nyní se zamysleme nad tím, v jaém směru je ta derivace nejmenší, tedy salární součin e T (b Ax) největší. Jasně, je to dyž e jde ve směru b Ax. 2

4 Metoda největšího spádu Máme-li tedy nyní řešit rovnici Ax = b, stačí nalézt minimum funcionálu f(x) = 1 2 xt Ax x T b, teré můžeme hledat iterativně tato: postavme se do libovolného bodu, terý označíme x 0. Často se volí x 0 = 0, nemáme-li nějaý dobrý důvod zvolit jiný bod. Vydejme se z tohoto bodu směrem největšího lesání funcionálu f, tedy ve směru daném vetorem r 0 = b Ax 0. V tomto směru se posuneme ta hluboo (vzhledem f), ja to jen jde. O olianásobe vetoru r se posuneme, je popsáno výše. Postupem z předchozího odstavce se dostaneme do bodu, terý označíme x 1 a postup stále opaujeme. Jsme-li tedy obecně v bodě x i, položíme r i = b Ax i (povšimněte si, že r i nám taé udává, ja jsme daleo s výpočtem, ja je Ax i daleo od vetoru b, terému by se naonec mělo rovnat), vydáme se ve směru r i, dojdeme v tom směru do místa, ve terém je funcionál f nejnižší a to označíme jao x i+1, atd. Poračujeme ta dlouho, doud není r i (terému se říává i-té residuum, odtud označení r i ) rovno nule (nalezeno řešení) nebo alespoň dostatečně malé (nalezeno dostatečně valitní přibližné řešení). Této metodě říáme metoda nejprudšího spádu (anglicy steepest descent ). 5 Metoda onjugovaných gradientů V roce 1952 si Magnus Hestenes a Eduard Stiefel povšimli, že v elipsoidové geometrii pozitivně definitních matic je být výhodnější postupovat trochu jina a lépe, než metodou nejprudšího spádu: způsobem, terému se nyní říá metoda onjugovaných gradientů (anglicy conjugate gradients, odtud i zrata CG). Je dobře známo, že je-li A pozitivně definitní a symetricá reálná matice, pa vzorec x, y = x T Ay má vlastnosti salárního součinu, tedy x, x 0 s rovností pouze pro x = 0, operace je symetricá a αx, y = α x, y. Řeneme, že dva vetory x a y jsou onjugované, poud platí x, y = 0 (tedy jsou na sebe olmé vzhledem e salárnímu součinu, určenému maticí A). Metoda onjugovaných gradientů postupuje velmi podobně jao metoda nejprudšího spádu, ale budeme se snažit, aby směry, ve terých se v jednotlivých iteracích pohybujeme (gradienty), byly navzájem onjugované. Postup začíná v libovolně zvoleném vetoru x 0 a vytváří posloupnost x 0, r 0, p, x 1, r 1, p 1,... následujícím způsobem: 3

Metoda onjugovaných gradientů (neupravená) Vstupní data: celé číslo n (dimenze) symetricá pozitivně definitní matice A veliosti n n, vetor b dimenze n (pravá strana soustavy), počáteční vetor x 0. pro = 0, 1, 2,... { } r = b Ax ; poud r = 0, uonči výpočet; (2) 1 r T p = r Ap j p T j Ap p j ; (3) j j=0 x +1 = x + pt r p T Ap p ; (4) První ro se udělá stejně jao v metodě nejprudšího spádu; vyrazíme směrem p 0, terý bude roven směru r 0 = b Ax 0. Když se ale dostaneme po iteracích do bodu x, nebudeme dál postupovat nejprudším spádem přesně ve směru residua r = b Ax, ale ve směru p, terý vznine ta, že si směr r upravíme ta, aby byl onjugovaný e všem směrům p 0,..., p 1, ve terých jsme se pohybovali dříve. Tento pozměněný směr p (p od anglicého progress ) dostaneme z r podobně jao při Gramm-Schmidtově ortogonalizaci ta, že od residua r odečteme jeho složy v předchozích směrech p 0 = r 0, p 1,..., p 1, ale místo obvylé olmosti používáme olmost ve smyslu salárního součinu definovaného maticí A, tedy onjugovanost. Pro aždé j < tedy chceme od vetoru r odečíst taový násobe α j vetoru p j, aby výslede odečítání byl onjugovaný s p j. Pro hodnotu násobu α j tedy máme následující rovnici: (r α j p j ) T Ap j = 0, neboli r T Ap j = α j p T j Ap j, z čehož dostáváme α j = rt Ap j p T j Ap. j To nám tedy dává vzorec (3) pro p, uvedený výše. Jestliže je tato vznilé p nenulový vetor, přejdeme z x ve směru daném vetorem p do bodu x +1, terý minimalizuje funcionál f na této přímce. Na záladě (1) tedy se dostaneme e vzorci (4) pro x +1, uvedenému výše. Poud by nastal případ, že r je nulový vetor, výpočet se přeruší, protože v taovém případě x je řešení soustavy Ax = b a není nutno dále poračovat. 4

Potíž při výpočtech by mohla nastat, poud by se stalo, že p = 0, protože hned v následujícím výpočtu x +1 ve vzorci (4) by došlo dělení nulou. Za chvíli ale bude doázáno, že tomu nidy nemůže dojít. Nyní doážeme tři jednoduchá lemmata, terá budou mít řadu velmi důležitých důsledů. Lemma 2 Poud je p definováno, pa je lineární ombinací vetorů r 0,..., r. Důaz: Lemma doážeme inducí podle. Pro = 0 tvrzení platí, protože p 0 = r 0. A jestliže platí pro 1, pa z (3) oamžitě plyne, že platí taé pro. Lemma 3 Poud je r +1 definováno, pa Důaz: Na záladě (4) je taže r +1 = r α Ap, de α = pt r p T Ap. pt r x +1 x = p T Ap p, r +1 r = (b Ax +1 ) (b Ax ) = (Ax +1 Ax ) = pt r p T Ap Ap. Lemma 4 (Rezidua jsou na sebe olmá) Necht pro nějaé celé nezáporné číslo platí, že x j a r j jsou definována a r j 0 pro všechna j = 0, 1,..., a navíc r T i r j = 0 pro všechna celá i a j taová, že 0 i < j. Potom p 0, taé x +1 a r +1 jsou řádně definovány a r T +1 r j = 0 pro j = 0, 1,...,. Důaz: Jeliož jsou rezidua r 0,..., r nenulová a navzájem olmá, jsou taé lineárně nezávislá. Suma v rovnici (3) je lineární ombinací vetorů p 0,..., p 1 a tedy na záladě předchozího lemmatu taé lineární ombinací vetorů r 0,..., r 1. Podle (3) je tedy p netriviální lineární ombinací vetorů r 0,..., r. Proto p nemůže být nulový vetor. A je-li p 0, pa jsou taé definovány vetory x +1 a r +1. Naonec spočítejme hodnotu r T +1 r j pro zvolené celé j v rozmezí 0 j : ( j 1 r T +1r j = (r α Ap ) T r j = r T r j α p T r T j A p j + Ap ) i p T i Ap p i = r T r j α p T Ap j, i i=0 5

de pt r α = p T Ap, protože p bylo zvoleno ta, aby platilo p T Ap i = 0 pro i <. Víme nyní, že pro j < a j 1 p T j r = r j i=0 r T j Ap i p T i Ap p i = r j r, i 1 p T r T r = (r Ap j p T j Ap p j ) T r = r T r. j j=0 Jestliže nyní j <, pa z předpoladů věty plyne, že r T r j = 0 a p T Ap j = 0, taže i r T +1 r j = 0. Poud naopa j =, pa r T r j α p T Ap j = r T r p T r = r T r r T r = 0. Lemma říá, že residua jsou na sebe olmá v lasicém smyslu (obvylý salární součin), nioli onjugovaná (salární součin induovaný maticí A). Jední z velmi významných důsledů lemmatu je následující věta (je třeba poznamenat, že platí za předpoladu, že všechny výpočty se provádějí absolutně přesně, bez zaorouhlovacích chyb): Věta 1 Metoda onjugovaných gradientů nalezne přesné řešení soustavy rovnic Ax = b po nejvýše n rocích. Důaz: Kdyby se metoda onjungovaných gradientů nezastavila po n rocích, vytvořila by nenulové vetory r 0, r 1,..., r n, teré by ale podle předchozího lemmatu byly na sebe olmé, tedy lineárně nezávislé, což vša v prostoru dimenze n není možné. Další velmi užitečné lemma říá, že ve vzorci (3) pro výpočet p jsou všechny sčítance v sumě s výjimou sčítance pro j = 1 rovny nule, taže je tento vzorec možno velice zjednodušit: Lemma 5 r T Ap j = 0 pro j = 0,..., 2 r T +1 Ap p T Ap Důaz: Na záladě lemmatu 30 platí, že = rt +1 r +1 r T r r T Ap j = r T ( 1 α j 1 (r j r j 1 ) = 0 pro j = 0, 1,..., 2 r T +1 Ap p T Ap r T +1 = Ap 1 α 1 p T 1 Ap 1 = rt r r T 1 r 1 6

Důslede 1 p +1 = r +1 + β p, de β = rt +1 r +1 r T r Důaz: Metoda onjugovaných gradientů (s indexy) Vstupní data: celé číslo n (dimenze) symetricá pozitivně definitní matice A veliosti n n, vetor b dimenze n (pravá strana soustavy), počáteční vetor x 0. r 0 = b Ax 0 ; p 0 = r 0 ; pro = 0, 1, 2,... { } z = Ap ; α = rt r p T z ; x +1 = x + α p ; r +1 = r α z ; poud r = 0, uonči výpočet; β = rt +1 r +1 r T r ; p +1 = r +1 + β p ; 7

Metoda onjugovaných gradientů (onečný tvar) Vstupní data: celé číslo n (dimenze) symetricá pozitivně definitní matice A veliosti n n, vetor b dimenze n (pravá strana soustavy), počáteční vetor x 0. r = b Ax 0 ; lrr = r T r; p = r ; pro = 0, 1, 2,... { } z = Ap ; α = lrr p T z ; x = x + αp ; r = r αz; poud r = 0, uonči výpočet; rr = r T r ; β = rr lrr ; lrr = rr p = r + βp ; 8