Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Podobné dokumenty
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

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

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

Soustavy lineárních rovnic-numerické řešení. October 2, 2008

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Připomenutí co je to soustava lineárních rovnic

Soustavy lineárních rovnic-numerické řešení

a vlastních vektorů Příklad: Stanovte taková čísla λ, pro která má homogenní soustava Av = λv nenulové (A λ i I) v = 0.

Co je obsahem numerických metod?

Numerické metody lineární algebry

Numerické řešení soustav lineárních rovnic

Paralelní algoritmy v lineární algebře. Násobení matic

Numerické metody lineární algebry

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Arnoldiho a Lanczosova metoda

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Aplikovaná numerická matematika - ANM

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

DRN: Soustavy linárních rovnic numericky, norma

Numerické řešení soustav lineárních rovnic

Tento dokument obsahuje zadání pro semestrální programy z PAA. Vypracování. vypracovanou úlohu podle níže uvedených zadání. To mimo jiné znamená, že

Úlohy nejmenších čtverců

Numerické metody a programování. Lekce 4

1 0 0 u 22 u 23 l 31. l u11

0 0 a 2,n. JACOBIOVA ITERAČNÍ METODA. Ax = b (D + L + U)x = b Dx = (L + U)x + b x = D 1 (L + U)x + D 1 b. (i) + T J

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Symetrické a kvadratické formy

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

4. Trojúhelníkový rozklad p. 1/20

Iterační metody řešení soustav lineárních rovnic. 27. prosince 2011

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Numerické metody a programování

Cvičení 5 - Inverzní matice

0.1 Úvod do lineární algebry

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

EUKLIDOVSKÉ PROSTORY

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

Základy matematiky pro FEK

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

P 1 = P 1 1 = P 1, P 1 2 =

0.1 Úvod do lineární algebry

1 Linearní prostory nad komplexními čísly

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

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

2 Vektorové normy. Základy numerické matematiky - NMNM201. Definice 1 (Norma). Norma je funkcionál splňující pro libovolné vektory x a y a pro

Lineární algebra : Násobení matic a inverzní matice

[1] LU rozklad A = L U

Soustavy lineárních rovnic a determinanty

Interpolace, ortogonální polynomy, Gaussova kvadratura

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat

Soustavy linea rnı ch rovnic

Lineární algebra : Násobení matic a inverzní matice

15 Maticový a vektorový počet II

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

Operace s maticemi. 19. února 2018

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

AVDAT Nelineární regresní model

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x).

MASARYKOVA UNIVERZITA RELAXAČNÍ METODA

2. Schurova věta. Petr Tichý. 3. října 2012

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

Kapitola 11: Vektory a matice:

Numerické řešení nelineárních rovnic

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

D 11 D D n1. D 12 D D n2. D 1n D 2n... D nn

Vlastní číslo, vektor

7. Lineární vektorové prostory

Operace s maticemi

AVDAT Vektory a matice

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

Faster Gradient Descent Methods

Pavel Klavík. Katedra aplikované matematiky, Matematicko-fyzikální fakulta, Univerzita Karlova v Praze

1 Determinanty a inverzní matice

Lineární algebra Operace s vektory a maticemi

Základní spádové metody


1 Projekce a projektory

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

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

Matematika B101MA1, B101MA2

Lineární programování

Singulární rozklad. Petr Tichý. 31. října 2013

Lineární algebra : Skalární součin a ortogonalita

Soustavy lineárních rovnic

Lingebraické kapitolky - Počítání s maticemi

BAKALÁŘSKÁ PRÁCE. Iterační metody pro řešení systémů lineárních rovnic UNIVERZITA PALACKÉHO V OLOMOUCI PŘÍRODOVĚDECKÁ FAKULTA

9 Kolmost vektorových podprostorů

Podobnost matic. Definice 8.6. Dány matice A, B M n (C). Jestliže existuje regulární matice P M n (C) tak,

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

Transkript:

1 / 65 Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

1 2 3 4 5 6 7 8 Super-relaxační 9 2 / 65

