4. LU rozklad a jeho numerická analýza

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

Úlohy nejmenších čtverců

Aplikovaná numerická matematika - ANM

Cvičení z Numerických metod I - 12.týden

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

Numerické metody a programování. Lekce 4

Co je obsahem numerických metod?

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

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

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

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

Arnoldiho a Lanczosova metoda

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

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:

Ortogonální transformace a QR rozklady

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

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

Ortogonální transformace a QR rozklady

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Numerické metody a programování

Podobnostní transformace

8 Matice a determinanty

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

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

Operace s maticemi

Operace s maticemi. 19. února 2018

Numerická stabilita algoritmů

[1] LU rozklad A = L U

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

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

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

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

Soustavy linea rnı ch rovnic

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

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

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

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

0.1 Úvod do lineární algebry

Matematika B101MA1, B101MA2

Metoda sdružených gradientů

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

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

0.1 Úvod do lineární algebry

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

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

1 Vektorové prostory.

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

Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29

5. Singulární rozklad

1 Determinanty a inverzní matice

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

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

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

Soustavy lineárních rovnic a determinanty

Symetrické a kvadratické formy

Soustavy lineárních rovnic

Numerické metody lineární algebry

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

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

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á.

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

(Cramerovo pravidlo, determinanty, inverzní matice)

Kapitola 11: Vektory a matice 1/19

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

Numerické metody lineární algebry

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

Cvičení 5 - Inverzní matice

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

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

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

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

1/10. Kapitola 12: Soustavy lineárních algebraických rovnic

1 Linearní prostory nad komplexními čísly

Úvod do lineární algebry

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

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

Kapitola 11: Vektory a matice:

7. Lineární vektorové prostory

DEFINICE Z LINEÁRNÍ ALGEBRY

3. Ortogonální transformace a QR rozklady

12. Determinanty. 12. Determinanty p. 1/25

IB112 Základy matematiky

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

Determinanty. Determinanty. Přednáška MATEMATIKA č. 3. Jiří Neubauer

Soustava m lineárních rovnic o n neznámých je systém

Lineární algebra. Matice, operace s maticemi

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

MASARYKOVA UNIVERZITA. Rozklady matic

Vlastní číslo, vektor

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

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

1 Projekce a projektory

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

pro řešení soustav lineárních rovnic. Gaussova eliminační metoda pro řešení soustavy lineárních rovnic sestává ze dvou kroků:

Interpolace, ortogonální polynomy, Gaussova kvadratura

Cvičení z Lineární algebry 1

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA II, letní semestr 2000/2001 Michal Marvan. 14.

1 Zobrazení 1 ZOBRAZENÍ 1. Zobrazení a algebraické struktury. (a) Ukažte, že zobrazení f : x

Transkript:

4 LU rozklad a jeho numerická analýza Petr Tichý 24 října 2012 1

Úvod Nechť A je regulární matice Řešíme Ax = b LU rozklad (Gaussova eliminace) je jeden z nejdůležitějších nástrojů pro problém řešení soustav lineárních algebraických rovnic Moderní algoritmy pro lineární systémy s řídkou maticí vycházejí z Gaussovy eliminace, teorie grafů a kombinatoriky, a jsou postaveny na jemných heuristikách omezujících zaplnění s využitím teorie citlivosti a numerické stability Historický úvod a souvislosti skripta 3

Maticový popis Gaussovy eliminace Eliminační matice Uvažujme čtvercovou n n matici M k následující struktury M k = 1 1 m k+1,k 1 m n,k 1, m k = 0 0 m k+1,k m n,k Platí M k = I + m k e T k, Není těžké se přesvědčit (cvičení), že M 1 k = I m k e T k 4

Maticový popis Gaussovy eliminace Součin eliminačních matic Uvažujme dále dolní trojúhelníkovou matici L, Ve cvičení ukážeme, že platí Schematicky znázorněno L M 1 M 2 M 3 M n 1 n 1 L = I + m k e T k k=1 M 1 M 2 M 3 M n 1 L = 5

