MASARYKOVA UNIVERZITA RELAXAČNÍ METODA

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

Aplikovaná numerická matematika - ANM

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

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

Co je obsahem numerických metod?

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í

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

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

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

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

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

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

0.1 Úvod do lineární algebry

Operace s maticemi. 19. února 2018

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

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

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

0.1 Úvod do lineární algebry

9 Kolmost vektorových podprostorů

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

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

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

1 Linearní prostory nad komplexními čísly

Zdrojem většiny příkladů je sbírka úloh 1. cvičení ( ) 2. cvičení ( )

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í

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

Úvod do lineární algebry

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

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

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

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

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

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

Operace s maticemi

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:

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

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

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

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

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

EUKLIDOVSKÉ PROSTORY

Matematika B101MA1, B101MA2

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

1 Vektorové prostory.

Soustavy linea rnı ch rovnic

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

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

Úlohy nejmenších čtverců

1 Lineární prostory a podprostory

1 Determinanty a inverzní matice

Cvičení 5 - Inverzní matice

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

Lineární algebra : Metrická geometrie

1 Řešení soustav lineárních rovnic

(Cramerovo pravidlo, determinanty, inverzní matice)

Soustavy lineárních rovnic

2. Určete jádro KerL zobrazení L, tj. nalezněte alespoň jednu jeho bázi a určete jeho dimenzi.

PŘEDNÁŠKA 2 POSLOUPNOSTI

Soustavy lineárních rovnic a determinanty

Báze a dimenze vektorových prostorů

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

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

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

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

5. Lokální, vázané a globální extrémy

Arnoldiho a Lanczosova metoda

15 Maticový a vektorový počet II

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

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

Numerické metody I. Jaro Normy vektorů a matic 1. 2 Nelineární rovnice Metoda bisekce (půlení intervalu) Iterační metody...

Numerické metody lineární algebry

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

Interpolace, ortogonální polynomy, Gaussova kvadratura

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)

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

Vlastní čísla a vlastní vektory

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

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

Soustavy lineárních rovnic

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

Vlastní čísla a vlastní vektory

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

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

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

14. přednáška. Přímka

1 Soustavy lineárních rovnic

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

Matematika III. Miroslava Dubcová, Daniel Turzík, Drahoslava Janovská. Ústav matematiky

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Soustavy. Terminologie. Dva pohledy na soustavu lin. rovnic. Definice: Necht A = (a i,j ) R m,n je matice, b R m,1 je jednosloupcová.

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

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

Nechť je číselná posloupnost. Pro všechna položme. Posloupnost nazýváme posloupnost částečných součtů řady.

AVDAT Vektory a matice

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

19 Eukleidovský bodový prostor

Vlastní čísla a vlastní vektory

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

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

Transkript:

MASARYKOVA UNIVERZITA Přírodovědecká fakulta Bakalářská práce RELAXAČNÍ METODA Jakub Chalupa Vedoucí práce: prof. RNDr. Ivanka Horová, CSc. Studijní program: MATEMATIKA Studijní obor: OBECNÁ MATEMATIKA jaro 2010

i Poděkování Rád bych poděkoval prof. RNDr. Ivance Horové, CSc. za odborné vedení bakalářské práce, za cenné rady, připomínky a za čas, který strávila četbou a konzultováním textu. Čestné prohlášení Prohlašuji, že jsem zadanou bakalářskou práci zpracoval sám s přispěním prof. RNDr. Ivanky Horové, CSc. a veškeré materiály, které jsem v práci použil, jsou uvedeny v seznamu literatury. Datum: 30. 5. 2010....................... podpis

ii Název práce: Relaxační metoda Autor: Jakub Chalupa Ústav matematiky a statistiky Přírodovědecké fakulty MU Vedoucí bakalářské práce: prof. RNDr. Ivanka Horová, CSc. Abstrakt: V této práci je vysvětlen pojem iteračních metod a jejich význam včetně ukázkových příkladů metod zaměřených na relaxační metodu. Dále je v práci popsán rozdíl rychlosti konvergence v různých případech a metodách. Poslední část práce je zaměřena na existenci cyklů v iteračních metodách. Klíčová slova: Iterační metoda, iterační matice, Jacobiho metoda, Gauss-Seidlova metoda, relaxační metoda, cyklus. Title: Relaxation method Autor: Jakub Chalupa Department of Mathematics and Statistics, Faculty of Science, MU Supervisor: prof. RNDr. Ivanka Horová, CSc. Abstract: In this text a notion of iterative methods and relevance of these methods are explained. Examples of methods with a special emphasis on relaxation method are also presented. The rate of convergence in various cases and methods is compared. The last part of the thesis deals with cycles in iterative methods. Keywords: Iteration method, iteration matrix, Jacobi method, Gauss-Seidel method, relaxation method, cycle.

Obsah Úvod 2 1 Iterační metody 3 2 Jacobiova iterační metoda 8 3 Gauss-Seidlova iterační metoda 15 4 Relaxační metoda 20 4.1 Metoda úplné relaxace............................. 21 4.2 Metoda neúplné relaxace............................ 22 4.3 Řízené relaxace................................. 28 5 Cykly v iteračních metodách 36 Závěr 45 Seznam obrázků 46 Literatura 47 A Obsah CD 48 1

Úvod Relaxační metody, kterými se budu v této práci zabývat, spadají do třídy iteračních metod pro řešení soustav lineárních rovnic. Iterační metody dávají řešení soustavy jako limitu posloupnosti vektorů, která se sestrojuje iteračním procesem (tj. určitý proces jednoho typu). Máme počáteční vektor (počáteční aproximaci) x 0, který pomocí iteračního procesu generuje posloupnost vektorů x 0, x 1, x 2, x 3,.... Tato posloupnost vektorů konverguje k přesnému řešení (1.2). Existuje mnoho typů iteračních metod, které vycházejí z různých principů. Každý iterační proces má své vymezené místo k použití, jelikož může nastat situace, kdy pro danou soustavu je proces divergentní nebo i když proces konverguje, tak konvergence může být velmi pomalá, což nám v podstatě neumožní získat dosti blízké řešení k přesnému řešení. V některých případech iterační metody zjednodušují výpočet oproti klasické Gaussově eliminační metodě (dále GEM). Vezměme v úvahu případ, kdy pracujeme s maticemi vyšších řádů (např. řádu 10 000 a vyšší), ve kterých se vyskytuje mnoho nulových prvků (tj. jedná se o řídké matice). Potom při využití iteračních metod je velkou výhodou mnohem kratší délka výpočtu a prováděné operace nejsou tak náročné na paměť počítače. Mezi nejznámější iterační metody patří Jacobiova metoda (2), Gauss-Seidlova metoda (3) a relaxační metody (4). Na začátku své práce se budu zabývat obecně iteračními metodami, stručně popíši první dvě zmiňované metody a převážná část textu bude věnována relaxačním metodám a cyklům v iteračních metodách. Každou metodu ilustruji na příkladě pro lepší popis dané metody a ukázky rozdílů mezi metodami. 2

Kapitola 1 Iterační metody Iterační metody se od přímých metod (GEM) liší v tom, že nezískáme přesné řešení po konečně mnoha krocích, ale k přesnému řešení konverguje nekonečná posloupnost vektorů. Nechť je dána soustava lineárních rovnic Ax = b, (1.1) kde A je čtvercová matice řádu n, b R n je sloupcový vektor pravých stran a x = (x 1, x 2,..., x n ) T. Přesné řešení výše uvedené soustavy rovnic je x = A 1 b. (1.2) V prvé řadě převedeme soustavu (1.1) na ekvivalentní tvar x = T x + g, T M n, (1.3) kde M n značí matice řádu n. Řešením soustavy (1.1) je x právě tehdy, když x je řešením soustavy (1.3). Nechť E je jednotková matice a matice (E - T) je regulární (tj. (E - T) je čtvercová matice řádu n, která má determinant různý od nuly), pak x = (E T ) 1 g. 3

