Výpisky z Numerické matematiky 1
Kontakt
Tomáš Oberhuber, T109
Organizace
Skripta od Humhala pokrývají jen část přednášky
Zkouška: vysvětlit dvě dané numerické metody, dokázat, že fungují (na E bez důkazů)
Cíl
Numerická matematika = „matematika na počítači“
Snaží se řešit složité matematické úlohy, které nemají analytické řešení
- soustavy lineárních rovnic
- spektrum matice
- nelineární rovnice
- interpolace funkcí (nahrazení polynomem)
- derivace a integrál
Hledáme pouze aproximaci, ne přesné řešení, také je dobré mít odhad chyby a umět ji udělat libovolně malou
Chceme se vyhnout chybám počítačové aritmetiky (přetečení, zaokrouhlování)
Matice
Definice. Matice je silně regulární, pokud všechny její hlavní podmatice jsou regulární.
Rozklady matic
Věta. Horní/dolní trojúhelníkové matice jsou uzavřené na sčítácí, násobení a inverzi.
Důkaz. Sčítání a násobení z definice, inverze pomocí adjungované matice.
Věta (LDR rozklad). Každá 
silně regulární matice 
 se dá jednoznačně zapsat ve tvaru 
, kde 
 je dolní trojúhelníková s jedničkami na diagonále, 
 je diagonální a 
 je horní trojúhelníková s jedničkami na diagonále.
Poznámka. Pokud sčupčíme , dostáváme LU rozklad.
Poznámka.  neobsahuje vlastní čísla původní matice!
 
Definice. Spektrální poloměr matice  je
Definice. Nechť  je vektor s euklidovskou normou . Householderova reflekční matice je matice ve tvaru
Věta. Householderova reflekční matice je hermitovská a unitární.
Věta. Když do Householderovy reflekční matice strčíme vektor, dostaneme jeho zrcadlový obraz podle nadroviny 
Věta. Je-li , potom 
Věta (Schurova). Libovolná matice 
 se dá zapsat ve tvaru 
, kde 
 je unitární matice a 
 je horní trojúhelníková matice.
Poznámka. Jelikož , jde o podobnostní transformaci, tedy .
Poznámka. Ke spočtení tohoto rozkladu je potřeba znát .
 
Věta. Normální trojúhelníková matice je 
diagonální.
Důsledek. Je-li  normální matice, potom  v Schurově rozkladu je diagonální. Pokud je  navíc hermitovská, potom  sestává z reálných čísel.
 
Posloupnosti, normy
Definice. Nechť  je pozitivně definitní matice. Potom definujeme energetickou vektorovou a maticovou normu:
Věta. 
Věta. 
 
Věta. Pro libovolnou maticovou normu platí .
Věta. Řada  konverguje právě tehdy, pokud . Jejím součtem je potom .
Věta. Pokud , potom
Numerické výpočty
Obecně úlohu zapisujeme ve tvaru , kde  je vstup a  je výstup.
Definice. Úloha je dobře položená alias stabilní, pokud má jednoznačné řešení  a pokud se mírně změní vstupní data, potom se řešení také změní jen málo.
Definice. Číslo podmíněnosti matice 
 je 
. Pokud je malé (řádově nejvýše 1000), řekneme, že matice je 
dobře podmíněná.
Poznámka.  je v určitém smyslu vzdálenost matice od nějaké singulární matice.
 
Věta. Nechť . Potom
Pokud je navíc maticová norma indukovaná vektorovou normou, potom pro nějaké nenulové  nastává rovnost.
Definice. Numerická metoda je stabilní, pokud při aplikaci na stabilní úlohu způsobí malá změna vstupu jen malou změnu výstupu.
Definice. Mějme iterační metodu.  nazýváme řád metody, pokud existuje odhad
LU rozklad
Při Gaussově eliminační metodě dostáváme , kde  je matice řádkových úprav a  je horní trojúhelníková. Také dostáváme , z čehož plyne . Tedy jakmile jednou spočteme LU rozklad, můžeme již v čase  vyřešit libovolnou pravou stranu (nejdřív spočtu  a potom ). Akorát nějak potřebujeme zjistit . Tu zjistíme jednoduše tak, že budeme provádět vopáčné elementární úpravy. Využijeme následující lemma:
Lemma. Pro  je součin
roven „sjednocení“ obou matic.
Z toho nám vyjde vztah . Tedy při algoritmu stačí nenulovat prvky pod diagonálou ani nepřepisovat prvky diagonály na jedničky a získáme zároveň  a  (kde  bude mít na diagonále pomyslné jedničky).
Jiný způsob, jak najít LU rozklad, je kompaktní schéma pro LU faktorizaci. Myšlenka je taková, že vztah  rozepíšeme z definice násobení matic do soustavy lineárních rovnic, které budeme schopni postupně vyřešit (s tím, že má být ). Tato metoda každý prvek matice přepisuje pouze jednou, což způšobuje větší přesnost než u Gaussova algoritmu, ale není možné vybírat pivota. Obecně se tento algoritmus dá vyjádřit vzorci:
Věta (Choleského rozklad). Je-li 
 pozitivně definitní hermitovká matice, dá se vyjádřit jako 
, kde 
 je horní trojúhelníková matice.
Důkaz. Ze Sylvesterova kritéria plyne, že hlavní subdeterminanty jsou kladné, tedy matice je silně regulární, tudíž má rozklad . Podle předpokladu má i druhý rozklad . Jelikož rozklad je jednoznačný, platí . Jelikož hlavní subdeterminanty  se rovnají hlavním subdeterminantům  (jde snadno dokázat rozepsáním na bloky),  má kladnou diagonálu a tedy můžeme psát . Z toho máme .
 