Soustava lineárních rovnic Předpoklad proveditelnosti Gaussovy eliminace Uvažujme nyní soustavu lineárních algebraických rovnic s regulární maticí A Ax = b, A C n n, b C n Budeme nejprve předpokládat, že Gaussovu eliminaci lze provést (prvky, kterými dělíme, jsou různé od nuly) 7

Gaussova eliminace První krok Od i-tého řádku odečteme (a i,1 /a 1,1 ) násobek prvního řádku, i = 2,, n Dostaneme tak matici A (1), M 1 1 = a 1,1 a 1,2 a 1,n 0 a (1) A A (1) 2,2 a (1) 2,n 0 a (1) n,2 a (1) n,n 1 a 2,1 /a 1,1 1 a 3,1 /a 1,1 1 a n,1 /a 1,1 1, m 1 = M 1 1 A, 0 a 2,1 /a 1,1 a 3,1 /a 1,1 a n,1 /a 1,1 8

Gaussova eliminace První krok - popis Platí M 1 1 = I m 1 e T 1, m 1 0 a 2,1 /a 1,1 a 3,1 /a 1,1 a n,1 /a 1,1 Prvkům a i,1 /a 1,1 budeme říkat násobitelé Současně s A modifikujeme i pravou stranu soustavy, tedy b b (1) M 1 1 b 9

Gaussova eliminace Druhý krok V druhém kroku eliminujeme poddiagonální prvky druhého sloupce matice A (1) užitím druhého řádku této matice Dostaneme matici A (2) M2 1 A(1), kde M2 1 = I m 2 e T 2 1 0 1 0 M2 1 = a (1), m 2 3,2 /a(1) 2,2 1 a (1) a (1) n,2 /a(1) 2,2 1 3,2 /a(1) 2,2 a (1) n,2 /a(1) 2,2 10