KAPITOLA 1. ITERAČNÍ METODY 4 Nechť x 0 R n je libovolná počáteční aproximace. Posloupnost {x k } k=0 určená rekurentně vztahem x k+1 = T x k + g, k = 0, 1,... (1.4) se nazývá iterační posloupnost a matice T se nazývá iterační matice. Dále musíme zvážit dvě věci jak převést soustavu (1.1) na soustavu (1.3), neboli jak zvolit iterační matici T dokázat říci, kdy posloupnost {x k } k=0 konverguje k přesnému řešení x pro libovolnou počáteční aproximaci {x 0 } Vztah (1.4) lze přepsat do tvaru: x 1 = T x 0 + g x 2 = T x 1 + g = T (T x 0 + g) + g = T 2 x 0 + (T + E)g. x k+1 = T k+1 x 0 + (T k + T k 1 + T k 1 + + E)g Mocniny iterační matice T jsou důležité v otázce konvergence. Definice 1.1. Mějme matici B M n. Řekneme, že matice B je konvergentní, jestliže kde O je nulová matice. Příklad 1.1. Matice B = ) B 2 = ( 1 9 0 2 1 27 9, B 3 = ( 1 0 3 1 1 ( 9 ) 3 1 0 27 3 1 81 27 lim k Bk = lim B... B k }{{} = O, k-krát ) je konvergentní. Ukažme si její mocniny: ( ) ( ) 1 0 ( 1 81 3 )m 0, B 4 = 4 243 1 81,..., B m = m 3 m+1 ( 1 3 )m, z B m vyplývá, že lim m Bm = O,

KAPITOLA 1. ITERAČNÍ METODY 5 a tudíž matice B je opravdu konvergentní. Ke stejnému výsledku šlo dojít daleko jednodušší cestou, a to užitím věty 2.1. Stačí tedy zjistit vlastní čísla matice B z rovnice 1 3 λ 0 1 1 λ = 0, 9 3 z čehož dostáváme charakteristický polynom ( 1 3 λ)( 1 3 λ) = 0. To znamená, že λ 1 = λ 2 = 1 3. Z toho vyplývá, že ϱ(b) = 1 3 < 1. Podle věty 2.1 platí, že B je konvergentní matice. Definice 1.2. Vektorová norma na C n je funkce. (z C n do R) s těmito vlastnostmi: 1. x 0, x C n 2. x = 0 x = O, O = (0,..., 0) T 3. kx = k x, k C, x C n 4. x + y x + y, x, y C n. Poznámka. Máme různé druhy vektorových norem: a) x 1 = n i=1 x i...oktaedrická norma b) x 2 = n i=1 x i 2...Euklidovská norma c) x = max 1 i n x i...krychlová norma Definice 1.3. Normou čtvercové matice se nazývá nezáporná funkce. definovaná pro každou čtvercovou matici vyhovující těmto podmínkám: 1. A > 0, A M n ; A = 0 A = 0; 2. ka = k. A k R A M n ; 3. A + B A + B A, B M n ; 4. AB A. B A, B M n. Další pojem, který zavedeme je souhlasnost, což nám pomůže nahlédnout, jak souvisí vektorová norma s maticovou normou.

KAPITOLA 1. ITERAČNÍ METODY 6 Definice 1.4. Maticová norma. je souhlasná s danou vektorovou normou. φ, jestliže Ax φ A x φ, x C n, A M n. Věta 1.1. Nechť. φ je vektorová norma na C n. Pak číslo A φ = max x φ=1 Ax φ je maticová norma souhlasná s danou vektorovou normou. φ. Tato norma se nazývá přidružená k dané vektorové normě. Důkaz. viz [3] Věta 1.2. Následující tvrzení jsou ekvivalentní: 1. T je konvergentní matice. 2. lim k T k = 0 pro nějakou přidruženou maticovou normu. 3. ϱ(t ) < 1 (ϱ(t ) je spektrální poloměr T (viz definice 2.1)). 4. lim k T k x = 0 pro libovolný vektor x R n. Důkaz. viz [4] 0 2 4 Příklad 1.2. Matice B = 1 1 1 není konvergentní. Podle věty (1.2) 1 1 2 je matice konvergentní právě, když je spektrální poloměr ϱ(b) < 1. Charakteristický polynom je tvaru λ 3 + λ 2 + 9λ 6 = 0. Tedy λ 1 = 2.8678, λ 2 = 0.6502 a λ 3 = 3.2176, potom ϱ(b) = 3.2176, což je větší než 1, a proto matice B je divergentní. Lemma 1.3. Nechť ϱ(t ) < 1. Potom E T je regulární matice a platí (E T ) 1 = E + T + T 2 + T 3 +... (1.5) Důkaz. viz [3] Nyní mužeme vyslovit hlavní větu o konvergenci iteračního procesu (1.4).

KAPITOLA 1. ITERAČNÍ METODY 7 Věta 1.4. Posloupnost {x k } k=0 určená iteračním procesem (1.4) konverguje pro každou počáteční aproximaci x 0 R n právě tehdy, když ϱ(t ) < 1, přičemž Důkaz. viz [3] lim k xk = x, x = T x + g. Jak již bylo dříve zmíněno, aby posloupnost {x} k=0 konvergovala k přesnému řešení x pro každou počáteční aproximaci x 0 R n, tak musí být spektrální poloměr iterační matice menší než jedna. Tuto nutnou (i postačující) podmínku lze nahradit jinou podmínkou, a to aby T < 1, jelikož platí pro přidruženou maticovou normu T ϱ(t ). Věta 1.5. Nechť platí pro nějakou přidruženou maticovou normu T < 1. Potom platí pro odchylku k-té aproximace x k od přesného řešení x Důkaz. viz [3] x x k T k x x 0, (1.6) x x k T k 1 T x1 x 0. (1.7) Vztah (1.6) platí pro každou přidruženou maticovou normu, a proto platí i x k x (ϱ(t )) k x 0 x. (1.8) Nechť x 0 = (0, 0,..., 0) T je počáteční aproximace a nechť ϱ(t ) < 1. Pak ze vztahu (1.8) můžeme zjistit, kolik je zapotřebí iterací pro dosažení relativní chyby nejvýše 10 m. (ϱ(t )) k 10 m, (1.9) kde k je počet iterací. Z čehož dostáváme, že k m log ϱ(t ). (1.10)

Kapitola 2 Jacobiova iterační metoda Nechť máme matici a 11 a 12... a 1n a A = 21 a 22... a 2n......... a n1 a n2... a nn Tuto matici budeme psát jako A = D H S, (2.1) kde D je diagonální matice (tj. mimo diagonálu, která je tvořena prvky a ii z matice A, kde i = 1, 2,..., n, jsou všechny prvky nulové). Matice H je tzv. horní trojúhelníková matice (s opačným znaménkem), která má na diagonále nuly, a matice S je dolní trojúhelníková matice (opět s opačným znaménkem) taktéž s nulami na diagonále. Pro názornost a 11 0...... 0 0 a 22 0... 0. D =..........,.......... 0 0...... 0 a nn 8

KAPITOLA 2. JACOBIOVA ITERAČNÍ METODA 9 0 a 12 a 13... a 1n 0 0 a 23... a 2n. H =..........,.......... a n 1,n 0......... 0 0 0...... 0 a 21 0...... 0 S = a 31 a 32 0................ a n1...... a n,n 1 0 Soustavu Ax = b (2.2) převedeme podle výše definovaného vztahu (2.1) na (D H S)x = b. (2.3) Tento vztah upravíme na Dx Hx Sx = b a necháme Dx na jedné straně a ostatní členy převedeme na druhou stranu Dx = (H + S)x + b. (2.4) Poté vyjádříme x za předpokladu, že matice D je regulární x = D 1 (H + S)x + D 1 b. (2.5) Z tohoto vztahu vidíme, že u Jacobiovy metody je iterační matice T J = D 1 (H + S), (2.6)

KAPITOLA 2. JACOBIOVA ITERAČNÍ METODA 10 podrobněji T J = 0 a 12 a 11... a 1n a 11 a 22 0 a 2n a 22...... (2.7) a 21 a n1 a nn a n2 a nn... 0 Pro zobecnění platí, že Jacobiova iterační matice T J = (t ij ), kde t ij = a ij a ii že i j a diagonální prvky t ii jsou nulové. Potom vztah pro Jacobiovu metodu vypadá následovně: za předpokladu, x k+1 = T J x k + D 1 b. (2.8) Jacobiovu metodu můžeme popsat ve složkách vektoru x k takto: x k+1 i = n j=1 j i a ij a ii x k j + b i a ii i = 1,..., n k 0. (2.9) To znamená, že vypočítáme x 1 z první rovnice, x 2 z druhé rovnice atd. až x n z n-té rovnice. Definice 2.1. Nechť A je čtvercová matice řádu n a λ 1, λ 2,..., λ n jsou vlastní čísla matice A. Potom spektrálním poloměrem matice A nazýváme číslo ϱ(a) = max{ λ 1, λ 2,..., λ n }. Věta 2.1. Posloupnost {x k } k=0 generovaná metodou (2.8) konverguje pro každou počáteční aproximaci x 0 R n právě tehdy, když ϱ(t J ) < 1, kde ϱ(t J ) je spektrální poloměr iterační matice T J. Důkaz. Věta přímo plyne z věty 1.4. Věta 2.2. a) Silné řádkové sumační kritérium: Nechť matice A je ryze řádkově diagonálně dominantní, tj. a ii > n a ij, i = 1, 2,..., n. (2.10) j=1 j i Pak Jacobiova iterační metoda konverguje pro každou počáteční aproximaci x 0 R n.