2 / 65 Budeme se zabývat mi pro řešení úlohy A x = b s regulární maticí A. Chceme najít efektivnější, než je GEM. iterativní generují posloupnost { x (k)} k=1, která konverguje k řešení soustavy lim x (k) = x k prakticky tak (obecně) nikdy nedostaneme přesné řešení, ale můžeme dostat (téměř) libovolně přesnou aproximaci

3 / 65 obecně obecně platí, že volíme libovolné x (0) a dále napočítáváme x (k+1) = B (k) x (k) + c (k), kde volba B (k) a c (k) záleží na použité ě dále požadujeme, aby pro všechna k platilo x = B (k) x + c (k), kde x je přesné řešení soustavy A x = b

4 / 65 Theorem 1 tvaru splňující obecně x (k+1) = B (k) x (k) + c (k), x = B (k) x + c (k), konverguje k x pro libovolné x (0) právě když, Důkaz. Platí lim k B(k) B (k 1)... B (0) = θ. x (k) x = B (k 1) x (k 1) + c (k 1) B (k 1) x c (k 1) = B (k 1) x (k 1) B (k 1) x = B (k 1) ( x (k 1) x ) = B (k 1) B (k 2)... B (0) ( x (0) x )

5 / 65 Citlivost a stabilita pokud během výpočtu dojde k nějaké chybě, třeba vinou zaokrouhlení, můžeme se na výsledný vektor dívat jako na nové x (0), které může být libovolné a bude konvergovat i tak chyby ve výpočtech se tedy nekumulují, ale eliminují jde o tzv. samoopravující vlastnost tím pádem již dále nemusíme studovat citlivot na výpočetní chyby

6 / 65 obecně pro řešení lineárních soustav se dělí na: stacionární B (k) a c (k) jsou konstantní tj. x (k+1) = B x (k) + c nestacionární B (k) a c (k) jsou různé pro každé k Výhoda stacionárních je, že pracujeme jen s jednou maticí. Jsou proto jednodušší na implementaci a také na numerickou analýzu. Dále budeme studovat pouze stacionární.

7 / 65 Theorem 2 daná vztahem a splňující iterativní x (k+1) = B x (k) + c x = B x + c, konverguje k x pro libovolné x (0) právě když platí, Důkaz. Plyne z věty 1 a lim k Bk = θ. lim k B(k 1)... B (0) = lim B k. k

8 / 65 Theorem 3 daná vztahem a splňující iterativní x (k+1) = B x (k) + c, x = B x + c, konverguje k x pro libovolné x (0) právě když platí, že ρ (B) < 1. Důkaz. Plyne z podmínek pro konvergenci posloupnosti B k.

9 / 65 iterativní Theorem 4 Postačující podmínkou pro to, aby daná vztahem a splňující x (k+1) = B x (k) + c, x = B x + c, konvergovala k x pro libovolné x (0) je, že B < 1 v nějaké maticové normě. Důkaz. Plyne z podmínek pro konvergenci posloupnosti B k.

10 / 65 iterativní Theorem 5 Aposteriorní odhady chyb pro stacionární iterativní : Pro u danou vztahem a splňující x (k+1) = B x (k) + c, x = B x + c, kde x je řešením soustavy lineárních rovnic A x = b, platí následující odhady chyby aproximace řešení: x (k) x A 1 A x (k) b = A 1 r (k), x (k) x (I B) 1 B x (k 1) x (k), při použití souhlasné maticové normy s danou vektorovou normou. Remark 6 Zde jsme použili definici rezidua v k-té iteraci r (k) = A x (k) b.

11 / 65 iterativní Remark 7 aposteriorní odhady chyb jsou důležité pro zjištění, kdy výpočet zastavit a to sice tehdy, je-li r (k) nebo x (k 1) x (k) dostatečně malé pojem "dostatečně malé" se často vztahuje k normě matice A nebo pravé strany b rovnice, tj. požadujeme např. r (k) < ɛ b