Gaussova eliminace Po n 1 krocích Po n 1 krocích dostaneme horní trojúhelníkovou matici U A (n 1) = Mn 1 1 1 1 1 (Mn 2( (M2 (M1 }{{ A )) )) } =A }{{ (1) } =A (2) Zavedeme-li označení A (0) A, platí U = a (0) 1,1 a (0) 1,2 a (0) 1,3 a (0) 1,n a (1) 2,2 a (1) 2,3 a (1) 2,n a (2) 3,3 a (2) 3,n a (n 1) n,n 11

Gaussova eliminace a LU rozklad A = (M 1 M 2 M n 2 M n 1 ) U LU, kde L je dolní trojúhelníková matice s jednotkovou diagonálou 1 a (0) 2,1 /a(0) 1,1 1 a (0) 3,1 /a(0) 1,1 a (1) 3,2 /a(1) 2,2 1 L = a (0) 4,1 /a(0) 1,1 a (1) 4,2 /a(1) 2,2 a (2) 4,3 /a(2) 3,3 1 a (0) n,1 /a(0) 1,1 a (1) n,2 /a(1) 2,2 a (2) n,3 /a(2) 3,3 a (n 2) n,n 1 /a(n 2) n 1,n 1 1 12

LU rozklad a řešení Ax = b Nechť A C n n je regulární matice Rozklad tvaru A = LU, kde L je dolní trojúhelníková s jednotkovou diagonálou a U je horní trojúhelníková matice, nazveme LU rozkladem matice A Ax = b vyřešíme pomocí LU rozkladu ve dvou krocích 1 Přímý chod: Implicitní násobení Ax = b maticí L 1, Ax = b L 1 Ax = L 1 b Ux = b (n 1) 2 Zpětný chod: Řešení soustavy Ux = b (n 1) s horní trojúhelníkovou maticí U 13

Přímý chod Gaussovy eliminace Přímý chod Ax = b L 1 Ax = L 1 b Ux = b (n 1) input A (0) := A = [a i,j ], b (0) := b = [β 1,, β n ] T for k = 1 : n 1 do for i = k + 1 : n do m i,k := a(k 1) i,k a (k 1) k,k for j = k + 1 : n do a (k) i,j := a(k 1) i,j m i,k a (k 1) k,j end for β (k) := β (k 1) i end for end for i m i,k β (k 1) k 14

Zpětný chod Gaussovy eliminace Zpětný chod Řešení soustavy Ux = b (n 1) s horní trojúhelníkovou maticí U = A (n 1) input A (n 1), b (n 1) ξ n := β n (n 1) /a (n 1) n,n for i = n 1 : 1 : 1 do ξ i := β (n 1) i for j = i + 1 : n do ξ i := ξ i a (i 1) i,j ξ j end for ξ i := ξ i /a (i 1) i,i end for 15

Praktická realizace Přepis prvků matice Prvky A se fyzicky přepisují nově spočtenými prvky Po výpočtu: A U L Nalezli jsme rozklad matice A ve tvaru A = LU, a původní problém LUx = b je možné formulovat jako problém řešení dvou trojúhelníkových soustav L(Ux) = b, Ux = L 1 b, přičemž řešení první soustavy L 1 b = b (n 1) je vypočteno v průběhu vytvoření LU rozkladu 16

Gaussova eliminace s částečnou pivotací Silná regularita V předchozím předpoklad a (k 1) k,k 0 pro k = 1,, n 1 Věta: Proveditelnost Gaussovy eliminace Podmínka a (k 1) k,k 0, k = 1,, n 1 je splněna právě tehdy, je-li matice A silně regulární, tj pokud platí a 1,1 a 1,k det 0, k = 1, n a k,1 a k,k (všechny hlavní minory jsou nenulové) 18

Věta o proveditelnosti Gaussovy eliminace Důkaz Označme a 1,1 a 1,k à k a k,1 a k,k k-tou hlavní submatici matice A Tvrzení platí pro Ã1 Nechť platí pro Ãk, k < n Vzhledem k tomu, že ve výše popsaném LU rozkladu neprovádíme nic jiného než lineární kombinace řádků (či sloupců) matice, a vzhledem k tomu, že dané operace nemění hodnost žádné z upravovaných matic, s použitím indukčního předpokladu, hlavní submatice Ãk+1 je singulární tehdy a jen tehdy, je-li a (k) k+1,k+1 = 0 19

Prostá Gaussova eliminace je obecně numericky nestabilní Předpoklad silné regularity nemusí být splněn, příklad: [ ] 0 1 1 0 Předpoklad silné regularity nedojde k dělení nulou Chceme zabránit nejen dělení nulou, ale i vzniku mezivýsledků s podstatně většími číselnými hodnotami, než jsou číselné hodnoty vstupních dat a hledaného výsledku Mezivýsledky s velkou absolutní hodnotou + výpočet obsahuje operaci odečítání čísel stejného znaménka s velkou pravděpodobností dojde při výpočtu k významné ztrátě počtu platných cifer výsledku Ztráta informace vede k nestabilitě algoritmu Kde mohou v algoritmu vznikat velká čísla? 20

Výpočetní operace - jádro Gaussovy eliminace Kde mohou v algoritmu vznikat velká čísla? Jádrem Gaussovy eliminace je následující výpočetní operace m i,k = a(k 1) i,k a (k 1) k,k, a (k) i,j = a(k 1) i,j kde i, j {k + 1,, n}, k = 1,, n 1 m i,k a (k 1) k,j, Je-li dělitel a (k 1) k,k výrazně menší v porovnání s čitateli a (k 1) i,k, potom je m i,k v absolutní hodnotě výrazně větší než 1 Může se pak např stát, že m i,k a (k 1) a (k 1), a tedy k,j i,j a (k) i,j a (k 1) i,j V praxi je třeba řešit soustavy s obecnou regulární maticí bez předpokladu silné regularity 21

Jak omezit vliv zaokrouhlovacích chyb? Věta Ke každé regulární A existuje permutační matice P taková, že P A je silně regulární Matice P není obecně určena jednoznačně Naučíme se zkonstruovat permutační matici P zajišťující nejen silnou regularitu P A, ale i zlepšení numerické stability Při řešení soustavy rovnic nezáleží na tom, v jakém pořadí jsou rovnice uspořádány; změna pořadí rovnic vede matematicky (v přesné aritmetice) ke stejnému řešení soustavy Ax = b Numericky může vést k omezení hodnot mezivýsledků, k omezení vlivu zaokrouhlovacích chyb, ke zpřesnění výpočtu Snaha, aby m i,k v absolutní hodnotě co nejmenší, m i,k = a(k 1) i,k a (k 1) k,k 22

Gaussova eliminace s částečnou pivotací Strategie Najdeme index l takový, aby = max a (k 1) l,k a (k 1) i=k,,n i,k Vzájemně zaměníme k-tý a l-tý řádek v matici A (k 1) a pokračujeme standardním postupem Stejným způsobem ovšem musíme prohodit řádky ve vznikající matici L, do níž ukládáme jednotlivé násobitele Výběr maximálního prvku ve sloupci všechny násobitelé v absolutní hodnotě menší nebo rovny jedné Díky tomuto výběru omezujeme vliv zaokrouhlovacích chyb na proces Gaussovy eliminace v konečné aritmetice 23

Proveditelnost Gaussovy eliminace s částečnou pivotací Při částečné pivotaci je splněn předpoklad nenulovosti pivota Pokud by byly všechny prvky a (k 1) i,k nulové, 0 A (k), potom by byl k-tý sloupec částečně eliminované matice lineární kombinací předchozích sloupců A singulární Gaussova eliminace s částečnou pivotací je tedy proveditelná pro libovolnou regulární matici A 24

Gaussova eliminace s částečnou pivotací Maticový zápis Věta Ke každé regulární A existuje permutační matice P taková, že P A je silně regulární Matice P není obecně určena jednoznačně Pro dokončení důkazu věty stačí ukázat, že Gaussovu eliminaci s částečnou pivotací aplikovanou na A můžeme interpretovat jako prostou Gaussovu eliminaci aplikovanou na matici P A Maticí P k budeme značit permutační matici, která v k-tém kroku eliminace realizuje permutaci k-tého a l-tého řádku Celý proces eliminace poddiagonálních prvků lze zapsat ( ) U Mn 1 1 P n 1 (M2 1 (P 2(M1 1 (P 1A)))) 25

Gaussova eliminace s částečnou pivotací Maticový zápis ( ) U Mn 1 1 P n 1 (M2 1 (P 2(M1 1 (P 1A)))) Řešení soustavy Ax = b pak dostaneme vyřešením úlohy ( ) Ux = Mn 1 1 P n 1 (M2 1 (P 2(M1 1 (P 1b)))), kde U je horní trojúhelníková matice Uvědomme si, že matice M 1 n 1 P n 1 M 1 2 P 2M 1 1 P 1, která převede matici A na horní trojúhelníkový tvar není obecně dolní trojúhelníková Lze Gaussovu eliminaci s částečným výběrem pivota popsat jako LU rozklad? 26

Struktura matic P t Mk 1 P t, t > k Uvažujme M k a nechť k < t P t Mk 1 zamění příslušné řádky dolní trojúhelníkové matice Mk 1 a tím naruší její dolní trojúhelníkovou strukturu Vynásobení stejnou permutační maticí zprava (připomeňme, že t > k) zamění příslušné sloupce tak, že obnoví jednotkovou diagonálu Matice P t M 1 k P t, t > k má stejnou nenulovou strukturu jako M 1 k! Zápis prvního kroku P 2 M 1 1 P 1A = (P 2 M 1 1 P 2)P 2 P 1 A 27

Oddělení eliminačních a permutačních matic Analogickým postupem můžeme přepsat kde U = M 1 ( = M 1 n 1 n 1 P n 1M 1 M 1 n 2 n 2 P n 2 P 2 M1 1 P 1A ) 1 M 1 (P n 1 P n 2 P 2 P 1 ) A, M n 1 1 = Mn 1 1 M n 2 1 = P n 1 Mn 2 1 n 1 M 1 1 = (P n 1 P n 2 P 3 P 2 ) M1 1 (P 2 P 3 P n 2 P n 1 ) Matice A je nejprve permutována, poté eliminována Označme L 1 = 1 1 1 M n 1 M n 2 M 1, P = P n 1 P n 2 P 2 P 1 28

Zápis eliminace s částečnou pivotací jako LU rozklad Potom platí U = L 1 P A, neboli LU = P A je zápis eliminace s částečnou pivotací jako LU rozklad Z konstrukce daný rozklad vždy existuje; pro libovolnou regulární matici A je tedy matice P A silně regulární Matici P nelze určit apriori (předem), vzniká postupně při výběru jednotlivých pivotů Díky výběru pivota prvky L jsou 1 Věta Gaussovu eliminaci s částečnou pivotací lze reprezentovat pomocí vztahu P A = LU Jinak řečeno, na Gaussovu eliminaci s částečnou pivotací lze nahlížet jako na Gaussovu eliminaci bez pivotace aplikovanou na permutovanou matici P A 29

Citlivost Ax = b na změny vstupních dat Data A, b určující systém lineárních rovnic Ax = b jsou obvykle zatížena nepřesnostmi různého původu Prvky A lze např v některých případech interpretovat jako hodnoty spojené s popisem modelu a prvky pravé strany jako hodnoty spojené s pozorováním V měřených datech chyby je přirozené zkoumat vliv malých změn vstupních dat (malých perturbací dat) na řešení x Nechť b označuje malou změnu pravé strany a nechť x + x je řešením systému s perturbovanou pravou stranou A(x + x) = b + b Jak velikost b může ovlivnit velikost x? 31

Citlivost Ax = b na změny vstupních dat A(x + x) = b + b A x = b Normu x pak můžeme odhadnout následovně: x = A 1 b A 1 b Zároveň však z A x b plyne a dohromady dostáváme x x x b A, A 1 A b b = κ(a) b b Je-li pro danou úlohu číslo podmíněnosti malé, říkáme, že lineární systém je dobře podmíněný 32

Kvalita aproximace a norma rezidua Máme aproximaci ˆx přesného řešení x Jak blízko je spočtené řešení k řešení přesnému? Nabízí se spočíst reziduum b Aˆx a na základě jeho velikosti (normy) usuzovat na blízkost ˆx k řešení Malá norma rezidua ale nemusí automaticky implikovat malou vzdálenost mezi aproximací ˆx a řešením x Označíme-li reziduum r = b Aˆx, pak a x ˆx = A 1 (b Aˆx) = A 1 r A 1 r x ˆx x A 1 A r b = κ(a) r b Je-li κ(a) velké, nemusí relativní norma rezidua poskytovat dostatečně přesnou informaci o blízkosti aproximace ˆx k x 33

Numerická stabilita Gaussovy eliminace Výsledky Goldstine, von Neumanna, Wilkinsona a ostatních Goldstine, von Neumanna 1947: Pro inverzi X symetrické poz def matice A spočtenou Gaussovou eliminací platí AX I 142 n 2 ε κ(a), kde ε označuje strojovou přesnost Wilkinson a ostatní (1961-1971) Nechť L a Û jsou vypočtené faktory LU rozkladu matice A a nechť x je vypočtené řešení úlohy Ax = b s použitím LU rozkladu Pak x je přesným řešením úlohy (A + A) x = b, A 6 n ε L Û + O(ε2 ), A 6 n ε L Û + O(ε 2 ) 34

Gaussova eliminace s částečnou pivotací a zpětná stabilita Na GE s částečnou pivotací lze hledět jako na GE bez pivotace aplikovanou na matici P A - lze aplikovat předchozí větu Kdy je podíl A / A úměrný násobku ε? Částečná pivotace zajišťuje, že prvky matice L jsou vždy menší nebo rovny jedné, a proto je Vydělme nerovnost L n A 6 n ε L Û + O(ε 2 ) maximovou normou matice A o zpětné stabilitě rozhoduje velikost růstového faktoru Û A 35

Růstový faktor a zpětná stabilita Gaussovy eliminace s částečnou pivotací Výpočet pomocí Gaussovy eliminace s částečnou pivotací je zpětně stabilní, pokud příliš neroste velikost prvků ve spočtené matici Û v porovnání s velikostí prvků v původní matici A Říkáme, že Gaussova eliminace s částečnou pivotací je podmíněně zpětně stabilní Stabilita výpočtu pro konkrétní data závisí na velikosti růstového faktoru 36

Maximální velikost růstového faktoru v Gaussově eliminaci s částečnou pivotací Vyjdeme ze vztahu m i,k = a(k 1) i,k a (k 1) k,k Jelikož m i,k 1, platí a (k), a (k) i,j = a(k 1) i,j i,j a(k 1) i,j + a (k 1) k,j a prvky matice U splňují nerovnost 2 max a (k 1) i,j i,j 2 k 1 max a i,j i,j u ij 2 n 1 max a i,j i,j m i,k a (k 1) k,j 37

Maximální velikost růstového faktoru Příklad Maximální nárůst velikosti prvků U lze pozorovat při Gaussově eliminaci s částečnou pivotací např u matice (cvičení) 1 1 1 1 1 1 1 1 1 1 1 1 1 Při praktických výpočtech dochází k exponenciálnímu růstu velikosti prvků matice U zřídka Velikost růstového faktoru obecně nesouvisí s κ(a) 38

Škálování Téměř vždy, je-li to možné, se v rámci předzpracování dat provádí škálování matice Jde o násobení sloupců, resp řádků matice A vhodně zvolenými čísly Formálně: jsou-li D 1 a D 2 regulární diagonální matice, pak můžeme místo původní soustavy lineárních rovnic Ax = b řešit soustavu se škálovanou maticí, D 1 AD 2 y = D 1 b, x = D 2 y Jedním z důvodů škálování: normalizace naměřených dat Jiným důvodem: redukce čísla podmíněnosti Jednoduché škálování jakým je normalizace řádků či sloupců vede na číslo podmíněnosti, které je nejvýše n-násobkem minima (n je velikost matice) Škálování může ovlivnit výběr pivota, posloupnost prováděných operací a tím i stabilitu výpočtu 39

Choleského rozklad hermitovské pozitivně definitní matice Aplikujme Gaussovu eliminaci na hermitovskou pozitivně definitní (HPD) matici Pro HPD matice je Gaussova eliminace vždy proveditelná bez pivotace (HPD matice je silně regulární cvičení) Věta (důkaz skripta): LU rozklad HPD matice A lze zapsat jako součin dolní trojúhelníkové matice se svojí maticí hermitovsky sdruženou Choleského rozklad Pro každou HPD matici A existuje jednoznačný rozklad A = LL, kde L je dolní trojúhelníková matice s kladnými prvky na diagonále 41

Choleského rozklad - algoritmus input A (0) := A = [a i,j ] for k = 1 : n do l k,k := a (k 1) k,k for i = k + 1 : n do l i,k := a(k 1) i,k l k,k for j = k + 1 : i do end for end for end for a (k) i,j := a(k 1) i,j l i,k l j,k Pro řádky l T i matice L platí l T i l i = l i 2 = a i,i n L 2 F = a i,i = trace(a) i=1 V přesné aritmetice je velikost prvků matice L omezena a nemůže dojít k jejich růstu jak je tomu u LU rozkladu 42

Zpětná stabilita Choleského rozkladu Zpětná stabilita Choleského rozkladu Nechť L je vypočtený faktor Choleského rozkladu hermitovské pozitivně definitní matice A C n n na počítači se strojovou přesností ε a nechť je n 3/2 ε 1 Potom pro matici E takovou, že A + E = L L, platí ( ) 2 n 3/2 E F 1 2 n 3/2 ε A F + O(ε 2 ) ε Důkaz ve skriptech Z předchozího plyne, že Choleského rozklad je zpětně stabilní nezávisle na prvcích Choleského faktoru L Říkáme, že Choleského rozklad je bezpodmínečně zpětně stabilní 43

Iterační zpřesnění Gaussovy eliminace Nechť je dána soustava Ax = b Jak zpřesnit řešení soustavy lineárních rovnic? 1 V prvním kroku získáme Gaussovou eliminací s částečnou pivotací aproximaci řešení x 1 Ze znalostí x 1 jsme schopni spočíst reziduum r 1, platí r 1 = b Ax 1 = Ax Ax 1 = A(x x 1 ) = Ae (1), kde jsme e (1) x x 1 označili chybu řešení 2 V druhém kroku řešíme soustavu lineárních rovnic, ve které se snažíme určit chybu řešení e (1), Ae (1) = r 1 3 Ve třetím kroku použijeme aproximaci chyby ê (1) ke zpřesnění řešení, x 2 = x 1 + ê (1) 45

Iterační zpřesnění Gaussovy eliminace Celý proces daný kroky 1-3 můžeme opakovat Pokud bychom byli schopni spočíst e (1) přesně, potom by x 2 = x 1 + e (1) bylo přesné řešení soustavy Kroky však provádíme v aritmetice s konečnou přesností Nakolik je spočtené řešení x 2 bližší hledanému řešení x než spočtené řešení x 1? Na přesnost řešení lze přitom nahlížet ve smyslu přímé chyby (měřené pomocí x x 2 ) či ve smyslu zpětné chyby Dvě možnosti, které nám zajišťují zlepšení přesnosti řešení 46

Iterační zpřesnění Gaussovy eliminace Dvě možnosti Mixed precision iterative improvement Pokud má být spočtené řešení x 2 přesnější než řešení x 1 ve smyslu přímé chyby, je nutné provádět výpočet rezidua r 1 se zvýšenou přesností lze dosáhnout zpřesnění řešení na maximální počet platných cifer v dané standardní aritmetice Fixed precision iterative improvement K redukci zpětné chyby řešení na úroveň ε je postačují provádět všechny výpočty ve stejné aritmetice (Skeel 1980), x 2 přesné řešení (A + A)x 2 = b, A A ε + O(ε2 ) Běžně stačí provést jen několik iterací Jedna iterace zajistí zpětnou stabilitu výpočtu, tedy x 2 je již zpětně stabilní 47

Výpočetní náklady Gaussovy eliminace viz cvičení Operace celkem 1 3 n3 1 2 n2 + 1 6 n 1 3 n3 1 2 n2 + 1 6 n : 1 2 n2 1 2 n 2 3 n3 operací Tabulka: Přímý chod (v každém kroku dělíme číslem a j,j ) Operace celkem 1 2 n2 1 2 n 1 + 2 n2 3 1 n + 1 n 1 : 1 Tabulka: Zpětný chod n 2 operací 49

Gaussova eliminace pro velké řídké úlohy Velké řídké matice mnoho nulových prvků O řídké matici mluvíme, je-li výhodné použít speciální techniky uložení nebo výpočtu, které uvažují nulovost prvků matice Matici, která není řídká, budeme říkat hustá Z pohledu numerické stability je vhodné provádět Gaussovu eliminaci s částečnou pivotací Výběr pivotního prvku odpovídá permutaci řádků, v případě úplné pivotace i sloupců, matice Permutaci řádků a sloupců matice ovšem můžeme provádět i z jiného důvodu, než je výběr optimálního pivota 51

Zaplnění matice při Gaussově eliminaci Příklad Dána A s následující strukturou nenulových prvků A = Pomocí permutační matice P, lze matici A transformovat na matici B, B = P AP T, s následující strukturou 1 B =, P 1 52

Zaplnění matice při Gaussově eliminaci Příklad pokračování I Soustava rovnic Ax = b P T AP x = b By = b, kde x = P y Obě soustavy se liší pouze pořadím rovnic a pořadím hledaných neznámých Bude-li platit a 11 > a i1, i = 2,, n, a soustavu s maticí A budeme řešit eliminací s částečnou pivotací, dostaneme po prvním kroku obecně hustou submatici matice A (1), A (1) = 53

Zaplnění matice při Gaussově eliminaci Příklad pokračování II Počet nenulových prvků matice A (1) tak obecně vzroste oproti počtu nenulových prvků matice A z 3n 2 na n 2 n + 1 Bude-li např n 10 6 pak uložení nenulových prvků matice A zabere v paměti počítače, ve standardní dvojité přesnosti uložení (64 bitů na číslo) přibližně 23 megabytů Matice A (1) však zabere 7 450 gigabytů Pokud rovnice a neznámé nejprve přečíslujeme (permutujeme) tak, že dostaneme soustavu s maticí B, a nebudeme-li provádět žádný výběr pivotního prvku matice, bude nám v průběhu celého výpočtu stačit právě 8(3n 2) bytů 54

Řídkost, zaplnění, stabilita Příklad ukazuje jak lze využít řídkosti matic ke zmenšení velikosti potřebné paměti i ke zmenšení počtu prováděných operací Využití řídkosti je obzvláště u velkých matic velmi podstatné Obecně se snažíme nalézt permutační matice P, Q takové, aby v LU rozkladu matice B = P AQ T docházelo k co možná nejmenšímu zaplnění a výpočet byl zároveň rozumně stabilní Je zřejmé, že snaha zajistit numericky pokud možno stabilní výpočet pomocí vhodné pivotace může působit (a často také působí) proti snaze minimalizovat zaplnění, numerická stabilita zaplnění 55

Srovnání LU a QR rozkladu pro řešení soustav rovnic Srovnání z několika hledisek Stabilita U QR rozkladu pracujeme výhradně s unitárními transformacemi Např QR rozklad založený na Householderových reflexích výpočet je zpětně stabilní LU rozklad je jen podmíněně zpětně stabilní Výpočetní náklady Budeme-li uvažovat algoritmy pro husté matice, je k řešení soustavy užitím LU rozkladu potřeba řádově 2/3 n 3 aritmetických operací QR rozklad realizovaný Householderovými transformacemi potřebuje řádově 4/3 n 3 aritmetických operací, tedy dvakrát více Zaplnění Často rozhodující kritérium Chceme-li použít přímé metody pro řešení velkých řídkých soustav, téměř výhradně používáme metody vycházející z Gaussovy eliminace Při výpočtu QR rozkladu aplikovaného na velkou řídkou matici je totiž velmi obtížné udržet faktory Q a R řídké 57

Cvičení 41 Uvažujme eliminační matici M k C n n Ukažte, že M 1 k = I m k e T k 42 Nechť M 1,, M n 1 jsou eliminační matice Dokažte, že platí n 1 M 1 M 2 M 3 M n 1 = I + m i e T i 43 Nechť A C n n Sestrojte permutační matici P takovou, že zaměňuje i-tý a j-tý řádek matice A Ukažte, jak lze pomocí P zaměnit i-tý a j-tý sloupec matice A i=1 59

Cvičení 44 Použijte Gaussovu eliminaci s pivotací na matici 1 0 0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 Sledujte velikosti prvků ve vznikající horní trojúhelníkové matici U 45 Nechť A C n n je matice hermitovská pozitivně definitní Ukažte pomocí blokového rozdělení [ ] Ãk A A = 2,1, A 2,1 A 2,2 kde Ãk je hlavní submatice obsahující prvních k řádků a sloupců matice A, že A je silně regulární 60

Cvičení 46 Použijte standardních sčítacích vzorců n k = 1 2 n(n + 1) a n k 2 = 1 n(2n + 1)(n + 1) 6 k=1 k=1 k tomu, abyste ukázali, jaká je výpočetní náročnost přímého chodu Gaussovy eliminace a zpětného chodu Gaussovy eliminace 61