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 . Hausholderova reflekční matice je matice ve tvaru
Věta. Hausholderova reflekční matice je hermitovská a unitární.
Věta. Když do Hausholderovy 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ě jaoucí řá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, Hausholder, 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