12 / 65 iterativní Theorem 8 Apriorní odhad chyby pro stacionární iterativní : Bud B < 1 v nějaké maticové normě. Pak pro posloupnost { x (k)} generovanou předpisem k=1 a splňující platí x (k+1) = B x (k) + c, x = B x + c, [ x (k) x B k x (0) c ] +, 1 B kde použitá maticová norma je souhlasná s použitou vektorovou normou.

13 / 65 iterativní nyní již víme, za jakých podmínek stacionární konverguje k nějakému vektoru x a známé odhady chyb dále se budeme zabývat otázkou, jak volit matici B a vektor c, aby vztah x = B x + c, platil pro řešení x soustavy lineárních rovnic A x = b

14 / 65 při návrhu nejjednodušší iterativní chceme najít nějaký způsob, jak zlepšit určitou aproximaci řešení x (k) potřebujeme tedy odhadnout, jaké chyby se s danou dopouštíme jediný odhad, který máme k dispozici, je reziduum zkusme tedy u r (k) = A x (k) b x (k+1) = x (k) r (k) = x (k) A x (k) + b = (I A) x (k) + b vidíme, že splňuje podmínku x = (I A) x + ( b A x = ) b je tedy B = I A, c = b

tuto u nazveme ou snadno vidíme, že platí Theorem 9 pro rovnici A x = b (s regulární maticí A) ve tvaru x (k+1) = (I A) x (k) + b, konverguje pro každé x (0) k řešení zadané rovnice právě když ρ (I A) < 1. Je-li I A < 1, pro nějakou maticovou normu, pak tato také konverguje k řešení soustavy pro libovolné x (0). 15 / 65

16 / 65 Theorem 10 Bud p (x) polynom proměnné x. Bud A C n,n, λ σ (A). Pak p (λ) σ (p (A)). Důkaz. Lze ukázat snadno s využitím Jordanova tvaru matice.

17 / 65 Theorem 11 Bud A hermitovská a PD. Pak konverguje právě když platí 2I > A > 0. Důkaz. Je-li A hermitovská a má-li být ρ (I A) < 1, pak musí být σ (I A) ( 1, 1) a podle předchozí věty Remark 12 Takových matic ale moc není. σ (A) (0, 2) 2I > A > 0.

18 / 65 Předpodmíněná abychom zlepšili konvergenci, použijeme tzv. předpodmínění soustavu A x = b vynásobíme vhodnou regulární maticí H dostaneme soustavu řešení se tím nezmění HA x = H b

19 / 65 Předpodmíněná má nyní mít tvar x (k+1) = x (k) r (k) a samozřejmě platí podmínka = x (k) HA x (k) + H b = x (k) H ( A x (k) ) b = (I HA) x (k) + H b (I HA) x + H b = x HA x + H b = x

20 / 65 Předpodmíněná ze vztahu x (k+1) = (I HA) x (k) + H b vidíme, že platí tedy následující věty B = I HA, c = H b

21 / 65 Předpodmíněná Theorem 13 Předpodmíněná pro rovnici A x = b (s regulární maticí A) s předpodmíněním H ve tvaru x (k+1) = (I HA) x (k) + H b, konverguje pro každé x (0) k řešení zadané rovnice právě když ρ (I HA) < 1. Je-li I HA < 1, pro nějakou maticovou normu, pak tato také konverguje k řešení soustavy pro libovolné x (0).

Předpodmíněná Theorem 14 Bud A hermitovská a PD. Pak předpodmíněná konverguje, pokud platí W + W > A > 0, kde W = H 1. Konvergence je navíc monotónní vzhledem k vektorové normě A. Remark 15 Pro u bez předpodmínění, je W = I a dostáváme již dokázané kritérium 2I > A > 0. Tato věta nám ale neříká nutnou podmínku!!! 22 / 65