KAPITOLA 2. JACOBIOVA ITERAČNÍ METODA 11 b) Silné sloupcové sumační kritérium: Nechť matice A je ryze sloupcově diagonálně dominantní, tj. a kk > n a ik, k = 1, 2,..., n. (2.11) i=1 i k Pak Jacobiova iterační metoda konverguje pro každou počáteční aproximaci x 0 R n. Důkaz. viz [3] Příklad 2.1. Mějme soustavu rovnic 4x 1 + 3x 2 = 24 3x 1 + 4x 2 x 3 = 30 x 2 + 4x 3 = 24 (2.12) a snažme se najít řešení s chybou menší než 10 5. Matice 4 3 0 A = 3 4 1, 0 1 4 iterační matice Jacobiovy metody je: 0 0.75 0 T J = 0.75 0 0.25. 0 0.25 0 Charakteristický polynom má podobu λ 3 + 5λ = 0. Z toho dostáváme, že λ 8 1 = 0 a λ 2,3 = ±0.7906, a tedy ϱ(t J ) = 0.7906 < 1. Proto bude Jacobiova metoda konvergovat pro každou počáteční aproximaci x 0. Složky vektoru x k+1 budou tvaru:

KAPITOLA 2. JACOBIOVA ITERAČNÍ METODA 12 x k+1 1 = 3 4 xk 2 + 6 x k+1 2 = 3 4 xk 1 + 1 4 xk 3 + 15 2 x k+1 3 = 1 4 xk 2 6 a přesné řešení soustavy x = (3 4 5) T. Zvolme počáteční aproximaci x 0 = (0 0 0) T. Jednotlivé iterace budou vypadat následovně: x 1 = (6 7.5 6) T x 2 = (0.3750 1.5 4.1250) T x 3 = (4.8750 6.1875 5.6250) T x 4 = (1.3594 2.4375 4.4531) T x 5 = (4.1719 5.3672 5.3906) T. x 63 = (3 4 5) T K tomu, aby metoda konvergovala k přesnému řešení a chyba byla menší než 10 5, zapotřebí 63 iterací. je Příklad 2.2. Mějme dvě přímky a, b určené obecnými rovnicemi: a : x 1 x 2 + 1 = 0 b : x 1 + 5x 2 9 = 0. Přesné řešení x soustavy 2 rovnic získáme jako průnik obou přímek, tedy Matice A je tvaru x = (1, 2). ( ) 1 1, sloupcový vektor pravých stran b = ( 1 9) T a iterační 1 5

KAPITOLA 2. JACOBIOVA ITERAČNÍ METODA 13 ( ) 0 1 matice T J =. Rozepišme si Jacobiho metodu pomocí složek vektoru 1 0 5 x k+1 1 = x k 2 1 x k+1 2 = x k 1 + 9 5. Charakteristický polynom je tvaru λ 2 1 5 = 0 λ 1,2 = ± 5 5, potom tedy ϱ(t J) = 5 5. Protože ϱ(t J ) < 1, bude iterační proces konvergovat k přesnému řešení x = (1 2) T. Nechť počáteční aproximace x 0 = (5 x 1 = (4 x 2 = (1.8 x 3 = (1.6 x 4 = (1.16 x 5 = (1.12. 2.8) T x 17 = (1 2) 2.6) T 2.16) T 2.12) T 2.032) T 5) T. Následující vektory jsou: Na obrázku 2.1 je znázorněn výše uvedený příklad 2.2.

KAPITOLA 2. JACOBIOVA ITERAČNÍ METODA 14 Obrázek 2.1: Jacobiova iterační metoda

Kapitola 3 Gauss-Seidlova iterační metoda Gauss-Seidlova iterační metoda vznikne jistými úpravami Jacobiovy metody. Pro výpočet prvku x k+1 pomocí Jacobiovy metody musíme mít v paměti uložené všechny složky vektoru x k. Naproti tomu Gauss-Seidlova metoda využívá při výpočtu složky x k+1 kde i > 1 a i n, již dříve vypočtené složky x k+1 1,..., x k+1 i 1. Tuto metodu můžeme zapsat pomocí soustavy takto: Lze ji vyjádřit i pomocí složek: x k+1 i a 11 x k+1 1 + a 12 x k 2 + + a 1n x k n = b 1 a 21 x k+1 1 + a 22 x k+1 2 + + a 2n x k n = b 2. i, a n1 x k+1 1 + a n2 x k+1 2 + + a nn x k+1 n = b n. (3.1) i 1 = j=1 a ij x k+1 j a ii n j=i+1 a ij a ii x k j + b i b ii i = 1,..., n. (3.2) Nechť máme matici A, kterou si rozložíme podobným způsobem jako v kapitole 2 na A = D S H, kde D je diagonální matice, S a H jsou dolní a horní trojúhelníkové matice s nulami na diagonálách (s opačnými znaménky u koeficientů). Soustavu Ax = b opět přepíšeme do tvaru (D S H)x = b (D S)x = Hx + b. 15

KAPITOLA 3. GAUSS-SEIDLOVA ITERAČNÍ METODA 16 Dále musí platit, aby matice (D S) byla regulární, a to platí, je-li a ii 0, i = 1,..., n. Potom x = (D S) 1 Hx + (D S) 1 b. (3.3) Jestliže položíme T G = (D S) 1 H a e = (D S) 1 b, potom matice T G se nazývá iterační matice Gauss-Seidlovy iterační metody a samotná metoda je tvaru: x k+1 = T G x k + e. (3.4) Věta 3.1. Posloupnost {x k } k=0 generovaná Gauss-Seidlovou iterační metodou (3.4) konverguje pro každou počáteční aproximaci x 0 R n právě tehdy, když ϱ(t G ) < 1. Důkaz. Věta je přímým důsledkem věty 1.4. Věta 3.2. Nechť platí předpoklady a) i b) věty (2.2). Potom Gauss-Seidlova metoda konverguje pro každou počáteční aprocimaci x 0 R n. Důkaz. viz [3] Přejděme k praktickému využití této metody. Podíváme se na příklad (2.1) z předešlé kapitoly a vyřešíme stejnou soustavu rovnic, ale nyní pomocí Gauss-Seidlovy metody. Příklad 3.1. 4 3 0 A = 3 4 1. 0 1 4 Gauss-Seidlova metoda, jak již víme, vyadá takto: x k+1 = T G x k + e, kde T G = (D S) 1 H, e = (D S) 1 b. 0 0.75 0 T G = 0 0.5625 0.25 0 0.1406 0.0625 a e = ( 6 3 5.25) T. Charakteristický polynom je tedy tvaru λ 3 0.625λ 2 = 0, a tedy λ 1,2 = 0 a λ 3 = 0.625 ϱ(t G ) = 0.625 < 1. Metoda opět konverguje k přesnému řešení

KAPITOLA 3. GAUSS-SEIDLOVA ITERAČNÍ METODA 17 x pro každou počáteční aproximaci x 0. Metodu rozepíšeme do složek vektoru takto: x k+1 1 = 0.75x k 2 + 6 x k+1 2 = 0.5625x k 2 + 0.25x k 3 + 3 x k+1 3 = 0.1406x k+1 2 + 0.0625x k 3 5.25. Přesné řešení soustavy je x = (3 4 5) T. Zvolíme počáteční aproximaci x 0 = (0 0 0) T a spočítáme jednotlivé iterace: x 1 = (6 3 4.8281) T x 2 = (3.75 3.4805 5.0623) T x 3 = (3.3896 3.6922 5.0472) T x 4 = (3.2309 3.8151 5.0290) T x 5 = (3.1387 3.8887 5.0175) T. x 25 = (3 4 5) T. Z výsledku vidíme, že Gauss-Seidlova metoda dospěla k výsledku dříve než Jacobiho metoda (místo původních 63 iterací stačilo jen 25). Tato skutečnost je zformulována ve větě (3.4). Definice 3.1. Symetrická matice A M n je pozitivně definitní právě tehdy, když x T Ax > 0 pro každý nenulový vektor x R n. Věta 3.3. Nechť A je pozitivně definitní matice. Pak Gauss-Seidlova metoda konverguje pro každou počáteční aproximaci. Důkaz. viz [1] Věta 3.4 (Stein-Rosenberg). Nechť pro prvky matice A platí a ij 0 pro všechna i j a a ii > 0, i = 1,..., n. Pak platí právě jedno z následujících tvrzení: i) 0 < ϱ(t G ) < ϱ(t J ) < 1 ii) 1 < ϱ(t J ) < ϱ(t G )