Modifikace Gaussovy eliminační metody
Pokud je matice  tridiagonální a silně regulární, můžeme použít Thomasův algoritmus. Povšimneme si, že při použití normálního algoritmu by většina úprav nic nedělala a vznikla by horní bidiagonální matice s jedničkovou diagonálou. Označíme-li  její horní diagonálu a  prvky upraveného , máme vztahy
Tridiagonální matice se v praxi vyskytují dost často, například při řešení diferenciálních rovnic, proto je Thomasův algoritmus užitečný.
Mějme soustavu rovnic v následujícím blokovém tvaru:
Budeme na ni provádět Gaussovu eliminační metodu, ale blokově, takže například místo dělení pivotem bude násobení inverzí. Vznikne z toho pěkný hnus, ale nic, co by se nedalo vymyslet. Konkrétně:
kde  je Schurův doplněk a .
Při zpětném chodu budeme mít:
To jde spočítat paralelně!
Takhle po blocích jdou dělat i jiné varianty Gaussovy eliminační metody, ale u téhle se to používá často.
Stacionární iterativní metody
Obecný předpis: , přičemž přesné řešení  by mělo být pevný bod pro libovolné .
Věta. Iterativní metoda konverguje z libovolného počátečního bodu ke svému pevnému bodu právě tehdy, pokud
Důkaz. 
Tím dostáváme jakýsi rekurentní vztah. Rozvinutím máme
což jsme chtěli dokázat.
 
Díky tomuto jsou iterativní metody samoopravující — i když ve výpočtu uděláme chybu, v dalších krocích se budeme opět přibližovat
Definice. Iterativní metoda je stacionární, pokud koeficienty  nezávisí na čísle kroku.
Důsledek. Stacionární iterativní metoda konverguje z libovolného počátečního bodu ke svému pevnému bodu právě tehdy, pokud
Důsledek. Stacionární iterativní metoda konverguje z libovolného počátečního bodu ke svému pevnému bodu právě tehdy, pokud .
Důsledek. Stacionární iterativní metoda konverguje z libovolného počátečního bodu ke svému pevnému bodu, pokud existuje taková norma, že .
Věta (aposteriorní odhad pomocí residua). Pro stacionární iterativní metodu k řešení soustavy lineárních rovnic platí následující odhad chyby:
kde maticová norma je souhlasná s vektorovou normou.
Důkaz. 
 
Věta (aposteriorní odhad pomocí změny). Pro 
jakoukoli stacionární iterativní metodu platí následující odhad chyby:
kde maticová norma je souhlasná s vektorovou normou.
Důkaz. Nejprve dokážeme, že  je regulární.
Rozepíšeme si matici  podle Schurovy věty jako .
Víme, že pokud  konverguje, potom , tedy  má na diagonále čísla absolutně menší než .
V takovém případě matice  je trojúhelníková s nenulovými prvky na diagonále, a tedy regulární, tudíž i  je regulární.
Nyní můžeme psát:
z čehož plyne tvrzení věty.
 
Věta (apriorní odhad). Pro stacionární iterativní metodu platí následující odhad chyby:
kde maticová norma je souhlasná s vektorovou normou.
Důkaz. Z důkazu předchozí věty máme:
Nyní si vyjádříme:
Použitím několika trojúhelníkových nerovností a sečtením řady dostaneme tvrzení věty.
 
Definice. Metoda postupných aproximací je metoda pro řešení soustavy lineárních rovnic založená na odečítání rezidua:
Důsledek. Metoda postupných aproximací konverguje z libovolného počátečního bodu ke svému pevnému bodu právě tehdy, pokud .
Důsledek. Metoda postupných aproximací konverguje z libovolného počátečního bodu ke svému pevnému bodu, pokud existuje taková norma, že .
Věta. Nechť 
 je polynom a 
 čtvercová matice. Potom
Důkaz. 
 
Věta. Je-li 
 hermitovská, potom metoda postupných aproximací konverguje právě tehdy, pokud 
.
Důkaz. 
 
To znamená, že matic, pro které konverguje, není moc. S tím nám pomůže předpodmíněni — vynásobíme obě strany rovnice vhodnou regulární maticí .
Věta. Je-li 
 hermitovská a pozitivně definitní, potom předpodmíněná metoda postupných aproximací konverguje právě tehdy, pokud 
, kde 
. V takovém případě je konvergence monotónní vzhledem k energetické normě 
.
Důkaz. 
Obecně pro libovolnou matici  platí, že  je hermitovská a pozitivně definitní (důkaz triviální). Takže stačí dokázat, že všechna vlastní čísla  jsou menší než .
Pokud platí předpoklad, matice v závorce je pozitivně definitní. Dá se dokázat, že pro libovolné matice  platí , z čehož plyne, že vlastní čísla původního výrazu jsou menší než . Tudíž energetická norma  je menší než  a metoda tedy konverguje. Dokazovat zbytek věty se Oberhuberovi nechtělo.
 
Dá se snadno ukázat, že by bylo hezké, kdyby  byla co nejblíž . Ovšem počítat inverzi samozřejmě nepřipadá v úvahu, takže se ji budeme snažit aproximovat. Dá se použít například takzvaný neúplný LU rozklad (ale v praxi se zrovna pro tohle tolik nepoužívá).
Definice. Nechť 
 je 
relaxační parametr. 
Richardsonovy iterace jsou iterační metoda pro řešení soustavy lineárnich rovnic daná předpisem
Poznámka. Jde o metodu postupných aproximací s předpodmíněním .
 
Důsledek. Je-li 
 hermitovská a pozitivně definitní, potom Richardsonova metoda konverguje právě tehdy, pokud 
.
Poznámka. Chceme tedy zvolit .
 
Jacobiho metoda: v každém kroku vezmeme -tou rovnici, vyjádříme z ní  a za ostatní dosadíme z předchozího kroku. Jak to vyjádřit formálně? Zapíšeme si , kde trojúhelníkové matice mají nuly na diagonále a provedeme jednoduché úpravy, z čehož vznikne vzorec
To je vlastně metoda postupných aproximací s podmíněním , kterému se zove Jacobiho podmínění.
Věta. Jacobiho metoda konverguje právě tehdy, pokud .
Definice. Matice s převládající diagonálou je matice, kde v každém řádku je absolutní hodnota diagonálního prvku ostře větší než součet absolutních hodnot ostatních prvků.
Věta. Je-li 
 matice s převládající diagonálou, potom Jacobiho metoda konverguje.