Předpodmíněná nyní vyvstává otázka, jak volit matici H ze vztahu x (k+1) = x (k) HA x (k) + H b dostáváme, že při volbě H = A 1 je x (k+1) = x (k) HA x (k) + H b = x (k) A 1 A x (k) + A 1 b = x (k) x (k) + x = x by tak konvergovala po jedné iteraci získat A 1 ale umíme jen pomocí GEM, čemuž jsme se chtěli vyhnout umění je najít matici H tak, aby co nejlépe aproximovala A 1 ale byla snadno dosažitelná 23 / 65

24 / 65 tato je dána předpisem pro θ R x (k+1) = x (k) θ(a x (k) b), parametru θ se říká relaxační parametr snadno vidíme, že H = θi B = I θa c = θ b

25 / 65 Theorem 16 Je-li A hermitovská a PD, pak Richardsonových iterací konverguje právě když 2 θ I > A > 0. Konvergence je navíc monotónní vzhledem k vektorové normě A. Důkaz. Důkaz postačující podmínky plyne z věty 14, kde W = 1 θ I. Že jde o nutnou podmínku lze ukázata podobně jako u. Remark 17 Pro hermitovskou a PD matici A konverguje pro θ < 2 ρ (A).

26 / 65 navrhl ji Carl Gustav Jakob Jacobi (1845) u napočítáváme i-tou složku vektoru x (k+1) z vektoru x (k) tak, aby byla splněna i-tá rovnice soustavy tj. x (k+1) i = 1 a ii ( b i a i1 x (k) 1 a i2 x (k) 2... pro i = 1,..., n. a i,i 1 x (k) i 1 a i,i+1x (k) i+1... a inx (k) n ),

27 / 65 1 bool jacobimethod ( const Matrix& A, 2 const Vector& b, 3 Vector& x, 4 double eps ) 5 { 6 double normb = norm ( b ) ; 7 double r = eps + 1. 0 ; 8 Vector y ; 9 while ( r > eps ) 10 { 11 / 12 i t e r a c e 13 / 14 15 for ( i n t i = 0; i < n ; i ++ ) 16 { 17 double s = 0. 0 ; 18 for ( i n t j = 0; j < n ; j ++ ) 19 i f ( j!= i ) 20 s = s + A [ i ] [ j ] x [ j ] ; 21 y [ i ] = ( b [ i ] s ) / A [ i ] [ i ] ; 22 } 23 / 24 Vypocet rezidua 25 / 26 r = 0. 0 ; 27 for ( i n t i = 0; i < n ; i ++ ) 28 { 29 double Ax_i = 0. 0 ; 30 for ( i n t j = 0; j < n ; j ++ ) 31 Ax_i = Ax_i + A [ i ] [ j ] y [ j ] ; 32 r = r + ( Ax_i b_i ) ( Ax_i b_i ) ; 33 x [ i ] = y [ i ] ; 34 } 35 r = s q r t ( r ) / normb ; 36 } 37 }

- numerická analýza matici A přepíšeme ve tvaru kde A = D L R, D je diagonála matice A L jsou záporně vzaté prvky matice A pod diagonálou R jsou záporně vzaté prvky matice A nad diagonálou 28 / 65

29 / 65 - numerická analýza pro numerickou analýzu lze tuto u maticově zapsat takto x (k+1) = D 1 [ b + (D A) x (k)] = D 1 (L + R) x (k) + D 1 b ( = I D 1 A ) x (k) + D 1 b

30 / 65 - numerická analýza vidíme tedy, že B = I D 1 A c = D 1 b H = D 1

31 / 65 - numerická analýza Theorem 18 Nutnou a postačující podmínkou pro to, aby konvergovala pro libovolné x (0) je ( ) ρ D 1 (L + R) < 1. Postačující podmínkou je D 1 (L + R) < 1, v libovolné maticové normě.

32 / 65 - numerická analýza Definition 19 Maticí s převládající diagonálou nazveme takovou matici, pro kterou platí pro všechna i = 1,... n. j=1,...,n;j i a ij < a ii,