KAPITOLA 3. GAUSS-SEIDLOVA ITERAČNÍ METODA 18 iii) ϱ(t J ) = ϱ(t G ) = 0 iv) ϱ(t J ) = ϱ(t G ) = 1. Z těchto tvrzení vyplývá, že jestliže konvergují obě metody (tj. Jacobiova i Gauss-Seidlova), pak konverguje Gauss-Seidlova metoda rychleji. Důkaz. viz [1] Ukažme geometrický význam Gauss-Seidlovy metody na stejném příkladu jako byl příklad (2.2) z předchozí kapitoly. Příklad 3.2. Mějme opět dvě přímky a, b určené stejnými obecnými rovnicemi: a : x 1 x 2 + 1 = 0 b : x 1 + 5x 2 9 = 0. Přesné řešení x soustavy 2 rovnic je x = (1, 2). Iterační matice ( ) 0 1 T G =. 0 1 5 Rozepišme si Gauss-Seidlovu metodu pomocí složek vektoru x k+1 1 = x k 2 1 x k+1 2 = 0.2x k 2 + 1.6. (3.5) Charakteristický polynom je tvaru λ 2 1 5 λ = 0 λ 1 = 0 a λ 2 = 0.2, potom tedy ϱ(t G ) = 0.2. Protože ϱ(t G ) < 1, bude iterační proces konvergovat k přesnému řešení x = (1 2) T. Nechť počáteční aproximace x 0 = (5 x 1 = (4 x 2 = (1.6 x 3 = (1.12 x 4 = (1.024 2.6) T x 5 = (1.0048. 2.12) T 2.024) T 2.0048) T 2.001) T 5) T. Následující vektory jsou:

KAPITOLA 3. GAUSS-SEIDLOVA ITERAČNÍ METODA 19 x 10 = (1 2). Obrázek 3.1: Gauss-Seidlova iterační metoda Z obr. 3.1 vidíme, že konvergence je rychlejší než u Jacobiovy iterační metody (plyne z věty 3.4).

Kapitola 4 Relaxační metoda Jak jsme se přesvědčili v předchozí kapitole, pokud Gauss-Sedlova i Jacobiova iterační metoda konvergují pro danou matici, pak konverguje Gauss-Seidlova metoda rychleji k přesnému řešení. Existují ještě jiné metody, které dokáží konvergenci urychlit (tzv. relaxační metody). Než přejdeme k samotným relaxačním metodám, musíme zavést pojem velikosti vektoru chyby, který nás informuje o přesnosti aproximace x řešení soustavy Ax = b. To jest y = x x. Jenže pokud přesné řešení neznáme, nejsme schopni vektor chyby vypočítat. V tom případě se dá pouze odhadnout. Lze zvolit též tzv. reziduový vektor r = b Ax, který charakterizuje přesnost aproximace x řešení soustavy Ax = b. Je zřejmé, že platí r = Ay. U pozitivně definitních matic A je vhodnou mírou přesnosti tzv. funkce chyby f(x) = (Ay, y) = (y, r) = (A 1 r, r), kde symbol (u, v) značí skalární součin vektoru u s vektorem v. Jelikož matice A je pozitivně definitní, je f(x) 0 a f(x) = 0 jen tehdy, je-li x = x. Dále platí f(x) = (x x, b Ax) = (x, b) (x, b) (x, Ax) + (x, Ax) = (Ax, x) 2(x, b) + (x, b). Jak již bylo zmíněno, že neznáme-li přesné řešení, funkci chyby nevypočítáme. Ale hodnoty funkce chyby se liší od hodnot funkcionálu f 0 (x) = (Ax, x) 2(x, b) pouze o konstantu. Z toho vidíme, že přesné řešení nepotřebujeme. Podle hodnot funkcionálu f 0 (x) poznáme, zda funkce chyby klesá nebo roste. 20

KAPITOLA 4. RELAXAČNÍ METODA 21 4.1 Metoda úplné relaxace Od tohoto okamžiku budeme počítat s tím, že matice soustavy bude pozitivně definitní. Nechť x je přesné řešení soustavy Ax = b, kde matice A je pozitivně definitní, x libovolný vektor a f(x) funkce chyby. Chceme-li, aby hodnota funkce chyby byla u vektoru x co nejmenší, musíme zjistit, jak by se měla změnit i-tá souřadnice vektoru x. Nechť x = x + αe i y = x x, kde e i = (0, 0,..., 1,..., 0) T Pak platí i {1, 2,... } a jednička je na i-té pozici. y = y αe i a funkce chyby f(x ) = (Ay, y ) = (A(y αe i ), y αe i ) = = (Ay, y) 2α(Ay, e i ) + α 2 (Ae i, e i ) = = (Ay, y) 2αr i + α 2 a ii = f(x) + (a iiα r i ) 2 kde r i značí i-tou souřadnici reziduového vektoru pro aproximaci x. Položíme-li α = r i a ii, dosáhne funkce chyby f(x ) minimální hodnoty a ii r2 i a ii, f(x) r2 i a ii. Odkud i-tá souřadnice reziduového vektoru pro aproximaci x je (b Ax, e i ) = (b Ax αae i, e i ) = = (b Ax, e i ) α(ae i, e i ) = r i αa ii = 0. To znamená, že z i-té rovnice soustavy Ax = b lze určit i-tou souřadnici aproximace x. Takto ovšem probíhá jeden krok v každém cyklu Gauss-Seidlovy metody. Jestliže využijeme jednotlivé kroky Gauss-Seidlovy metody bez cyklického výběru indexů měnících se

KAPITOLA 4. RELAXAČNÍ METODA 22 souřadnic, dostaneme třídu tzv. metod úplné relaxace. Máme mnoho způsobů volby posloupnosti indexů měněných souřadnic. Například mějme šestnáct rovnic o šestnácti neznámých (rovnice označeny indexy 0-9 a A-F, podobně jako v šestnáctkové soustavě). Jako řídící číslo zvolme Ludolfovo číslo pí zapsané v šestnáctkové soustavě π = 3, 243F 6A8885 A308D31319 8A2E037073 44A4093822.... Potom v prvním kroku budeme měnit třetí souřadnici, v druhém druhou, ve třetím čtvrtou atd. Ne vždy vede proces úplné relaxace k řešení. Například zvolme posloupnost indexů měněných souřadnic tak, aby neobsahovala některý index. Potom budou všechny opravy x k+1 x k v (n-1)-rozměrném podprostoru. Není-li zároveň rozdíl x x 0 obsažen v tomto podprostoru, proces konvergovat k x nemůže. 4.2 Metoda neúplné relaxace V předchozí podkapitole byla hlavní myšlenkou minimalizace funkce chyby v každém jednotlivém kroku relaxačního procesu. Lze postupovat ovšem také tak, že se snažíme jen o zmenšení funkce chyby. Metody založené na těchto myšlenkách se nazývají metody neúplné relaxace. Nejprve si musíme uvědomit, jak změnit jednu souřadnici aproximace, aby se funkce chyby zmenšila. Nechť x = x + αe i. Potom f(x ) f(x) = (a iiα r i ) 2 a ii r2 i a ii. Jestliže chceme, aby se funkce chyby zmenšila, musí být rozdíl f(x ) f(x) záporný. f(x ) f(x) < 0 (a ii α r i ) 2 a ii r2 i a ii < 0 (a ii α r i ) 2 < r 2 i, odkud a ii α r i < r i,

KAPITOLA 4. RELAXAČNÍ METODA 23 to znamená, že α = ω r i a ii (4.1) pro 0 < ω < 2. Jestliže položíme ω = 1, dosáhneme úplné relaxace (popsaná výše), jelikož dojde k minimalizaci chyby. Pro funkci chyby při neúplné relaxaci platí: f(x ) = f(x) ω(2 ω) a ii r 2 i. (4.2) Parametr ω se nazývá relaxační parametr (někdy též relaxační faktor). Parametr ω při neúplné relaxaci můžeme měnit při každém kroku. Jestliže parametr necháme konstatní po celou dobu metody, můžeme neúplnou relaxační metodu napsat maticově takto: x k+1 = (D ωs) 1 [(1 ω)d + ωh] x k + ω(d ωs) 1 b (4.3) nebo též pomocí složek x k+1 i = (1 ω)x k i + ω i 1 [b i a ij x k+1 j a ii j=1 n j=i+1 a ij x k j Neúplnou relaxaci můžeme rozdělit podle volby parametru ω na 3 případy, a to: ]. (4.4) Jestliže ω (0, 1), jedná se o dolní neúplnou relaxaci. Tato volba se používá, když Gauss-Seidlova metoda nekonverguje. Pro volbu ω = 1 je tato metoda přesně Gauss-Seidlova. Jestliže ω (1, 2), potom se metody nazývájí horní neúplné relaxace (někdy též SOR metody, kde SOR v původním znění znamená Successive Over-Relaxation). Této volby se využívá k zrychlení konvergence Gauss-Seidlovy metody (Otázku, proč relaxační parametr nemůže nabývat větší hodnoty než 2, zodpovídá věta 4.1). Věta 4.1 (Kahan). Nechť a ii 0, i = 1, 2,..., n. Potom ϱ(t ω ) ω 1. (4.5) Důkaz. viz [3]