Důkaz. Dokážeme, že . Vyjádříme si, jak vypadá :
 
Věta. Je-li 
 hermitovská a pozitivně definitní, potom Jacobiho metoda konverguje právě tehdy, pokud 
. V takovém případě je konvergence monotónní vzhledem k energetické normě 
.
Důkaz. Použijeme obecnou větu o konvergenci předpodmíněných metod, kde . Jelikož  je hermitovská, máme .
 
Jacobiho metodu můžeme vylepšit tím, že při výpočtu budeme rovnou používat již napočítané složky, čímž získáme Gaussovu-Seidelovu metodu. Jde o metodu postupných aproximací s předpodmíněním .
Věta. Je-li 
 matice s převládající diagonálou, potom Gaussova-Seidelova metoda konverguje.
Důkaz. 
Nechť  je vektor, pro který je dosaženo maxima, a , tedy . Nechť  je index absolutně nejvyšší složky , tedy . Podle definice  máme , neboli . To je nějaká soustava rovnic, podíváme se na její -tou složku. Všimněme si, že ji umíme vyjádřit pomocí matice :
Z toho vyjárďíme  a dáme ho do absolutní hodnoty:
 
Věta. Je-li 
 hermitovská a pozitivně definitní, potom Gaussova-Seidelova metoda konverguje 
vždy. V takovém případě je konvergence monotónní vzhledem k energetické normě 
.
Důkaz. Použijeme obecnou větu o konvergenci předpodmíněných metod, kde . Z hermitovskosti  máme . Tudíž máme:
Jelikož  je pozitivně definitní, máme 
 
Poznámka. Gaussova-Seidelova metoda je obecně lepší než Jacobiho metoda, ale není jednoznačně lepší.
Pokud ke Gaussově-Seidelově metodě přidáme relaxační parametr, dostaneme super-relaxační metodu. Ta je vhodná pro lineární soustavy pocházející z metody konečných diferencí pro řešení parabolických nebo eliptických parciálních diferenciálních rovnic. Abychom pro ni dostali předpis, musíme vztah pro Gaussovu-Seidelovu metodu vyjádřit jako . Poté zavedeme relaxační parametr  a položíme . Je to metoda postupných aproximací s podmíněním .
Věta. Pro super-relaxační metodu platí 
, tedy metoda nikdy nekonverguje pro 
.
Důkaz. Využijeme toho, že determinant matice se rovná součinu vlastních čísel (dá se dokázat pomocí Jordanova tvaru). Matice  se dá vyjádřít ve tvaru:
Obě matice, jejichž determinant počítáme, jsou trojúhelníkové, takže stačí vynásobit prvky na diagonále. Máme:
Aby se součin nějakých čísel mohl rovnat něčemu, tak alespoň jedno musí být absolutně větší nebo rovné.
 
Věta. Je-li 
 matice s převládající diagonálou, potom super-relaxační metoda konverguje pro libovolné 
.
Důkaz. Neznámý.
 
Věta. Je-li 
 hermitovská a pozitivně definitní, potom pro 
 super-relaxační metoda konverguje. V takovém případě je konvergence monotónní vzhledem k energetické normě 
.
Důkaz. Opět použijeme svou oblíbenou větu, kde máme .
Chceme tedy, aby bylo , což je splněno pro .
 
Budeme pro tzv. dvoucyklické shodně uspořádané matice (ty se často vyskytují při řešení diferenciálních rovnic) zkoumat optimální hodnotu .
Definice. Čtvercová matice  je slabě cyklická s indexem 2, pokud existuje taková permutace , že
Definice. Matice  se nazývá dvoucyklická, pokud její Jacobiho matice  je slabě cyklická s indexem 2. Dvoucyklická matice je shodně uspořádaná, pokud vlastní číslo matice  je stejné pro všechna .
Věta. Nechť  je dvoucyklická shodně uspořádaná matice,  a  je vlastní číslo matice  ze super-relaxační metody. Nechť pro nějaké  platí . Potom  je vlastní číslo matice  z Jacobiho metody, a vopáčně. Navíc  je nejmenší, a super-relaxační metoda tedy konverguje nejrychleji, pro
Tohle je ale spíš teoretický výsledek, protože je většinou rychlejší dát si pár iterací navíc než počítat nějaký spektrální poloměr. Často se dělá to, že se parametrem  pohybuje a hledá se, pro jakou hodnotu to konverguje nejrychleji. Ukazuje se, že se vyplatí ho hledat přesně (až na dvě desetinná místa).
Vlastní čísla
Věta. Mějme polynom 
. Nalezení jeho kořenů je ekvivalentní nalezení vlastních čísel 
Frobeniovy matice:
Důsledek. Obecně není možné přesně spočítat spektrum matice velikosti větší než 4. Spektra tedy budeme počítat pouze iterativně.
 
Věta (aposteriorní odhad chyby). Nechť 
 je hermitovská matice a 
 jsou aproximace vlastního čísla a vektoru. Nechť 
 je residuum. Potom máme odhad
Důkaz. Jelikož  je hermitovská, její vlastní vektory  jsou ortonormální. Najdeme si souřadnice  v jejich bázi:
 
Mocninná metoda
Mocninná metoda řeší částečný problém vlastních čísel — nenajde všechny, ale jen to absolutně největší, což je často jediné, co nás zajímá.
Základní myšlenka je taková, že vezmeme nějaký vektor , budeme počítat posloupnost  (Krylovovu posloupnost) a sledovat, jak rychle roste. Je potřeba ho zvolit tak, aby měl nenulový průmět ve směru největšího vlastního vektoru. Pokud vektor v každém kroku posloupnosti znormalizuujeme (nejčastěji maximovou normou), aby posloupnost neutekla do nekonečna, dostáváme právě mocninnou metodu. Za vhodných podmínek potom bude konvergovat k vlastnímu vektoru a jeho největší složka  k největšímu vlastnímu číslu. Pokud ovšem počáteční vektor zvolíme blbě, můžeme dostat jiné vlastní číslo.
Věta. Nechť matice 
 má jedno absolutně největší číslo 
 se stejnou algebraickou i geometrickou násobností 