- numerická analýza Theorem 20 Má-li matice A převládající diagonálu, pak konverguje k řešení soustavy rovnic A x = b pro libovolnou volbu x (0). Theorem 21 Je-li matice A hermitovská a PD, pak konverguje k řešení soustavy rovnic A x = b pro libovolnou volbu x (0), právě když platí 2D > A > 0 tj. A a 2D A jsou pozitivně definitní. Konvergence je navíc monotónní vzhledem k vektorové normě A. Důkaz. Důkaz postačující podmínky plyne z věty 14, kde W = H 1 = D. Že jde o podmínku nutnou lze dokázat podobně jako u, není to ale triviální. 33 / 65

34 / 65 Example 22 - příklad A = 2 1 0 1 2 1 0 1 2, b = 1 0 1 k x (k) r (k) 0 (0, 0, 0) (1, 0, 1) 1 ( 1 2, 0, 1 2 ) (0, 1, 0) 2 ( 1 2, 1 2, 1 2 ) ( 1 2, 0, 1 2 ) 3 ( 3 4, 1 2, 3 4 ) (0, 1 2, 0) 4 ( 3 4, 3 4, 3 4 ) ( 1 4, 0, 1 4 ) 5 ( 7 8, 3 4, 7 8 ) (0, 1 4, 0) 6 ( 7 8, 7 8, 7 8 ) ( 1 8, 0, 1 8 )........., x = 1 1 1,

35 / 65 roku 1823 jí popsal Carl Friedrich Gauss v jednom dopise svému studentovi Ch.L.Gerlingovi roku 1874 jí publikoval Phillip Ludwig von Seidel

36 / 65 narozdíl od, tato využívá k napočítání nové složky vektoru x (k+1) i již napočítané složky tohoto vektoru tj. x (k+1) 1,..., x (k+1) i 1 je tedy dána předpisem x (k+1) i = 1 a ii ( b i a i1 x (k+1) 1 a i2 x (k+1) 2... pro i = 1,..., n. a i,i 1 x (k+1) i 1 a i,i+1 x (k) i+1... a inx (k) n ),

37 / 65 1 bool gaussseidelmethod ( const Matrix& A, 2 const Vector& b, 3 Vector& x, 4 double eps ) 5 { 6 double normb = norm ( b ) ; 7 double r = eps + 1. 0 ; 8 while ( r > eps ) 9 { 10 / 11 Gaussova i t e r a c e 12 / 13 14 for ( i n t i = 0; i < n ; i ++ ) 15 { 16 double s = 0. 0 ; 17 for ( i n t j = 0; j < n ; j ++ ) 18 i f ( j!= i ) 19 s = s + A [ i ] [ j ] x [ j ] ; 20 x [ i ] = ( b [ i ] s ) / A [ i ] [ i ] ; 21 } 22 / 23 Vypocet rezidua 24 / 25 r = 0. 0 ; 26 for ( i n t i = 0; i < n ; i ++ ) 27 { 28 double Ax_i = 0. 0 ; 29 for ( i n t j = 0; j < n ; j ++ ) 30 Ax_i = Ax_i + A [ i ] [ j ] x [ j ] ; 31 r = r + ( Ax_i b_i ) ( Ax_i b_i ) ; 32 } 33 r = s q r t ( r ) / normb ; 34 } 35 }

38 / 65 - numerická analýza pro numerickou analýzu lze tuto u maticově zapsat takto x (k+1) = D 1 [ b + L x (k+1) + R x (k)] D x (k+1) L x (k+1) = b + R x (k) x (k+1) = (D L) 1 [ b + R x (k)] x (k+1) = (D L) 1 R x (k) + (D L) 1 b [ x (k+1) = I (D L) 1 A ] x (k) + (D L) 1 b

- numerická analýza vidíme tedy, že B = (D L) 1 R c = (D L) 1 b H = (D L) 1 39 / 65

40 / 65 - numerická analýza Theorem 23 Nutnou a postačující podmínkou pro to, aby konvergovala pro libovolné x (0) je ( ρ (D L) 1 R ) < 1. Postačující podmínkou je (D L) 1 R < 1, v některé maticové normě.