KAPITOLA 4. RELAXAČNÍ METODA 24 Z věty vyplývá, že má smysl brát v úvahu pouze parametr ω (0, 2), jelikož metoda konverguje právě tehdy, když je spektrální poloměr menší než jedna. A tedy kdyby parametr ω byl větší jak 2, tak by podle předchozí věty platilo, že spektrální poloměr je větší nebo rovný jedné, ale to je ve sporu s konvergencí metody. Tudíž nás taková volba nezajímá. Věta 4.2 (Ostrowski-Reich). Pro pozitivně definitní matici A platí, že ϱ(t ω ) < 1 pro všechna ω (0, 2). Důkaz. viz [1] Jak již víme z předchozích poznatků, je-li ϱ(t ) < 1, tak iterační proces určitě konverguje. Nyní se budeme snažit najít optimální hodnotu parametru ω, aby byla konvergence co nejrychlejší. Důležitou roli v tomto směru budou hrát tzv. třídiagonální matice. Definice 4.1. Matice A M n se nazývá třídiagonální, jestliže a ij = 0 pro i + 2 j nebo j + 2 i. To potom znamená, že a 11 a 12 0...... 0 a 21 a 22 a 23. A = 0 a 32 a 33...... 0. a n 1,n 1 a n 1,n 0...... 0 a n,n 1 a n,n Věta 4.3. Nechť A je třídiagonální pozitivně definitní matice. Potom ϱ(t G ) = ϱ 2 (T J ) < 1 a optimální hodnota relaxačního parametru je: ω opt = 2 1 + 1 ϱ 2 (T J ) = 2 1 + 1 ϱ(t G ). Při volbě optimálního relaxačního parametru je pak ϱ(t ωopt ) = 1 ω. Důkaz. viz [1] Příklad 4.1. Mějme stejné zadání jako v příkladech (2.1) a (3.1) se stejnou počáteční aproximací x 0 = (0 0 0) T. Vyřešíme tento příklad prvně pomocí dolní relaxace s parametrem ω = 0.7. Potom spočítáme stejný příklad horní relaxací s parametrem ω = 1.6. Nakonec jelikož je matice pozitivně definitní i třídiagonální, můžeme spočítat optimální

KAPITOLA 4. RELAXAČNÍ METODA 25 hodnotu parametru ω, vyřešit příklad pomocí této optimální hodnoty a pozorovat různé druhy výsledků. Budeme opět počítat s chybou menší než 10 5. I ) Zabývejme se tedy dolní relaxací a zvolme parametr ω = 0.7. Iterační matice bude vypadat takto 0.3 0.5250 0 T ω = 0.1575 0.5756 0.1750 0.0276 0.1007 0.3306 Pro daný systém a ω = 0.7 je relaxační metoda tvaru x k+1 1 = 0.3x k 1 0.525x k 2 + 4.2 x k+1 2 = 0.1575x k+1 1 + 0.5756x k 2 + 0.175x k 3 + 3.045 x k+1 3 = 0.0276x k+1 1 + 0.1007x k+1 2 + 0.3306x k 3 3.6671. Pro počáteční aproximaci x 0 = (0 0 0) T dostaneme x 1 = (4.2000 2.3835 3.5428) T x 2 = (4.2087 3.1342 4.6387) T x 3 = (3.8172 3.4361 4.9599) T x 4 = (3.5412 3.5972 5.0422) T x 5 = (3.3738 3.7019 5.0543) T. x 41 = (3 4 5) T Na tomto příkladu vidíme, že je výhodnější použít Gauss-Seidlovu metodu, protože konverguje rychleji než metoda dolní relaxace. Tato metoda se používá v případě, kdy Gauss-Seidlova metoda nekonverguje (viz příklad 4.2). II ) Řešme soustavu pomocí horní relaxace. Zvolme relaxační parametr ω = 1.4. Iterační matice bude tentokrát tvaru 0.4 1.05 0 T ω = 0.42 0.7025 0.35 0.147 0.2459 0.2775

KAPITOLA 4. RELAXAČNÍ METODA 26 Pro ω = 1.4 je relaxační metoda tvaru x k+1 1 = 0.4x k 1 1.05x k 2 + 8.4 x k+1 2 = 0.42x k+1 1 + 0.7025x k 2 + 0.35x k 3 + 1.68 x k+1 3 = 0.147x k+1 1 + 0.2459x k+1 2 0.2775x k 3 7.8120. Počáteční aproximaci je opět x 0 = (0 0 0) T. Jednotlivé iterace jsou tvaru x 1 = (8.4000 5.2080 5.2967) T x 2 = ( 0.4284 3.3049 5.5926) T x 3 = (5.1013 4.1868 4.4807) T x 4 = (1.9634 3.8776 5.3266) T x 5 = (3.5432 4.0278 4.8227) T. x 21 = (3 4 5) T Tento postup nám ukázal, že horní relaxace opravdu urychluje konvergenci Gauss- Seidlovy metody. Místo původních 25 iterací bylo potřeba spočítat iterací 21. III ) Nakonec vyřešme totožný příklad, který je jiný v tom, že si nazačátku nezvolíme relaxační parametr ω, nýbrž nejprve vypočítáme jeho optimální hodnotu a pak dopočítáme příklad. Hodnota optimálního parametru ω je dána vztahem ω opt = 2 1 + 1 ϱ 2 (T J ). Nejprve musíme zjistit spektrální poloměr Jacobiho iterační matice T J. Ten už je vypočítán v příkladu (2.1) a jeho hodnota je ϱ(t J ) = 0.7906. Potom ω opt = 2 1 + 1 (0.7906) 2 1.2404. Podle věty (4.3) je potom ϱ(t ωopt ) = 1 ω opt = 0.2404.

KAPITOLA 4. RELAXAČNÍ METODA 27 Iterační matice pro ω opt bude 0.2404 0.9303 0 T ωopt = 0.2237 0.6251 0.3101. 0.0694 0.1938 0.1442 Relaxační metoda pro ω opt = 1.2404 bude ve složkách popsána x k+1 1 = 0.2404x k 1 0.9309x k 2 + 7.4424 x k+1 2 = 0.2237x k+1 1 + 0.6251x k 2 + 0.3101x k 3 + 2.3793 x k+1 3 = 0.0694x k+1 1 + 0.1938x k+1 2 0.1442x k 3 6.7046. Počáteční aproximaci bude opět stejná x 0 = (0 0 0) T. Iterace vypadají takto x 1 = (7.4424 4.0438 5.4046) T x 2 = (1.8912 3.6539 5.0856) T x 3 = (3.5885 3.8888 4.9684) T x 4 = (2.9620 3.9318 5.0204) T x 5 = (3.0726 3.9673 4.9984) T. x 19 = (3 4 5) T. Při využití optimálního relaxačního parametru ω opt dosáhneme nejrychlejší konvergence k přesnému řešení x. Příklad 4.2. Nyní ukážeme vhodné použití metody dolní relaxace. Již v předchozím příkladě (v závěru části I) jsme naznačili, že dolní relaxace se využívá v případech, kdy Gauss-Seidlova metoda diverguje. Mějme tedy matici 1 2 1 A = 0 1 1. 2 2 1

KAPITOLA 4. RELAXAČNÍ METODA 28 Potom Gauss-Seidlova iterační matice bude tvaru 0 2 1 T G = 0 0 1. 0 4 0 Vlastní čísla matice T G jsou λ 1 = 0, λ 2,3 = ±2 i. Odtud pak ϱ(t G ) = 2 > 1, což znamená podle věty 3.1, že metoda diverguje. Řešme stejnou soustavu metodou dolní relaxace, tj. zvolíme relaxační parametr ω z intervalu (0, 1). Nechť ω = 0.2. Pak iterační matice T ω vypadá následovně T ω = 0.8 0.4 0.2 0 0.8 0.2. 0.32 0.16 0.8 Vlastní čísla matice T ω jsou λ 1 = 0.5413, λ 2,3 = 0.9294 ± 0.2867 i. Z toho vyplývá, že ϱ(t ω ) = 0.9726 < 1, a tudíž metoda dolní relaxace s parametrem ω = 0.2 bude konvergovat. Podívejme se nyní na příklad (2.2) z pohledu relaxačních metod. Příklad 4.3. Řešíme přímky a, b s rovnicemi: a : x 1 x 2 + 1 = 0 b : x 1 + 5x 2 9 = 0. Příslušná iterační matice T ω vypadá následovně T ω = ( (1 ω) ω 1 5 ω(1 ω) 1 5 ω2 + (1 ω) ) a vektor e ω = ( ω 9 5 ω 1 5 ω2 Grafické znázornění pro relaxační parametr ω = 0.5 (resp. ω = 1.4) je na obrázku 4.1 (resp. 4.2) ). 4.3 Řízené relaxace Mezi další metody, které jsou schopny urychlit konvergenci doposud zmíněných iteračních metod, patří metody řízené relaxace. Narozdíl od předchozích metod, které při re-