. Nechť její Jordanův tvar je 
, kde 
 začíná 
 řádky s 
. Potom pro libovolný počáteční odhad 
 takový, že 
, mocninná metoda najde vlastní číslo 
 jako limitu 
 a nějaký příslušný vlastní vektor jako limitu 
.
Poznámka. Pokud jsou absolutně největší vlastní čísla dvě (s opačným znaménkem) , konverguje k  posloupnost  a k vlastnímu vektoru příslušejícímu k  posloupnost .
Důkaz. Pro zjednodušení nebudeme vektor dělit maximem, ale první složkou. Předpis algoritmu tedy bude:
Přeškálovaná Jordanova matice bude vypadat takto:
kde každý blok má zřejmě spektrální poloměr menší než , tudiž jeho mocnina bude konvergovat k nulové matici. Ve zlomku se tak všechno pokrátí a máme . Když podobným způsobem upravíme výraz pro , zjistíme, že konverguje k nějakému . Zlimitíme-li nyní předpis, dostáváme
tedy jde o vlastní vektor.
 
Rychlost konvergence závisí na poměru hledaného vlastního čísla a ostatních vlastních čísel. Metodu můžeme urychlit tím, že spektrum vhodně posuneme (od  odečteme nějaké ).
Pokud chceme navopák najít nejmenší vlastní číslo, stačí použít metodu na matici . Tu ale nechceme počítat, takže místo toho budeme vždy řešit soustavu  nějakou iterativní metodou. To půjde rychle, protože pro malá  nám stačí malá přesnost a pro velká  se vektor mění málo, takže máme dobrý počáteční odhad.
Pokud chceme vlastních čísel najít víc, můžeme použít redukční metodu, která z matice „odstraní“ jedno vlastní číslo. K výpočtu kompletního spektra se ale nehodí, protože způsobuje ztrátu přesnosti. Nechť má matice vlastní vektor . Pomocí matice přechodu  ji převedeme do báze :
Matice  bude mít stejná vlastní čísla jako , ale bez , takže můžeme mocninnou metodou najít nějaké další vlastní číslo  s vlastním vektorem . Ale jak příslušný vlastní vektor převedeme na vlastní vektor ? Nejprve mu dopočteme první složku
Pokud , vlastní číslo je vícenásobné, takže  můžu volit libovolně. Ze  dopočtu vlastní vektor  matice  jako .
Trojúhelníková metoda, LR algoritmus
Co když chceme najít všechna vlastní čísla? Myšlenka trojúhelníkové metody je taková, že použijeme mocninnou metodu na více vektorů, ale budeme zajišťovat, aby zůstaly lineárně nezávislé. Budeme konstruovat posloupnosti dolních a horních trojúhelníkových matic.  zvolíme libovolně a následně budeme brát . Pokud tyto posloupnosti konvergují, pak platí , tedy matice  je podobná matici  a na její diagonále najdeme vlastní čísla. Vlastní vektory  potom najdeme řešením soustavy , ty potom přenásobíme  a dostaneme vlastní vektory .
 ani nemusí být dolní trojúhelníková, ale  musí být silně regulární, abychom mohli provést LU rozklad. Jelikož můžeme začít z prakticky libovolné matice, metoda má samoopravující schopnosti. Zároveň potřebujeme, aby  bylo silně regulární pro každé .
Věta. Je-li 
 silně regulární, potom všechny matice na nějakém okolí jsou silně regulární.
Důkaz. Vzorec pro LU rozklad je spojitý, takže pro každou matici na nějakém okolí také existuje.
 
Věta. Nechť 
. Potom 
.
Důkaz. Opět plyne ze spojitosti.
 
Lemma. Mějme matice z trojúhelníkové metody. Existuje-li LU rozklad 
, potom platí
Důkaz. 
 
Věta (kritérium konvergence trojúhelníkové metody). Nechť je matice 
 regulární a má všechna vlastní čísla jednonásobná a absolutně různá. Nechť existují LU rozklady matic 
, 
 a 
 od nějakého 
. Potom posloupnosti 
 konvergují a na diagonále 
 je spektrum matice 
 seřazené podle absolutní hodnoty.
Důkaz. 
Nechť .
Bez újmy na obecnosti můžeme předpokládat, že v  jsou vlastní čísla seřázena absolutně sestupně, takže . Tedy nediagonální část této matice konverguje k nule a můžeme psát .
LU rozklad můžeme provést, protože matice konverguje k identitě, z čehož zároveň víme, že také . Podařilo se nám tedy rozepsat  v LU tvaru a podle předchozího lemmatu víme, že levá část se rovná , tudíž .
Nyní můžeme zlimitit iterační předpis a dostáváme
což je součin horních trojúhelníkových matic, takže diagonála se rovná součinu diagonál. Tento součin je zjevně roven diagonále , kde jsou vlastní čísla seřazená podle absolutní hodnoty, což mělo být dokázáno.
 
Pak je tu ještě LR algoritmus, který spočívá jednoduše v tom, že matici opakovaně rozložíme do LU rozkladu  a pak ho vynásobíme ve vopáčném pořadí: .
Věta. Všechny členy posloupnosti 
 jsou si podobné.
Důkaz. 
 
LR algoritmus má menší nárok na paměť — stačí si pamatovat dvě matice a ne tři; nemusíme si pamatovat matici . Ovšem tím, že si ji nepamatujeme, ztrácíme samoopravovací vlastnost metody. Algoritmus je obecně numericky nestabilní, proto se moc nepoužívá.
Věta. Existuje-li LU rozklad 
, potom
Důsledek. Pokud v trojúhelníkové metodě zvolíme , potom
 
Důsledek. Pokud konverguje trojúhelníková metoda začínající v jednotkové matici, potom LR algoritmus konverguje k horní trojúhelníkové matici.
Důkaz. 
 