41 / 65 - numerická analýza Theorem 24 Má-li matice A převládající diagonálu, pak konverguje k řešení soustavy A x = b pro libovolnou volbu x (0). Theorem 25 Je-li matice A hermitovská a pozitivně definitní, pak konverguje k řešení soustavy A x = b pro libovolnou volbu x (0). Konvergence je navíc monotónní vzhledem k vektorové normě A. Důkaz. Plyne z věty 14, kde W = D L a W + W = 2D L L = D + A > A > 0.

42 / 65 - numerická analýza Remark 26 Bud A PD matice taková, že 2D A není PD. Potom nekonverguje, ale ano. je považována ze lepší u, než, i když v některých případech konverguje lépe nebo konverguje tehdy, když nekonverguje.

43 / 65 Example 27 A = - příklad 2 1 0 1 2 1 0 1 2, b = 1 0 1, x = 1 1, 1 Jacobi Gauss Seidel k x (k) r (k) x (k) r (k) 0 (0, 0, 0) (1, 0, 1) (0, 0, 0) (1, 0, 1) 1 ( 1 2, 0, 1 2 ) (0, 1, 0) ( 1 2, 1 4, 5 8 ) ( 3 4, 5 8, 0) 2 ( 1 2, 1 2, 1 2 ) ( 1 2, 0, 1 2 ) ( 5 8, 5 8, 13 16 ) ( 3 8, 3 16, 0) 3 ( 3 4, 1 2, 3 4 ) (0, 1 13 2, 0) ( 16, 13 16, 29 32 ) ( 3 16, 3 32, 0) 4 ( 3 4, 3 4, 3 4 ) ( 1 4, 0, 1 4 ) ( 29 32, 29 32, 61 64 ) ( 3 32, 3 64, 0) 5 ( 7 8, 3 4, 7 8 ) (0, 1 61 4, 0) ( 64, 61 64, 125 128 ) ( 3 64, 3 128, 0) 6 ( 7 8, 7 8, 7 8 ) ( 1 8, 0, 1 8 ) ( 125 128, 125 128, 253 256 ) ( 3 128, 3 256, 0)...............

Super-relaxační David M. Young, Jr., 1950 je známa zejména pod zkratkou SOR = Successive Over Relaxation method jde o modifikaci Gaussovy-Seidelovy funguje velmi dobře zejména na lineární systémy pocházející z konečných diferencí pro řešení parabolických nebo eliptických parciálních diferenciálních rovnic 44 / 65

45 / 65 Super-relaxační Gaussovu-Seidelovu u můžeme přepsat do tvaru kde x (k+1) i = x (k) i + x (k) i, x (k) i = 1 ( a i1 x (k+1) a 1 a i2 x (k+1) 2... a i,i 1 x (k+1) i 1 ii a ii x (k) i a i,i+1 x (k) i+1... a in x (k) n + b i )

46 / 65 Super-relaxační SOR je pak definována jako x (k+1) i = x (k) i ω je tzv. relaxační parametr + ω x (k) i, je-li ω = 1, dostáváme Gaussovu-Seidelovu u podobnou modifikaci lze snadno provést i pro u

47 / 65 Super-relaxační 1 bool sormethod ( const Matrix& A, 2 const Vector& b, 3 Vector& x, 4 double eps, 5 double omega ) 6 { 7 double normb = norm ( b ) ; 8 double r = eps + 1. 0 ; 9 while ( r > eps ) 10 { 11 / 12 SOR i t e r a c e 13 / 14 15 for ( i n t i = 0; i < n ; i ++ ) 16 { 17 double s = 0. 0 ; 18 for ( i n t j = 0; j < n ; j ++ ) 19 i f ( j!= i ) 20 s = s + A [ i ] [ j ] x [ j ] ; 21 x [ i ] += omega ( b [ i ] s ) / A [ i ] [ i ] ; 22 } 23 / 24 Vypocet rezidua 25 / 26 r = 0. 0 ; 27 for ( i n t i = 0; i < n ; i ++ ) 28 { 29 double Ax_i = 0. 0 ; 30 for ( i n t j = 0; j < n ; j ++ ) 31 Ax_i = Ax_i + A [ i ] [ j ] x [ j ] ; 32 r = r + ( Ax_i b_i ) ( Ax_i b_i ) ; 33 } 34 r = s q r t ( r ) / normb ; 35 } 36 }