KAPITOLA 4. RELAXAČNÍ METODA 29 Obrázek 4.1: Relaxační metoda s parametrem ω = 0.5 laxačních procesech po souřadnicích využívaly předem stanovenou posloupnost vedoucích indexů, tyto metody vybírají vedoucí index i k v každém kroku podle výsledku předchozího kroku. Proto nastane nejrychlejší úbytek funkce chyby při přechodu od aproximace x k 1 k x k. Index i k zvolíme tak, aby (rk 1 i ) 2 k a ik bylo číslo maximální mezi čísly (rk 1 i ) 2 i k a ii, kde i = 1,..., n. Existují 3 možnosti výběru vedoucího indexu i k : vybereme vedoucí index i k relaxační proces) tak, aby bylo číslo rk 1 i k aik i k maximální (tj. tzv. Seidlův další možností je vybírat vedoucí index z podmínky maximality čísla rk 1 i aii relaxační proces) (Gaussův poslední možnost je založena na výběru vedoucího indexu podle maximality čísla r k 1 i (Southwellův relaxační princip). Věta 4.4. Nechť vedoucí index i k v k-tém kroku relaxačního procesu pro soustavu s pozitivně definitní maticí A je vybírán tak, že r k 1 i k γ r k 1 i (0 < γ 1, i = 1,..., n). (4.6)

KAPITOLA 4. RELAXAČNÍ METODA 30 Obrázek 4.2: Relaxační metoda s parametrem ω = 1.1 Nechť ještě relaxační parametry splňují nerovnosti ε < ω k < 2 ε, kde 0 < ε < 1. Potom konverguje proces neúplné relaxace k přesnému řešení soustavy x. Dokonce exituje číslo ρ (0, 1) a konstanta C tak, že pro aproximace x k platí x x k < Cρ k. Důkaz. viz [2] Důsledkem předchozí věty je konvergence všech tří relaxačních principů (tj. Gaussova, Seidlova a Southwellova). Jestliže soustavu řešíme relaxačními metodami řízenými Southwellovým, Gaussovým nebo Seidlovým principem, musíme v každém kroku vypočítat všechny souřadnice reziduového vektoru, ale pro určení vedoucího indexu se využije jen jedné souřadnice. Nechť r, γ a σ jsou reziduové vektory. Potom pro složky dvou po sobě jdoucích reziduových vektorů platí r k i = r k 1 i γ k i = γ k 1 i σ k i = σ k 1 i ω k r k 1 i k b iik, ω k γ k 1 i k c iik, ω k σ k 1 i k h iik. (4.7)

KAPITOLA 4. RELAXAČNÍ METODA 31 Přepišme tyto vztahy do vektorového tvaru r k = r k 1 ω k r k 1 i k B ik, γ k = γ k 1 ω k γ k 1 i k C ik, σ k = σ k 1 ω k σ k 1 i k H iik, (4.8) kde matice B j, C j a H j jsou j-té sloupce příslušných matic B, C, H. Matice B = D 1 A, C = AD 1 a H = D 1 2 AD 1 2. Jestliže soustava A má na diagonále pouze jedničky, nemusíme počítat matice B, C a H, jelikož v tomto případě budou rovny matici A. Dále musíme zvolit ještě relaxační parametry ω 1, ω 2,... Přejděme k samotnému výpočtu. Zvolme počáteční aproximaci x 0 a sestavme pomocí vztahu b Ax n čísel r 0 i (nebo γ 0 i popřípadě σ 0 i ). Z vypočtených hodnot vybereme maximální číslo v absolutní hodnotě a označíme ho jako i 1. Následně využijeme vztahů (4.7) ke spočtení r 1 i (nebo γ 1 i nebo σ 1 i ). Opět vybereme maximální číslo v absolutní hodnotě a zvolíme ho jako i 2. Takto postupujeme pro získání n reziduových vektorů. Souřadnice aproximace jsou potom dány vztahy x n i = x 0 i + 1 ω k r k 1 i a ii nebo (4.9) x n i = x 0 i + ω k γ k 1 i nebo (4.10) x n i = x 0 i + 1 ω k σ k 1 i, aii (4.11) kde značí součet, kde se sčítá podle maximálních hodnot, které jsme vybírali při sestavování reziduových vektorů. Během výpočtu se doporučuje proces občas přerušit, vypočítat danou aproximaci, najít reziduový vektor přímo a začít s výpočtem znovu. Tím se zmenší chyby, které vzniknou při zaokrouhlování.

KAPITOLA 4. RELAXAČNÍ METODA 32 Příklad 4.4. Uvažujme soustavu rovnic x 1 + 0.54 x 2 0.3 = 0 0.54 x 1 + x 2 0.5 = 0. Vyřešme danou soustavu pomocí metody řízených relaxací. Zvolme relaxační parametr ω = 1 a počáteční aproximaci x 0 = (0 0) T. Matice soustavy je tedy tvaru ( ) ( ) 1 0.54 0.3 A =, b =. 0.54 1 0.5 Z matice A je vidět, že diagonální prvky a ii = 1 pro i = 1, 2. Z toho vyplývá, že všechny tři relaxační procesy (Gaussův, Seidlův i Southwellův) splývají. Řešme daný příklad Southwellovým relaxačním procesem. Přesné řešení soustavy je x = (0.04235 0.47713) T. Nejprve si spočtěme složky reziduového vektoru r 0. ( ) ( ) ( ) ( ) r 0 0.3 1 0.54 0 0.3 = b A x = =. 0.5 0.54 1 0 0.5 Pro výpočet následujících vektorů (tj. r 1, r 2, r 3,... ) využijeme vztahu (4.8). Jednotlivé výpočty zachycuje tabulka 4.1. Jak již bylo dříve zmíněno, je dobré po jisté době výpočet reziduového vektoru přerušit, spočítat příslušnou aproximaci dle vztahu (4.9) a znovu najít přímo reziduový vektor. V našem případě se jedná o řádek 6, 13 a 19 v tabulce 4.1. Vidíme, že bylo třeba spočítat 15 iterací k dosažení výsledku s chybou menší jak 10 5. Příklad 4.4 je graficky ilustrován na obrázku 4.3. Příklad 4.5. Mějme soustavu tří rovnic o třech neznámých x 1 + 0.42 x 2 + 0.54 x 3 = 0.3 0.42 x 1 + x 2 + 0.32 x 3 = 0.5 0.54 x 1 + 0.32 x 2 + x 3 = 0.7. Přesné řešení soustavy je x = ( 0.24052 0.37373 0.71029) T. Nechť ω = 1 a počáteční aproximace x 0 = (0 0 0) T. Opět budou všechny tři procesy splývat. Řešmě příklad

KAPITOLA 4. RELAXAČNÍ METODA 33 x 0 0 0 i k r 0 0.3 0.5 2 r 1 0.03 0 1 r 2 0-0.0162 2 r 3 0.00875 0 1 x 4 0.03875 0.48380 r 4 0-0.00473 2 r 5 0.00255 0 1 r 6 0-0.00138 2 r 7 0.00075 0 1 r 8 0-0.00041 2 r 9 0.00022 0 1 x 10 0.04227 0.47728 r 10 0-0.00011 2 r 11 0.00006 0 1 r 12 0-0.00003 2 r 13 0.00002 0 1 r 14 0-0.00001 2 x 15 0.04235 0.47713 Tabulka 4.1: Příklad 4.4 řešený Southwellovým relaxačním procesem Southwellovým relaxačním procesem. Matice soustavy 1 0.42 0.54 0.3 A = 0.42 1 0.32, b = 0.5. 0.54 0.32 1 0.7 Reziduový vektor r 0 je dán vztahem 0.3 1 0.42 0.54 0 r 0 = b A x = 0.5 0.42 1 0.32 0. 0.7 0.54 0.32 1 0 Postupujeme dále stejně jako v předchozím příklade dle vztahu (4.8) pro výpočet následujících reziduových vektroů. K určení jednotlivých aproximací je dán již zmíněný vztah (4.9). Jednotlivé výpočty popisuje tabulka 4.2.

KAPITOLA 4. RELAXAČNÍ METODA 34 x 0 0 0 0 i k r 0 0.3 0.5 0.7 3 r 1-0.078 0.276 0 2 r 2-0.19392 0-0.08832 1 r 3 0 0.08145 0.0164 2 x 4-0.19392 0.35745 0.7 r 4-0.03421 0-0.00967 1 r 5 0 0.01437 0.00880 2 r 6-0.00604 0 0.00420 1 r 7 0 0.00254 0.00193 2 r 8-0.00107 0 0.00112 3 r 9-0.00167-0.00036 0 1 x 10-0.23584 0.37436 0.70112 r 10 0 0.00033 0.00644 3 r 11-0.00348-0.00173 0 1 r 12 0-0.00027 0.00188 3 r 13-0.00102-0.00087 0 1 r 14 0-0.00044 0.00055 3 r 15-0.00030-0.00062 0 2.... r 25 0 0 0.00001 3 x 26-0.24052 0.37373 0.71029 Tabulka 4.2: Příklad 4.5 řešený Southwellovým relaxačním procesem

KAPITOLA 4. RELAXAČNÍ METODA 35 Obrázek 4.3: Southwellův relaxační princip (obrázek vpravo je výřez)

Kapitola 5 Cykly v iteračních metodách Doposud jsme zkoumali, zda spektrální poloměry iteračních matic T jsou menší nebo větší než jedna (iterační metoda konverguje, resp. diverguje). Nyní se zaměříme na případ, kdy bude ϱ(t ) = 1. Uvažujme systém lineárních rovnic (1.1) s přesným řešením (1.2) a jeho ekvivalentní vyjádření (1.3). Definice 5.1. Nechť {x k } k=0 je posloupnost generovaná iterační metodou (1.3) s počáteční aproximací x 0 R n, kde x 0 x. Vektor x 0 generuje cyklus řádu p pro p N, p 2, jestliže x p = x 0, přičemž x k x 0, kde k = 1, 2,..., p 1. Věta 5.1. Každá počáteční aproximace x 0 x generuje cyklus řádu p tehdy a jenom tehdy, když T p = E. (5.1) Důkaz. viz [6] V této kapitole budou pro nás důležité diagonalizovatelné matice. Nejprve ale musíme zavést pár pojmů, které budou potřebné v průběhu této kapitoly. Definice 5.2. Nechť A je čtvercová matice řádu n a existuje-li skalár λ C a nenulový vektor u R n, pro které platí Au = λu, potom λ se nazývá vlastní číslo matice A a u vlastní vektor matice A příslušný vlastnímu číslu λ. 36

KAPITOLA 5. CYKLY V ITERAČNÍCH METODÁCH 37 Definice 5.3. Nechť A je čtvercová matice řádu n a λ je vlastní číslo matice A. Potom Jordanovou buňku dimenze k k nazveme matici λ 1 λ 1 J k (λ) =... λ 1 Definice 5.4. Čtvercová matice A M n se nazývá diagonalizovatelná, jestliže existuje regulární matice P řádu n taková, že platí A = P JP 1, λ. kde J je diagonální matice s vlastními čísly λ 1,..., λ n na diagonále. Věta 5.2. Nechť A je čtvercová matice řádu n. Potom následující tvrzení jsou ekvivalentní: i) Matice A je diagonalizovatelná. ii) Všechny Jordanovy buňky jsou matice řádu 1. iii) iv) Hodnost matice A λe je n m pro každé vlastní číslo λ matice A, kde n je řád matice A a m je násobnost vlastního čísla λ. Existuje n lineárně nezávislých vlastních vektorů, které jsou příslušné vlastním číslům. Důkaz. viz [5] Věta 5.3. Vztah (5.1) platí tehdy a jen tehdy, jestliže matice T je diagonalizovatelná a pro všechna vlastní čísla platí λ p i = 1. (přitom p je nejmenší přirozené číslo takové, pro které daný vztah platí). Důkaz. viz [6] Dosud nemáme nutnou ani postačující podmínku, která by nám zaručila existenci cyklu v iteračních metodách. O výskytu cyklu nám více napoví následující věta.