Obě tyto metody jsou náročné, protože každá iterace má složitost  (kvůli výpočtu LU rozkladu). Také jsou poněkud numericky nestabilní, ale jsou dobrým teoretickým podkladem pro QR algoritmus, který už je lepší.
QR rozklad
Věta. Nechť 
 je regulární matice. Potom existuje rozklad 
, kde 
 je unitární a 
 je horní trojúhelníková s kladnou diagonálou.
Důkaz (jednoznačnosti). Nechť . Z toho dostaneme:
Z toho plyne, že obě matice na levé straně jsou horní trojúhleníkové. Jelikož jsou vzájemně transponované, musí být diagonální, tedy . Dále máme:
Tedy diagonála  obsahuje jen . Jelikož , a obě  mají kladnou diagonálu, musí být , tedy rozklady se rovnají.
 
QR rozklad pomocí Gram-Schmidtova ortogonalizačního procesu
Již známe z prváku:
Když z těchto vzorců vyjádříme  pomocí , dostaneme , kde  se skládá z ortonormálníčh vektorů a  je horní trojůhelníková s kladnou diagonálou. Tedy Gram-Schmidt je algoritmus na výpočet QR rozkladu!
Ve skutečnosti se pro zvýšení stability používá mírná modifikace, kde při výpočtu  nepočítáme skalární součin s , ale s již napočtenou verzí , což samozřejmě v teorii neovlivní výsledek. I tak je ale dost nestabilní, takže se spíš používá v metodách pro řešení soustav rovnic. Každopádně má složitost , takže jsme si zatím moc nepomohli.
QR rozklad pomocí Householderových reflexí
Householderova reflexe nám dává způsob, jak pomocí unitární transformace zobrazit vektor na libovolný jiný vektor se stejnou normou. Takže speciálně pokud si zvolíme správný násobek jednotkového vektoru, můžeme ji použít k tomu, abychom všechny složky kromě jedné vynulovali. Akorát si musíme dávat pozor na numerickou stabilitu — nechceme, aby vektory byly příliš blízko, protože bychom potom dělili malým číslem, takže pokud příslušná složka vektoru bude kladná, budeme ho reflektovat do mínus jednotkového vektoru. Pokud chceme zachovat více složek, tak si Householderovu matici trochu upravíme, aby pár prvních složek ignorovala.
Tohle můžeme podobným způsobem jako u Gaussovy eliminační metody využít k převodu matice do trojůhelníkového tvaru. Nejdřív vynulujeme v prvním sloupci všechno kromě prvního prvku (ten bude nahrazen nějakým kladným číslem). Potom už první řádek necháme na pokoji a pomocí druhého řádku vynulujeme ve druhém sloupci další řádky. A tak dále.
Součinem všech Householderových matic, které jsme použili, dostaneme . Ovšem kdybychom ten součin počítali jen tak, vyšla by z toho složitost . Naštěstí to můžeme spočítat efektivněji tak, že si je rozepíšeme z definice a budeme je na sebe navzájem aplikovat:
QR rozklad pomocí Givensových rotací
Uděláme přesně to samé — budeme unitárně transformovat vektor do násobku jednotkoveho vektoru a tím nulovat složky — ale místo reflexe využijeme rotaci.
Definice. Givensova rotace je matice ve tvaru
Jde tedy o unitární transformaci, která dokáže -tou složku vektoru nastavit na nulu, -tou na  a ty zbylé nechat. Takže přináší „jemnější“ způsob, jak dosáhnout toho samého. Inverzi Givensovy rotace získám jednoduše výměnou  a , tedy transpozicí.
Podobně jako předtím: Givensovy rotace nebudeme násobit jako idioti, ale využijeme toho, že se liší jen o pár složek od jednotkových matic. Složitost je potom opět .
QR algoritmus
Funguje úplně stejně jako LR algoritmus, akorát místo LU rozkladu počítáme QR rozklad. Posloupnosti se tentokrát budou jmenovat ,  a .
Věta. Všechny členy posloupnosti 
 jsou si 
ortogonálně podobné.
Důkaz. 
 
Pokud bude konvergovat  a , dostáváme Schurův rozklad: . Z diagonált  opět vyčteme spektrum .
Lemma. Existuje-li QR rozklad 
, potom
Důkaz. Analogicky jako u LR algoritmu.
 
Věta. Pokud má matice 
 absolutně různá vlastní čísla, potom posloupnost 
 konverguje k horní trojúhelníkové matici s vlastními čísly seřazenými podle absolutní hodnoty na diagonále. Navíc je-li 
 symetrická, potom limitní matice je diagonální.
Důkaz. 
Nechť .
Analogicky jako u LR algoritmu je .
QR rozklad můžeme provést, protože matice konverguje k identitě, z čehož zároveň víme, že také . Podařilo se nám tedy rozepsat  v QR tvaru a podle předchozího lemmatu víme, že levá část se rovná , tudíž .
Máme
což je součin horních trojúhelníkových matic, takže diagonála se rovná součinu diagonál. Tento součin je zjevně roven diagonále , kde jsou vlastní čísla seřazená podle absolutní hodnoty. Navíc je-li  symetrická, platí
a jelikož  je trojúhelníková, musí být diagonální.
 
Zatím to vypadá, že QR algoritmus má stejně jako LR algoritmus složitost . Ale pomocí Hessenbergových QR iterací se dá zredukovat na .
Definice. Matice je v Hessenbergově tvaru, pokud je horní trojúhelníková s tím, že může mít také nenulové prvky na spodní diagonále.
Do Hessenbergova tvaru lze libovolnou matici převést podobnostní transformací přímým algoritmem se složitostí . Použijeme Housholderovy reflexe podobně jako pro výpočet QR rozkladu, ale s tím, že první řádek budeme už od začátku nechávat na pokoji. To nám zajistí, že když matici poté vynásobíme tou samou reflexí i zprava, abychom dostali podobnou matici, nerozbijeme si tím vytvořené nuly.
Vylepšený QR algoritmus bude fungovat tak, že  nejprve převedeme do Hessenbergova tvaru. To je sice , ale aspoň to budeme provádět jen jednou a ne při každé iteraci. Posloupnost  tentokrát budeme značit . Nyní když chceme spočítat QR rozklad, tak nám stačí eliminovat prvky na spodní diagonále, a na to stačí  Givensových rotací! Ještě se potřebujeme ujistit, že po provedení zbytku kroku opět vznikne matice v Hessenbergově tvaru.
Věta. Součin 
 je opět matice v Hessenbergově tvaru.