48 / 65 Super-relaxační - numerická analýza maticově lze u zapsat jako x (k+1) = x (k) + ωd ( 1 L x (k+1) D x (k) + R x (k) + ) b tj. tj. x (k+1) = (I ω(d ωl) 1 A) x (k) + ω(d ωl) 1 b, B ω = I ω(d ωl) 1 A = (D ωl) 1 ((1 ω) D + ωr), H ω = ω(d ωl) 1, c ω = ω(d ωl) 1 b.

49 / 65 Super-relaxační - numerická analýza Theorem 28 Nutnou a postačující podmínkou pro to, aby SOR konvergovala pro libovolné x (0) je Postačující podmínkou je ρ (B ω ) < 1. B ω < 1, v některé maticové normě.

50 / 65 Theorem 29 Pro libovolné ω R platí Super-relaxační - numerická analýza ρ (B ω ) ω 1, a tedy SOR nekonverguje pro ω 0 nebo ω 2. Theorem 30 Má-li matice A převládající diagonálu, pak SOR konverguje k řešení soustavy A x = b pro libovolnou volbu x (0) pokud je 0 < ω 1. Důkaz. Zatím neznám.

51 / 65 Super-relaxační - numerická analýza Theorem 31 (Ostrowski): Je-li matice A hermitovská a pozitivně definitní, pak SOR konverguje k řešení soustavy A x = b pro libovolnou volbu x (0) právě když, 0 < ω < 2. Konvergence je navíc monotónní vzhledem k vektorové normě A. Důkaz. Důkaz postačující podmínky z věty 14: W = 1 ( ) ω D L W 2 + W = ω 1 D + A > A > 0

52 / 65 Super-relaxační - numerická analýza Remark 32 Budeme zkoumat konvergenci SOR v závislosti na parametru ω. Kromě konvergence samotné nás bude zajímat i její rychlost, tj. budeme chtít najít ω 0 takové, aby bylo ρ (B ω ) resp. B ω co nejmenší. Remark 33 Vliv parametru ω na rychlost konvergence budeme analyzovat pro speciální typ matic tzv. dvoucyklických, shodně uspořádaných. Dá se ukázat, že tyto matice vznikají právě při řešení eliptických nebo parabolických rovnic pomocí konečných diferencí.

Super-relaxační - numerická analýza Definition 34 Elementární permutační maticí I ij pro (1 i, j n) nazveme takovou čtvercovou matici n-tého řádu, která má všechny diagonální prvky rovny 1, kromě prvků na i-tém a j-tém řádku, které jsou rovny 0. Mimodiagonální prvky jsou nulové kromě prvků na pozicích (i, j) a (j, i), které jsou rovny 1. 1... 1 0......... 1. 1. I ij =...... 1. 1......... 0 1... 1 Permutační maticí nazveme každou matici, kterou lze vyjádřit jako součin libovolného počtu elementárních permutačních matic. 53 / 65

54 / 65 Super-relaxační - numerická analýza násobením libovolné obdélnikové matice elementární permutační maticí zleva reps. zprava odpovídá prohození i-tého a j-tého řádku resp. sloupce snadno vidíme, že I ij = I T ij = I 1 ij a tedy elementární permutační matice je symetrická a ortogonální... a tedy i permutační matice je symetrická a ortogonální

55 / 65 Super-relaxační - numerická analýza Definition 35 Čtvercová matice C se nazývá slabě cyklická s indexem 2, jestliže existuje permutační matice P taková, že matice PCP T je blokového tvaru ( ) PCP T θ M1 = θ M 2