KAPITOLA 5. CYKLY V ITERAČNÍCH METODÁCH 38 Věta 5.4. Nechť {x k } k=0 je posloupnost generovaná iteračním procesem xk+1 = T x k + g, k = 0, 1,.... Cyklus řádu p je generovaný libovolnou počáteční aproximací x 0 tehdy a jen tehdy, je-li i) T diagonalizovatelná ii) pro každé vlastní číslo λ j iterační matice T existuje přirozené číslo p j takové, že λ p j j = 1, kde j = 1,..., n, přičemž p j je nejmenší exponent, pro který daný vztah platí. Řád cyklu je potom dán jako nejmenší společný násobek čísel p j. Poznámka. Jestliže v iteračním procesu (1.3) nastává cyklus, potom ϱ(t ) = 1. Opačná implikace ovšem neplatí, tj. jestli ϱ(t ) = 1, nemusí v iteračním procesu nastat cyklus. Ukažme nyní zvláštní případy Jacobiovy a Gauss-Seidlovy metody. Mějme systém rovnic x 1 + cx 2 = b 1 x 1 cx 2 = b 2, (5.2) kde c 0. Potom u Jacobiovy iterační metody nastane pro každou počáteční aproximaci x 0 cyklus řádu 4. U Gauss-Seidlovy metody se vyskytne cyklus řádu 2, ale až od první aproximace (tj. počáteční aproximace je tvaru T x 0 ). Je to dáno tím, že iterační matice T G obsahuje vlastní číslo λ = 0. Jestliže Jacobiova metoda tvoří cyklus řádu 4, potom musí platit, že TJ 4 = E. Spočtěme tedy mocniny Jacobiovy iterační matice. ( ) 0 c T J =, TJ 2 = 1 0 c ) ( ) ( ), TJ 3 0 c =, T 4 1 0 0 1 1 J =, 0 0 1 c ( 1 0 pro libovolné c 0. Vidíme, že vztah TJ 4 = E platí, z čehož vyplývá, že Jacobiova iterační metoda, dle věty 5.1, tvoří cyklus řádu 4. Pro Gauss-Seidlovu metodu, která tvoří cyklus řádu 2 (od první aproximace), platí, že T 2 G = E. Spočtěme mocniny matice T G. ( ) ( ) ( ) 0 c T G =, TG 2 0 c =, T 3 0 c G =. 0 1 0 1 0 1

KAPITOLA 5. CYKLY V ITERAČNÍCH METODÁCH 39 Všimněme si, že matice T G má v první a třetí mocnině stejné hodnoty. Pak T 3 G = T G T 3 G T G = 0 T G (T 2 G E) = 0 T G = 0 T 2 G = E. Potom Gauss-Seidlova metoda opravdu tvoří cyklus řádu 2. Ukažme si oba předchozí případy graficky na příkladu. Příklad 5.1. Řešme systém (5.2) pro konstantu c = 2 a vektor b = (8, 4) T. Potom x 1 + 2x 2 = 8 x 1 2x 2 = 4. Graficky je tato soustava znázorněná na obr. 5.1 a na obr. 5.2. Obrázek 5.1: Jacobiova metoda (cyklus řádu 4)

KAPITOLA 5. CYKLY V ITERAČNÍCH METODÁCH 40 Obrázek 5.2: Gauss-Seidlova metoda (cyklus řádu 2) Zajímavá situace nastane u relaxačních metod. Mějme soustavu x 1 + x 2 = 1 c x 1 + x 2 = 1. Potom iterační matice relaxační metody T ω a vektor b ω jsou tvaru: ( ) ( ) T ω = (1 ω) ω ω, b c ω(1 ω) c ω 2 ω = + (1 ω) ω c ω 2. Nutnou podmínkou konvergence iteračního procesu T ω x k + b ω je požadavek, aby ω (0, 2). Jestliže ω = 1, splývá relaxace s Gauss-Seidlovou metodou. Věta 5.5. Relaxační metoda generuje cyklus řádu p 3 tehdy a jen tehdy, je-li i) ω = 2, ii) c (0, 1), iii) vlastní čísla iterační matice T ω jsou λ 1,2 = e ±iφ, kde φ = 2πs a 0 < s < 1. 2