Důkaz. Givensovy rotace, které používáme, vždy mění pouze dva po sobě jdoucí řádky, takže to takhle vyjde.
 
Nelineární rovnice
Začneme s funkcí jedné reálné proměnné. Nejprve musíme separovat kořeny — najít takové intervaly, aby v každém byl pouze jeden kořen. Metody totiž nemusí konvergovat, když máme kořenů víc. Na separaci není obecně žádná metoda, musí se to udělat pro konkrétní problém.
Nejjednodušší je bisekce — poněkud pomalá, ale velmi robustní. Odhad chyby můžeme provádět přímo pomocí residua . Pokud ale funkce u kořene roste/klesá hodně pomalu, může tím vzniknout zbytečně špatná aproximace. Místo toho tedy můžeme použít odhad . Bisekce samozřejmě může naprosto selhat, pokud je funkce nespojitá.
Mějme nějaký odhad . Využitím Lagrangeovy věty o přírůstku dostáváme pro kořen:
Tohoto můžeme využít k vytvoření iterativní metody, ovšem musíme umět nějak odhadnout .
Věta. Nechť 
. Nechť platí 
, 
 je diferencovatelná na 
 a 
. Potom posloupnost 
 konverguje k 
 pro 
.
Poznámka. Pokud je  spojitá v , potom je podmínka splněna, pokud .
Důkaz. Použijeme větu o přírůstku funkce:
Tedy , z čehož plyne konvergence.
 
Definice. Iterativní metoda daná vztahem  má řád konvergence , pokud pro nějakou konstantu  platí .
Věta. Nechť 
 a 
. Potom
Důkaz. Plyne přímo z Lagrangeova zbytku Taylorova rozvoje.
 
Metoda regula falsi funguje podobně jako bisekce, ale místo sekání napůl budeme sekat tam, kde se protíná úsečka mezi body s osou . Abychom to vyjádřili v obecném tvaru, máme
kde  je druhý bod.
Věta. Nechť 
 a 
. Potom existuje takové 
, že metoda regula falsi konverguje na 
 rychlostí prvního řádu.
Důkaz. Nechť . Použijeme dvakrát větu o přírůstku funkce:
Jelikož , pro  dostatečně blízké  existuje takové , že , tedy
Jelikož derivace je spojitá, tento součin dokážeme udělat libovolně malý.
 
Pokud v metodě regula falsi pošleme , dostáváme Newtonovu metodu:
Věta. Nechť 
 a 
. Potom existuje takové 
, že Newtonova metoda konverguje na 
 rychlostí prvního řádu.
Důkaz. Analogicky jako u metody regula falsi, akorát si ušetříme jedno použití věty o přírůstku funkce.
 
Věta. Nechť 
 a 
. Potom existuje takové 
, že Newtonova metoda konverguje na 
 rychlostí 
druhého řádu.
Důkaz. Z důkazu předchozí véty máme
Použijeme znovu větu o přírůstku funkce:
 
Obecně Newtonova metoda konverguje rychleji, ale vyžaduje přesnější odhad. Dá se udělat to, že pár kroků uděláme bisekcí nebo regula falsi a následně použijeme Newtonovu metodu.
Pomocí Čebyšenovy metody se dají odvodit podobné metody vyššího řádu, ale vyžadují ještě přesnější odhad a v praxi se moc nepoužívají.
Tyto metody často nekonvergují kvůli tomu, že dělají příliš velký krok. To se dá vylepšit tím, že se v každém kroku nejdřív podíváme, kam bychom skočili, a pokud by se tím residuum zvýšilo, tak zmenšíme skok (například na polovinu) a zkusíme znovu. Tomu se potom říká globálně konvergující metoda, protože pro každý počáteční odhad buď konverguje (i když hodně pomalu), nebo selže.
Nyní se podívejme na soustavy nelineárních rovnic. Ukazuje se, že stačí trochu zobecnit Newtonovu metodu:
neboli v praktičtějším tvaru:
Opět stačí při řešení lineární soustavy provést jen pár kroků iterativní metody, protože pro malá  nám stačí malá přesnost a pro velká  máme dobrý odhad.
Věta (o přírůstku funkce). Nechť 
, kde 
 je konvexní oblast. Potom
Důkaz. Viz skripta z ANA3. Vezmeme úsečku mezi body a aplikujeme na ni normální větu o přírůstku.
 
Věta. Nechť 
 a 
 je regulární. Potom existuje takové 
, že zobecněná Newtonova metoda konverguje na 
 rychlostí prvního řádu.
Důkaz. 
kde značíme
Chceme opět dokázat, že první normu můžeme omezit nějakou konstantou menší než .
Oba rozdíly v zázvorkách dokážeme udělat libovolně malé, takže celé tuto dokážeme udělat libovolně nulové.
 
Lagrangeův polynom — konstrukce
Máme nějakou funkci a chceme ji aproximovat polynomem. Mohli bychom zkusit Taylora, ale ten potřebuje znát hodně derivací, což často nemáme k dispozici. Místo toho použijeme Lagrangeův polynom, který naopak vyžaduje hodnotu funkce ve více bodech. Dejme tomu, že známe funkční hodnoty v bodech  a chceme na ně napasovat polynom . Poté prostě řešíme soustavu
kde  je Vandermondova matice.
Věta. Vandermondova matice je regulární.
Důkaz. Pro zjednodušení budu číslovat permutace od nuly.
Všimněme si, že jde o polynom více proměnných, kde každý člen je stupně . Kdybychom všechny proměnné kromě  zafixovali, dostali bychom polynom jedné proměnné. Jelikož pro  je determinant nulový, tento polynom má kořeny  pro všechna . Celkově tedy všechny výrazy ve tvaru  dělí determinant.
Jelikož těchto výrazů je až na pořadí , determinant se musí rovnat jejich součinu krát nějaká konstanta, tudíž žádné jiné kořeny mít nemůže.
Důsledek. Existuje právě jeden interpolační polynom.
 