56 / 65 Super-relaxační - numerická analýza Definition 36 Necht A = D L R. Matice A se nazývá dvoucyklická, je-li odpovídající matice B J = D 1 (L + R) slabě cyklická s indexem 2. Definition 37 Dvoucyklická matice A se nazývá shodně uspořádaná, jestliže vlastní číslo matice nazávisí na volbě čísla α 0. αd 1 L + 1 α D 1 R

57 / 65 Super-relaxační - numerická analýza Theorem 38 Necht matice A je dvoucyklická, shodně uspořádaná. Necht λ 0 je vlastní číslo matice B ω a ω 0. Necht µ splňuje rovnici (λ + ω 1) 2 = ω 2 µ 2 λ. Pak µ je vlastní číslo matice B J a naopak, je-li µ vlastní číslo matice B J, pak příslušné λ je vlastním číslem matice B ω. Navíc platí, že pro 2 ω opt =, 1 + 1 ρ (B J ) 2 nabývá ρ (B ω ) své minimum a SOR tedy konverguje nejrychleji.

58 / 65 Shrnutí Podmínky na matici A pro konvergenci : s převládající diagonálou hermitovská a... Jacobi! 2D > A > 0 Gauss-Seidel! A > 0 SOR! A > 0

59 / 65 Výhody jsou-li vhodně použity, jsou mnohem rychlejší než přímé založené na GEM GEM má složitost n 3, pro velké matice je téměř nepoužitelná napočítání nového x (k) je založeno na násobení matice a vektoru nebo velice podobné operaci, která má složitost n 2 v praxi se často podaří, že dobrou aproximaci řešení získáme po pár iteracích nehledě na velikost matice

Výhody Definition 39 Řídkou maticí nazveme takovou, u které je většina prvků nulových. Zdroj: Matrix market 60 / 65

61 / 65 Výhody dokáží lépe využít vlastností řídkých matic. při šikovném uložení řídkých matic může mít násobení matice a vektoru ještě menší náročnost, než n 2 modifikace GEM pro obecné řídké matice je možná, ale algoritmicky velmi složitá při aplikaci GEM na řídkou matici může vzniknout mnoho nových nenulových prvků a narůst tak nároky na pamět iterativní nemění samotnou maticí A, díky tomu jsou snažší na implementaci v některých situacích ani nemáme matici A explicitně uloženou v paměti, pak je GEM nemožné použít

62 / 65 Výhody iterativní dokážou velice efektivně využít znalosti přibližného řešení, konvergují pak velice rychle v případě GEMu je nám jakýkoliv odhad řešení k ničemu

63 / 65 Nevýhody většina z nich nedá ani teoreticky přesné řešení po konečném počtu kroků musíme umět rozhodnout, kdy zastavit napočítávání dalších iterací x (k) počet nutných iterací silně závisí na konkrétní matici a tím pádem i doba výpočtu, u GEM doba výpočtu na samotné matici téměř nezávisí vyšetřování konvergence je často velice složité modifikovaná GEM funguje pro libovolnou regulární matici

64 / 65 Výpočetní příklad Pomocí programu stationary-solver otestujte jednotlivé. Argumenty příkazové řádky jsou -input-file nebo -i - soubor s maticí soustavy -method - stacionární (richardson/jacobi/sor) -relaxation - relaxační parametr -matrix-format - maticový formát (dense/ellpack) -initial-value - nastavení vektoru x (0) -max-iterations - maximální počet iterací -convergence-residue - zastavující kritérium výhoda stacionárních oproti GEM jsou vidět na PD matici gr_30_30.mtx špatná konvergence na PD matici bcsstk01.mtx indefinitní matice pores_1.mtx

65 / 65 Shrnutí konvergence stacionárních, apriorní a aposteriorní odhady chyb, a SOR odvození, maticový tvar (matice B, H), konvergence iteračních pro řešení lineárních soustav rovnic podle čeho byste se rozhodli, kterou třídu použijete?