KAPITOLA 5. CYKLY V ITERAČNÍCH METODÁCH 41 Důkaz. viz [7] Potom Zvolme relaxační parametr ω = 2 v iterační matici T ω. T ω = Odtud je charakteristický polynom tvaru ( 1 2 2 c 4 c 1 ). λ 2 + (2 4 c)λ + 1 = 0. Tedy vlastní čísla jsou a λ 1 = 2 c 1 + 2 c 2 c λ 2 = 2 c 1 2 c 2 c. Jestliže konstantu c zvolíme z intervalu (0, 1), dostaneme dvě komplexně sdružená vlastní čísla, jejíchž absolutní hodnota bude rovná jedné. Potom spektrální poloměr bude ϱ(t ω ) = 1. Přepišme vlastní čísla do goniometrického tvaru λ 1 = cos φ + i sin φ λ 2 = cos φ i sin φ, potom c = 1 + cos φ. (5.3) 2 Je zřejmé, že cyklus řádu p existuje jen tehdy, je-li φ = 2 π l, kde 0 < l < p. Pomocí vztahu p 2 (5.3) můžeme nalézt systém generující cyklus řádu p. Stačí vhodně zvolit za p a l. Uveďme příklady cyklů různých řádů volbou parametrů l a p, kde p značí řád cyklu a l sklon elipsy cyklu, která je tvořena jednotlivými aproximacemi, za již zmíněného předpokladu, že l (0, p ). 2 Příklad 5.2. Pro l = 3 a p = 10 vznikne cyklus řádu 10. Z toho dostáváme, že c = 1 2 (1 + cos 2 π 3 10 ) =. 0.34549

KAPITOLA 5. CYKLY V ITERAČNÍCH METODÁCH 42 a iterační matice T = ( 1 2 0.6910 0.3820 Ověřme nyní, zda platí jednotlivé podmínky pro vznik cyklu. ) ( ) T p = E T 10 1 0 =. 0 1 To znamená, že jeden z požadavků platí. Dále vypočtěme vlastní čísla. Ty jsou tvaru λ 1,2 = 0.3090 ± 0.9511 i = e ±i 2 π 3 10, potom (λ 1,2 ) 10 = 1, čímž je splněna druhá podmínka. Další podmínku zahrnuje předpoklad (tj. ω = 2) a poslední požadavek je zřejmý z výpočtu, a to, že c (0, 1). Proto vznikne cyklus řádu 10 (viz obrázek 5.3). Příklad 5.3. Pro l = 19 a p = 53 vznikne cyklus řádu 53. Odtud c = 1 2 (1 + cos 2 π 19 53 ). = 0.1850.. Opět ověříme podmínky. ( ) 1 2 T = 0.3699 0.2602 ( ) T 53 1 0 =. 0 1 Vlastní čísla jsou tvaru λ 1,2 = 0.6301 ± 0.7765i = e i 2 π 19 53, pak (λ 1,2 ) 53 = 1. Zbylé podmínky jsou opět zřejmé. Vznikne tedy cyklus řádu 53, který je graficky znázorněný na obrázku 5.4. Příklad 5.4. Pro l = 13 a p = 100 vznikne cyklus řádu 100. Pak c = 1 2 (1 + cos 2 π 13 100 ). = 0.8423. Všechny podmínky jsou opět splněny. ( ) 1 2 T = 1.6845 2.3691 ( ) T 100 1 0 =. 0 1 Vlastní čísla jsou v daném případě λ 1,2 = 0.6845 ± 0.7290i = e i 2 π 13 100, pak (λ 1,2 ) 100 = 1. Poslední dvě podmínky, stejně tak jako v předešlých případech, jsou zřejmé. Vznikne cyklus řádu 100, na který poukazuje obrázek 5.5.

KAPITOLA 5. CYKLY V ITERAČNÍCH METODÁCH 43 Obrázek 5.3: Cyklus řádu 10 pro pro počáteční aproximaci x 0 = (0, 0) T. Poznámka. V každém z příkladů 5.2, 5.3 a 5.4 tvoří jednotlivé aproximace elipsu, jejíž středem je přesné řešení soustavy. V našem případě se jednalo o bod x = (0 elipsy je potom x 2 1 + x2 2 c + 2 x 1 x 2 2 x 2 2 x 1 = (x 0 c 1) 2 + (x0 2) 2 + 2 x 0 1 x 0 2 2 x0 2 2 x 0 c c 1, kde x 0 = (x 0 1, x 0 2) je počáteční aproximace. 1) T. Rovnice

KAPITOLA 5. CYKLY V ITERAČNÍCH METODÁCH 44 Obrázek 5.4: Cyklus řádu 53 pro počáteční aproximaci x 0 = (0, 0) T. Obrázek 5.5: Cyklus řádu 100 pro počáteční aproximaci x 0 = (0, 0) T.

Závěr Cílem mé práce bylo popsání, vysvětlení a ilustrování pojmu relaxačních metod na příkladech. K tomu bylo třeba zavést další pojmy jako iterační metody, iterační proces, Jacobiova a Gauss-Seidlova iterační metoda. Viděli jsme, že každá z metod konvergovala k přesnému řešení, splňovala-li určité podmínky (např. jednalo-li se o ryze řádkově nebo sloupcově diagonálně dominantní matice, pak metody konvergovaly pro každou počáteční aproximaci x 0 nebo byl-li spektrální poloměr iteračních matic menší než jedna, potom opět metody konvergovaly pro každou počáteční aproximaci x 0 ). Ukázali jsme, že jestli konvergovala Jacobiova i Gauss-Seidlova metoda, potom konvergovala Gauss-Seidlova metoda rychleji. V případech, kdy Gauss-Seidlova metoda divergovala, nebo konvergovala velmi pomalu, bylo vhodné využít relaxačních metod s vhodným výběrem relaxačního parametru. Podle volby relaxačního parametru se jednalo o dolní relaxaci, jestli byl parametr ω z intervalu (0, 1), horní relaxaci, když parametr ω náležel do intervalu (1, 2), nebo relaxační metoda splývala s Gauss-Seidlovou metodou pro parametr ω = 1. Zrychlit konvergenci relaxačních metod dokázaly řízené relaxace, které v každém kroku vybíraly vedoucí index i k podle výsledku předcházejicího kroku, čímž dosáhly nejrychlejšího ubývání funkce chyby mezi jednotlivými aproximacemi. Podle způsobu výběru vedoucího indexu i k jsme rozlišili 3 typy řízených relaxací (tj. Gaussův, Seidlův a Southwellův relaxační proces). Poslední kapitola byla věnována výskytu cyklů v iteračních metodách. Ukázali jsme, za jakých podmínek cyklus nastane a uvedli jsme pár příkladů, které jsme graficky znázornili. 45

Seznam obrázků 2.1 Jacobiova iterační metoda........................... 14 3.1 Gauss-Seidlova iterační metoda........................ 19 4.1 Relaxační metoda s parametrem ω = 0.5................... 29 4.2 Relaxační metoda s parametrem ω = 1.1................... 30 4.3 Southwellův relaxační princip (obrázek vpravo je výřez)........... 35 5.1 Jacobiova metoda (cyklus řádu 4)....................... 39 5.2 Gauss-Seidlova metoda (cyklus řádu 2).................... 40 5.3 Cyklus řádu 10 pro pro počáteční aproximaci x 0 = (0, 0) T.......... 43 5.4 Cyklus řádu 53 pro počáteční aproximaci x 0 = (0, 0) T............. 44 5.5 Cyklus řádu 100 pro počáteční aproximaci x 0 = (0, 0) T............ 44 46

Literatura [1] Burlisch, R., Stoer, J.: Introduction to Numerical Analysis. Springer Verlag, New York, Heidelberg, Berlin, 1980. [2] Faddějev, D. K., Faddějevová, V. N.: Numerické metody lineární algebry, Státní nakladatelství technické literatury, Praha, 1964. [3] Horová, I., Zelinka, J.: Numerické metody, Masarykova univerzita, Brno, 2008. [4] Isaacson, E., Keller, H. B.: Analysis of Numerical Methods. John Wiley, New York, London, Sydney, 1966. [5] Skula, L.: A note on Diagonable Matrices. Proceedings and Abstracts of ESES 96, Masaryk University, 1966. [6] Šotová, J., Horová, I.: Problems of cycles in iterative methods for systems of linear equations. Acta Math. et Inf. Univ. Ostr., 9, No1, 2001. [7] Šotová, J.: Cykly v iteračních metodách pro řešení systémů lineárních rovnic. PhD Thesis, Brno, 1997. 47

Příloha A Obsah CD bak.tex - zdrojový text bakalářské práce napsaný v TeXu jacobi.m - m-soubor řešící příklad 2.1 jacobi2.m - m-soubor řešící příklad 2.2 gauss.m - m-soubor řešící příklad 3.1 gauss2.m - m-soubor řešící příklad 3.2 DolRelax.m - m-soubor řešící příklad 4.1 (případ I) HorRelax.m - m-soubor řešící příklad 4.1 (případ II) OptRelax.m - m-soubor řešící příklad 4.1 (případ III) DolRelax2.m - m-soubor řešící příklad 4.3 HorRelax2.m - m-soubor řešící příklad 4.3 cykly1.m - m-soubor řešící příklad 5.2 cykly2.m - m-soubor řešící příklad 5.3 cykly3.m - m-soubor řešící příklad 5.4