Pokud budou body  příliš blízko k sobě, Vandermondova matice může být špatně podmíněná. Naštěstí existují i jiné způsoby, jak Lagrangeův polynom spočítat.
Lagrangeův tvar: Definujeme polynomy
Zřejmě . Pomocí nich můžeme vyjádřit interpolační polynom jako
Tato konstrukce je však poněkud výpočetně náročná — při každé změně nějakého  musíme celý polynom přepočítávat.
Lepší je v tomto Newtonova formule. Budeme postupovat indukcí. Víme, že existuje právě jeden polynom stupně , který souhlasí v  bodech. Pomocí něj najdeme polynom stupně , který souhlasí ve všech  bodech. Budeme ho hledat ve tvaru:
Snadno si vyjádříme:
Jednodušší způsob, jak to spočítat, jsou poměrné diference. Když si to rozepíšeme nerekurzivně, máme
Z toho dostaneme lineární soustavu
Vidíme, že  závisí jen na , což se z nějakého důvodu zapisuje jako . Těmto hodnotám se říká poměrné diference.
Věta. 
Důkaz. Pro zjednodušení budeme počítat . Víme, že existuje právě jeden polynom
a polynom
a také
kde každý se v příslušných bodech rovná hodnotě . Zkusíme vyjádřit ten první pomocí těch dalších dvou. Tedy máme dva polynomy, které se rovnají funkci v  bodech, a chceme, aby se rovnaly v  bodech.
Víme, že v bodech  se polynomy  rovnají. Použijeme nějakou jejich afinní kombinaci:
Tato kombinace bude ještě navíc záviset na . V bodě  se zjevně hodí mít  a v bodě  . Abychom dostali něco hezkého, definujeme tedy
Jelikož to je polynom stupně , máme nový polynom stupně :
To se podle jednoznačnosti musí po koeficientech rovnat , čímž je důkaz hotov.
 
Takhle si tedy můžeme napočítat postupně všechny poměrné diference se složitostí , přičemž poté využijeme jenom ty, které začínají na .
Lagrangeův polynom — analýza
Takže už umíme efektivně najít Lagrangeův polynom, ale jak zjistíme, jestli je dobrou aproximací?
Věta. Nechť 
 je nejmenší interval takový, že 
 a 
 má na něm derivaci řádu 
. Nechť 
 je její Lagrangeův polynom. Definujme
Potom existuje takové 
, že
Důkaz. Definujme pomocnou funkci
Tedy má  kořenů. Zřejmě . Podle Rolleovy věty má funkce na každém intervalu mezi body nulovou derivaci, takže její derivace má  kořenů. Pokud ji budeme derivovat dál, dostaneme se k tomu, že derivace řádu  má jeden kořen  na intervalu . Nyní si tuto derivaci spočteme:
Pokud dosadíme , dostáváme tvrzení věty.
 
Všimněme si, že  mimo interval  roste hodně rychle, takže Lagrangeův polynom se nehodí pro extrapolaci, pouze pro interpolaci.
Také vidíme, že k výpočtu nepotřebujeme znát žádné derivace, ale aby šlo o dobrou aproximaci, musí . derivace existovat a být nízká.
Věta. 
Důkaz. Stačí použít Newtonovu formuli s tím, že chceme jakoby zkonstruovat polynom  s .
Důsledek. 
 
Důsledek. Lagrangeův polynom se dá zapsat ve tvaru
což je velmi podobné Taylorovu rozvoji.
Definice. Mějme  a funkce . Řekneme, že  aproximuje  na  s přesností řádu , pokud
Pro Lagrangeův polynom máme
Tedy Lagrangeův polynom na okolí bodů  aproximuje funkci s přesností prvního řádu. Toto nezávisí na volbě  a obecně neplatí, že by nám více bodů dávalo lepší aproximaci! Pomůže nám to, pokud všechny vyšší derivace jsou blízké nule, ale jinak dochází k Rungovu jevu.
Tento problém řeší interpolace po částech. Rozkrájíme interval, na kterém chceme funkci aproximovat, a v každém kousku si vytvoříme jiný Lagrangeův polynom. Speciálně pokud na každém intervalu použijeme pouze jeho krajní body, dostaneme aproximaci lomenou čarou. Nevýhoda je, že nemůžeme zajistit, aby výsledná aproximace byla diferencovatelná. To řeší Hermitův polynom, což je v určitém smyslu kombinace Taylora a Lagrange, ale opět k němu potřebujeme znát derivace .
Lagrangeův polynom se dá zobecnit do více dimenzí. Nejsnadněji se zkonstruuje, pokud známe hodnoty bodů na nějaké mřížce, například v  budeme znát .
Aproximace derivace
Hodí se pro výpočet Newtonovy metody a pro řešení diferenciálních rovnic.
Máme diferencovatelnou funkci , kterou známe jen v konečném počtu bodů , a chceme zjisit její derivaci.
Již víme, že . Pokud všechny tyhle věci nějak vyjádříme, můžeme vztah zderivovat. Zderivujme si bazické polynomy:
Ale prakticky je lepší derivovat konkrétní polynom.
Bohužel nevíme, jak přesně závisí  na . Budeme předpokládat, že je aspoň diferencovatelné.
Z toho vidíme, že  musí mít derivaci řádu , což není úplně příjemné. Zkusme si obecně zderivovat :
Z tohohle výrazu je naprosto evidentní, že derivace  nemusí být obecně nulová, takže výsledek nebude přesný. Což netuším, proč by někdo očekával. Co kdybychom zkusili přibližovat body k sobě, abychom napodobili limitu v definici derivace? Zvolíme nějaké  a budeme brát bydy . Nechť . Zkonstruujeme Lagrangeův polynom. Pokud vezmeme , můžeme ho vyjádřit jako
Pokud vyjádříme předchozí výraz pro  v závislosti na , dostaneme
To pro  jde k nule! Tedy čím menší zvolíme , tím lepší máme aproximaci, konkrétně s řádem .
Pro aproximaci derivace v některém z uzlů  se používají konečné diference.
Věta. Nechť 
. Potom
tedy 
dopředná konečná diference aproximuje derivaci s přesností prvního řádu.
Důkaz. 
Poznámka. Analogicky můžeme udělat zpětnou konečnou diferenci s uzly .
 
Věta. Nechť 
. Potom
tedy 
centrální konečná diference aproximuje derivaci s přesností druhého řádu.
Důkaz. 
 
Vidíme, že pomocí Lagrange se to dokazuje pěkně blbě a navíc je potřeba dost vysoká trída diferencovatelnosti. Co takhle použít Taylora?
Věta. Nechť 
. Potom
tedy 
dopředná konečná diference aproximuje derivaci s přesností prvního řádu.
Důkaz. 
Poznámka. Analogicky můžeme udělat zpětnou konečnou diferenci s uzly .
 
Věta. Nechť 
. Potom
tedy 
centrální konečná diference aproximuje derivaci s přesností druhého řádu.
Důkaz. 
a tak dále.
 
Věta. Nechť 
. Potom
tedy jiná centrální konečná diference aproximuje druhou derivaci s přesností prvního řádu.
Důkaz. Opět vyjádříme  pomocí Taylora druhého stupně, ale tentokrát je sečteme.
 
Věta. Nechť 
. Potom
tedy jiná centrální konečná diference aproximuje druhou derivaci s přesností 
druhého řádu.
Důkaz. V důkazu předchozí věty dostáváme
Použijeme větu o přírůstku funkce:
Jelikož , můžeme z odhadu vysáknout další .
Důkaz (jiný). Použijeme Taylorovy rozvoje třetího stupně a sečteme je.
 
Věta. Nechť 
. Potom pro libovolné 
 existuje konečná diference pro aproximaci 
-té derivace s přesností řádu 
.
Důkaz. Rozepíšeme si Taylorův rozvoj do řádu :
Když do něj postupně dosadíme body , dostáváme  rovnic tvaru
Tyto rovnice lineárně nakombinujeme tak, aby -tá derivace zůstala právě jednou a ostatní kromě nulté a  vypadly:
To potom vydělíme  a máme návod pro spočtení -té derivace s chybou .
 
Numerický výpočet integrálu
Mějme reálnou integrabilní funkci . Chceme aproximovat . To uděláme tak, že ji aproximujeme nějakou funkcí, kterou umíme zintegrovat.
Mějme body , kde . Můžeme mít buď uzavřené formule, kde , nebo otevřené formule, kde .
Co takhle Lagrangeův polynom? Z toho dostaneme takzvané Newtonovy-Cotesovy formule. Ale ty se prý na přednášce nestihly, takže je přeskočíme.
Věta. Nechť 
. Potom 
obdélníková formule
je aproximace s přesností třetího řádu.
Důkaz. 
 
Věta. Nechť 
. Potom 
lichoběžníková formule
je aproximace s přesností třetího řádu.
Důkaz. 
 
Vidíme, že přidáním bodu navíc jsme si vůbec nepomohli, akorát jsme si zkomplikovali důkaz. Obecně se dá ukázat, že formule se sudým počtem uzlů mají stejnou přesnost jako formule s lichým počtem uzlů.
Pokud bychom použili , dostali bychom Cavalieriho-Simpsonovu formuli, která má přesnost pátého řádu. Ta by se také dala nějak dokázat pomocí Taylora, ale důkaz je zbytečně pracný.
K integraci se také dají využít metody pro řešení diferenciálních rovnic.
Otázky ke zkoušce
- silně regulární matice
- LDR rozklad
- Householderova transformace
- Schurova věta
- Jordanova věta
- pozitivně definitní matice
- konvergence geometrické posloupnosti matic
- generované maticové normy
- reprezentace čísel s pohyblivou desetinnou čárkou
- jednoduchá a dvojitá přesnost
- zaokrouhlovací chyby
- podmíněnost matice
- řád metody
- odvození Gaussovy eliminační metody
- pro jaké matice lze použít Gaussovu eliminační metodu
- modifikovaná Gaussova eliminační metoda
- LU rozklad
- Choleského rozklad
- řešení soustav s tridiagonální maticí
- Schurův doplněk
- blokově modifikace maticových algoritmů
- konvergence stacionárních metod
- apriorní a aposteriorní odhady chyb
- předpodmínění
- konvergence stacionárních metod, apriorní a aposteriorní odhady chyb
- Jacobiho, Gaussova-Seidelova a super-relaxační metoda (odvození, maticový tvar, kovergence)
- porovnání přímých a iteračních metod pro řešení soustavy lineárních rovnic, kritéria na volbu metody
- částečný problém vlastních čísel: mocninná metoda
- částečný problém vlastních čísel: redukční metoda
- trojúhelníková metoda
- LR algoritmus
- QR rozklad: Gram-Schmidt, Householder, Givens
- QR algoritmus, Hessenbergovy iterace
- rychlost konvergence algoritmů pro výpočet vlastních čísel
- metoda bisekce
- metoda regula falsi
- Newtonova metoda
- praktický rozdíl konvergence regula falsi a Newtonovy metody
- výhody a nevýhody metod vyšších řádů
- globálně konvergující metody
- Newtonova metoda pro soustavy nelineárních rovnic, jak se vyhnout výpočtu inverzní matice
- Lagrangeův polynom — konstrukce, existence, jednoznačnost
- Newtonova formule
- chyba aproximace
- co lze říct o Lagrangeově polynomu v závislosti na diferencovatelnosti funkce
- řád aproximace Lagrangeova polynomu
- podle čeho volit stupeň Lagrangeova polynomu
- interpolace po částech, navazování Lagrangeova polynomu
- interpolace s vyšším řádem přesnosti
- aproximace derivací pomocí Lagrangeova polynomu
- aproximace derivací pomocí Taylorova polynomu
- obdélníková formule