Obsah ANALÝZA METOD PRO MATICOVÉ VÝPOČTY ZÁKLADNÍ METODY
|
|
- Milan Jelínek
- před 6 lety
- Počet zobrazení:
Transkript
1 ANALÝZA METOD PRO MATICOVÉ VÝPOČTY ZÁKLADNÍ METODY Obsah 2 Předmluva Seznam označení v xi Jurjen Duintjer Tebbens, Iveta Hnětynková, Martin Plešinger, Zdeněk Strakoš, Petr Tichý 6 září 2 Základní pojmy Matice a vektory 2 Skalární součin, norma a ortogonalita 6 3 Vektorové normy a standardní skalární součin 8 4 Projekce a projektory 5 Vzdálenost vektoru od podprostoru 3 6 Matice jako lineární zobrazení 4 7 Maticové normy 5 8 Jordanova věta 2 2 Schurova věta 27 2 Schurova věta Důsledky Schurovy věty 3 23 Reálný Schurův rozklad Funkce matic 36 3 Ortogonální transformace a QR rozklady 4 3 Givensovy rotace v R n 4 32 Householderovy reflexe v R n Givensovy rotace v C n Householderovy reflexe v C n QR rozklad QR rozklad užitím Givensových rotací QR rozklad užitím Householderových reflexí QR rozklad a Gram-Schmidtův ortogonalizační proces Implementace Gram-Schmidtova procesu Numerická stabilita QR rozkladu Cena výpočtu Gram-Schmidtova procesu a QR rozkladu Arnoldiho algoritmus Řádkově orientovaný Gram-Schmidtův proces QR rozklad se sloupcovou pivotací Householderův QR rozklad se sloupcovou pivotací Gram-Schmidtův QR rozklad se sloupcovou pivotací 64 4 LU rozklad a jeho numerická analýza 69 4 Prostá Gaussova eliminace a LU rozklad Gaussova eliminace s částečnou pivotací Maticový zápis Gaussovy eliminace s částečnou pivotací Numerická analýza Gaussovy eliminace Citlivost systému lineárních rovnic na změny vstupních dat 76 i
2 OBSAH OBSAH 432 Numerická stabilita Gaussovy eliminace s částečnou pivotací Choleského rozklad hermitovské pozitivně definitní matice Rozklady hermitovských indefinitních matic 8 46 Zpětná stabilita Choleského rozkladu 8 47 Iterační zpřesnění Gaussovy eliminace Výpočetní náklady Gaussovy eliminace Gaussova eliminace pro velké řídké úlohy Pivotace versus zaplnění Grafy a matice Základní výpočetní rozdíl mezi LU a Choleského rozkladem Software 88 4 Srovnání LU a QR rozkladu pro řešení soustav rovnic 88 4 Algoritmické zápisy LU faktorizace 88 5 Singulární rozklad 93 5 Motivace spektrální rozklad matice Zavedení singulárního rozkladu a jeho vlastnosti Vztahy mezi spektrálními rozklady matic A A a AA Věty o singulárním rozkladu Výpočet singulárního rozkladu Použití singulárního rozkladu Inverze a pseudoinverze matice Normy a podmíněnost matice 533 Aproximace maticí nižší hodnosti 54 Jednoznačnost singulárního rozkladu 3 55 Singulární rozklad normální matice 4 56 Numerická hodnost matice 4 56 Numerická hodnost matice bez použití SVD 5 57 Použití SVD na kompresi dat 7 58 Polární rozklad a exponenciální tvar čtvercové matice 8 59 CS rozklad bloků unitární matice 9 5 Vzdálenost mezi podprostory a kanonické úhly OBSAH OBSAH 8 Metoda sdružených gradientů 47 8 Minimalizace kvadratického funkcionálu Konvergence metody sdružených gradientů 5 83 Předpodmínění Neúplný Choleského rozklad Vztah mezi CG a Lanczosovým algoritmem Volba počáteční aproximace řešení Zastavovací kritéria Vliv konečné aritmetiky 59 9 Metody Krylovových podprostorů 63 9 Klasické iterační metody 63 9 Konvergenční analýza klasických iteračních metod Příklady klasických iteračních metod Krylovovské metody Krylovovské metody nad ortogonální bází Zobecněná metoda minimálních reziduí (GMRES) Metoda ortogonálních reziduí (FOM) Krylovovské metody nad biortogonální bází 7 94 Nehermitovský Lanczosův algoritmus Metoda bikonjugovaných gradientů (BiCG) 7 95 Sdružené gradienty a normální rovnice CGNR CGNE Metoda LSQR Faber-Manteuffelova věta Předpodmínění, kritéria zastavení, volba x 77 Literatura 79 6 Úlohy nejmenších čtverců 5 6 Problém nejmenších čtverců (LS) 6 62 Metody řešení LS (plná sloupcová hodnost) 8 62 Řešení LS pomocí QR rozkladu Řešení LS pomocí soustavy normálních rovnic Řešení LS pomocí rozšířené soustavy rovnic 2 63 Řešení LS v obecném případě 2 64 Řešení LS pomocí QR rozkladu v obecném případě Ill-posed problémy a regularizace Total least squares úplný problém nejmenších čtverců Existence a jednoznačnost řešení Core problém 26 7 Částečný problém vlastních čísel 3 7 Arnoldiho metoda 3 72 Lanczosova metoda Základní vlastnosti Chování Lanczosovy metody v konečné aritmetice Golub-Kahanova iterační bidiagonalizace Jacobiho matice a další souvislosti 42 ii iii
3 OBSAH OBSAH Předmluva Textem Analýza metod pro maticové výpočty s podtitulem Základní metody předkládáme laskavému čtenáři první výsledek naší snahy o vytvoření učebních textů pokrývajících oblast výpočtů s konečnými maticemi (či, jak bývá často ne zcela výstižně uváděno, oblast numerické lineární algebry) Chceme, aby obsah textu i způsob výkladu odpovídal vývoji oboru v posledních desetiletích Ač je výběr materiálu a jeho zpracování vždy ovlivněn subjektivním pohledem, znalostmi (a neznalostmi) autorů, pokusili jsme se nevynechat žádnou ze součástí, která je obecně považována na úrovni učebního textu za podstatnou Naším cílem přitom není popis jednotlivých algoritmů a metod Především chceme ukázat jejich vnitřní souvislosti a vztahy s jinými oblastmi matematiky Maticové výpočty jsou součástí širšího oboru (či oborů) nazývaných numerická matematika, numerická analýza či výpočetní matematika, a spolu s nimi patří do matematiky aplikované Je vhodné připomenout, že uvedené pojmy se mohou chápat v širším či užším významu Nám je bližší jejich širší pojetí užívané řadou dnes již klasických autorů z poloviny 2 století Vznik a rozšíření termínu numerická analýza je spojen s existencí Ústavu numerické analýzy při UCLA v letech , a jeho pojetí je věrně popsáno v historické monografii [6] Aniž bychom se pokoušeli o důkladnější studii, přece jen považujeme za potřebné vymezit blíže místo maticových výpočtů či numerické lineární algebry v matematice, jak je chápáno v našich učebních textech Použijeme přitom zejména esejů Baxtera a Iserlese [] a Trefethena [25], [23], [5, sekce IV2], které jsou rovněž veřejně přístupné prostřednictvím www stránek uvedených autorů Ve své slavné eseji Obrana matematikova [59] vyjadřuje jeden z nejslavnějších matematiků 2 století G H Hardy myšlenku, že podstatou a ospravedlněním matematiky je krása a závažnost matematikem vytvořených myšlenkových vzorců Krásu přitom spojuje s nalézáním průzračné struktury a s její matematickou přesností Aplikovanou matematiku či dokonce možnost jakékoliv užitečnosti skutečné matematiky přitom zcela vylučuje (viz rovněž [24]) V polemice s ním Baxter a Iserles ukazují, že v numerické analýze se krása, průzračná struktura a matematická přesnost neztrácejí V našich učebních textech se budeme laskavého čtenáře pokoušet přesvědčit, že se neztrácejí ani v maticových výpočtech a jejich analýze Hardy by s velkou pravěpodobností byl překvapen, s jakou krásou a elegancí bylo například popsáno chování silně nelineárních metod Krylovových podporostorů v aritmetice s konečnou přesností jako matematický problém aproximace speciální třídy Riemann-Stieltjesových distribučních funkcí; viz [52] a přehledový článek [78] Teorie krylovovských metod přitom velmi úzce souvisí s formulací a vyřešením problému momentů, se souvislostmi sahajícími hluboko do různých oblastí matematiky, viz [3, 35, 2] S Hardyho pojetím souvisí i jeho teze o nutnosti popření pokory jakožto předpokladu dobré práce [59, str 6 62] a nutnosti přehánění významu vlastního oboru Domníváme se, že zde jde buď o nepochopení pojmu pokora či o omyl Je-li matematikova práce spojena s uvědoměním si odpovědnosti, není bez pokory dost dobře možná, nehledě na pokoru vůči kráse objeveného Dle Baxtera a Iserlese je předmětem výpočetní matematiky vývoj a analýza metod a algoritmů pro vyřešení problémů prostřednictvím počítače tak, aby výpočet vedl spolehlivě, robustně a za přijatelnou cenu (v přijatelném čase) k přijatelné aproximaci řešení Pokusíme se vysvětlit jednotlivá klíčová slova iv v
4 vi Předmluva Předmluva vii Požadavek spolehlivosti vyžaduje dostatečnou znalost metody a její algoritmické implementace, která je nutná k zaručení její správné funkce pro daná data Robustnost znamená, že vlastnosti výpočtu by se měly zachovat při změnách dat uvnitř rozumného okolí nebo při omezení na data určená určitou třídou úloh Cena omezuje použitelnost metod příliš drahých Jde o problém matematický, nikoliv problém technický, který by byl řešitelný pouhým rozvojem výpočetní technologie S výkonnějšími počítači budeme chtít řešit složitější úlohy, a problém omezení cenou či časem výpočtu zůstane Konečně, nejde nám o dosažení přesného řešení, ale o jeho přijatelnou aproximaci V naprosté většině matematických úloh formulovaných na základě abstraktního popisu aplikačních problémů žádnou cestu k dosažení přesného řešení nemáme Jak uvidíme v kapitole 2, z matematického hlediska neřešitelným problémem je například určení vlastních čísel matic (což odpovídá klasickému problému určení kořenů polynomu obecného stupně) Důležité však je, že i kdyby byla cesta k nalezení přesného řešení známa, bývá výhodné hledat pouze jeho dostatečně přesnou aproximaci Vzhledem k tomu, že výpočet používá data, která jsou zpravidla zatížena chybami, nemá prostě smysl řešit přesně nepřesnou úlohu Můžeme jít dokonce ještě dále V inverzních úlohách vznikajících diskretizací tzv ill-posed problémů existují často chyby v datech, které mohou být vzhledem k hodnotám dat nepatrné (mohou být například způsobeny šumy různého původu při provádění fyzikálních měření) Hledání přesných řešení zmíněných inverzních úloh nemá naprosto žádný smysl, neboť vzhledem k vlastnostem problému může dojít nezávisle na použité metodě (i za předpokladu přesného provádění všech výpočtů) k takovému zesílení náhodných chyb, že přesné řešení o dané praktické úloze nic nevypovídá Příkladem je rekonstrukce obrazové informace v počítačových tomografech či zpracování signálů v řadě inženýrských aplikací Zbývá nám všimnout si významu slov maticové či lineární v názvu oboru maticové výpočty či numerická lineární algebra Jak uvidíme, lineární jsou prostředky, pomocí kterých jsou vlastní problémy formulovány, nikoliv metody pro jejich řešení Úlohy lze s výhodou popsat prostřednictvím matic a metody výpočtu pomocí manipulací s maticemi Metody pro řešení lineárních problémů však mohou být velmi silně nelineární Metody Krylovových podprostorů jsou příkladem nelineárních metod a analýza jejich chování představuje velmi obtížný problém Učební texty týkající se numerické analýzy či numerické lineární algebry často začínají popisem prováděných numerických výpočtů na počítači, popisem aritmetiky s pohyblivou řádovou čárkou a diskusí numerické stability a šíření chyb v numerických výpočtech Otázku chyb považujeme za naprosto zásadní, neboť uvádění výsledků numerického výpočtu bez současného uvádění odhadu jejich chyby (popřípadě bez uvádění relevantní informace odhad nahrazující) nemá smysl Přesto se v prvním dílu budeme snažit numerickou stabilitu a chyby výpočtu popisovat sice slovně přesně, ale bez podrobné matematické analýzy její kvantifikace Ve shodě s [25] považujeme za důležitější při výkladu začít matematickým popisem metod a algoritmů, přičemž jejich numerické vlastnosti jsou vysvětlovány jen natolik, aby bylo možné porozumět zdrojům možných numerických nestabilit Numerické stabilitě a teorii citlivosti bude věnován zamýšlený druhý díl Základní otázkou, kterou by si měl každý autor položit předtím, než začne sdělovat své výdobytky okolí, je, proč se danou věcí vůbec zabývá Každý text by měl mít svoji vnitřní logiku Pokusíme se k dané věci v našem kontextu uvést několik poznámek Maticovými výpočty se zabýváme proto, protože nám připadají matematicky zajímavé Navíc mohou být případné výsledky poměrně bezprostředně užitečné i mimo vlastní oblast matematiky, což působí také jako zdroj inspirace Učební text vznikl z vnitřní potřeby napsat si pořádněji to, co chceme učit Jeho vnitřní logika je poněkud jiná než u nám známých českých textů dotýkajících se matic, lineární algebry či numerické matematiky Svojí filosofií je blízký důrazu na souvislosti, prezentovanému v pohledu na pěstování lineární algebry autorů Motla a Zahradníka [8] Svým obsahem a zaměřením je však od [8] poněkud odlišný Necháme-li stranou shrnutí základních pojmů týkajících se konečných matic, je skutečným počátkem výkladu Schurova věta Ilustruje základní matematický přístup namísto snahy řešit problém hrubou silou je lépe nalézt takový popis problému, ze kterého je řešení zřejmé Chceme-li určit vlastní čísla matice, musíme ji transformovat na tvar, ze kterého lze vlastní čísla přečíst Hledaná transformace musí tedy převést obecnou matici nejlépe na matici horní (dolní) trojúhelníkovou, přičemž musí zachovávat vlastní čísla (musí jít o podobnostní transformaci) Ne každá podobnostní transformace je stejně vhodná Aby nedocházelo ke zvětšování možných chyb v datech na úkor užitečné informace, musíme se omezit na unitární podobnostní transformace Schurova věta ukazuje, že daný přístup je možný Každou čtvercovou matici lze unitární podobnostní transformací převést na matici horní trojúhelníkovou s vlastními čísly na diagonále v libovolném předem zvoleném pořadí Krása a elegance Schurovy věty je v tom, že silnější výsledek ve smyslu vynulování více prvků matice obecně dokázat nelze, a slabší výsledek, tj opuštění požadavku unitární transformace, zaručující zachování normy chyby dat, nemá z důvodu možné numerické nestability smysl hledat Schurova věta je východiskem mnoha cest Pro teorii matic podtrhuje význam normality, v popředí s existencí ortonormální báze celého prostoru složené z vlastních vektorů Přes Schurovu větu můžeme vyjít k teorii citlivosti vlastních čísel matic, což učiníme ve druhém díle Filosoficky nám Schurova věta ukazuje základní obtíž, které se při maticových výpočtech často nemůžeme vyhnout cílem výpočtu je aproximovat přesný výsledek, kterého se obecně žádným (konečným) výpočtem dosáhnout nedá Na rozdíl od matematické abstrakce je každý skutečný výpočet konečný a nemožnost dosažení přesného výsledku je realitou, se kterou se musíme smířit a naučit se s ní pracovat Příkladem je již dříve zmíněná nemožnost výpočtu vlastních čísel obecných matic netriviálního rozměru vyplývající z Abel-Galoisovy věty o kořenech polynomů Výpočetně nám Schurova věta ukazuje zásadní důležitost ortogonality a ortogonálních transformací Přirozeně se tím dostaneme ke 3 kapitole, věnované Givensovým rotacím (které by se měly vlastně nazývat Jacobiho rotace, viz [2]), Householderovým odrazům, Gram-Schmidtovu ortogonalizačnímu procesu a použití toho všeho k výpočtu QR rozkladu matice Uvidíme, že při výpočtu na počítači není ortogonalita jako ortogonalita Zatímco Givensovy rotace a Householderovy odrazy ortogonalitu zachovávají na úrovni úměrné zaokrouhlovací jednotce počítače, Gram-Schmidtův ortogonalizační proces toho není (bez reortogonalizace) schopen Není vše ztraceno, pokud jsme ovšem ochotni reortogonalizovat a tím ve smyslu ceny připlatit, někdy velmi podstatně Nic nás ale nezachrání, jde-li o velmi rozsáhlý problém, který je většinou řídký Matice může obsahovat velké množství nulových prvků jako důsledek aproximace lokality daného modelovaného jevu (např fyzikálního původu) či jako důsledek lokality vzniklé při diskretizaci nekonečně rozměrného problému Požadavek ortogonality spolehlivě zlikviduje (až na speciální případy) během několika kroků ortogonálního rozkladu řídkost faktorů rozkladu Výpočet se beznadějně zpomalí a konečně zastaví na nedostatku času, paměti či obojího V takovém případě nezbývá než od požadavku ortogonality ustoupit Namísto QR rozkladu můžeme použít LU rozklad (v obecném případě) či Choleského rozklad (v hermitovském pozitivně definitním případě) Jak ukazuje 4 kapitola, důsledky kompromisů ovšem někdy bývají devastující Jak uvidíme, LU rozklad není obecně numericky stabilní Kvalifikovaný numerický matematik naštěstí ví, jak poznat, že výpočet není numericky stabilní, a alespoň umí uživatele, vydaného jinak na milost a nemilost jeho problému a v dané souvislosti nebezpečným datům, varovat Choleského rozklad je naopak bezpodmínečně (zpětně) numericky stabilní Ovšem jen díky tomu, že se omezuje pouze na velmi speciální data Pod dojmem spočtení příkladů s náhodně šťastným koncem jsou občas formulována tvrzení, že Choleského rozklad spolehlivě funguje i na obecné hermitovské matice, které nejsou pozitivně definitní Snaha sestrojit podobné kvadratury kruhu bude i přes dávno existující velmi názorné protipříklady bohužel věčná Ani QR ani LU rozklad nám není schopen spolehlivě vyjevit, zda je matice (numericky) singulární, ani jak je blízko (a v jakém smyslu) k množině singulárních matic Za podobným účelem musíme použít singulární rozklad (SVD) vyložený v 5 kapitole Cena je ovšem úměrná síle použitého nástroje, což naznačíme na řadě teoretických i praktických aplikací Jednou z nich jsou úlohy nejmenších čtverců, které jsou obsahem 6 kapitoly Je-li známa hodnost matice nebo je-li matice dostatečně vzdálena od matice s neúplnou hodností, lze standardní problém nejmenších čtverců (LS) většinou řešit pomocí mnohem lacinějších QR rozkladů V případě úplného problému nejmenších čtverců (TLS) se použití singulárního rozkladu v teorii (a částečně i v praxi) nevyhneme V případě diskrétních ill-posed problémů musíme navíc použít některou z regularizačních metod a vyhnout se zcela snaze co nejlépe aproximovat přesné řešení Schurova věta je zaměřena na celé spektrum matice Ne vždy ale chceme určit všechna vlastní čísla matice Navíc mnohdy nemáme matici vůbec k dispozici a provádění jejího rozkladu tedy nepřichází
5 viii Předmluva Předmluva ix v úvahu Namísto matice můžeme mít k dispozici pouze operaci matice vektor (neboli působení operátoru na prvek vektorového prostoru) Dominantní část spektra matice (schválně neříkáme, která část to je jde samo o sobě o velmi komplikovanou otázku) lze aproximovat s použitím Arnoldiho metody (v případě obecné matice) a Lanczosovy metody (v případě hermitovské matice), jak je vyloženo v 7 kapitole Arnoldiho metoda je pozoruhodná tím, že je nesnadné určit, co jsme vlastně spočítali (nevěřte žádnému počítači, že jde jisto jistě o vlastní čísla či čísla zaručeně jim blízká) Lanczosova metoda používá k vynucení ortogonality generovaných vektorů tříčlennou rekurenci, jejíž původ sahá k mnoha vynikajícím matematikům mnoha minulých století (viz [2]) Pro nás je v prvním díle učebního textu důležitější, že tříčlenná rekurence vede v praxi často k velmi rychlé ztrátě nejen ortogonality, ale i (numerické) lineární nezávislosti generovaných vektorů Vypočtené Jacobiho matice, s jejichž pomocí máme určit aproximace hledaných dominantních vlastních čísel původní matice, nemusí mít po pár krocích výpočtu (s použitím Lanczosova algoritmu) s odpovídajícími Jacobiho maticemi získanými hypotetickým přesným výpočtem zdánlivě téměř nic společného Zdánlivě nemožné věci se však dějí Pomocí velmi nepřesně vypočtených Jacobiho matic lze určit hledaná dominantní vlastní čísla s chybou úměrnou strojové přesnosti počítače, a přesnost výsledku lze zaručit z vypočtených hodnot! Neméně pozoruhodné je matematické pozadí Lanczosovy metody, související s řetězovými zlomky, Gauss-Christoffelovou kvadraturou, problémem momentů, ortonormálními polynomy, Padého aproximací atd, viz [6, 78] Použijeme-li Lanczosův algoritmus na řešení soustavy lineárních algebraických rovnic s hermitovskou pozitivně definitní maticí, dostaneme metodu sdružených gradientů Podobně jako u Lanczosovy metody pro výpočet vlastních čísel, ani teoretickou bohatost metody sdružených gradientů nelze v rozsahu našeho textu v nejmenším postihnout, viz např [6, 78, 35] a podstatnou část připravované knihy [75] V 8 kapitole se omezíme jen na základní odvození metody sdružených gradientů vycházející z myšlenky minimalizace kvadratického funkcionálu Přesto je naší ambicí ukázat její naprostou přirozenost vycházející ze základních principů S metodou sdružených gradientů není spojena žádná agonizující bolest, jak se to některé veřejně šířené zdroje snaží namluvit a jiné publikace papouškovat Agonizující bolest vzniká zkreslenými způsoby jejího výkladu bez pochopení její podstaty a souvislostí Aritmetika s konečnou přesností opět znamená ztrátu ortogonality a numerické lineární nezávislosti vypočtených směrových vektorů a reziduí Podobně jako u Lanczosova algoritmu lze ztrátu ortogonality a její důsledky analyzovat, což například umožňuje vysvětlit spolehlivost případně nespolehlivost zastavovacích kritérií založených na odhadu energické normy chyby aproximace řešení diskretizované úlohy, která je rovna A-normě chyby aproximace řešení lineárního algebraického problému Není-li matice hermitovská pozitivně definitní, můžeme buď formulovat matematicky ekvivalentní úlohu s hermitovskou pozitivně definitní maticí a odvodit s použitím metody sdružených gradientů metody pro řešení původní úlohy, nebo můžeme zobecnit některé z principů, na kterých je metoda sdružených gradientů založena Hledané aproximace řešení jsou prvky Krylovových podprostorů posunutých o počáteční aproximaci Zachováme-li (myšleno ideálně, tj v přesné aritmetice) ortogonalitu generujících vektorů, můžeme formulovat metody minimalizující na Krylovových podprostorech jistou normu chyby Jak však bylo ukázáno ve slavné Faber-Manteuffelově větě, zachování ortogonality generujících vektorů (myšleno v přesné aritmetice) vyžaduje použití dlouhých rekurencí, což podstatně omezuje počet efektivně použitelných iterací při praktických výpočtech velmi rozsáhlých úloh Volíme-li krátké rekurence například zobecněním Lanczosova algoritmu na nehermitovský případ a metody sdružených gradientů na metodu bikonjugovaných gradientů, nevyhnutelně obětujeme optimalitu Navíc může dojít k selhání, neboť pro některé iterace nemusí hledaná aproximace řešení zvolené metody s krátkou rekurencí vůbec existovat V 9 kapitole naznačíme uvedené otázky a popíšeme základní metody Krylovových podprostorů Analýza principů krylovovských metod je předmětem připravované monografie [75], která je uvažována rovněž jako učebnice pro pokročilé kurzy zaměřené na související oblast výpočetní matematiky Přes svoji stručnost a pouze úvodní charakter chce náš výklad v 9 kapitole vysvětlit zásadní rozdíl mezi klasickými iteračními metodami založenými na štěpení matice soustavy (Jacobi, Gauss-Seidel, SOR, atd) případně na konvexní kombinaci jednotlivých aproximací (semiiterační metody, Čebyševova metoda) a metodami Krylovových podprostorů Základem krylovovských metod je projekční proces na vnořených Krylovových podprostorech rostoucí dimenze, který lze zapsat jako (zobecněný) Vorobyevův problém momentů [35, 6, 2] Na rozdíl od klasických iteračních metod jsou krylovovské metody silně nelineární, jejich konvergence má globální charakter a nemá smysl (s výjimkou velmi speciálních případů) popisovat ji asymptotickými nástroji Zkoumání jejich konvergence nutně vede na silně nelineární problém na lineárních prostorech malé dimenze, který není možné popsat limitním přechodem V textu obecně uvažujeme (s několika výjimkami) vektorové prostory nad tělesem komplexních čísel, přičemž vysvětlujeme některé odlišnosti a obtíže, které mohou výpočty s komplexními maticemi přinést (například ve 3 kapitole věnované ortogonálním transformacím a QR rozkladům) Velká většina praktických úloh vede na reálné matice a reálné vektorové prostory Při nahrazení hermitovské transpozice standardní transpozicí zůstanou všechny uvedené výsledky zachovány V našem textu se soustředíme na matematický popis metod a případně na jejich základní algoritmické implementace a nezabýváme se více či méně technickými otázkami používání komplexní aritmetiky při provádění výpočtů na počítači Většina kapitol odděluje základní výklad, který svým obsahem zhruba odpovídá jednosemestrálnímu kurzu v rozsahu 2 hodiny přednášek a 2 hodiny cvičení týdně, od rozšířeného výkladu Uvedená rozšíření mohou být využita různým způsobem při variabilním obsahu kurzů většího rozsahu Logika textu předpokládá, že základní výklad bude veden v uvedeném řazení jednotlivých kapitol Každá kapitola obsahuje cvičení teoretického i výpočetního charakteru (cvičení vyšší obtížnosti jsou označena *) Při výpočtech předpokládáme práci s Matlabem Text je doplněn poměrně rozsáhlými odkazy na další doporučenou literaturu Předložený text vznikl na základě přednášek konaných v průběhu řady let na několika školách v České republice i v zahraničí Je kolektivním dílem s výhodami i potížemi z toho plynoucími Autoři děkují všem, kteří jim pomáhali výhody posílit a nedostatky odstraňovat Jsme velmi zavázáni M Rozložníkovi a M Tůmovi za cenné rady a připomínky, a také všem studentům, především T Gergelitsovi, J Kohutkovi, M Michenkové, J Papežovi a K Tothové, kteří trpělivě text či jeho části pročítali V neposlední řadě bychom rádi poděkovali H Bílkové za pomoc při tvorbě obrázků a při úpravě textu Budeme velmi vděčni všem případným učitelům, kteří by text či jeho části chtěli vyzkoušet při výuce, za jejich kritiku jak obsahu, tak formy Laskavému čtenáři předeme děkujeme za zpětnou vazbu, která by pomohla v nikdy nekončícím procesu možného zlepšování, oprav a doplnění pokračovat K tomuto účelu jsme zřídili ovou schránku maticovevypocty@gmailcom a webovou stránku Každý názor bude velmi vítán Děkujeme za něj předem V Praze, Autoři
6 x Předmluva Seznam označení Čísla, množiny a vektorové prostory N množina přirozených čísel R množina reálných čísel C množina komplexních čísel i komplexní (imaginární) jednotka Re(a) reálná část komplexního čísla a Im(a) imaginární část komplexního čísla a {a,b,c,} množina čísel s prvky a,b,c, a absolutní hodnota komplexního čísla a a komplexně sdružené číslo k číslu a n! faktoriál přirozeného čísla n V lineární vektorový prostor X Y průnik podprostorů X a Y X Y sjednocení podprostorů X a Y X Y direktní součet podprostorů X a Y X ortogonální doplněk podprostoru X nulový vektor lineárního vektorového prostoru Vektory x sloupcový vektor x [ξ,,ξ n] T zápis vektoru x po prvcích x T transponovaný vektor k vektoru x x hermitovsky sdružený vektor k vektoru x e i i-tý sloupec jednotkové matice x X projekce vektoru x na podprostor X x,y skalární součin vektorů x a y span{q,,q m} prostor generovaný vektory q,,q m Matice A matice A [a i,j] n,m i,j= prvky matice A C n m A i,j podmatice v pozici i,j v blokovém rozdělení matice A a j j-tý sloupec matice A A = [a,,a m] zápis matice A po sloupcích xi
7 xii Seznam označení Seznam označení xiii a T i i-tý řádek matice A A T transponovaná matice k matici A A hermitovsky sdružená matice k matici A A inverzní matice k regulární matici A A Moore-Penroseova pseudoinverze matice A det(a) determinant matice A R(A) obor hodnot matice A N(A) jádro matice A rank(a) hodnost matice A trace(a) stopa matice A I, I n jednotková matice, jednotková matice dimenze n diag(d,,d n) čtvercová diagonální matice s prvky d,,d n na diagonále diag(d,,d n) čtvercová blokově diagonální matice s podmaticemi D,,D n na diagonále P X matice projekce na podprostor X J m(λ) Jordanův blok dimenze m příslušný k vlastnímu číslu λ G(ϕ) matice Givensovy rotace realizující pootočení roviny proti smyslu hodinových ručiček o úhel ϕ G i,j(ϕ) matice elementární Givensovy rotace roviny span{e i, e j} o úhel ϕ H(q) matice Householderovy reflexe vzhledem k nadrovině span{q} A lineární operátor na lineárním vektorovém prostoru A X restrikce operátoru A na podprostor X Vlastní čísla, singulární čísla a normy Π (n) ε δ ij K k(a,b) permutace množiny {,,n} strojová přesnost počítače Kroneckerovo delta k-tý Krylovův podprostor generovaný maticí A a vektorem b λ,λ i sp(a) (A) σ,σ i x x x 2, x x x A A A 2, A A F κ(a) vlastní čísla matice spektrum matice A spektrální poloměr matice A singulární čísla matice norma vektoru x jedničková norma vektoru x euklidovská norma vektoru x maximová norma vektoru x energetická norma vektorux, definovaná pomocí hermitovské pozitivně definitní matice A norma matice A spektrální norma matice A Frobeniova norma matice A číslo podmíněnosti matice A Další symboly χ A(λ) ψ A(λ) π k charakteristický polynom matice A minimální polynom matice A množina všech polynomů stupně nejvýše k s hodnotou jedna v bodě nula
8 xiv Seznam označení KAPITOLA Základní pojmy V této kapitole stručně připomeneme některé základní pojmy a nástroje, se kterými se čtenář měl možnost seznámit při studiu matematické a funkcionální analýzy či algebry Začneme s definicemi základních tříd matic a maticových operací a odvodíme několik užitečných vzorců Z pohledu funkcionální analýzy budeme dále pracovat s normovanými lineárními vektorovými prostory a s prostory se skalárním součinem konečné dimenze (vždy tedy půjde o Banachovy či Hilbertovy prostory) Soustředíme se především na prostory číselných vektorů a matic, ale setkáme se například i s prostory polynomů Probereme postupně vektorové normy, projekce, vzdálenost vektoru od podprostoru, věty o hodnosti a jádru matice a maticové normy Na závěr kapitoly uvedeme některé pojmy z teorie matic jako jsou podobnost, Jordanův tvar, companion matice a jiné Podrobnější výklad základních pojmů lze nalézt např v knihách Fiedlera [37], Horna a Johnsona [65, 66] nebo Gantmachera [42] Matice a vektory Začneme se základním popisem matic a vektorů Obecně budeme vše formulovat v komplexním oboru Uvažujme matici A C n m, A = [a i,j], i =,,n, j =,,m, a, a,2 a,m a 2, a 2,2 a 2,m A = a n, a n,2 a n,m Maticí transponovanou k matici A C n m budeme rozumět matici A T C m n s prvky a j,i na pozicích i,j pro i =,,m, j =,,n, maticí hermitovsky sdruženou k matici A C n m budeme rozumět matici A C m n s prvky a j,i na pozicích i,j pro i =,,m, j =,,n, kde a j,i označuje číslo komplexně sdružené k číslu a j,i, a, a n, a, a n, a,2 a n,2 a,2 a n,2 A T =, A = a,m a n,m a,m a n,m a,m a n,m a,m a n,m Je-li matice A reálná, potom A T = A Pokud je matice A komplexní, můžeme jí psát ve tvaru A = A R +ia I, kde A R R n m, A I R n m a i označuje komplexní jednotku, i 2 = Potom platí A = A T R iat I Matici A C n m nazveme čtvercovou, pokud n = m Čtvercovou matici A nazveme symetrickou, platí-li A = A T, a hermitovskou, pokud A = A Symbolem I budeme označovat jednotkovou matici a
9 2 Kapitola Základní pojmy symbolem e i její i-tý sloupec Budeme-li chtít zdůraznit velikost jednotkové matice, použijeme I n pro označení jednotkové matice velikosti n Matici A = [a i,j] nazveme diagonální, pokud a i,j = pro i j, a budeme ji zapisovat ve tvaru a, diag(a,,,a n,n) Matici A = [a i,j] nazveme horní trojúhelníkovou, je-li a i,j = pro i > j, a dolní trojúhelníkovou, pokud a i,j = pro i < j Nebude-li explicitně řečeno jinak, pak vektory budeme vždy chápat jako sloupcové vektory a symbolem C m budeme rozumět prostor C m Uvažujme vektor x C m, ξ ξ 2 x = ξ m Symbolem x C m označíme řádkový vektor s prvky ξ i, x = [ ξ, ξ 2,, ξ m ] Matici, jejíž sloupce jsou postupně vektory q,,q m, budeme zapisovat pomocí [q,,q m] Lineární obal vektorů q i C n, i =,,m (podprostor C n generovaný vektory q,,q m) označíme span{q,,q m} Součinem matice A C n m s vektorem x C m rozumíme vektor b C n (píšeme b = Ax), jehož i-tý prvek β i je dán vztahem m β i = a i,jξ j, i =,,n j= Označme a j, j =,,m, j-tý sloupec matice A Potom lze vektor b = Ax rovněž vyjádřit jako lineární kombinaci sloupců matice A, b = Ax = ξ a + +ξ ma m Hermitovskou matici A nazveme pozitivně definitní, pokud pro libovolný nenulový vektor x platí x Ax >, a pozitivně semi-definitní, pokud pro libovolný nenulový vektor x platí x Ax Součinem matic A C n m a B C m k je matice C C n k s prvky c i,j, kde c i,j = m l= a i,lb l,j, a n,n i =,,n, j =,,k Označme pomocí a j, b j a c j j-té sloupce matic A, B a C a pomocí a T i, bt i a c T i jejich i-té řádky Pro součin C = AB platí následující: C = [c i,j], kde c i,j = a T i bj, (zápis po prvcích), C = [c,,c k], kde c j = Ab j, (zápis po sloupcích), c T C =, kde c T i = a T i B, (zápis po řádcích), c T n C = a b T + +ambt m (zápis pomocí vnějšího součinu) Výše uvedené zápisy naznačují, že součin dvou matic lze počítat různými způsoby Poslední zápis odvodíme ze zápisu po sloupcích, AB = [Ab,,Ab k], Matice a vektory 3 kde j-tý sloupec je dán součtem Ab j = b,ja ++b m,ja m Přepíšeme-li násobení tak, aby bylo zřejmé, jaké násobky jednotlivých sloupců a,,a m matice A se v něm vyskytují, dostaneme vyjádření AB prostřednictvím součtu matic, jejichž sloupce jsou skalárními násobky téhož vektoru, kde AB = a [b,,,b,k] + + a m[b m,,,b m,k] = a b T + + ambt m, a,ib j, a,ib j,2 a,ib j,k a ib T j = a 2,ib j, a 2,ib j,2 a 2,ib j,k a n,ib j, a n,ib j,2 a n,ib j,k Pokud pro matice A a B platí AB = BA, říkáme, že matice A a B komutují Čtvercovou matici A nazveme regulární, pokud existuje matice B taková, že AB = BA = I; matici B nazveme inverzní maticí k matici A a budeme ji označovat symbolem A Čtvercovou matici, která není regulární, nazveme singulární Determinant čtvercové matice A C n n, viz např [37, str 22], je číslo det(a) = sign(π (n) )a,k a 2,k2 a n,kn, Π (n) ={k,,kn} kde sčítáme přes všechny permutace Π (n) indexů,,n, a sign(π (n) ) značí tzv znaménko permutace Π (n) (+ pro sudé permutace a pro liché permutace) Poznamenejme, že permutace Π (n) je sudá (resp lichá), pokud v permutaci Π (n) popsané jako ( ) Π (n) 2 n = k k 2 k n je sudý (resp lichý) počet dvojic i,j, pro něž i < j, ale k i > k j Determinant je důležitým teoretických nástrojem [8] Z praktického hlediska je použití determinantů omezené kvůli velké výpočetní náročnosti a numerické nestabilitě Z vlastností permutací plyne, že det(a) = det(a T ) pro libovolnou čtvercovou matici A Pro čtvercové matice A a B téhož řádu platí det(ab) = det(a) det(b), () viz [37, str 25] Algebraickým doplňkem prvku a i,j ve čtvercové matici A C n n nazýváme číslo ( ) i+j det(a i,j), kde čtvercová matice A i,j C (n ) (n ) vznikne z matice A vynecháním i-tého řádku a j-tého sloupce Algebraického doplňku lze využít při vyjádření determinantu Věta (Rozvoj determinantu, [37, str 24]) Nechť A C n n Pak pro libovolný index i, kde i n, platí n det(a) = ( ) i+j a i,j det(a i,j) (rozvoj determinantu podle i-tého řádku) a pro libovolný index j, kde j n, platí det(a) = (rozvoj determinantu podle j-tého sloupce) j= n ( ) i+j a i,j det(a i,j) i=
10 4 Kapitola Základní pojmy Následující věta formuluje vztah mezi regularitou matice a nenulovostí determinantu Věta 2 (Vlastnosti regulární matice, [37, str 26-27]) Čtvercová matice A je regulární právě tehdy, když det(a) Poznámka 3 Velikost determinantu matice nám nic neříká o tom, jak blízko je daná regulární matice k množině singulárních matic Transponovaná matice algebraických doplňků, označená adj(a) C n n, adj(a) = [ ( ) i+j det(a ] i,j) det(a,) det(a 2,) ( ) n+ det(a n,) det(a,2) det(a 2,2) ( ) n+2 det(a n,2) = ( ) +n det(a,n) ( ) 2+n det(a 2,n) ( ) n+n det(a n,n) se nazývá matice adjungovaná k matici A Je-li matice A regulární, platí mezi maticí inverzní a adjungovanou vztah A = det(a) adj(a), viz např [37, str 26] Řešení soustavy lineárních rovnic Ax = b je možné pomocí determinantů vyjádřit vztahem ξ j = det(aj), j =,,n, (2) det(a) (Cramerovo pravidlo), kde matice A j vznikla z matice A nahrazením j-tého sloupce vektorem pravé strany b, viz např [37, str 27] Blokovým dělením matice A C n m rozumíme zápis matice A ve tvaru A, A,2 A,s A 2, A 2,2 A 2,s A =, s m, r n, A r, A r,2 A r,s kde A i,j jsou opět matice, a to takové, že všechny matice A i,j s prvním indexem stejným mají stejný počet řádků a všechny matice A i,j s druhým indexem stejným mají stejný počet sloupců Matici A pro kterou existuje blokové dělení takové, že A i,j = pro i j, nazveme blokově diagonální Blokově diagonální matici budeme zapisovat ve tvaru A, diag(a,,,a r,r) Matici A, pro kterou existuje blokové dělení takové, že A i,j = pro i > j, resp A i,j = pro i < j, nazveme blokově horní resp blokově dolní trojúhelníkovou Pomocí věty lze snadno ukázat, že determinant blokově diagonální nebo trojúhelníkové matice je součinem determinantů diagonálních bloků Definice 4 (Schurův doplněk) Je-li [ ] A, A A =,2 A 2, A 2,2 blokové dělení matice A s regulárním blokem A,, pak Schurovým doplňkem bloku A, v matici A nazýváme matici S = A 2,2 A 2,A,A,2 (4) Jednou z nejdůležitějších vlastností Schurova doplňku zformulujeme v následující větě A r,r (3) Matice a vektory 5 Věta 5 (Regularita Schurova doplňku) Uvažujme čtvercovou blokovou matici A ve tvaru (3) s regulárním blokem A, a Schurův doplněk S (4) bloku A, v A Pak A je regulární právě tehdy, když S je regulární Důkaz Označme indexy p a q velikosti čtvercových podmatic A, a A 2,2 Vynásobením lze lehce ověřit, že platí [ ][ ] I p A, A A =,2 A 2,A, (5), I q S tj A je součinem dvou matic, z nichž první je vždy regulární Z (5) a () pak lehce plyne, že A je regulární právě tehdy, když je druhá z matic na pravé straně (5) regulární Jelikož je A, regulární dle předpokladu, je druhá z matic na pravé straně (5) regulární právě tehdy, je-li S regulární Odtud již plyne tvrzení věty Poznamenejme, že vztah (5) je tzv blokový LU rozklad matice A (o LU rozkladu budeme podrobněji hovořit v kapitole 4) Rozepsáním matice na pravé straně (5) na součin blokově diagonální a blokově horní trojúhelníkové matice dostaneme [ ][ ][ I p A, Ip A ] A = A 2,A, A,2,, I q S I q což nám umožní zapsat inverzi čtvercové regulární blokové matice A pomocí Schurova doplňku, [ A Ip A ][ ][ ] =, A,2 A, I p I q S A 2,A, I q Analogicky k definici Schurova doplňku bloku A, v A, viz (4), je možné definovat i Schurův doplněk bloku A 2,2 v A jako matici A, A,2A 2,2A2, (6) Pro Schurův doplněk blokua 2,2 vaplatí analogická věta k větě 5, tj maticeasregulárním blokema 2,2 je regulární právě tehdy, když je matice (6) regulární Vztah regularity Schurova doplňku a regularity původní matice nám umožní dokázat následující větu Věta 6 (Sherman, Morrison, Woodbury) Uvažujme regulární matice A C n n a B C k k, a dále matice U C n k a V C n k Je-li matice B +V A U regulární, potom platí Důkaz Uvažujme blokovou matici (A+UBV ) = A A U(B +V A U) V A [ ] A U V B (7) Schurův doplněk bloku A v matici (7) je matice (B +V A U), jež je regulární dle předpokladu Podle věty 5 je pak i matice (7) regulární, a soustava lineárních rovnic s více pravými stranami [ A U V B ][ X Y ] [ ] I =, kde I R n n je jednotková matice a R k n je nulová matice, má jednoznačné řešení v podobě bloků X C n n a Y C k n Blok X nyní vyjádříme dvěma způsoby Z první blokové rovnice AX +UY = I vyjádříme neznámou X jako X = A (I UY) Dosazením za X do druhé blokové rovnice V X B Y = dostáváme po drobné úpravě Y = (B +V A U) V A, přičemž B +V A U je regulární dle předpokladu Zpětnou substitucí získáme X ve tvaru X = A A U(B +V A U) V A (8)
11 6 Kapitola Základní pojmy Jiné vyjádření bloku X dostaneme, pokud budeme postupovat od druhé blokové rovnice k první Z druhé rovnice nejprve vyjádříme Y, Y = BV X, a po dosazení do první rovnice a drobné úpravě vyjádříme X ve tvaru X = (A+UBV ) (9) Poznamenejme, že matice A+UBV je regulární, neboť je Schurovým doplňkem bloku B v regulární matici (7) Srovnáním (8) a (9) dostáváme tvrzení věty Speciální verzí věty 6 pro k = a B = je důležitá Sherman-Morrisonova věta Ukazuje, jak vyjádřit inverzi součtu regulární matice a matice hodnosti (tzv rank-one update) Věta 7 (Sherman, Morrison) Uvažujme regulární matici A C n n a vektory u C n, v C n Je-li +v A u, potom platí (A+uv ) = A A uv A (+v A u) Sherman-Morrisonova věta je využívána jak v teoretických úvahách, tak při konstrukci metod a algoritmů Na závěr tohoto odstavce připomeneme některé základní pojmy spojené se spektrem matice Definice 8 (Vlastní číslo, vlastní vektor, spektrum, spektrální poloměr) Nechť A C n n Číslo λ C je vlastním číslem matice A, pokud existuje nenulový vektor x C n takový, že Ax = λx Vektor x nazveme vlastním vektorem matice A, dvojici {λ,x} se někdy říká vlastní pár matice A Množina všech vlastních čísel matice A se nazývá spektrum matice A a označuje se sp(a) Spektrální poloměr matice A, označen (A), je nezáporné reálné číslo (A) max{ λ,λ sp(a)} Číslo λ je vlastním číslem A právě tehdy, má-li soustava (A λi)x = netriviální řešení, tj právě tehdy, je-li A λi singulární, což je z věty 2 ekvivalentní podmínce det(λi A) = Monický polynom χ A(λ) = det(λi A) = ( ) n det(a λi) se nazývá charakteristický polynom matice A (monický znamená, že koeficient u nejvyšší mocniny je roven jedné) Dle předchozího je λ vlastním číslem matice A právě tehdy, je-li χ A(λ) =, tj právě tehdy, je-li λ kořenem charakteristického polynomu Poznamenejme, že polynom s reálnými koeficienty může mít komplexní kořeny, a reálná matice může proto mít komplexní spektrum a komplexní vlastní vektory Protože každý polynom (stupně alespoň jedna) má alespoň jeden kořen, má každá matice aspoň jedno vlastní číslo Pro každou čtvercovou matici tedy existuje alespoň jeden jednodimenzionální podprostor daného vektorového prostoru, který je vůči násobení maticí A invariantní Definice 9 (Resolventa) Uvažujme matici A C n n Funkci R A(λ) (λi A), definovanou pro každé λ C, pro něž existuje inverze matice λi A, nazveme resolventou matice A Z definice 9 plyne, že R A(λ) je definována právě tehdy, pokud λ není vlastním číslem matice A 2 Skalární součin, norma a ortogonalita Nechť V je lineární vektorový prostor nad tělesem reálných či komplexních čísel a nechť označuje jeho nulový vektor Definice (Norma v prostoru nad C) Norma vektoru x V, značeno x, je funkcionál na V splňující pro libovolné vektory x V a y V a pro libovolný skalár α C následující podmínky: x, a x = právě tehdy, když x =, 2 Skalární součin, norma a ortogonalita 7 2 x+y x + y, 3 αx = α x Normu nad tělesem reálných čísel zavedeme zcela analogicky; v definici stačí uvažovat skaláry α R Poznamenejme, že vlastnost v definici se nazývá pozitivní definitnost, nerovnosti 2 se říká trojúhelníková nerovnost a vlastnosti 3 (absolutní) homogenita Definice (Topologická ekvivalence vektorových norem) Nechť α a β jsou normy na daném lineárním vektorovém prostoru V Pokud existují konstanty c a C, < c C, tak, že pak říkáme, že normy α a β jsou topologicky ekvivalentní c x α x β C x α, x V, () Snadno ověříme, že () je relace ekvivalence, tj když označíme ekvivalenci norem jako α β, pak relace ekvivalence je reflexivní ( α α), symetrická ( α β = β α) a tranzitivní ( α β a β γ = α γ) Vydělíme-li obě nerovnosti příslušnými konstantami, x α c x β a C x β x α, dostaneme C x β x α c x β, x V, přičemž < C c Následující větu uvádíme bez důkazu, důkaz je možno nalézt v [65, kapitola 5, str ] Věta 2 Všechny normy na lineárním vektorovém prostoru konečné dimenze jsou ekvivalentní ve smyslu definice Definice 3 (Skalární součin) Skalárním součinem nazveme funkcionál na kartézském součinu V V, který libovolným dvěma vektorům x ay z V přiřazuje číslo x,y C a který splňuje následující požadavky: x,x, a x,x = právě tehdy, když x =, 2 x,y = y,x, 3 λx,y = λ x,y, pro λ C, 4 x+y,z = x,z + y,z, pro z V Vlastnosti v definici 3 se říká pozitivní definitnost, vlastnosti 3 a 4 ukazují, že skalární součin je vždy lineární v první složce Skalární součin definujeme analogicky nad tělesem reálných čísel, tj jako funkcionál, který libovolným dvěma vektorům x a y z V přiřazuje číslo x,y R a splňuje podmínky až 4 v definici 3, kde v podmínce 3 uvažujeme λ R Poznamenejme, že v reálném případě se podmínka 2 změní na x, y = y, x (symetrie) Každý skalární součin indukuje normu x x,x a pro skalární součin s příslušnou indukovanou normou platí Cauchy-Schwarzova nerovnost Věta 4 (Cauchy-Schwarzova nerovnost) Nechť V je lineární vektorový prostor nad tělesem C Dále nechť je dán skalární součin, a norma definovaná vztahem x x,x /2 Potom pro libovolné dva vektory x V a y V platí nerovnost x,y x y () Pro nenulové vektory x a y nastane v () rovnost právě tehdy, jsou-li x a y lineárně závislé Důkaz Je-li alespoň jeden z vektorů nulový, nerovnost platí Mějme tedy dány dva nenulové vektory x a y a uvažujme kvadrát normy vektoru x + τy, kde τ C je volný parametr Platí x+τy 2 = x 2 +τ x,y +τ y,x + τ 2 y 2 (2)
12 8 Kapitola Základní pojmy Protože nerovnost platí pro libovolné τ, musí platit i pro Dosazením v (2) dostaneme τ = x,y y 2 x 2 x,y 2 y 2 x,y 2 y 2 + x,y 2 y 4 y 2 = x 2 x,y 2 y 2, (3) kde jsme využili toho, že čísla x,y a y,x jsou komplexně sdružená, tj x,y = y,x Násobením nerovností (3) s y 2 dostáváme () Jsou-li x a y lineárně nezávislé, potom x+τy, tudíž < x+τy 2 a v () platí ostrá nerovnost Jsou-li x a y lineárně závislé, potom existuje skalár α C takový, že x = αy a x,y = αy,y = α y 2 = αy y = x y 3 Vektorové normy a standardní skalární součin 9 a maximová norma x max ξi (6) i=,,n Tyto normy jsou speciálními případy p-norem definovaných pro obecné p, p, předpisem ( n ) /p x p ξ i p i= Podle věty 2 jsou všechny tyto normy topologicky ekvivalentní Pro, 2 a uvádíme hodnoty konstanty C (viz definice ) v tabulce (viz cvičení 4) p\q 2 n n 2 n Tabulka : Konstanta C taková, že x p C x q Norma umožňuje měřit vzdálenost (definuje metriku) Definice 5 (Vzdálenost vektorů) Vzdálenost mezi vektory x a y z lineárního vektorového prostoru s normou je kladné číslo x y Skalární součin umožňuje měřit úhel Definice 6 (Úhel mezi dvěma vektory) Úhel θ mezi dvěma nenulovými vektory x a y z lineárního vektorového prostoru nad tělesem reálných čísel se skalárním součinem, a příslušnou indukovanou normou je dán vztahem cos(θ) = x,y x y, θ π V lineárním vektorovém prostoru nad tělesem komplexních čísel je vhodné definovat úhel mezi dvěma nenulovými vektory vztahem cos(θ) = x,y x y, θ π 2 Základním pojmem v numerické lineární algebře je pojem ortogonality Definice 7 (Ortogonalita, ortogonální doplněk) Řekneme, že vektory x a y jsou ortogonální (kolmé) vzhledem k danému skalárnímu součinu, pokud platí x, y = Nechť S je podprostor lineárního vektorového prostoru V se skalárním součinem, Ortogonálním doplňkem S rozumíme podprostor S {x V : x,y = pro všechny y S} Poznamenejme, že S je vždy podprostorem prostoru V Platí navíc (S ) = S 3 Vektorové normy a standardní skalární součin Nechť x = [ξ,ξ 2,,ξ n] T C n Mezi tři základní vektorové normy patří jedničková norma euklidovská norma x n ξ i, (4) i= ( n ) /2 x 2 x ξ i 2 i= (5) Obrázek : Jednotkové koule v R 2 pro normy, 2 a Intuitivní představu o jednotlivých normách můžeme získat vykreslením jednotkové koule, tj množiny vektorů {x : x } v reálném dvoudimenzionálním prostoru R 2 Jednotkové koule příslušné ke třem základním normám jsou znázorněny na obrázku Z definice vidíme, že jednotková koule vždy splňuje následující podmínky Jednotková koule obsahuje vektor jako svůj vnitřní bod (vyplývá z pozitivní definitnosti normy) 2 Jednotková koule je konvexní množina, tj pro dva libovolné jednotkové vektory x, y, x = y = a jejich libovolnou konvexní kombinaci z = αx + ( α)y, α, platí z (vyplývá z trojúhelníkové nerovnosti) 3 Jednotková koule je souměrná vzhledem k počátku, neboť x = x (vyplývá z homogenity normy) Je-li obráceně dána konvexní množina K R n souměrná podle počátku, obsahující počátek jako svůj vnitří bod, pak K definuje normu na R n, viz [37, str 65 66] Příklad takové množiny v R 2 je znázorněn na obrázku 2 Definice 8 (Standardní skalární součin na C n ) Standardní (euklidovský) skalární součin komplexních vektorů x = [ξ,ξ 2,,ξ n] T a y = [υ,υ 2,,υ n] T je definován vztahem x,y y x = n υ iξ i i=
13 Kapitola Základní pojmy 4 Projekce a projektory 4 Projekce a projektory Lineární vektorový prostor V je direktním součtem svých podprostorů X a Y, pokud V = X +Y a X Y = {} Píšeme V = X Y Předpokládejme, že X a Y jsou podprostory C n s vlastností Obrázek 2: Nestandardní jednotková koule v R 2 definující normu Není těžké ověřit, že jsou splněny všechny podmínky ve smyslu definice 3 Jsou-li vektory x a y reálné, platí y x = y T x = x T y Euklidovská norma vektoru (5) je indukována standardním skalárním součinem, x = x,x = x x Poznamenejme, že pro libovolnou čtvercovou matici A platí Ax,y = y Ax = (A y) x = x,a y Pomocí definice standardního skalárního součinu můžeme vysvětlit název hermitovsky sdružená matice Pro každý lineární operátor A : V V na lineárním vektorovém prostoru V se skalárním součinem, existuje podle Rieszovy věty [3, 4] jednoznačně určený operátor A s na V, pro který platí Ax,y = x, A sy, x,y V Tento operátor se nazývá operátor hermitovsky sdružený nebo také adjungovaný k operátoru A (zde pojem adjungovaný nemá nic společného s adjungovanou maticí adj(a) uvedenou na straně 4 této kapitoly) Pro prostor C n se standardním skalárním součinem, kde lineární operátor A je reprezentován maticí A a A s je reprezentován maticí A s, plyne y Ax = Ax,y = x, A sy = y A s x, x,y Cn To znamená, že A s = A, tj matice As = A je maticí hermitovsky sdruženou k matici A Uvádíme dva příklady speciálních norem, jejichž definice vychází přirozeným způsobem z formulace řešené úlohy, ve které je potřeba pomocí normy měřit délku vektorů či vzdálenost Nechť A C n n je hermitovská pozitivně definitní matice Pak součin x,y A y Ax (7) definuje skalární součin na C n (cvičení 5) Definujme příslušnou indukovanou normu Normu x A nazveme energetickou normou vektoru x Nechť dále ω i >, i =,,n Normu definovanou vztahem x A = x,x A = x Ax (8) w = [ω,,ω n], ( n ) /2 x w ωi 2 ξ i 2 i= (9) nazveme váženou normou vektoru x Důkaz, že x A a x w jsou normami dle definice, provedeme ve cvičení 6 C n = X Y (2) Ortogonální doplněk Y je zde chápán vzhledem ke standardnímu skalárnímu součinu na C n, tj Y = {v C n : y v = pro všechny y Y} Libovolný vektor w C n můžeme pak psát jako součet w = w X +w Y, (2) kde w X a w Y označují složky v jednotlivých podprostorech Rozklad (2) popisuje projekci vektoru w na podprostor X kolmou k podprostoru Y V následujícím uvedeme definici projektorů pomocí jejich maticového zápisu Nechť je dána libovolná báze podprostoru X a nechť jednotlivé vektory dané báze tvoří sloupce matice X Pak vektor w X můžeme psát jako lineární kombinace sloupců X, w X = Xz, kde vektor z obsahuje koeficienty lineární kombinace Nechť podobně je dána libovolná báze podprostoru Y a nechť jednotlivé vektory dané báze tvoří sloupce matice Y Pak platí Y w Y = Y (w w X) = Y (w Xz) = Tudíž je Y Xz = Y w Za předpokladu, že matice Y X je regulární, platí z = (Y X) Y w, a pak je a w X = X(Y X) Y w w Y = (I X(Y X) Y )w Lemma 9 Matice Y X je regulární právě tehdy, je-li splněna podmínka (2) Důkaz Nechť je splněna podmínka (2) a Y X je singulární Pak existuje nenulový vektor v takový, že Y Xv = Protože Xv X a zároveň Xv Y, podmínka (2) implikuje Xv = To je v rozporu s lineární nezávislostí sloupců matice X Je-li obráceně Y X regulární, pak z rovnosti Y Xv = plyne v = Protože sloupce matice X jsou lineárně nezávislé, to znamená, že X Y = Navíc můžeme libovolný vektor w C n psát jako součet w = X(Y X) Y w+(i X(Y X) Y )w, kde první složka je v X a druhá složka je v Y Tudíž platí (2) Nechť platí (2) a nechť matice P X je definována vztahem P X X(Y X) Y Pak zřejmě P Xw = w X a w P Xw = w Y Vlastnosti platí pro libovolný vektor w C n Zřejmě platí P Xw X, w P Xw Y (22) P 2 X = P X, (I P X) 2 = I P X To znamená, že matice P X představuje projektor na podprostor X kolmo k podprostoru Y a matice Q X I P X představuje projektor na podprostory kolmo k podprostorux (projektor komplementární k projektoru určenému maticí P X) Matice projekce P X závisí pouze na podprostorech X a Y, ne na volbě jejich bází (cvičení 7) Je-li splněna podmínka (2), pak vektor P Xw je jednoznačně určen a projektory definované vlastnostmi (22) jsou jednoznačné Důležitá třída projektorů je třída ortogonálních projektorů Je-li Y = X, pak (2) představuje ortogonální rozklad vektoru w V tomto případě je hermitovská matice P X = X(X X) X jednoznačným ortogonálním projektorem na podprostor X Je-li naopak Y = X, pak rozklad (2) popisuje šikmou projekci
14 2 Kapitola Základní pojmy 5 Vzdálenost vektoru od podprostoru 3 5 Vzdálenost vektoru od podprostoru Nechť je dán podprostor X lineárního vektorového prostoru V se skalárním součinem a dále nechť je dán vektor v V Pro názornost je možné si představit např prostor V = C n se standardním skalárním součinem Naší úlohou v tomto odstavci je určit vzdálenost vektoru v od podprostoru X Definice 22 (Vzdálenost vektoru od podprostoru) Uvažujme lineární vektorový prostor V se skalárním součinem, a normou indukovanou tímto skalárním součinem, =, /2 Vzdáleností vektoru v V od podprostoru X V rozumíme číslo Obrázek 3: Ortogonální projekce v R 2 Vektor P Xw je ortogonální projekcí vektoru w na podprostor X Definice 2 (Ortogonální a šikmý projektor) Nechť pro libovolný vektor w C n platí (22) Je-li Y = X, pak P X je matice ortogonálního projektoru na podprostor X a vektor P Xw nazveme ortogonální projekcí vektoru w na podprostor X Je-li Y X, pak P X je maticí šikmého projektoru na podprostor X kolmo k podprostoru Y a vektor P Xw nazveme šikmou projekcí vektoru w na podprostor X kolmo k podprostoru Y Ortogonální a šikmá projekce v R 2 je znázorněna na obrázcích 3 a 4 δ(v,x) v P Xv, kde P Xv je ortogonální projekce vektoru v na podprostor X Označme w v P Xv a zvolme bázi {x,,x m} podprostoru X Ortogonální projekce P Xv je vektor z X, a lze jej tedy vyjádřit jako lineární kombinaci bázových vektorů, platí m w = v α jx j Z podmínky w X, tj w,x j =, j =,,m, dostáváme systém lineárních algebraických rovnic, ze kterého lze spočíst neznámý vektor koeficientů α j, j= x,x x m,x α = x,x m x m,x m α m v,x v,x m (24) Kvadrát vzdálenosti δ(v,x) pak lze vyjádřit ve tvaru m δ(v,x) 2 = w,w = w,v = v,v α j x j,v, (25) j= Obrázek 4: Šikmá projekce v R 2 Vektor P Xw je šikmou projekcí vektoru w na podprostor X kolmou k podprostoru Y Obecně platí, že matice P 2 = P (tj idempotentní matice) reprezentuje projektor na podprostor generovaný svými sloupci a matice P 2 = P, P = P reprezentuje ortogonální projektor, viz např [26, str 4 44] Pro obecné lineární operátory též definujeme ortogonální zúžení Definice 2 Nechť A : V V je lineární operátor na lineárním vektorovém prostoru V, nechť X je podprostor V a nechť P X je ortogonálním projektorem na X Nechť A X : X V označuje restrikci operátoru A na X, tj operátor A aplikovaný pouze na prvky podprostoru X Pak složený operátor P X A X : X X se nazývá ortogonálním zúžením operátoru A na podprostor X Nechť v předchozí definici je V = C n se standardním skalárním součinem, kde operátor A je reprezentován (ve standardní bázi) maticí A a sloupce matice X tvoří bázi podprostoru X Pak ortogonální zúžení A na podprostor X můžeme maticově napsat (ve standardní bázi) jako zobrazení x X X(X X) X Ax X (23) kde koeficienty α j jsou určeny jako řešení systému (24) Matice systému (24) se nazývá Gramova matice množiny vektorů {x,,x m} Determinant Gramovy matice nazýváme Gramián a značíme jej G(x,,x m) Gramova matice je vždy hermitovská a pozitivně semidefinitní; pozitivně definitní je tehdy a jen tehdy, pokud jsou vektory x,,x m lineárně nezávislé (což je náš případ) Následující věta ukazuje, že vzdálenost vektoru od podprostoru lze vyjádřit pomocí podílu dvou Gramiánů Věta 23 Nechť V je lineární vektorový prostor se skalárním součinem, Pro vzdálenost vektoru v V od podprostoru X V reprezentovaného bází {x,,x m} platí δ(v,x) = ( ) /2 G(x,,x m,v) G(x,,x m) Důkaz Označme matici a vektor pravé strany systému (24) x,x x m,x v,x A =, b = x,x m x m,x m v,x m Koeficienty α j jsou dle Cramerova pravidla dány vztahy α j = det(aj) det(a), (26) kde matice A j vznikla z matice A nahrazením j-tého sloupce vektorem pravé strany b, viz (2)
15 4 Kapitola Základní pojmy Uvažujme nyní Gramovu matici množiny vektorů {x,,x m,v}, x,x x m,x v,x B x,x m x m,x m v,x m x,v x m,v v,v Označme B j matici, jež vznikla z matice B vynecháním posledního řádku a j-tého sloupce Pomocí rozvoje determinantu matice B podle posledního řádku (věta ) dostáváme m det(b) = ( ) m++j x j,v det(b j) + v,v det(b m+) j= m = ( ) m+j x j,v det(b j) + v,v det(a) (27) j= Povšimněme si nyní blízkého vztahu mezi maticemi A j ve vztahu (26) a B j Až na pořadí mají obě matice stejné sloupce Matice se liší umístěním sloupce b Vektor b je j-tým sloupcem matice A j a vždy posledním (m-tým) sloupcem matice B j Matice B j tak vznikne z matice A j pomocí m j záměn sloupců Konkrétněji, je-li P i,k permutační matice, která při násobení zprava zamění i-tý a k-tý sloupec, potom Uvědomíme-li si, že det(p i,k) =, i k, platí B j = A jp j,j+p j+,j+2p m,m S využitím vztahů (26), (27) a (28) dostáváme det(b) det(a) det(b j) = ( ) m j det(a j) (28) m = v,v ( ) m+j x det(bj) j,v det(a), j= m = v,v x det(aj) j,v det(a), j= m = v,v α j x j,v = δ(v,x) 2, j= přičemž v poslední rovnosti jsme použili vztah (25) 6 Matice jako lineární zobrazení Matice A C n m definuje zobrazení z C m do C n, které vektoru x C m přiřazuje vektor Ax C n, A : C m C n, A : x Ax Definice 24 (Obor hodnot, jádro, hodnost, defekt) Pro matici A C n m definujme podprostory R(A) {Ax : x C m } a N(A) {x C m : Ax = } Podprostor R(A) nazveme oborem hodnot matice A (obraz, range), podprostor N(A) jádrem matice A (nulový prostor, null space) Dále definujme hodnost (rank) matice jako dimenzi podprostoru R(A) rank(a) dim(r(a)) Dimenzi podprostoru N(A) budeme nazývat defektem matice A 7 Maticové normy 5 Věta 25 Nechť A C n m Potom platí Důkaz Platí N(A) R(A ) = C m, N(A) R(A ), N(A ) R(A) = C n, C m = R(A ) R(A ) N(A ) R(A) Abychom dokázali první část tvrzení, stačí ukázat, že R(A ) = N(A) Nechť x je libovolný vektor z R(A ) Platí následující ekvivalence x R(A ) pro každé y R(A ) : y,x = pro každé z C n : A z,x = pro každé z C n : z,ax = Ax = x N(A) Druhá část tvrzení N(A ) R(A) = C n a N(A ) R(A) vyplývá z použití prvního tvrzení na matici A Protože R(A) je podprostor všech vektorů Ax a Ax není nic jiného než lineární kombinace sloupců matice A s koeficienty kombinace danými prvky vektoru x, lze R(A) chápat jako podprostor generovaný sloupci matice A, či jako lineární obal sloupců matice A, R(A) = span{a,,a m} Dimenze tohoto podprostoru rank(a) pak udává počet lineárně nezávislých sloupců matice A Věta 26 Nechť A C n m Potom platí rank(a) = rank(a ), tj počet lineárně nezávislých sloupců A je roven počtu lineárně nezávislých řádků A Důkaz Použijeme předchozí tvrzení N(A) R(A ) = C m a N(A) R(A ) Platí dim(r(a)) = dim({ax : x C m }) = dim({ax : x N(A) R(A )}) = dim({a(y +z) : y N(A), z R(A )}) = dim({az : z R(A )}) dim({z : z R(A )}) = dim(r(a )) V odvození jsme použili skutečnost, že dimenze obrazu nějakého podprostoru X je menší nebo rovna dimenzi prostoru X S výměnou role A a A dostaneme obrácenou nerovnost dim(r(a )) dim(r(a)) Z předchozího zřejmě plyne, že 7 Maticové normy m = dim(n(a))+rank(a), n = dim(n(a ))+rank(a ) Odstavec o maticových normách začneme důležitou třídou tzv generovaných norem, které jsou definovány pomocí norem vektorů Jak jsme viděli v odstavci 6, matici A C n m lze chápat jako lineární zobrazení, A : X Y, kde X = C m a Y = C n Uvažujme na prostoru X vektorovou normu X a na prostoru Y vektorovou normu Y
16 6 Kapitola Základní pojmy Definice 27 (Generovaná norma) Funkcionál Ax Y A XY max = max x x X x A x x X = max Y nazýváme maticovou normou generovanou normami X a Y x X= Ax Y Ve cvičení ukážeme, že takto definovaný funkcionál je normou ve smyslu definice Někdy se v definici 27 vyskytuje sup x místo max x ; jelikož předpokládáme X = C m a Y = C n, tedy konečně dimenzionální Hilbertovy prostory, supremum je vždy dosaženo a je možno jej nahradit maximem Uvažujme jednotkovou sféru S {x : x X = } a její obraz pomocí matice A, S A = {Ax : x X = } Číslo A XY udává délku nejdelšího vektoru v množině S A (měřenou normou Y), či poloměr nejmenší koule se středem v počátku, která obsahuje množinu S A Z definice plyne, že číslo A XY splňuje pro každý nenulový vektor x X nerovnost a zároveň že existuje nenulový vektor x takový, že Ax Y x X A XY, tj Ax Y A XY x X (29) Ax Y = A XY x X (3) Takto definované normy matic nelze obecně vypočítat pomocí jednoduchého vzorce Výjimkou jsou případy, kdy v obou prostorech uvažujeme stejné vektorové normy a jedná se o normy, 2 nebo Maticovou normu generovanou vektorovou normou budeme opět označovat pomocí a podobně pro maticové normy 2 a Následující věta dává návod, jak tyto normy matic vypočítat Věta 28 ([37, str 67]) Nechť A C n m Potom platí A = max x = Ax = max j m i= n a ij, A 2 A = max x 2= Ax 2 = ( (A A)) /2, (spektrální norma) m A = max x = Ax = max a ij, kde ( ) označuje spektrální poloměr i n j= Je zřejmé, že obecně A A a A A Pro A 2 však platí A 2 = A 2 (cvičení 4) Následující dvě vlastnosti generovaných norem platí pro čtvercové matice Věta 29 Je-li A čtvercová matice a libovolná generovaná maticová norma, potom platí (A) A a (triviálně) I = Důkaz K důkazu použijeme vlastnosti generovaných norem Ke každému vlastnímu číslu λ matice A existuje alespoň jeden vlastní vektor x takový, že Ax = λx Pro tento vlastní pár platí nerovnost λ x = λx = Ax A x, viz (29) Tudíž je λ A Jinak řečeno, ukázali jsme, že pro každé vlastní číslo je λ A, tj platí i (A) A Další vlastností generovaných maticových norem je tzv multiplikativita neboli konzistence Ačkoliv lze tuto vlastnost generovaných norem dokázat obecně, viz [37, str 7], z důvodů názornosti ukážeme tuto vlastnost pouze pro případ, kdy je k definici generované maticové normy použit pouze jeden druh vektorové normy 7 Maticové normy 7 Věta 3 (Multiplikativita) Nechť je maticová norma generovaná vektorovou normou a nechť A a B jsou libovolné dvě (obecně komplexní) matice, které lze spolu násobit Potom platí AB A B (multiplikativita, konzistence) Důkaz Použijeme-li nerovnost ABx A Bx A B x, dostáváme AB = max ABx A B max x = A B x = x = Poznamenejme, že vlastnost (A) A platí pro libovolnou multiplikativní normu, nejen pro generované normy (cvičení 2) Stejně tak pro libovolnou matici A a libovolnou multiplikativní maticovou normu platí (A) = lim k Ak /k (3) (cvičení 24) Důležitou roli v numerické matematice hraje tzv Frobeniova norma matice Tato norma, jak v tomto odstavci ukážeme, je multiplikativní, ale není generována žádnou vektorovou normou Definice 3 (Frobeniova norma) Nechť A C n m Frobeniova norma matice A je definována vztahem n m A F i= j= a ij 2 Ve cvičení 3 ukážeme, že Frobeniovu normu lze vyjádřit třemi dalšími způsoby, m A F = a j 2 j= /2 n = j= a T i 2 /2 /2 = (trace(a A)) /2, kde a j označuje j-tý sloupec a a T i označuje i-tý řádek matice A a trace(a A) je stopa matice A A (součet diagonálních prvků) Věta 32 Frobeniova norma není obecně generována žádnou normou vektoru Důkaz Stačí si uvědomit, že např pro čtvercové matice řádu n > platí I F = n >, a tudíž podle věty 29 Frobeniova norma není generována žádnou vektorovou normou Přesto je Frobeniova norma multiplikativní (konzistentní) Věta 33 Frobeniova norma je multiplikativní, tj pro libovolné dvě matice A a B, které lze spolu násobit, platí AB F A F B F Navíc platí kde m je počet sloupců matice A Ax 2 A F x 2 a A 2 A F m A 2, Důkaz Označme a T i i-tý řádek matice A a b j j-tý sloupec matice B Platí n m n m n m AB 2 F = a T i b j 2 a i 2 b j 2 = a T i 2 b j 2 = A 2 F B 2 F i= j= i= j= Pomocí Cauchy-Schwarzovy nerovnosti ukážeme, že Ax 2 A F x 2 Pro x = [ξ,,ξ m] T platí n Ax 2 2 = m 2 ( n m m ) a ijξ j a ij 2 ξ l 2 = A 2 F x 2 2 i= j= i= j= i= l= j=
17 8 Kapitola Základní pojmy Protože je 2 generovaná maticová norma, existuje nenulový vektor y takový, že A 2 y 2 = Ay 2 A F y 2 Vykrátíme-li y 2, dostaneme nerovnost A 2 A F Zbývá ukázat poslední nerovnost A F m A 2 Pro kvadrát A F platí A 2 F = m j= Ae j 2 2 m max j=,,m Aej 2 2 m max x 2= Ax 2 2 = m A 2 2, kde Ae j a j je j-tý sloupec matice A Odmocněním získáme výsledek Někdy se maticovou normou nazývá funkcionál, který splňuje vlastnosti normy a zároveň navíc i vlastnost multiplikativity, AB A B Generované normy i Frobeniova norma jsou tedy maticovými normami i podle této definice Uvědomme si, že tvrzení věty 2 o topologické ekvivalenci norem se vztahuje i na maticové normy, a to jak na normy generované, tak na Frobeniovu normu Ve cvičení 5 se odvodí konstanty ekvivalence pro vybrané maticové normy Poznámka 34 Zde je na místě zdůraznit zásadní rozdíl mezi abstraktním matematickým pojetím normy a jejím významem při maticových výpočtech Topologická ekvivalence norem naprosto neznamená, že je jedno, jakou normu používáme při formulaci úlohy či při kvantifikaci numerického postupu či výsledku! Dalším pojmem spojeným s maticovými normami, je číslo podmíněnosti Definice 35 (Číslo podmíněnosti) Nechť A je čtvercová regulární matice a libovolná norma Číslo podmíněnosti κ(a) vzhledem k normě definujeme jako κ(a) A A Je-li uvažovaná maticová norma generovaná norma, potom platí = I = AA A A = κ(a) Číslu podmíněnosti se budeme podrobněji věnovat v kapitole o singulárním rozkladu Na závěr tohoto odstavce uvedeme užitečné vztahy pro resolventu (λi A) matice A Potřebujeme k tomu větu o resolventě (viz definice 9) Věta 36 Resolventa R A(λ) (λi A) matice A je pro λ > (A) dána řadou R A(λ) = λ j= ( ) j A (32) λ Důkaz Položme X = λa Prostým výpočtem dostaneme pro každé přirozené číslo k k X j (I X) = I X k+ (33) j= Z předpokladu λ > (A) plyne (X) <, z čehož plyne lim k Xk+ =, a tedy řada na levé straně (33) konverguje (pro k jdoucí k nekonečnu) k jednotkové matici Matice I X je navíc regulární Kdyby existoval nenulový vektor z, pro který (I X)z =, pak z = Xz a (X) Proto můžeme psát (I X) = X j Zpětným dosazením za X a využitím definice resolventy dostáváme tvrzení věty j= 7 Maticové normy 9 Nekonečný součet X j, j= kde X je čtvercová matice se nazývá Neumannova řada Matici R A() = (I A) můžeme pro ρ(a) < psát jako Neumannovu řadu (I A) = I +A+A 2 + Lemma 37 Nechť A je čtvercová matice a je multiplikativní maticová norma Je-li A <, pak je matice I A regulární a platí (I A) A, (I A) I A A (34) Důkaz Regularita je důsledkem nerovnosti ρ(a) A < Nyní si uvědomme, že platí (I A) = k A j + j= j=k+ A j = k A j +A k+ A j = j= j= k A j +A k+ (I A) Přejdeme-li na obou stranách maticové identity k normám, dostáváme s využitím trojúhelníkové nerovnosti a multiplikativity normy nerovnost k (I A) A j + A k+ (I A) j= Limitním přechodem pro k obdržíme nerovnost (I A) A j = j= j= A K důkazu druhé nerovnosti použijeme vztah (I A) I = A j = A A j = A(I A) Přejdeme-li na obou stranách k normám, dostáváme s využitím první nerovnosti j= j= (I A) I = A(I A) A (I A) A A Věta 38 Nechť A a E jsou čtvercové matice téhož řádu, A je regulární a je multiplikativní maticová norma Je-li A E ε <, pak A+E je regulární a platí (A+E) A A 2 E ε Důkaz Podle lemmatu 37 je I +A E regulární a proto je i matice A(I +A E) = A+E regulární Jelikož platí (A+E) A = (A(I +A E)) A = ((I +A E) I)A, plyne z multiplikativity maticové normy nerovnost (A+E) A A (I +A E) I Omezíme-li (I +A E) I pomocí druhé nerovnosti v (34), dostáváme (A+E) A A A E A E A 2 E ε V dalším textu budeme hojně používat především euklidovskou normu vektoru 2, spektrální normu matice 2 a Frobeniovu normu matice F Pokud nebude hrozit nedorozumění, budeme psát místo 2 pouze
18 2 Kapitola Základní pojmy 8 Jordanova věta V závěrečném odstavci uvedeme několik pojmů ze spektrální teorie matic Uvažujme čtvercovou matici A C n n Definice 39 (Podobnost) Řekneme, že matice A je podobná matici B C n n, značeno A B, pokud existuje regulární matice S C n n taková, že A = S BS Nechť λ je vlastním číslem matice A a x je příslušný vlastní vektor, tj Ax = λx, x a nechť A B Potom platí S BSx = λx, BSx = λsx, tj podobné matice mají stejná vlastní čísla a vlastní vektory y matice B jsou svázány s vlastními vektory x matice A vztahem y = Sx Neplatí však opačné tvrzení, že matice se stejným spektrem musí být podobné Protipříklad nám dává jednotková matice [ ], která je podobná jen sama sobě Matice [ ], má však stejné spektrum jako jednotková matice Z definice můžeme ověřit, že podobnost je relací ekvivalence, která rozloží prostor všech čtvercových matic na třídy ekvivalence V následujícím textu popíšeme důležitého reprezentanta třídy podobných matic Definice 4 (Jordanův kanonický tvar) Nechť λ je komplexní číslo a m přirozené číslo Jordanovým blokem J m(λ) budeme nazývat čtvercovou matici řádu m, λ J m(λ) = λ λ Říkáme, že matice je v Jordanově kanonickém tvaru, je-li blokově diagonální a každý její diagonální blok je Jordanův blok (čísla λ i nemusí být navzájem různá) J n (λ ) J n2 (λ 2) J = Jnr(λr) Věta 4 (Jordan, [37, str 38]) Každá matice A C n n je podobná matici v Jordanově kanonickém tvaru Matice J je určena jednoznačně až na pořadí bloků Jordanova věta nám dává informaci o struktuře invariantních podprostorů Z Jordanovy věty vyplývá, že pro danou matici A C n n existuje regulární matice S taková, že platí A = SJS, AS = SJ Uvažujme dělení matice S na bloky S,,S r, S j C n nj, j =,,r, Potom pro každý blok S j platí Rozdělme si matici S j na jednotlivé sloupce, S = [S,,S r] AS j = S jj nj (λ j) (35) S j = [s (j),,s(j)] nj 8 Jordanova věta 2 a rozepišme (35) po sloupcích As (j) = λ js (j) As (j) 2 = λ js (j) 2 +s (j) (36) As (j) nj = λ js (j) nj +s(j) nj Vektor s (j) je vlastním vektorem příslušným k vlastnímu číslu λ j matice A Ostatní vektory se nazývají zobecněné vlastní vektory matice A Matice A má právě r vlastních vektorů, kde r je počet Jordanových bloků v J Jinak řečeno, každému Jordanovu bloku přísluší právě jeden vlastní vektor Počet navzájem různých vlastních čísel je nejvýše r Počet navzájem různých vlastních čísel je menší než r, pokud nějakému vlastnímu číslu přísluší více než jeden Jordanův blok Libovolná lineární kombinace vektorůs (j),,s(j) nj násobená maticíaleží opět v prostoruspan{s (j),,s(j) To znamená, že podprostor generovaný sloupci matices j tvoří invariantní podprostor maticea Přejdemeli od standardní báze k bázi S, dostaneme rozklad celého prostoru C n na invariantní podprostory Uvedeme nyní další pojmy spojené s Jordanovým tvarem Definice 42 (Algebraická a geometrická násobnost vlastních čísel) Nechť χ A(λ) = (λ µ ) α (λ µ k) αk je charakteristický polynom matice A, kde µ,,µ k jsou navzájem různá vlastní čísla Číslo α i nazveme algebraickou násobností vlastního čísla µ i Geometrická násobnost vlastního čísla µ i je počet Jordanových bloků příslušných k vlastnímu číslu µ i Algebraická násobnost odpovídá součtu velikostí Jordanových bloků příslušných k vlastnímu číslu µ i Geometrická násobnost odpovídá počtu lineárně nezávislých vlastních vektorů příslušných k vlastnímu číslu µ i Geometrickou násobnost lze tedy též definovat jako dim(n(a µ ii)) Matice A se nazývá derogatory, pokud má alespoň jedno vlastní číslo s geometrickou násobností větší než jedna A naopak, matice A se nazývá nonderogatory, pokud každé vlastní číslo má geometrickou násobnost rovnou jedné (každému vlastnímu číslu přísluší právě jeden Jordanův blok) Matice A se nazývá defektní, pokud existuje aspoň jeden Jordanův blok J ni (λ i), pro který n i > Matici, která není defektní, se říká matice diagonalizovatelná nebo také jednoduchá Jednoduché vlastní číslo je vlastní číslo s algebraickou násobností Vlastní číslo, které není jednoduché, je násobné vlastní číslo Pomocí Jordanovy věty můžeme dokázat Caley-Hamiltonovu větu Věta 43 (Caley, Hamilton) Každá matice je kořenem svého charakteristického polynomu Důkaz Pro charakteristický polynom platí χ A(λ) = (λ λ ) n (λ λ r) nr χ A(A) = (A λ I) n (A λ ri) nr = (SJS λ SS ) n (SJS λ rss ) nr = S(J λ I) n (J λ ri) nr S = SBS, kde B je blokově diagonální matice s r bloky B j velikosti n j na diagonále, B j = (J nj (λ j) λ I) n (J nj (λ j) λ ri) nr Víme, že každý blok B j obsahuje činitel (J nj (λ j) λ ji) nj = tj B j = pro každé j =,,r Z toho plyne, že χ A(A) = nj =, nj }
19 22 Kapitola Základní pojmy Z předchozího důkazu je vidět, že pokud jsou vlastní čísla λ,,λ r navzájem různá, je χ A(λ) polynom minimálního stupně, který anihiluje matici A (polynom p(λ) anihiluje matici A, pokud platí p(a) = ) Pokud λ,,λ r nejsou navzájem různá, existuje polynom nižšího stupně s touto vlastností Definice 44 (Minimální polynom) Polynom ψ A(λ) nejmenšího stupně takový, že ψ A(A) =, nazveme minimálním polynomem matice A Nechť opět µ,,µ k jsou navzájem různá vlastní čísla matice A Z předchozího důkazu plyne, že pro Jordanův blok J nj (λ j) λ ji = J nj () platí J nj () l =, l n j Definujeme-li τ i jako rozměr největšího Jordanova bloku příslušného k vlastnímu číslu µ i = λ j, pak (λ µ i) τi anihiluje všechny bloky B j takové, že µ i = λ j (vynulujeme-li největší bloky, vynulujeme tím i všechny menší bloky se stejným vlastním číslem) Proto lze ψ A(λ) psát ve tvaru ψ A(λ) = (λ µ ) τ (λ µ k) τk Matice A je nonderogatory právě tehdy, když různé Jordanovy bloky odpovídají navzájem různým vlastním číslům Platí tedy, že charakteristický a minimální polynom matice jsou totožné, χ A(A) = ψ A(A), tehdy a jen tehdy, je-li matice A nonderogatory Pro matici A jsme našli polynom p minimálního stupně takový, že p(a) = Nyní si můžeme položit opačnou otázku Existuje ke každému polynomu p matice A taková, že p je charakteristickým a zároveň minimálním polynomem matice A? Definice 45 (Companion matice) Uvažujme polynom p ve tvaru a definujme matici p(λ) = λ n +a n λ n + +a λ+a a A = an 2 a n Matici A nazveme companion maticí (přidruženou maticí) k polynomu p Věta 46 Nechť A je companion matice k danému polynomu p Potom je p charakteristickým i minimálním polynomem matice A Důkaz Rozvojem determinantu dle posledního sloupce lze ukázat (cvičení 22), že platí det(λi A) = p(λ), tj p je charakteristickým polynomem matice A a dle Caley-Hamiltonovy věty platí p(a) = Ukažme nyní, že p je i minimálním polynomem matice A Podle předchozích úvah stačí ukázat, že matice A je nonderogatory Nechť je dáno libovolné vlastní číslo λ a nechť x = [ξ,,ξ n] T je libovolný příslušný vlastní vektor Rozepsáním vektorové rovnice Ax = λx po prvcích dostáváme λξ = a ξ n, ξ = λξ 2 +a ξ n, = ξ n 2 = λξ n +a n 2ξ n, ξ n = (λ+a n )ξ n 8 Jordanova věta 23 Volbou nenulového prvního elementu ξ určíme ostatní elementy ξ n,ξ 2,,ξ n (všimněme si, že pro λ = je a = a máme systém n rovnic Pro λ máme pro určení ξ n,ξ 2,,ξ n jednu rovnici navíc, která je automaticky splněná vzhledem ke vztahu koeficientů a kořenů polynomu) Vlastní vektor je určen až na násobení nenulovým skalárem (až na normalizaci) Pro každé vlastní číslo tedy existuje právě jeden lineárně nezávislý vlastní vektor, tj matice A je nonderogatory Vidíme, že problém hledání vlastních čísel lze převést na problém hledání kořenů polynomu a naopak CVIČENÍ Ukažte pomocí věty 4, že pro vektory x, y, x = y platí x,y = x y právě tehdy, když x = y 2 Ukažte, že euklidovský skalární součin x,y = y x je skalárním součinem dle definice 3 3 Ukažte, že vektorové normy, 2, jsou normami dle definice 4 Ukažte, že pro libovolný vektor x C n platí mezi vektorovými normami, 2 a nerovnosti uvedené v tabulce, tj ukažte, že platí x x 2 x, x n x 2, x n x a x 2 n x 5 Ukažte, že součin y Ax pro hermitovskou, pozitivně definitní matici A, viz (7), je skalárním součinem dle definice 3 6 Ukažte, že energetická a vážená norma (8) a (9) jsou normami dle definice 7 Nechť je dána báze podprostoru X C n a nechť sloupce matice X jsou jednotlivé vektory dané báze Podobně nechť je dána libovolná báze podprostoru Y C n a nechť sloupce matice Y jsou jednotlivé vektory dané báze Pak můžeme projektor na podprostor X kolmý k podprostoru Y maticově zapsat jako P X = X(Y X) Y Ukažte, že matice P X nezávisí na volbě bází X a Y 8 Nechť sloupce matice X jsou lineárně nezávislé Ukažte, že matice X X je regulární 9 Nechť je dána báze podprostoru X C n a nechť sloupce matice X jsou jednotlivé vektory dané báze Ukažte, že jsou-li sloupce matice X navzájem ortonormální, pak ortogonální projektor na podprostor X má tvar P X = XX Ukažte, že je-li podprostor X m-dimenzionální, pak ortogonální projektor P X můžeme vyjádřit jako součet m projekcí na podprostory generované jednotlivými sloupci matice X Dokažte následující tvrzení: Soustava lineárních rovnic Ax = b má řešení tehdy a jen tehdy, když b R(A) 2 Soustava lineárních rovnic Ax = b má právě jedno řešení tehdy a jen tehdy, když b R(A) a N(A) = {} 3 Čtvercová matice A je regulární tehdy a jen tehdy, když N(A) = {} Ukažte, že generovaná maticová norma XY (definice 27) je norma dle definice 2 Pro čtvercové matice A C n n definujme funkci A M vztahem A M max a i,j i,j Ověřte, že takto definovaná funkce je normou ve smyslu definice Pomocí protipříkladu ukažte, že tato norma není multiplikativní
20 24 Kapitola Základní pojmy 3 Nechť A C n m Ukažte, že pro Frobeniovu normu matice A platí m A F = a j 2 j= /2 ( n ) /2 = a T i 2 = (trace(a A)) /2, kde a j označuje j-tý sloupec matice A a a T i označuje i-tý řádek matice A i= 4 Nechť A C n m Ukažte, že platí A 2 = A 2 5 Nechť A C n m Ukažte, že platí následující nerovnosti, které dokazují topologické ekvivalence příslušných maticových norem: n A A 2 m A, m A A 2 n A 6 Uvažujme prostor všech čtvercových matic Ukažte, že funkce A,B trace(b T A) je skalárním součinem dle definice 3 Dále ukažte, že pro takto definovaný skalární součin platí A F = A,A /2 7 Ukažte, že prostor R n n sym = {M Rn n : M T = M} všech reálných symetrických matic a prostor R n n antisym = {M Rn n : M T = M} všech reálných antisymetrických matic jsou navzájem ortogonální vzhledem ke skalárnímu součinu A,B trace(b A) definovaném ve cvičení 6 8 Ověřte, že pro libovolnou vektorovou normu definovanou na prostoru C n a libovolnou regulární matici G C n n je x G G Gx (37) vektorová norma 9 Ověřte, že pro libovolnou multiplikativní maticovou normu definovanou na prostoru C n n (viz věta 3) a libovolnou regulární matici G C n n je 8 Jordanova věta 25 2 Ukažte, že vlastnost (A) A platí pro libovolnou multiplikativní maticovou normu (nejen pro generované maticové normy) 22 Ukažte, že pro companion matici k polynomu p platí vztah p(λ) = det(λi A) 23 Ukažte, že pro libovolnou matici A C n n platí: lim k Ak = λ < pro všechna λ sp(a) 24* Ukažte, že pro libovolnou matici A C n n a libovolnou multiplikativní maticovou normu platí: lim k Ak /k = (A) 25 Nechť A a B jsou čtvercové matice téhož řádu, potom platí det(ab) = det(a) det(b), viz [37, str 25] Využijte tuto rovnost a Jordanovu větu pro důkaz toho, že determinant matice A je dán součinem vlastních čísel matice A, det(a) = λ λ sp(a) 26* Uvažujme A C n m, B C m n a λ Rozviňte determinant matice [ ] λi A B λi dvěma způsoby tak, abyste ukázali, že charakteristické polynomy AB a BA se rovnají, až na násobek mocniny λ 27* Obdobně jako ve cvičení 26 dokažte, že determinanty matic I AB a I BA se rovnají, tzv Sylvestrovu větu 28 Nechť A je čtvercová matice a p(λ) je libovolný polynom Ukažte, že vlastní čísla p(a) jsou p(λ i), kde λ i jsou vlastní čísla A A G G GAG (38) multiplikativní maticová norma Ověřte dále, že je-li navíc maticová norma generovaná vektorovou normou, pak norma G G je generovaná vektorovou normou G G definovanou ve cvičení 8 2 Určete vlastní čísla, jejich geometrickou a algebraickou násobnost, charakteristický a minimální polynom matice A =
21 26 Kapitola Základní pojmy KAPITOLA 2 Schurova věta Řešíme-li matematickou úlohu, je často velmi vhodné hledat její ekvivalentní formulaci tak, aby se řešení úlohy podstatně zjednodušilo či se stalo zjevným Řešení úlohy pak spočívá v nalezení vhodné transformace úlohy Schurova věta je ilustrativním příkladem Svojí matematickou elegancí zároveň Schurova věta ukazuje velmi důležitý fakt Ač může být důkaz existence hledané transformace velmi snadný, její konstrukce jakož i související numerický výpočet mohou být velmi obtížné či dokonce nemožné (v případě Schurovy věty lze např dokázat, že přesné řešení nelze numericky nalézt pro obecná data v konečném čase) 2 Schurova věta Uvažujme matici A C n n a úlohu nalezení jejího spektra Z předchozí kapitoly víme, že pokud je matice B podobná matici A, má stejná vlastní čísla (dokonce stejný Jordanův tvar; připomínáme, že Jordanův kanonický tvar byl zaveden s jedničkami na vedlejší diagonále) Můžeme se proto pokusit nalézt takovou podobnostní transformaci matice A (tedy takovou změnu báze), aby podobná matice B, B = S AS, byla ve tvaru, ze kterého je již možné určit její spektrum bez dalšího výpočtu Při našich úvahách si musíme být vědomi skutečnosti, že v praktických úlohách jsou vstupní data zatížena chybami Představíme-li si, žeaobsahuje kromě původních datârelevantních dané úloze rovněž chyby reprezentované maticí chyb E, pak ve skutečnosti (i kdyby všechny další výpočty byly provedeny přesně) hledáme podobnostní transformaci B = S AS = S (Â+E)S = S ÂS +S ES, tj B je podobná původní matici  až na transformovanou matici chyb S ES Její normu pro jednoduchost charakterizujeme odhadem S ES κ(s) E Je-liκ(S) = S S, může podobnostní transformace výrazně zvětšit chyby obsažené ve vstupních datech Zdálo by se, že vzhledem ke stejnému možnému odhadu pro normu transformované matice původních dat S ÂS κ(s)  se vlastně nic neděje, neboť relativní podíl odhadů κ(s) E E = κ(s)   zůstává stejný jako podíl norem matice chyb a matice relevantních dat Vzhledem k tomu, že jde pouze o odhady, nemáme však žádnou záruku, že transformovaná relevantní data a transformované chyby zůstávají zhruba ve stejném poměru jako před transformací Může se stát, že při κ(s) dojde k výraznému zvětšení chyb na úkor vlastních dat vypovídajících o dané úloze Vlastní čísla matice B 27
22 28 Kapitola 2 Schurova věta se v takovém případě mohou lišit od vlastních čísel matice  mnohem podstatněji, než by odpovídalo původním chybám dat E Vidíme, že je velice důležité používat pouze takové podobnostní transformace, které velikosti chyb výrazně nezvětší Příkladem takových transformací jsou unitární transformace Definice 2 (Unitární matice a transformace) Řekneme, že čtvercová matice U je unitární, jestliže U U = UU = I, kde I je jednotková matice Unitární transformace jsou transformace realizované unitárními maticemi Je-li matice  + E podobnostně transformována pomocí unitární matice S, potom platí, že je norma transformované matice chyb rovna normě matice chyb, S ES = S ES = E, přičemž S ÂS = S ÂS =  (cvičení 29; analogické vlastnosti platí v každé unitárně invariantní normě) Vzhledem k základnímu požadavku, že výpočetní postup by neměl zvyšovat neurčitost výsledku nad neurčitost vstupních dat, viz [7], lze učinit závěr, že bychom se v našich snahách měli pokud možno omezit na unitární transformace Přesněji řečeno, v našich úvahách pak budou vystupovat matice S, pro které κ(s) = S S = Jak uvidíme v kapitole o singulárním rozkladu, κ(s) = nastává tehdy a jen tehdy, je-li S skalárním násobkem unitární matice V našem dalším postupu směrem k Schurově větě se proto bez újmy na obecnosti můžeme omezit na unitární transformace V odstavci 8 jsme si připomněli Jordanovu větu, která nám říká, že existuje podobnostní transformace převádějící libovolnou matici A na matici B v Jordanově tvaru Z Jordanova tvaru lze již odečíst všechna vlastní čísla Je zde však jeden podstatný praktický problém Transformace na Jordanův tvar může být (v závislosti na vlastnostech matice A) velmi špatně podmíněna, viz [2] Uvědomme si však, že matice vyjevující vlastní čísla nemusí nutně být v Jordanově tvaru Plně postačí, když B bude např v horním či dolním trojúhelníkovém tvaru Dále se omezíme pouze na horní trojúhelníkový tvar, tj na matice B takové, že platí B = [b i,j], b i,j =, i > j, i,j =,,n Potom bude diagonála matice B tvořena vlastními čísly matice B a zárověň i matice A Předepisujeme tedy n(n )/2 podmínek na nulovost všech poddiagonálních prvků Pokud bychom se kterékoliv z těchto podmínek vzdali, pak není zaručeno, že vlastní čísla matice jsou rovna jejím diagonálním prvkům b,,,b n,n Z toho vyplývá, že od žádné z výše uvedených n(n )/2 podmínek nemůžeme obecně ustoupit Naopak je zbytečné požadovat jakékoli podmínky další Shrnuto, máme dva požadavky, které námi hledané podobnostní transformace musí zároveň splňovat První vymezuje minimální požadavek, za kterého nám transformace dá řešení problému Druhý omezuje třídu použitelných transformací Transformace musí vynulovat všechny prvky matice pod její hlavní diagonálou, musí tedy splnit (nejméně) n(n )/2 podmínek 2 Transformace nesmí zvýšit neurčitost výsledku nad neurčitost obsaženou v původních datech, což je možné ve výše popsaném smyslu splnit omezením se na unitární podobnostní transformace Zbývá tedy zodpovědět otázku, zda lze obecnou matici transformovat pomocí unitárních podobnostních transformací na matici v horním trojúhelníkovém tvaru Pokud by byla odpověď záporná, pak bychom museli v jednom z bodů ustoupit, což by přineslo v každém případě výpočetní komplikace Následující věta má fundamentální význam, neboť otevírá cestu k hledání metody pro řešení problému vlastních čísel numericky stabilním způsobem Pojem numerické stability bude podrobně rozebrán v druhém dílu skript Zde nám stačí porozumění, že numericky stabilní výpočet nezvýší významně neurčitost výsledku nad neurčitost původních dat, přičemž příspěvkem k nestabilitě je jak zesílení chyb obsažených ve vstupních datech, tak jím jsou numerické chyby při provádění aritmetických operací a jejich zesílení v průběhu výpočtu 2 Schurova věta 29 Věta 22 (Schur) Pro libovolnou čtvercovou matici A existuje unitární matice U tak, že matice R = U AU (2) je horní trojúhelníková s vlastními čísly matice A na diagonále v libovolném předepsaném pořadí Důkaz Důkaz provedeme indukcí podle řádu matice A Pro matice řádu je platnost tvrzení zřejmá Předpokládejme, že tvrzení věty platí pro všechny matice do řádu n včetně Nechť A C (n+) (n+), nechť je dáno uspořádání vlastních čísel matice A Označme λ první vlastní číslo v tomto uspořádání, nechť x je odpovídající normalizovaný vlastní vektor, Ax = λx, x = Doplňme x na čtvercovou unitární matici, H = [x,x], kde x C n+ a X C (n+) n Protože je H unitární, platí X x =, X X = I Aplikujeme-li na matici A podobnostní transformaci danou maticí H, dostáváme [ ] [ ] H x AH = Ax x AX λ b X Ax X =, AX C neboť x Ax = λx x = λ a X Ax = λx x je nulový vektor Výsledkem transformace je blokově horní trojúhelníková matice se čtvercovými diagonálními bloky Proto sp(a) = {λ} sp(c) (cvičení 23) Podle indukčního předpokladu existuje unitární matice V taková, že V CV je horní trojúhelníková matice s vlastními čísly na diagonále v předepsaném pořadí Položíme-li pak je hledaný rozklad U = [x,xv] = H [ V [ ][ ][ R = U λ b AU = V C V Definice 23 (Schurův rozklad, Schurova transformace) Rozklad A = URU ], ] [ λ b = V V CV z věty 22 budeme nazývat Schurovým rozkladem matice A Matici R nazveme výsledkem Schurovy transformace matice A Je zřejmé, že Schurův rozklad A = URU závisí na uspořádání vlastních čísel na hlavní diagonále horní trojúhelníkové matice R Uvažujme např Schurův rozklad horní trojúhelníkové matice, 2 = U 2 2 U T, (22) 3 3 kde U = 2 2 je zvolená unitární matice Schurovy transformace Původní matice je Schurovým rozkladem sama sobě (s uspořádáním vlastních čísel {, 2, 3}), ale její Schurův rozklad s uspořádáním vlastních čísel {2,, 3} má tvar (22) Schurův rozklad není jednoznačný, ani když předepíšeme uspořádání vlastních čísel Stačí si uvědomit, že platí A = URU = (UD)(D RD)(UD), kde D je libovolná diagonální unitární matice, D = diag(e iα,,e iαn ), α j < 2π, j =,,n Položme si nyní otázku, zda lze Schurův rozklad vypočítat konečným algoritmem (např typu Gaussovy eliminace) Na konci odstavce 8 jsme ukázali, že problém hledání vlastních čísel matice lze převést ]
23 3 Kapitola 2 Schurova věta na problém hledání kořenů polynomu Vlastní čísla matice lze nalézt jako kořeny jejího charakteristického polynomu a naopak, pro každý polynom existuje jeho přidružená (companion) matice taková, že její vlastní čísla jsou rovna kořenům daného polynomu Algoritmy implementované na počítači využívají (použijeme-li jisté úrovně matematické abstrakce) základní aritmetické operace +,,, / a Výpočet pomocí jakéhokoliv konečného algoritmu lze tedy vyjádřit jako vzorec složený z daných operací, kam jsou dosazena vstupní data, a který dá jako výsledek požadovaný výstup Naši otázku po existenci konečného počítačového algoritmu realizujícího pro obecná data Schurův rozklad můžeme tedy formulovat jako otázku, zda existuje vzorec, který pro obecný polynom libovolného řádu určí s použitím +,,, / a jeho kořeny Odpověď byla dána v roce 824 norským matematikem Abelem a nezávisle rovněž v roce 83 francouzským matematikem Galoisem Známá Abel-Galoisova věta říká: Věta 24 (Abel, Galois) Obecná polynomiální rovnice n-tého stupně není pro n 5 řešitelná v radikálech Řešitelnost v radikálech zahrnuje použití odmocnin libovolného celočíselného stupně, viz např [44, odstavec 265]; velice pěknou diskusi na dané téma lze nalézt v odstavci 23 textu [8] Z předchozí věty tedy plyne, že vlastní čísla matice řádu n 5 nelze obecně na počítači spočíst v konečném počtu kroků Následkem toho nelze ani Schurův rozklad, který nám dává informaci o všech vlastních číslech, obecně vypočítat konečným algoritmem Důsledky zjištěného faktu jsou fundamentální Existují-li v numerické lineární algebře úlohy, které principiálně nelze řešit v konečném počtu kroků, pak musíme přijmout následující důsledek téměř filosofického významu: Cílem numerické lineární algebry nemůže být, ani za předpokladu přesného provádění všech výpočtů, dosažení přesných řešení Na rozdíl od sčítání řad v matematické analýze, kde nekonečná řada může mít konečný součet, doba provádění numerického algoritmu je dána (v určitém zjednodušení) součtem dob provádění příslušných elementárních operací, které jsou vždy omezeny zdola kladnou hodnotou Je zřejmé, že při řešení úloh, jako je například výpočet vlastních čísel matic, je nezbytné výpočet zastavit v konečném čase, a výsledkem může principiálně být pouze aproximace hledaného řešení 22 Důsledky Schurovy věty Uvedeme několik důsledků Schurovy věty První z nich se týká třídy normálních matic Definice 25 (Normální matice) Čtvercová matice A se nazývá normální, komutuje-li se svojí maticí hermitovsky sdruženou, tj platí-li A A = AA V kapitole, odstavec 3 jsme připomněli, že definice hermitovsky sdružené čtvercové matice odpovídá pojmu sdruženého operátoru na odpovídajícím lineárním vektorovém prostoru se skalárním součinem Skalární součin přináší pojem ortogonality a umožňuje určit normu a vzdálenost Fakt, že normální matice komutuje se svojí maticí hermitovsky sdruženou, tedy musí mít vztah ke geometrickým vlastnostem vnitřní struktury dané matice To lze ukázat na jejím spektrálním rozkladu; spektrálním rozkladem rozumíme rozklad, kde je odpovídající matice podobnostní transformace dána maticí vlastních vektorů s možným nenulovým škálováním po sloupcích Schurův rozklad není obecně spektrálním rozkladem Věta 26 (Spektrální rozklad pro normální matice) Matice A je normální právě tehdy, když existuje unitární matice U a diagonální matice D tak, že U AU = D, neboli A = UDU Důkaz Je zřejmé, že pro libovolnou matici A = UDU, kde UU = U U = I a D je diagonální matice, platí AA = UDU UD U = UDD U = UD DU = UD U UDU = A A, tj A je normální Zbývá ukázat, že pro každou normální matici daný rozklad existuje 22 Důsledky Schurovy věty 3 Použijeme indukci podle řádu matice A Nechť tvrzení o spektrálním rozkladu normálních matic platí pro matice řádu n Ukážeme, že platí i pro matice A C (n+) (n+) Dle Schurovy věty existuje unitární matice V a horní trojúhelníková matice R tak, že A = VRV, tj A = VR V Přepíšeme-li podmínku normality A A = AA s využitím Schurova rozkladu, dostáváme VRV VR V = VR V VRV, tj RR = R R, tedy R je rovněž normální matice Označme [ ] ρ r T R =, R kde ρ C, r C n, R C n n Potom můžeme přepsat maticovou rovnost RR = R R ve tvaru [ ][ ] [ ][ ] ρ r T ρ ρ ρ r T R r R = r R R Vyjádříme-li na pravé a levé straně rovnosti prvek na pozici (,) dostáváme ρ 2 + r 2 = ρ 2, z čehož plyne, že vektor r je nulový Srovnáním prvků na pozici (2,2) dostaneme R R = R R, čili matice R je normální Podle indukčního předpokladu existuje unitární matice V tak, že V R V je diagonální matice D Matici R lze tedy napsat ve tvaru [ [ ][ ρ ρ Označíme-li zřejmě platí R = R což dává hledaný rozklad ] = [ ρ V D V U V A = VRV = V ] = V D [ ] [ ] ρ, D, V D ][ ] V [ ][ ][ ] ρ V D V V = UDU, Z předchozího vyplývá, že matice A je normální právě tehdy, pokud existují unitární matice U a diagonální matice D tak, že AU = UD Označme D = diag(λ,,λ n) Rozepíšeme-li maticovou rovnost po sloupcích, dostaneme Au j = λ ju j, j =,,n Sloupce matice U jsou normalizované vlastní vektory matice A a prvky na diagonále matice D jsou vlastní čísla matice A Můžeme tedy formulovat následující větu Věta 27 (Vlastnosti spektrálního rozkladu normální matice) Matice A C n n je normální právě tehdy, pokud existuje ortogonální báze prostoru C n složená z vlastních vektorů matice A Využijeme-li toho, že součin dvou matic lze zapsat pomocí vnějšího součinu (viz kapitola, str 2), lze spektrální rozklad normální matice A psát ve tvaru A = UDU = n λ iu iu i, (23) i=
24 32 Kapitola 2 Schurova věta kde u,,u n jsou sloupce unitární matice U C n n sestavené z normalizovaných vlastních vektorů matice A Danému rozkladu se říká dyadický rozklad (rozvoj) normální matice A V dyadickém rozkladu (či rozvoji) normální matice lze s výhodou uspořádat jednotlivé maticové sčítance podle velikosti jejich norem daných absolutními hodnotami příslušných vlastních čísel Z definice spektrální normy platí λ iu iu i = λi, Pro Frobeniovu normu normální matice platí A 2 F = i =,,n n λ i 2 (24) (cvičení 2) Důležité třídy normálních matic představují matice unitární a hermitovské Schurova věta nám umožňuje snadno dokázat tvrzení o vlastnostech těchto tříd matic Důkaz následující věty ponecháváme jako cvičení (cvičení 25) Věta 28 Matice A je unitární právě tehdy, je-li normální a její vlastní čísla leží na jednotkové kružnici Matice A je hermitovská právě tehdy, je-li normální a všechna její vlastní čísla jsou reálná Viděli jsme, že třída normálních matic je totožná s třídou všech matic, které lze unitární podobnostní transformací převést na diagonální tvar To má zásadní teoretický důsledek Použijeme-li v daném lineárním vektorovém prostoru transformaci proměnných pomocí normalizovaných vlastních vektorů normální matice, pak daná transformace zachovává normu (a nemění vzdálenosti) Aplikace operátoru reprezentovaného původní normální maticí A je pak na transformovaném prostoru realizována násobením diagonální maticí Nepožadujeme-li, aby matice realizující podobnostní transformaci byla unitární, dostaneme třídu diagonalizovatelných matic Definice 29 (Diagonalizovatelná matice) Matici A nazveme diagonalizovatelnou, jestliže existuje regulární matice S taková, že S AS = D, kde D je diagonální matice Je-li matice A diagonalizovatelná, tvoří její vlastní vektory rovněž bázi prostoru C n Tato báze však může být špatně podmíněná (tj číslo podmíněnosti κ(s) = S S může být velké) Transformace pomocí vlastních vektorů diagonalizovatelné matice obecně mění vzdálenosti v daném prostoru Neníli matice diagonalizovatelná, znamená to, že nemá dostatek vlastních vektorů k vytvoření báze celého prostoru C n Proto se těmto maticím říká matice defektní (defective), viz kapitola, str 2 Zajímavou otázkou je, zda lze každou matici alespoň aproximovat pomocí matic diagonalizovatelných Odpověď dává následující věta, která říká, že množina diagonalizovatelných matic je hustá v C n n Věta 2 Množina všech diagonalizovatelných matic s navzájem různými vlastními čísly je hustá v C n n, tj pro libovolnou matici A C n n a pro libovolně malé ε > existuje diagonalizovatelná matice A ε C n n s navzájem různými vlastními čísly tak, že A A ε < ε Důkaz Nechť A C n n a uvažujme Schurův rozklad matice A, A = URU Není-li matice A diagonalizovatelná, musí mít alespoň jedno násobné vlastní číslo (vlastní vektory příslušné různým vlastním číslům jsou lineárně nezávislé a tedy matice s navzájem různými vlastními čísly je diagonalizovatelná) Jelikož vlastní čísla matice A leží na diagonále matice R, stačí porušit diagonálu matice R tak, aby na perturbované diagonále byly různé hodnoty Toho je vždy možné docílit vhodnou volbou diagonální matice D ε tak, aby D ε < ε a R ε = R+D ε Zvolíme-li i= A ε UR εu, má matice A ε různá vlastní čísla, je tudíž diagonalizovatelná a platí A A ε = URU U(R+D ε)u = UD εu = D ε < ε 23 Reálný Schurův rozklad 33 Všimněme si, že v předchozí větě jsme slovo diagonalizovatelná mohli vynechat, protože každá matice s navzájem různými vlastními čísly je diagonalizovatelná Na základě věty 2 bychom zdánlivě mohli učinit následující úvahu: Při práci s maticemi se stačí omezit pouze na třídu diagonalizovatelných matic s navzájem různými vlastními čísly, neboť každou matici vně této třídy umíme libovolně přesně aproximovat maticí diagonalizovatelnou s navzájem různými vlastními čísly Tato úvaha je však, jak uvidíme dále, stěží obecně použitelná Pro malé ε může mít matice A ε aproximující defektní matici A natolik špatné vlastnosti (zejména může mít extrémně velkou podmíněnost matice vlastních vektorů), že je pro mnohé teoretické úvahy a pro téměř všechny výpočetní postupy prakticky nepoužitelná Ač je množina diagonalizovatelných matic hustá v množině všech čtvercových matic daného rozměru (jak uvidíme ve druhém dílu skript, je dokonce hustá a otevřená), je její doplněk z pohledu teoretického i praktického velmi podstatný Nediagonalizovatelné matice hrají v teorii matic a v maticových výpočtech velmi významnou roli Na závěr této kapitoly prezentujeme schematický obrázek nejdůležitějších výše připomenutých tříd matic, viz obrázek 2 23 Reálný Schurův rozklad Obrázek 2: Třídy matic v C n n ROZŠÍŘENÍ VÝKLADU Při studiu vlastních čísel obecné matice se nevyhneme práci s komplexními čísly a při praktickém počítání musíme využít komplexní aritmetiku Tu je třeba na běžném počítači emulovat a tudíž je pomalá (součin dvou komplexních čísel odpovídá čtyřem součinům a dvěma součtům reálných čísel) Proto je při výpočtu vhodné přechod do komplexní aritmetiky co nejvíce oddálit Nyní se budeme věnovat tzv reálnému Schurovu rozkladu, tj rozkladu reálné matice Budeme se snažit přiblížit Schurovu rozkladu a zároveň dosáhnout toho, aby výsledné faktory zůstaly reálné Nejprve dokážeme, že pro reálné symetrické matice lze přímo Schurův rozklad volit reálný Pak se zaměříme na reálné normální matice a nakonec se budeme věnovat reálným rozkladům obecných reálných matic Definice 2 (Ortogonální matice a transformace) Řekneme, že čtvercová reálná matice U je ortogonální, jestliže U T U = UU T = I, kde I je jednotková matice Ortogonální transformace jsou transformace realizované ortogonálními maticemi Poznamenejme, že se pro ortogonální matice též používá přesnější název ortonormální matice (její sloupce jsou normalizované) Často však vyplývá přímo z kontextu, že daná ortogonální matice je i ortonormální
25 34 Kapitola 2 Schurova věta Poznamenejme také, že ortogonálními maticemi rozumíme vždy reálné matice, ale ortogonálními vektory rozumíme i komplexní vektory x,y ortogonální vzhledem k danému skalárnímu součinu, např y x = Věta 22 (Spektrální rozklad pro reálné symetrické matice) Nechť A je reálná symetrická matice Potom existují ortogonální matice U a reálná diagonální matice D takové, že platí D = U T AU Důkaz Ze cvičení 25 víme, že reálná symetrická matice A R n n je diagonalizovatelná a má reálná vlastní čísla Vlastní vektor odpovídající vlastnímu číslu λ je nenulovým řešením homogenní soustavy (A λi)x = s reálnou maticí, a je tedy také reálný Uvažujeme-li dva vlastní vektory x a y, jež přísluší dvěma různým vlastním číslům λ a µ, platí λ x,y = λx,y = Ax,y = x,ay = µ x,y Z λ µ plyne x,y =, tj vlastní vektory příslušné k různým vlastním číslům reálné symetrické matice jsou ortogonální Je-li λ násobné vlastní číslo, je možné volit příslušné vlastní vektory jako ortonormální bázi nulového prostoru matice A λi Z výše popsané konstrukce plyne, že vlastní vektory reálné symetrické matice lze volit tak, aby tvořily reálnou ortonormální bázi prostoru R n Sestavíme-li z vlastních čísel reálnou diagonální matici D a z příslušných vlastních vektorů reálnou ortogonální matici U, platí AU = UD, a A = UDU T je hledaný reálný Schurův rozklad Jiný důkaz této věty lze provést indukcí přes rozměr matice, analogicky důkazu Schurovy věty, viz [38] či [37, str 34] V dalším se zaměříme na normální reálné matice A R n n Je-li A R n n normální, pak existují dle Schurovy věty (obecně komplexní) unitární matice U a diagonální matice D takové, že AU = UD Na diagonále matice D jsou vlastní čísla matice A, ve sloupcích matice U jsou příslušné vlastní vektory Jelikož je A reálná, jsou její vlastní čísla buď reálná, nebo komplexně sdružená Je-li vlastní číslo λ reálné, lze volit (podobně jako u reálné symetrické matice) příslušné vlastní vektory reálné a ortonormální Uvažujme tedy takový Schurův rozklad, že vlastní vektory odpovídající reálným vlastním číslům jsou reálné Vlastní vektory odpovídající komplexně sdruženým párům vlastních čísel jsou komplexně sdružené, neboť z Az = λz plyne pro reálnou matici A vztah Az = λz Dále nechť jsou vlastní čísla na diagonále matice D seřazena tak, že komplexně sdružená čísla vždy bezprostředně následují Pro dvojici vlastních čísel α ± iβ a jim odpovídajícím (ortonormálním) vlastním vektorům x ± iy, kde α, β, x a y jsou reálné, platí [ ] α+iβ A[x+iy,x iy] = [x+iy,x iy] (25) α iβ Uvažujeme-li libovolnou unitární matici W C 2 2, lze (25) ekvivalentně přepsat ve tvaru Volíme-li konkrétně [ ] A[x+iy,x iy]w = [x+iy,x iy]ww α+iβ W (26) α iβ což odpovídá pro první sloupec operaci a pro druhý sloupec operaci W = [ ] 2 i, (27) 2 i 2 2 (x+iy +x iy) = 2x 2 2 i( x iy +x iy) = 2y, je výsledkem unitární podobnostní transformace [ ] [ ] α+iβ W α β W = α iβ β α 23 Reálný Schurův rozklad 35 reálná matice, a odpovídající transformace vlastních vektorů je dána vztahem [x+iy,x iy]w = 2[x,y] Jinak řečeno, volíme-li matici W podle (27), pak lze (26) přepsat ve tvaru [ ] [ ] [ ] α β A 2x, 2y = 2x, 2y (28) β α Z transformace[x+iy,x iy]w = 2[x,y] a z ortogonality vektorůx+iy ax iy plyne, že vektory 2x a 2y tvoří reálnou ortonormální bázi invariantního podprostoru span{x+iy,x iy} nad tělesem komplexních čísel (viz cvičení 24) V Schurově rozkladu tak lze každý blok odpovídající dvojici komplexně sdružených vlastních čísel (diagonální blok 2 2 v matici D a jemu odpovídající dvojice sloupců matice U) popsaný rovnicí (25) nahradit reálnými bloky stejných rozměrů, tj rovnicí (28) Dostáváme rozklad A = Ũ DŨT, jež budeme nazývat reálný Schurův rozklad Reálná matice D je blokově diagonální s bloky a 2 2 odpovídajícími reálným vlastním číslům, resp dvojicím komplexně sdružených vlastních čísel Sloupce ortogonální matice Ũ odpovídající reálným vlastním číslům i nadále představují příslušné vlastní vektory, dvojice sloupců odpovídající párům komplexně sdružených vlastních čísel představují reálné báze příslušných invariantních podprostorů Nyní se dostáváme k reálnému Schurovu rozkladu obecné reálné matice A R n n V následujícím textu ukážeme, že každou reálnou matici můžeme ortogonálně transformovat na tzv kvazi-trojúhelníkovou matici Definice 23 (Kvazi-trojúhelníková matice) Řekneme, že čtvercová matice T je horní kvazi-trojúhelníková, pokud je blokově horní trojúhelníková, T, T,2 T,m T 2,2 T 2,m T =, T m,m kde každý blok na hlavní diagonále je buď nebo 2 2 Platí následující věta, viz [37, str 34] Věta 24 (Winter, Murnaghan (Schurova věta pro reálné matice)) Nechť A je reálná čtvercová matice Potom existují ortogonální matice U a reálná kvazi-trojúhelníková matice T takové, že T = U T AU Navíc vlastní čísla každého 2 2 diagonálního bloku matice T tvoří komplexně sdružený pár Důkaz Pro reálné symetrické matice a reálné normální matice jsme větu dokázali v předchozím textu Pro obecnou reálnou matici budeme v důkazu Winter-Murnaghanovy věty postupovat analogicky jako v důkazu Schurovy věty, tj indukcí přes rozměr matice Pro n = a n = 2 tvrzení věty platí Předpokládejme, že tvrzení platí pro matice řádu n a n 2, kde n 3, a ukážeme, že platí i pro matice řádu n Nechť je dáno uspořádání vlastních čísel matice A a nechť λ je první vlastní číslo v daném uspořádání V indukci budeme rozlišovat dva případy Je-li λ reálné vlastní číslo a v odpovídající (reálný) vlastní vektor, pak se krok indukce redukuje na krok použitý při důkazu Schurovy věty Z existence rozkladu pro matice řádu n plyne existence rozkladu i pro matice řádu n Uvažujme nyní případ, kdy je λ komplexní vlastní číslo (imaginární složka je nenulová) Protože je A reálná, komplexní vlastí čísla se vyskytují v komplexně sdružených párech (včetně násobnosti) Nechť α±iβ, β je pár komplexně sdružených vlastních čísel a x±iy jim odpovídající pár komplexně sdružených vlastních vektorů Použijeme-li unitární transformaci (26) s unitární maticí W určenou podle (27), dostáváme [ A[x,y] = [x,y] ] α β (29) β α Jelikož jsou vlastní vektory příslušné k různým vlastním číslům lineárně nezávislé, musí být i vektory x a y, [x,y] = / 2[x+iy,x iy]w, lineárně nezávislé Uvažujme nyní libovolnou ortonormální bázi {v,v 2} prostoru span{x,y} a položme V = [v,v 2] Jelikož jsou x a y lineárně nezávislé, existuje reálná regulární matice M R 2 2 taková, že [x,y] = VM Dosazením za [x,y] do (29) dostáváme [ ] α β AV = VC, kde C M M β α,
26 36 Kapitola 2 Schurova věta a podobnostní transformace nám zajišťuje, že C má vlastní čísla α ± iβ Doplňme matici V tak, aby výsledná matice H [V,X] R n n byla ortogonální Potom platí [ ] [ ] V H T T C V AH = X T [AV,AX] = T AX X T, AX kde jsme použili X T AV = X T VC = Na matici X T AX R (n 2) (n 2) aplikujeme indukční předpoklad, tj existuje ortogonální matice Q a kvazi-trojúhelníková matice T tak, že Q T X T AXQ = T Položíme-li U [V,XQ], potom platí U T AU = [ C V T AXQ T ] T, kde U je reálná ortogonální matice a T je reálná kvazi-trojúhelníková matice 24 Funkce matic Pojem funkce matice může být chápán různými způsoby Můžeme uvažovat např funkci, která dané matici přiřadí její determinant, číslo podmíněnosti apod Nyní se zaměříme na otázku, jak vhodně zobecnit skalární funkci f : C C na funkci, která dané matici A C n n přiřadí matici f(a) stejné dimenze Uvažujme nejprve případ, kdy matice A je normální, tedy A = UDU, D = diag(λ,,λ n), a f je analytická Pak je možné definovat funkci matice pomocí Taylorovy řady f (i) () f(z) = z i, i! kde za proměnnou z dosadíme matici A, tj ( f (i) ) () f(a) A i f (i) () = U D i U = Uf(D)U i! i! i= i= f(λ ) = U U f(λn) i= 24 Funkce matic 37 neboť pro k n j, J nj () k = Maticová funkce Jordanova bloku f(j) je tedy zcela určena funkčními hodnotami funkce f a hodnotami jejich derivací na spektru matice A Předchozí úvahy ukazují výhodnost následující definice maticové funkce Definice 25 (Funkce matice definovaná pomocí Jordanova kanonického tvaru) Nechť A C n n a funkce f je taková, že f (i) (λ j), i =,,n j, existuje pro j =,,r Pak definujeme f(a) Sf(J)S = Sdiag(f(J n (λ )),,f(j nr (λ r)))s, kde f(j nj (λ j)) je pro j =,,r definováno v (2) Je třeba zdůraznit, že pro definici uvedenou výše není třeba předpokládat analytičnost funkce f Ze vztahu (2) vyplývá, že maticová funkce f(j nj (λ j)) je ve skutečnosti dána polynomem p(z) f(λ j) + f (λ j)(z λ j) + + f(nj ) (λ j) (z λ j) nj, (n j )! kde za z dosadíme Jordanův blok J nj (λ j) a za z λ j dosadíme J nj () Snadno ověříme, že polynom p(z) je (jednoznačně určeným) hermitovským interpolačním polynomem splňujícím interpolační podmínky p (i) (λ j) = f (i) (λ j), i =,,n j (22) Maticová funkce Jordanova bloku f(j) je tedy dána (jednoznačně určeným) hermitovským interpolačním polynomem splňujícím interpolační podmínky (22) pro j =,,r Nejsou-li vlastní čísla λ,,λ r navzájem různá, stačí předpokládat splnění interpolačních podmínek vždy pro největší Jordanův blok příslušný k λ j; pro menší bloky jsou pak již podmínky (22) splněny automaticky Následující definice maticové funkce je ekvivalentní s definicí 25 Definice 26 (Funkce matice definovaná pomocí polynomiální interpolace) Nechť A a f jsou jako v definici 25 Označme µ,,µ k navzájem různá vlastní čísla matice A a τ j rozměr největšího Jordanova bloku příslušného k µ j Pak definujeme f(a) h(a), kde h(z) je (jednoznačně určený) hermitovský interpolační polynom stupně nejvýše ( k k j= τj je stupeň minimálního polynomu matice A), který splňuje interpolační podmínky h (i) (µ j) = f (i) (µ j), i =,,τ j, j =,,k j= τj) (zde Zdá se tedy přirozené definovat (analytickou) funkci obecné matice A C n n pomocí jejího Jordanova kanonického tvaru s r bloky velikosti n,,n r jako f(a) Sf(J)S = Sdiag(f(J n (λ )),,f(j nr (λ r)))s V případě, že A není diagonalizovatelná, zbývá definovat vhodně funkci Jordanova bloku f(j nj (λ j)) pro j =,,r Nechť jsou derivace f (i) (λ j) definovány pro libovolné nezáporné celé číslo i a nechť lze f rozvinout v Taylorovu řadu f (i) (λ j) f(z) = (z λ j) i i! Pokud za z λ j dosadíme J nj (λ j) λ ji = J nj (), dostáváme f(j nj (λ j)) = = nj i= i= f (i) (λ j) J nj () i (2) i! f(λ j) f (λ j) f(λ j) f (λ j) f(λ j) f (n j ) (λj) (nj )!, (2) Ekvivalence definic 25 a 26 plyne z vlastnosti maticových polynomů h(a) = Sh(J)S = Sdiag(h(J n (λ )),,h(j nr (λ r)))s a úvah uvedených výše Pro úplnost uvedeme ještě jednu definici maticové funkce pomocí Cauchyho integrálu, důkaz její ekvivalence s definicemi 25 a 26 lze nalézt např v [66, věta 6228] Definice 27 (Funkce matice definovaná pomocí Cauchyho integrálu) Nechť f je analytická na otevřené množině obsahující spektrum matice A, označme Γ její hranici Pak f(a) f(z)(zi A) dz 2πi Γ Příklady analytických funkcí s jejichž zobecněním na maticové funkce se lze často setkat, jsou z j exp(z) = j!, log(+z) = ( ) j+zj, pro z <, j j= sin(z) = ( ) j z 2j+ (2j +)!, cos(z) = j= j= j= ( ) j z2j (2j)! Důležité je také maticové zobecnění znaménkové funkce sgn(z) = Re(z)/ Re(z), která je analytická v celé komplexní rovině s výjimkou imaginární osy Pro další studium odkazujeme na monografii [62]
27 38 Kapitola 2 Schurova věta 2 Rozhodněte, zda matice je blokově diagonální, CVIČENÍ A = 2 blokově diagonální se čtvercovými bloky, 3 blokově horní trojúhelníková se čtvercovými bloky na diagonále Za matici blokově diagonální (blokově trojúhelníkovou se čtvercovými diagonálními bloky) považujeme i matici diagonální (trojúhelníkovou) V tomto případě jsou všechny čtvercové bloky na diagonále dimenze Matici, která nemá alespoň dva čtvercové diagonální bloky (tedy sama je svým jediným čtvercovým diagonálním blokem), blokově diagonální (trojúhelníkovou) nenazýváme 22 Ukažte, že spektrum blokově diagonální matice se čtvercovými bloky na diagonále je sjednocením spekter diagonálních bloků 23 Ukažte, že spektrum matice tvaru [ ] A A A = 2, A 22 tj blokově horní trojúhelníkové matice se čtvercovými bloky na diagonále, je dáno vztahem sp(a) = sp(a ) sp(a 22) 24 Nechť U C n n je unitární matice Dokažte, že pro všechny vektory x C n, y C n platí Ux,Uy = x,y, Ux = x 25 Dokažte větu 28: Čtvercová matice je unitární právě tehdy, když je normální a její vlastní čísla leží na jednotkové kružnici Čtvercová matice je hermitovská právě tehdy, když je normální a všechna její vlastní čísla jsou reálná 26 Dokažte přímo z definice generované maticové normy, že pro matice λ iu iu i, které sčítáme ve výrazu (23), platí λ iu iu i = λi Jak vypadají prvky matice uiu i a jaká je její hodnost? 27 Ukažte pomocí spektrální věty o normálních maticích (věty 26) aplikované na matici A A, že spektrální normu libovolné matice A C n m lze vypočítat pomocí vzorce A = (A A) /2, kde (B) označuje spektrální poloměr matice B (tj číslo max λ sp(b) { λ }) 28* V odstavci 7 o maticových normách jsme ukázali, že (A) A pro libovolnou multiplikativní maticovou normu a libovolnou matici A C n n (věta 29) Ukažte, že pro každou matici A C n n a kladné číslo ε > existuje generovaná maticová norma ε tak, že platí (A) A ε (A)+ε K důkazu využijte Schurův rozklad matice A a tvrzení cvičení 8 a 9 29 Ukažte, že pro unitární matici U C n n a libovolnou matici A C n n platí U =, U =, UA = A, AU = A, UA F = A F, AU F = A F 24 Funkce matic 39 2 Dokažte, že pro normální matici A platí kde sp(a) = {λ,,λ n} n A 2 F = λ i 2, 2 Spektrum hermitovské matice A = A (resp reálné symetrické matice A T = A) je reálné Další významnou třídou normálních matic jsou matice antihermitovské A = A (resp reálné antisymetrické A T = A) Rozhodněte, zda antihermitovské matice tvoří lineární vektorový prostor i= 2 Analogickým způsobem jako u matic hermitovských ukažte, jak vypadá spektrum matic antihermitovských 3 Ukažte, že reálná antisymetrická matice s lichým počtem řádků (a sloupců) je vždy singulární 22 V množině komplexních matic A C n n lze uvažovat třídu matic, jež splňují podmínku A T = A Tyto matice budeme nazývat komplexní symetrické matice Jejich reálná část je symetrická (stejně jako u matic hermitovských) a imaginární část je také symetrická (stejně jako u matic antihermitovských) Rozhodněte, zda tyto matice tvoří lineární vektorový prostor 2 Nalezněte nutné a postačující podmínky, za kterých je komplexní-symetrická matice normální 23* Ukažte, že normální matice B a C komutují tehdy a jen tehdy, když existuje unitární matice U diagonalizující současně B i C, tedy U BU = Λ B, U CU = Λ C, kde Λ B a Λ C jsou diagonální matice s vlastními čísly na diagonále 24 Předpokládejme, že x + iy a x iy jsou komplexní, normalizované a navzájem ortogonální vektory vzhledem k euklidovskému skalárnímu součinu, x, y R n Ukažte, že potom reálné vektory 2x a 2y tvoří reálnou ortonormální bázi prostoru span{x+iy,x iy} nad tělesem komplexních čísel 25* Ukažte, jaký tvar má reálný Schurův rozklad, je-li A reálná antisymetrická matice, tj A T = A 26 Nezáporné matice (vektory) jsou takové, jejíž prvky jsou nezáporná reálná čísla Ukažte, že je-li S nezáporná matice, x nezáporný vektor a λ reálné číslo takové, že e T i Sx > λet i x pro každý index i, což zapíšeme jako Sx > λx, pak platí (S) > λ 27* Matici S R n n se součtem prvků v každém řádku rovným jedné, tj nazýváme stochastická matice n s j,k =, j =,,n, k= Ověřte, že λ = je vždy vlastním číslem stochastické matice a x = [,,] T je příslušný vlastní vektor 2 Ukažte, že (S) = a že levý vlastní vektor (vektor y splňující rovnici y T S = λy T ) odpovídající vlastnímu číslu λ = lze volit nezáporný Tento vektor se nazývá Perronův vlastní vektor 28* Pro libovolnou hermitovskou matici M C n n definujeme tzv inercii matice M jako trojici čísel In(M) = [n +(M),n (M),n (M)], kde n +(M) je počet kladných, n (M) počet nulových a n (M) počet záporných vlastních čísel matice M Dokažte následující tvrzení:
28 4 Kapitola 2 Schurova věta Nechť A C n n je hermitovská a S C n n je regulární matice Pak In(A) = In(SAS ), tj transformace kongruence hermitovské matice zachovává její inercii 2 Nechť A, B C n n jsou hermitovské matice takové, že In(A) = In(B) Pak existuje regulární matice S C n n taková, že B = SAS Poznamenejme, že s uvedeným tvrzením se setkáváme pod názvem Sylvestrova věta o zachování inercie, případně věta o setrvačnosti kvadratických forem KAPITOLA 3 Ortogonální transformace a QR rozklady V předchozí kapitole jsme na příkladu Schurovy věty ukázali užitečnost unitárních transformací V této kapitole se podrobně seznámíme se základními dvěma typy unitárních transformací, kterými jsou Givensovy rotace a Householderovy reflexe Jde o velmi užitečné a často používané nástroje, pomocí nichž můžeme (numericky stabilním způsobem) transformovat danou matici na matici s předem zvolenou strukturou (např na horní trojúhelníkovou, bidiagonální či horní Hessenbergovu) V této kapitole použijeme Givensovy rotace a Householderovy reflexe k výpočtu tzv QR rozkladu matice Jak ukážeme v této i pozdějších kapitolách, QR rozklad matice má široké použití v maticových výpočtech a lze jej např použít k řešení soustavy lineárních rovnic, problému nejmenších čtverců či jako základní prvek každé iterace v QR algoritmu na výpočet vlastních čísel matice Seznámíme se i s tzv Gram-Schmidtovou ortogonalizací a porovnáme různé postupy výpočtu QR rozkladu matice z hlediska výpočetní náročnosti a numerické stability 3 Givensovy rotace v R n Uvažujme nejprve následující úlohu v R 2 Chceme sestrojit matici G(ϕ) R 2 2, která realizuje pootočení libovolného vektoru x o úhel ϕ proti směru hodinových ručiček Zapíšeme-li vektor x v bázi {e,e 2}, [ ] [ ] [ ] ξ x = = ξ ξ +ξ 2 2 = ξ e +ξ 2e 2, je možné vektor G(ϕ)x vyjádřit ve tvaru G(ϕ)x = ξ (G(ϕ)e )+ξ 2(G(ϕ)e 2) Otáčí-li G(ϕ) bázové vektory e a e 2 o úhel ϕ, otáčí i libovolný vektor x o úhel ϕ Zjevně, viz obrázek 3, [ ] [ ] [ ] [ ] cosϕ sinϕ G(ϕ) =, G(ϕ) =, sinϕ cosϕ tj [ ] cosϕ sinϕ G(ϕ) = sinϕ cosϕ Alternativní odvození matice pootočení G(ϕ) je obsahem cvičení 3 Jsou-li v R 2 dány vektory x a y, x = y, svírající úhel y T x ϕ = arccos x y [,π], plyne z předchozího, že vektor y lze získat pootočením vektoru x proti směru hodinových ručiček o úhel ϕ, tj platí y = G(ϕ)x V zápisu po prvcích (3) [ ] [ ] ξ ξcosϕ ξ y = G(ϕ) = 2sinϕ (32) ξ 2 ξ sinϕ+ξ 2cosϕ 4
29 42 Kapitola 3 Ortogonální transformace a QR rozklady Obrázek 3: Rotace jednotkových vektorů o úhel ϕ Matice G(ϕ) se nazývá matice Givensovy rotace Jak bylo popsáno v úvodu, název Givensova rotace není historicky správný (dříve již tyto matice používal Jacobi, viz např [2]) Budeme se však držet standardní terminologie zavedené ve výpočetních metodách a používat název Givensova rotace Uvažujme nyní prostor R n Chceme-li provést rotaci v rovině dané dvojicí jednotkových vektorů {e i, e j}, i < j, o úhel ϕ ve směru od e i k e j, pak má matice příslušné rotace následující tvar Definice 3 (Elementární Givensova rotace) Matice elementární Givensovy rotace, která pootočí libovolný vektor v rovině dané dvojicí jednotkových vektorů {e i, e j}, i < j, o úhel ϕ ve směru od e i k e j, je matice G i,j(ϕ) R n n tvaru G i,j(ϕ) = cosϕ sinϕ přičemž všechny její ostatní prvky jsou nulové Zjevně sinϕ cosϕ G i,j(ϕ) T G i,j(ϕ) = G i,j(ϕ)g i,j(ϕ) T = I n, i-tý řádek, (33) j-tý řádek tj G i,j(ϕ) je ortonormální matice Dále platí det(g i,j(ϕ)) = (cvičení 33) Z definice G i,j(ϕ) plyne, že 3 Givensovy rotace v R n 43 G i,j(ϕ)x modifikuje pouze i-tý a j-tý prvek vektoru x = [ξ,,ξ n] T, ξ ξ icosϕ ξ j sinϕ i-tý řádek G i,j(ϕ)x = ξ isinϕ+ξ j cosϕ j-tý řádek ξ n Givensovy rotace se v numerické lineární algebře používají v řadě algoritmů, kde je potřeba vynulovat prvky matice pomocí násobení unitárními maticemi Postup nulování opět nejdříve popíšeme v R 2 Chceme vynulovat druhý prvek daného vektoru x = [ξ,ξ 2] T R 2, tj požadujeme, aby platilo Ze vztahu pro druhý prvek, viz (32), dostaneme y = G(ϕ)x = G(ϕ) [ ξ ξ 2 ] = ξ sinϕ+ξ 2cosϕ = tanϕ = ξ2 ξ, ξ 2 [ ξ 2 +ξ 2 2 ] sinϕ =, (34) ξ 2 +ξ2 2 cosϕ = Druhou možností, jak vynulovat druhý prvek vektoru x, je požadovat [ ] ξ 2 y = G(ϕ)x = +ξ2 2 ξ (35) ξ 2 +ξ2 2 Potom je ξ 2 ξ sinϕ = a cosϕ = ξ 2 +ξ2 2 ξ 2 +ξ2 2 Pro obecný n-prvkový vektor x = [ξ,,ξ n] T R n můžeme opakovanou aplikací elementárních Givensových rotací postupně vynulovat n prvků vektoru Chceme-li, aby výsledný vektor y byl násobkem jednotkového vektoru e, pak můžeme např postupně vynulovat prvky na pozicích n,n,,2, a volit roviny rotace postupně jako span{e,e n}, span{e,e n },, span{e,e 2} Celý proces nulování lze schematicky zapsat jako x = ξ ξ 2 = ξ n ξ n ± x = y, kde symboly značí obecně nenulové prvky, dvojice symbolů značí prvky, které jsou aktuálně modifikovány elementární rotací Označíme-li jednotlivé elementární Givensovy rotace jakog,2,,g,n,g,n, potom y = Γx, kde Γ G,2G,n G,n (36) Matici Γ budeme nazývat složenou Givensovou rotací Poznamenejme, že chceme-li vektor transformovat na násobek jednotkového vektoru, nemusíme prvky vektoru nutně nulovat v pořadí, které jsme naznačili, a ani výběr jednotlivých rovin rotace není nijak předepsán Protože násobení elementárních (tedy i složených) Givensových rotací není obecně komutativní (cvičení 34), záleží ve výrazu (36) vyjadřujícím matici Γ na pořadí jednotlivých činitelů Změníme-li pořadí nulování prvků, dostaneme obecně jinou složenou Givensovu rotaci Γ, pro kterou rovněž platí Γx = [± x,,,] T
30 44 Kapitola 3 Ortogonální transformace a QR rozklady 32 Householderovy reflexe v R n Druhou základní unitární transformací je Householderova reflexe (zrcadlení, odraz), jejíž popis začneme pro geometrickou názornost též v reálném oboru Householderovy reflexe byly poprvé zmíněny v třicátých letech [28, str 2 5] Householder [68] byl pak první, který je začal systematicky používat, a to při výpočtu QR rozkladu prezentovaného v následujícím odstavci 35 Uvažujme následující úlohu Nechť je v R n dána nadrovina dimenze n, kterou popíšeme jejím normálovým vektorem q, q =, H(q) {z R n : z q}, a nechť je dán vektor x R n Naším cílem je nalézt zrcadlový obraz vektoru x podle nadroviny H(q) (nadrovinu H(q) nazveme nadrovinou zrcadlení) Vektor x můžeme rozložit na složku x q = (qq T )x ležící ve směru normálového vektoru a na složku (x x q) ortogonální na q, tedy na složku ležící v dané nadrovině Zjevně x = (x x q)+x q, viz kapitola, odstavec 4 Vektor y, zrcadlový obraz vektoru x podle nadroviny H(q), získáme tak, že složku x q zaměníme za x q a složka ležící v nadrovině H(q) se nezmění, tedy viz obrázek 32 y = (x x q) x q = x 2x q = (I 2qq T )x H(q)x, (37) 33 Givensovy rotace v C n 45 Dosud jsme popisovali reflexi daného vektoru vzhledem k dané nadrovině Důležitou doplňující otázkou je, zda a jak je možné Householderovou reflexí zobrazovat jeden vektor na druhý V reálném oboru můžeme k daným dvěma vektorům x a y stejné délky vždy najít Householderovu reflexi, která realizuje zrcadlení vektoru x na vektor y (a naopak) Lemma 33 (Zrcadlení x na ±y v R n ) Nechť jsou dány dva různé vektory x R n a y R n, x = y, a nechť q x y x y, x+y q2 x+y (38) Pak je matice H(q ) Householderovou reflexí, pro kterou platí H(q )x = y, a matice H(q 2) je Householderovou reflexí, pro kterou platí H(q 2)x = y Důkaz Vektor x y je kolmý k nadrovině zrcadlení vektoru x na vektor y Normalizujeme-li vektor x y, získáme vektor q a podle (37) realizuje matice H(q ) zrcadlení x na y Podobně, vektor x+y je kolmý k nadrovině zrcadlení vektoru x na vektor y, a proto je zrcadlení x na y realizováno Householderovou reflexí H(q 2), kde vektor q 2 je určen podle (38) Householderovy reflexe jsou stejně jako Givensovy rotace často používány pro nulování prvků vektoru Householderovy reflexe umožňují eliminovat více prvků jedním zrcadlením Je-li dán vektor x R n a chceme-li nalézt Householderovu reflexi H takovou, že Hx = ± x e, pak stačí za y v lemmatu 33 dosadit vektor ± x e a definovat příslušné normálové vektory, Potom platí q = x x e x x e, x+ x e q2 = x+ x e H(q )x = x e, H(q 2)x = x e Pro omezení možného růstu chyby obsažené v datech je důležité provést následující úvahu Nechť x = [ξ,,ξ n] T Pokud je ξ kladný a blízký k x, potom při odečítání x x e může dojít k rušení platných číslic a kvůli dělení malou normou k relativnímu zvětšení chyby vypočteného vektoru ve srovnání s chybou obsaženou v původním vektoru x (Zde nám nejde o chybu při provádění Householderovy reflexe v aritmetice s konečnou přesností, ale o možné zvětšování chyby obsažené v původních datech při přesném výpočtu) Totéž se může stát v případěξ < při výpočtu vektorux+ x e Z důvodů numerické stability je tedy vhodné použít k nulování vektoru x normálový vektor q = x+sgn(ξ) x e x+sgn(ξ ) x e (39) V určitých případech jsou vhodná jen zrcadlení vektoru x na vektor x e a ne na vektor x e Je-li však sgn(ξ ) = a ξ x a není-li vhodné použít numericky stabilní volbu (39), používáme tzv Parlettův trik [97] (cvičení 36) 33 Givensovy rotace v C n Obrázek 32: Householderova reflexe Matici reflexe získáme jako rozdíl jednotkové matice a dvojnásobku projektoru qq T do směru normály nadroviny zrcadlení, tedy H(q) = I 2qq T Definice 32 (Householderova reflexe) Nechť q R n a q = Pak matici H(q) = I 2qq T R n n nazýváme maticí Householderovy reflexe vzhledem k nadrovině H(q) definované normálovým vektorem q Matice H(q) je ortonormální a symetrická a tudíž platí H 2 (q) = I Matice H(q) je tedy sama sobě inverzí (to je v souladu s geometrickým významem zrcadlení) Dále platí det(h(q)) = (cvičení 35) Zobecnění matice elementární Givensovy rotace (33) pro komplexní obor není jednoznačné [3] Uvedeme jednu z možných definic Definice 34 Matice elementární Givensovy rotace G i,j C n n, i < j, má tvar c s i-tý řádek G i,j =, s c j-tý řádek
31 46 Kapitola 3 Ortogonální transformace a QR rozklady kde prvky c a s splňují c 2 + s 2 = Je zřejmé, že takto definovaná matice elementární Givensovy rotace je unitární Všimněme si, že matice G i,j není v komplexním případě spojená s úhlem pootočení To je důsledek toho, že komplexní čísla c a s splňující c 2 + s 2 = nemusí reprezentovat hodnoty cosϕ resp sinϕ pro nějaký úhel ϕ V komplexním oboru nemají obecně Givensovy rotace geometrický význam pootočení Lze je však bez problémů použít k nulování prvku daného vektoru x = [ξ,ξ 2] T C 2 Volíme-li, analogicky k (34) a (35), potom ξ 2 s = ξ 2 + ξ, c = ξ ξ ξ, (3) 2 2 [ ] [ ] [ ] ξ ξ y = G,2x = G,2 = 2 + ξ 2 2 x = ξ 2 Násobením (3) libovolným komplexním číslem na jednotkové kružnici e iα dostaneme vektor y = [e iα x,] T Pro vektor x C n můžeme stejně jako v reálném případě nulovat postupně všechny prvky pomocí složené komplexní Givensovy rotace 34 Householderovy reflexe v C n Nechť je v C n dána nadrovina dimenze n, popsaná normálovým vektorem q, q =, H(q) {z C n : z q = } Uvažujme dále unitární hermitovskou matici H(q) definovanou vztahem H(q) I 2qq C n n (3) Aplikace matice H(q) na vektor x C n obecně nepředstavuje, narozdíl od reálného případu, zrcadlení podle nadrovinyh(q) To je způsobeno tím, že projekcex q = q(q x) vektoruxna podprostor generovaný vektorem q neleží nutně ve směru normálového vektoru q, a naše úvahy pro odvození (37) v komplexním případě obecně neplatí Projekce x q = q(q x) leží ve směru normálového vektoru pouze v případě, že je skalární součin q x reálný, viz obrázek 33 Více o rozdílu mezi reálným a komplexním případem vypovídá následující lemma 35 QR rozklad 47 Důkaz Důkaz provedeme ve cvičení 37 Matici (3) nyní použijeme k nulování prvků komplexního vektoru Uvažujme vektorx = [ξ,,ξ n] T C n, jehož prvky ξ 2,,ξ n chceme vynulovat Prvek ξ zapíšeme ve tvaru Zvolíme-li v lemmatu 35 ξ = ξ e iα, α < 2π y = e iα x e, pak je y x = ( e iα x e ) x = ξ x a podmínka (32) je splněna Potom pro matici H(q) určenou normálovým vektorem platí q = x+eiα x e x+e iα x e H(q)x = e iα x e Tento způsob definice normálového vektoru je numericky stabilní, první prvek vektoru q je roven a při jeho počítání nedochází ke ztrátě přesnosti 35 QR rozklad ( ξ + x )e iα x+e iα x e V předchozí kapitole jsme se zabývali Schurovým rozkladem čtvercové matice A = QRQ, kde Q je unitární a R je horní trojúhelníková matice Ukázali jsme rovněž, že Schurův rozklad nelze obecně vypočítat konečným algoritmem; algoritmus pro jeho výpočet bude nutně iterační Základním stavebním kamenem tzv QR algoritmu pro výpočet Schurova rozkladu (viz např [38, str ]) je QR rozklad A = QR Definice 36 (QR rozklad) Nechť A C n m je obecně obdélníková matice Rozklad tvaru A = QR, kde Q je matice s ortonormálními sloupci (Q Q = I) a R má všechny prvky pod hlavní diagonálou nulové, tj R = [r i,j], r i,j = pro i > j, nazýváme QR rozkladem matice A Dimenze matic Q a R v definici 36 nejsou předepsané Název QR rozklad se používá pro různé možné dimenze Pro n > m může QR rozklad vypadat schematicky jako Obrázek 33: Vlevo Householderova reflexe v R n Každý vektor αq, α R, leží ve směru normálového vektoru q Vpravo Householderova reflexe v C n Pokud α C, násobení pootočí q o úhel ϕ a vektor αq nemusí ležet ve směru normálového vektoru q A = Q R, Lemma 35 (Zrcadlení x na ±y v C n ) Nechť jsou dány vektory x C n a y C n s x = y, x y, a nechť q x y x y, x+y q2 x+y Pak matice H(q ) zobrazí vektor x na vektor y, H(q )x = y, a matice H(q 2) zobrazí vektor x na vektor y, H(q 2)x = y, právě tehdy, když y x R (32) kde Q C n n a R C n m Vynecháním posledních n m nulových řádků matice R a posledních n m sloupců matice Q dostaneme rozklad tvaru A = Q R,
32 48 Kapitola 3 Ortogonální transformace a QR rozklady kde Q C n m a R C m m Tomuto QR rozkladu, jehož uložení vyžaduje méně paměťového místa než v prvním případě, se říká ekonomický QR rozklad (anglicky economy size QR) Čtvercová matice R s nulovými prvky pod hlavní diagonálou je horní trojúhelníková Pro n m má QR rozklad, schematicky, tvar A = Q R kde Q C n n a R C n m Tato varianta představuje zároveň ekonomický QR rozklad Pro n m nemá smysl uvažovat jinou variantu QR rozkladu Poznamenejme, že diagonální prvky r i,i matice R = [r i,j] mohou být nulové V případě, že matice A má hodnost rank(a) < min{m, n}, je vždy alespoň jeden diagonální prvek matice R nulový QR rozklad můžeme použít při řešení soustavy lineárních rovnic Ax = b, kde A C n n je regulární matice a b C n Užitím faktorizace A = QR Ax = b QRx = b, QRx = QQ b, Rx = Q b, přičemž soustava s trojúhelníkovou maticí je snadno řešitelná a unitární transformace pravé strany b vedoucí na Q b musí být obecně provedena takovým způsobem, aby nedošlo k zesílení zaokrouhlovacích chyb, nikoli násobením maticí Q V příští kapitole se seznámíme s možností řešení soustavy lineárních rovnic, která je obecně levnější (LU rozklad), nicméně použití QR rozkladu je numericky podstatně stabilnější V případě velmi rozsáhlých úloh s řídkou maticí A je však QR rozklad prakticky nepoužitelný, neboť požadavek ortogonality sloupců matice Q vede velmi rychle ke ztrátě řídkosti a tím k neproveditelnosti výpočtu vzhledem k jeho enormní výpočetní a paměťové náročnosti (viz odstavec 4) QR rozklad je standardním nástrojem pro řešení problémů nejmenších čtverců, viz kapitola 6 Zde je na místě upozornit na lehce matoucí terminologii spojenou s QR rozkladem Výše zmíněný QR algoritmus není algoritmus pro výpočet QR rozkladu, ale pro výpočet Schurova rozkladu Algoritmů pro výpočet QR rozkladu je několik Začneme popisem výpočtu QR rozkladu pomocí unitárních transformací, s nimiž jsme se seznámili v předchozích částech této kapitoly Tím zároveň dokážeme existenci QR rozkladu 35 QR rozklad užitím Givensových rotací Označme sloupce dané matice A C n m jako a,,a m, tj A = [a,,a m] Našim cílem je postupné vynulování všech prvků pod hlavní diagonálou za použití Givensových rotací Výpočtu QR rozkladu pomocí Givensových rotací říkáme Givensův QR rozklad Symbolem Γ označíme složenou Givensovu rotaci, která realizuje transformaci a = a, a 2, a n, r, = Γa r Aplikujeme-li tuto složenou rotaci na matici A, dostaneme ve schematickém zápisu A = = ΓA A(),, 35 QR rozklad 49 kde symboly označují obecně nenulové prvky a označují prvky, které určují složenou rotaci Poznamenejme, že r, = právě tehdy, pokud a = Nyní můžeme vynulovat poddiagonální prvky druhého sloupce matice A () = [r,a () 2,,a() m ], přičemž chceme zachovat již vytvořené nulové prvky ve sloupci r Na druhý sloupec tedy aplikujeme pouze n 2 elementárních rotací, a () 2 = a (),2 a () 2,2 a () 3,2 a () n,2 a (),2 r 2,2 = Γ 2a () 2 r 2 Prvek r 2,2 je nulový právě tehdy, pokud je a () 2 násobek e, tj pokud jsou sloupce a, a 2 lineárně závislé Aplikací složené rotace Γ 2 na matici A () = Γ A dostaneme, schematicky zapsáno, A () = = Γ2ΓA A(2) Analogicky pokračujeme dále V k-tém kroku, k < min{m, n}, konstruujeme složenou rotaci tak, aby nulovala n k poddiagonálních prvků sloupce a (k ) k Příslušná složená rotace Γ k je blokově diagonální se dvěma bloky, kde první blok je jednotková matice řádu k Prvek r k,k je nulový právě tehdy, je-li k-tý sloupec matice A lineární kombinací předchozích k sloupců matice A (cvičení 34) Poslední transformační maticí je Γ m pron > m a Γ n pron m Uvažujme poslední transformaci pro případ n > m (poslední transformace pro n m vypadá analogicky) Její aplikací dostaneme ve schematickém zápisu A (m 2) = = Γm ΓA A(m ) R Všechny matice Γ i jsou unitární, jejich součin je tedy také unitární matice Označíme-li platí Q Γ Γ 2Γ m, (33) A = QR Z výše uvedené konstrukce QR rozkladu plyne, že matice Q je čtvercová matice řádu n a matice R je stejných rozměrů jako matice A s nulovými prvky pod hlavní diagonálou Dokázali jsme tedy existenci QR rozkladu, kde matice Q má rozměr n n a R má rozměr n m (nezávisle na tom, zda je n m nebo n > m) Ekonomický QR rozklad pro n > m, a tím i důkaz jeho existence, dostaneme vynecháním nulových řádků v matici R a odpovídajících sloupců v matici Q QR rozklad není obecně jednoznačný Stačí si uvědomit, že pro každou diagonální matici D, D D = I, a pro libovolný QR rozklad A = QR platí A = QR = (QD )(DR) = Q R, kde Q R je rovněž QR rozkladem maticea Povolíme-li v QR rozkladu matice s plnou sloupcovou hodností na diagonále matice R pouze kladné prvky, je již ekonomický QR rozklad jednoznačný Věta 37 Nechť A C n m, n m, je matice s lineárně nezávislými sloupci Pak existuje jediná dvojice matic Q C n m a R C m m taková, že Q má ortonormální sloupce a R je horní trojúhelníková matice s kladnými diagonálními prvky a přitom A = QR
33 5 Kapitola 3 Ortogonální transformace a QR rozklady Důkaz Nechť A = QR = Q R jsou dva ekonomické QR rozklady matice A a R i R mají kladné diagonální prvky Pak Q = QRR a vzhledem k tomu, že Q je matice s ortonormálními sloupci, Z toho vyplývá Q Q = (RR ) Q Q(RR ) = (RR ) (RR ) = I ((RR ) ) = RR Vzhledem k tomu, že matice na levé straně je dolní trojúhelníková, zatímco matice na pravé straně je horní trojúhelníková musí být obě matice diagonální a platí RR = I, tj R = R, z čehož plyne Q = Q 352 QR rozklad užitím Householderových reflexí Postup s užitím Householderových reflexí (Householderův QR rozklad) je konstrukčně stejný jako Givensův QR rozklad, pouze místo složených Givensových rotací Γ k pro vynulování vektorů zmenšujících se dimenzí používáme matic Householderových reflexí H k Pro n > m transformujeme matici A C n m podle schématu A H A H 2H A H m H 2H A R, kde H k je blokově diagonální matice jejíž první blok je jednotková matice řádu k a druhý blok je matice Householderovy reflexe nulující poddiagonální prvky aktuálního k-tého sloupce Označme pak zřejmě platí Q H H 2 H m, (34) A = QR Analogicky dostaneme QR rozklad matice A C n m kde n m 353 QR rozklad a Gram-Schmidtův ortogonalizační proces QR rozklad lze vypočítat pomocí Gram-Schmidtova ortogonalizačního procesu Gram-Schmidtův ortogonalizační proces je metoda nalezení ortonormální báze podprostoru generovaného danými vektory Uvažujme pro jednoduchost případ n > m a podprostor C n generovaný lineárně nezávislými vektory {a,,a m} Gram-Schmidtův ortogonalizační proces spočte ortonormální bázi {q,,q m} takovou, že span{a,,a k} = span{q,,q k}, k =,,m (35) Z podmínky span{a } = span{q } a q = plyne, že první vektor q získáme normalizací vektoru a, r, = a, q = a r, Ve druhém kroku ortogonalizačního procesu se hledá bázový vektorq 2 takový, žespan{a,a 2} = span{q,q 2}, q 2 q a q 2 = Splnění všech těchto podmínek lze docílit odečtením projekce vektoru a 2 ve směru q s následnou normalizací, z = (I q q )a2 = a2 (q a2)q, r2,2 = z, q 2 = z/r 2,2 V k-tém kroku se odečte od vektoru a k jeho projekce na prostor generovaný ortonormálními vektory q,,q k, Q k = [q,,q k ], a výsledný vektor se normalizuje, k z = (I Q k Q k )a k = a k (qia k)q i, r k,k = z, (36) i= q k = z/r k,k (37) Získané bázové vektoryq,,q m pak vyhovují podmínce (35) Jelikož jsou vektory a,,a m lineárně nezávislé, je vektor z vždy nenulový, a tudíž r k,k, k =,,m 35 QR rozklad 5 Dosadíme-li do (36) za z vektor r k,kq k, viz (37), a označíme-li r i,k = qi ak, dostáváme k a k = r i,kq i +r k,kq k, k =,,m (38) i= S označením A = [a,,a m], Q = [q,,q m] a r, r,2 r,m r 2,2 r 2,m R Cm m r m,m není maticový zápis rovnic (38) nic jiného, než A = QR, tj hledaný QR rozklad matice A Poznamenejme, že narozdíl od QR rozkladu spočteného pomocí rotací či reflexí má zde matice Q rozměr n m a matice R má rozměr m m, tj Gram-Schmidtův ortogonalizační proces spočítá pro n > m ekonomický QR rozklad Gram-Schmidtův ortogonalizační proces vzhledem ke skalárnímu součinu, zapíšeme vztahy k z = a k a k,q i q i, r k,k = z,z, q k = z/r k,k i= Výsledná báze {q,,q k} prostoruspan{a,,a k} je ortonormální vzhledem ke zvolenému skalárnímu součinu, 354 Implementace Gram-Schmidtova procesu Gram-Schmidtův proces lze přepsat několika matematicky (v přesné aritmetice) ekvivalentními způsoby Vyložíme dvě základní varianty Gram-Schmidtova procesu, tzv klasický a modifikovaný algoritmus Dále se seznámíme se speciální variantou algoritmu s iteračním zpřesněním Pro jednoduchost budeme opět předpokládat lineární nezávislost vektorů a,,a m Vztah (36) pro výpočet pomocného vektoru z v k-tém kroku lze zapsat ve tvaru kde ortogonální projektor k z = (I q iqi)a k C Qa k, (39) i= k C Q = I q iqi = I Qk Q k i= je komplementárním projektorem k projektoruq k Q k Zápis (39) umožňuje paralelní implementaci v tom smyslu, že všechny skalární součiny qi ak, i =,,k, se mohou počítat nezávisle na sobě Využijeme-li ortonormality vektorů q,,q k, platí (cvičení 35) Potom zřejmě k I q iqi = (I q k qk )(I q 2q2)(I q q) i= z = (I q k q k )(I q 2q 2)(I q q )a k M Qa k, (32) kde ortogonální projektor M Q je definován vztahem M Q (I q k q k )(I q2q 2 )(I qq ) (32)
34 52 Kapitola 3 Ortogonální transformace a QR rozklady a je matematicky ekvivalentní s ortogonálním projektorem C Q Implementace využívající (32) je sekvenční v tom smyslu, že pomocný vektor z počítáme postupně v k na sebe navazujících krocích, z = a k z 2 = z (qz )q, z = z k = z k (qk zk )qk (322) Zde je vhodné uvést, že z matematického hlediska je pořadí jednotlivých činitelů v (32) libovolné Při výpočtu v konečné přesnosti může různé pořadí ortogonalizace vést k různým výsledkům Bohužel není znám způsob, jak zvolit optimální pořadí ze vstupních dat, a možné adaptivní strategie nevedly k obecně použitelnému výsledku Vztahy (39), (32) jsou matematicky ekvivalentní Vedou však na algoritmy s různými numerickými vlastnostmi Vztah (39) vede na tzv klasický Gram-Schmidtův (CGS) algoritmus, viz algoritmus A Výhodou algoritmu je jeho paralelizovatelnost Nevýhodou však je velký vliv zaokrouhlovacích chyb Algoritmus A CGS klasický Gram-Schmidtův algoritmus input A = [a,,a m] r := a q := a /r Q := [q ] for k = 2 : m z := a k [r,k,,r k,k] T := Q k z z := z Q k [r,k,,r k,k] T r kk := z q k := z/r kk Q k := [Q k,q k] na spočtený výsledek při výpočtu v aritmetice s konečnou přesností (zaokrouhlovací chyby se mohou kumulovat a způsobit rychlou ztrátu ortogonality mezi vektory q k, viz rovněž odstavec 355) Modifikovaný Gram-Schmidtův (MGS) algoritmus vychází z rekurzivních vztahů (32) Výpočet každého skalárního součinu r i,k := qi z, i < k, následuje až po výpočtu aktualizace z := z ri,kqi, viz algoritmus A2 MGS je příkladem algoritmu, který obsahuje vnější sekvenční cyklus, a jeho možná Algoritmus A2 MGS modifikovaný Gram-Schmidtův algoritmus input A = [a,,a m] r := a q := a /r Q := [q ] for k = 2 : m z := a k for i = : k r ik := q i z z := z r ikq i r kk := z q k := z/r kk Q k := [Q k,q k] Modifikovaný Gram-Schmidtův algoritmus je původní varianta Gram-Schmidtova procesu Modifikovaný Gram- Schmidtův algoritmus je tedy starší než algoritmus, který nazýváme klasický [5] 35 QR rozklad 53 paralelizace v podstatě spočívá v paralelním provedení vektorové operace uvnitř cyklu Sekvenční ortogonalizace však umožňuje, že chyby vznikající při výpočtu vektoru z jsou částečně eliminovány Při ortogonalizaci proti vektoru q i dojde k podstatné eliminaci chyb ve směru q i, které ve vektoru z vznikly při předchozích operacích Ztráta ortogonality mezi vektory q k je proto u modifikovaného algoritmu výrazně nižší než u algoritmu klasického Ortogonalizační krok můžeme opakovat Získáme tím například klasický Gram-Schmidtův algoritmus s opakovanou ortogonalizací (s iteračním zpřesněním, ICGS) ICGS si zachovává hlavní výhodu CGS velmi dobře se paralelizuje a navíc redukuje ztrátu ortogonality díky opakované ortogonalizaci V článku [45] bylo ukázáno, že pro dosažení maximální přesnosti (ztráty ortogonality na úrovni úměrné strojové přesnosti) stačí jediné opakování ortogonalizace Algoritmem ICGS budeme proto označovat algoritmus s dvojnásobnou ortogonalizací Někdy se můžeme setkat i s modifikovaným Gram-Schmidtovým algoritmem s iteračním zpřesněním Před prezentací algoritmu A3 s iteračním zpřesněním zbývá rozebrat postup, jak vypočítat zpřesněné koeficienty r i,k Při první ortogonalizaci projektujeme vektor a k do podprostoru generovaného ortonormálními vektory q,,q k, tj vypočteme koeficienty qi ak, i =,,k a vektor z, z = a k [(q k ak)qk ++(q ak)q] Při opakované ortogonalizaci pak projektujeme dříve vypočtený vektor z do podprostoru generovaného ortonormálními vektory q,,q k, tj vypočteme koeficienty qi z, i =,,k a vektor w, w = z [(q k z)qk ++(q z)q] Dosadíme-li za vektor z do druhého vztahu, zjistíme, že w = a k [(q k a k +q k z)q k ++(q a k +q z)q ] Jinak řečeno, zpřesněné koeficienty, které zaznamenáváme do horní trojúhelníkové matice R, vzniknou součtem projekcí vektoru a k a vektoru z do jednotlivých směrů Pozorný čtenář samozřejmě může namítnout, že, čistě matematicky vzato (v přesné aritmetice), jsou všechny hodnoty qi z rovny nule Při výpočtu v aritmetice s konečnou přesností však tomu tak obecně není Algoritmus A3 ICGS iterovaný klasický Gram-Schmidtův algoritmus input A = [a,,a m] r := a q := a /r Q := [q ] for k = 2 : m z := a k r := for l = : 2 r := Q k z z := z Q k r r := r+ r [r,k,,r k,k] T := r r kk := z q k := z/r kk Q k := [Q k,q k] 355 Numerická stabilita QR rozkladu Uvedeme nyní stručně a bez důkazů několik výsledků vypovídajících o přesnosti výpočtu QR rozkladu v konečné aritmetice počítače Podrobněji se numerické stabilitě budeme věnovat v druhém dílu skript Základní pojem při analýze chování v konečné aritmetice je zpětná stabilita Říkáme, že algoritmus je
35 54 Kapitola 3 Ortogonální transformace a QR rozklady zpětně stabilní, pokud spočtené řešení dané úlohy je přesným řešením modifikované úlohy se vstupními daty, která jsou blízká původním datům dané úlohy Pro podrobnější popis a jeho kvantifikaci odkazujeme například na [4, 42, 62] a posléze na druhý díl skript Nechť ˆQ a ˆR jsou spočtené faktory QR rozkladu matice A C n m v aritmetice s konečnou přesností a nechť fl(ua) je spočtený výsledek aplikace elementární Givensovy rotace nebo Householderovy reflexe U na matici A v aritmetice s konečnou přesností V následujícím textu uvedeme, jaká je přesnost vypočtené matice fl(ua), co lze říci o ortogonalitě spočtené matice ˆQ, jak přesně spočtený je faktor ˆR, a konečně, do jaké míry odpovídá součin spočtených matic ˆQˆR matici A Aplikace Givensových rotací a Householderových reflexí v konečné aritmetice Givensovy a Householderovy transformace mají výborné numerické vlastnosti Wilkinson, jež byl spolu s Turingem mezi prvními, kdo se zabýval stabilitou numerických výpočtů, ukázal v šedesátých letech pomocí detailní analýzy zaokrouhlovacích chyb, že násobení unitárními maticemi je zpětně stabilní [4], [42, str ] Konkrétněji, pokud chceme transformovat matici A na matici UA, kde U C n n je matice elementární Givensovy rotace nebo Householderovy reflexe, potom fl(ua) = U(A+E), kde E A γn2 ε+o(ε 2 ), (323) kde γ označuje (zde i v dalších ohledech) generickou konstantu jejíž hodnota nezávisí na velikosti úlohy ani na konkrétních datech a O(ε 2 ) značí členy úměrné ε 2, kde ε je strojová přesnost počítače (vzdálenost čísla od nejbližšího většího čísla v množině čísel počítače) Faktor n 2 je velmi pesimistický a není důležitý z hlediska pochopení fungování algoritmu v konečné aritmetice počítače Tento faktor vzniká jako důsledek analýzy nejhoršího možného scénáře Výše zmíněný odhad (323) normy matice E budeme charakterizovat zápisem E ε A Ortogonalita spočtené matice ˆQ V přesné aritmetice je výsledkem QR rozkladu matice Q s ortonormálními sloupci Ztrátu ortogonality matic vypočtených v aritmetice s konečnou přesností budeme měřit následujícím způsobem Označme neboli ˆQ ˆQ = I +EQ, E Q ˆQ ˆQ I Kvalitu ortogonality (ztrátu ortogonality) matice ˆQ budeme měřit pomocí spektrální normy matice E Q Poznamenejme, že ztráta ortogonality se také často měří pomocí Frobeniovy normy E Q F = ˆQ ˆQ I F Přehled závislosti velikosti spektrální normy matice E Q na strojové přesnosti a podmíněnosti rozkládané matice lze pro jednotlivé algoritmy počítající QR rozklad nalézt v tabulce 3 Používáme zde Algoritmus Householderův QR rozklad Givensův QR rozklad CGS MGS ICGS E Q ε ε κ 2 (A)ε κ(a) ε ε Tabulka 3: Ztráta ortogonality (měřená pomocí E Q = ˆQ ˆQ I ) u různých algoritmů pro výpočet QR rozkladu v závislosti na strojové přesnosti a podmíněnosti rozkládané matice zobecněného čísla podmíněnosti pro obecně obdélníkovou matici (viz kapitola 5), které si prozatím můžeme zjednodušeně představit jako jakousi míru lineární závislosti sloupců matice Všechna uvedená tvrzení o velikosti E Q lze matematicky dokázat ve tvaru odhadů typu (323) Výsledky pro Householderův a Givensův QR rozklad je možno najít např v knihách [42, str 36, 236] nebo [62, kapitola 9] Výsledek pro MGS je známý již od roku 967 [4], výsledek pro CGS a ICGS byl formulován nedávno, v roce 25 [45] 35 QR rozklad 55 Poznámka 38 Výsledek pro ztrátu ortogonality v MGS uvedený v tabulce 3 platí v případě, že v k-té iteraci ortogonalizujeme postupně vzhledem k vektorům q,,q k v tomto pořadí Zvolíme-li jiné pořadí vektorů vůči nimž ortogonalizujeme (např q k,q k 2,q ), může ztráta ortogonality dosáhnout až hodnoty κ 2 (A)ε, tj hodnoty příslušné CGS Poznamenejme též, že výsledek pro ICGS platí za podmínky, že matice A není příliš špatně podmíněna (číslo podmíněnosti není blízké číslu ε ) Poznámka 39 Výpočet QR pomocí MGS je v konečné aritmetice prakticky invariantní vůči škálování sloupců matice A To znamená, že číslo κ(a) v charakterizaci ztráty ortogonality pro MGS můžeme nahradit číslem min Dκ(AD), kde D značí libovolnou regulární diagonální matici; viz [93], kde jsou diskutovány různé možnosti volby matice D V následujícím numerickém experimentu demonstrujeme, jak se při počítání v konečné aritmetice liší ztráta ortogonality v jednotlivých algoritmech Nechť A R 2 2 je Lauchliho matice ρ A =, ρ = 7, κ(a) (324) ρ V tabulce 32 uvádíme ztrátu ortogonality pro jednotlivé algoritmy: Householderův QR rozklad, Givensův Algoritmus Householderův QR rozklad Givensův QR rozklad CGS MGS (klasické pořadí ortogonalizace) MGS (obrácené pořadí ortogonalizace) ICGS ztráta ortogonality Tabulka 32: Ztráta ortogonality ˆQ T ˆQ I v různých algoritmech pro QR rozklad Lauchliho matice A z (324) QR rozklad, CGS, MGS a iterovaný CGS (ICGS) Vidíme, že při použití Householderova i Givensova QR rozkladu je ortogonalita zachována na úrovni strojové přesností ε (ε 6 ) Algoritmy MGS a CGS mají ztrátu ortogonality, která je výrazně vyšší U CGS ztráta odpovídá κ 2 (A)ε 2 a u MGS s postupnou ortogonalizací vůči vektorům q,,q k v k-té iteraci ztráta ortogonality odpovídá κ(a)ε 9 U MGS s obráceným pořadím ortogonalizace, tj s postupnou ortogonalizací v k-té iteraci vůči vektorům q k,,q ztráta odpovídá κ 2 (A)ε 2 V algoritmu ICGS se ztráta ortogonality redukuje na úroveň strojové přesnosti Na grafech na obrázku 34 jsou vykresleny velikosti prvků matic ˆQ T ˆQ I Na obrázku 35 vidíme průběhy ztráty ortogonality ˆQ T k ˆQ k I k pro k =,,2, pro jednotlivé implementace Stabilita výpočtu faktoru ˆR Pomocí analýzy zaokrouhlovacích chyb lze ukázat, že Householderův QR rozklad, Givensův QR rozklad a MGS jsou zpětně stabilní algoritmy v následujícím smyslu Nechť ˆR je spočtený trojúhelníkový faktor QR rozkladu matice A v aritmetice s konečnou přesností charakterizované strojovou přesností ε Potom existuje unitární matice Q a malá perturbace matice A (označme ji jako E) taková, že platí Q (A+E) = ˆR, E F ε A F, kde F je Frobeniova norma Tento výsledek je překvapivý hlavně pro algoritmus MGS [7], kde není zaručená ztráta ortogonality na úrovni strojové přesnosti Norma rezidua A ˆQˆR Matice ˆQ a ˆR vypočtené variantami Gram-Schmidtova procesu (MGS, CGS, ICGS) nebo pomocí Householderových či Givensových transformaci splňují A ˆQˆR ε A,
36 56 Kapitola 3 Ortogonální transformace a QR rozklady 35 QR rozklad 57 x 5 2 x (a) (b) Obrázek 35: Oba grafy znázorňují vývoj ztráty ortogonality mezi sloupci matice ˆQ 2 získané z QR rozkladu Lauchliho matice (324), tedy velikost normy ˆQ T k ˆQ k I k pro k =,,2 Matice ˆQ k obsahuje prvních k sloupců ˆQ 2 Vlevo je QR rozklad spočten algoritmy Householderův QR rozklad (plná čára), Givensův QR rozklad (čárkovaná čára), ICGS (tečky) Vpravo je pro srovnání QR rozklad spočten algoritmy ICGS (tečky), CGS (plná čára) a MGS (čárkovaná čára) 5 x x viz [62, kapitola 9] Všimněme si, že tento výsledek platí nejen pro MGS, ale dokonce pro variantu CGS, u které je ztráta ortogonality ze všech variant největší 356 Cena výpočtu Gram-Schmidtova procesu a QR rozkladu Cenu výpočtu QR rozkladu měříme počtem provedených aritmetických operací Podrobně ji vyjádříme u Gram-Schmidtova procesu aplikovaného na regulární matici A C n n Ceny výpočtu v ostatních případech uvedeme pouze v tabulce Hovoříme-li o ceně výpočtu, není třeba rozlišovat klasický a modifikovaný Gram-Schmidtův algoritmus (počet operací je stejný) ICGS vyžaduje přibližně dvakrát více operací než CGS a MGS Nejprve určíme cenu k-tého kroku Vektor a k nejprve ortogonalizujeme proti předchozím vektorům q,,q k, dostaneme tak pomocný vektor z, a ten poté normalizujeme, x (c) x 6 5 (d) k z = a k i= (q i ak)qi, qk = z z = z z z, viz (36) a (37) Celkem nás k-tý krok stojí 2n(k ) + 2n násobení, (2n )(k ) + n sčítání nebo odčítání, jednu odmocninu a jedno dělení (cvičení 36) Náročnost celého výpočtu pak získáme sečtením všech operací pro kroky k =,, n a užitím sčítacích vzorců n k = n 2 n(n+) a k 2 = 6 n(2n+)(n+) k= k= 2 5 (e) (f) Shrnutí počtu operací nalezneme v tabulce 33 Operace násobení, sčítání a odčítání jsou v konečné aritmetice zhruba stejně výpočetně náročné Operace dělení a odmocnina jsou složitější než první tři typy operací, v moderních architekturách procesorů však již nejde o několikařádový rozdíl Zanedbáme-li členy nižších řádů, algoritmus CGS, resp MGS, stojí přibližně 2n 3 aritmetických operací Obrázek 34: Jednotlivé grafy znázorňují velikostí prvků matic ˆQ T 2 ˆQ 2 I 2 (na svislé ose) Matice ˆQ 2 jsou matice z QR rozkladu Lauchliho matice (324) vypočteného algoritmem Householderův QR rozklad (a), Givensův QR rozklad (b), CGS (c), MGS (d), MGS s obráceným pořadím ortogonalizace (e) a ICGS (f) Poznamenejme, že se normalizace obvykle provádí tak, že se nejprve spočte číslo ζ = / z a pak násobí všechny složky vektoru z číslem ζ Uvažujme nyní QR rozklad obdélníkové matice A C n m, n m V tabulce 34 porovnáváme jednotlivé algoritmy pro výpočet QR rozkladu z hlediska výpočetní náročnosti Počet operací uvedených u Householderových reflexí je počet operací potřebných ke spočtení rozkladu v součinovém tvaru A = H H 2 H m R,
37 58 Kapitola 3 Ortogonální transformace a QR rozklady Operace k-tý krok celkem 2n(k )+2n n 3 +n 2 +, (2n )(k )+n n 3 2 n2 2 n : n n Tabulka 33: Ceny výpočtu QR rozkladu pomocí Gram-Schmidtova procesu Algoritmus celkový počet operací n > m n = m Householderův QR rozklad 2nm 2 2m 3 /3 4/3n 3 Givensův QR rozklad 3nm 2 m 3 2n 3 CGS, MGS 2nm 2 2n 3 Tabulka 34: Výpočetní ceny různých implementací QR rozkladu pro obdélníkovou resp čtvercovou matici kde H i jsou jednoduché Householderovy reflexe Pokud chceme explicitně spočíst matici Q, je nutné mezi sebou vynásobit matice H i, to vyžaduje dalších 2nm 2 2m 3 /3 operací U Givensových rotací je rovněž uveden počet operací potřebný ke spočtení rozkladu v součinovém tvaru Poznamenejme, že výpočet pomocí Givensových rotací lze zefektivnit použitím tzv rychlých Givensových rotací (fast Givens rotations) [49, str 28] Celkové náklady na výpočet QR rozkladu včetně faktoru Q jsou pak pro Householderův a Givensův QR rozklad srovnatelné 36 Arnoldiho algoritmus ROZŠÍŘENÍ VÝKLADU Gram-Schmidtův ortogonalizační proces můžeme použít k ortogonalizaci posloupnosti vektorů, která není předem dána, ale je vytvořena během ortogonalizačního procesu Příkladem je ortogonalizace vektorů, které generují tzv Krylovův podprostor Definice 3 (Krylovova posloupnost, Krylovův podprostor) Nechť A C n n, b C n Posloupnost b,ab,a 2 b,, budeme nazývat Krylovova posloupnost, a podprostor pro m n, m-tý Krylovův podprostor K m(a,b) K m(a,b) = span{b,ab,,a m b} Předpokládejme bez újmy na obecnosti, že vektory b,ab,,a m b jsou lineárně nezávislé (na příkladu metody sdružených gradientů v kapitole 8 uvidíme, že lineární závislost vektoru v Krylovově posloupnosti na předchozích vektorech zpravidla znamená dosažení cíle výpočtu) Pro určení ortonormální báze {q,q 2,,q m} podprostoru K m(a,b) dimenze m můžeme použít algoritmus, který zvolí první vektor q = b/ b a následně aplikuje Gram-Schmidtův ortogonalizační proces s tím, že každý další vektor, který bude ortogonalizován proti předchozím k ortogonálním vektorům, je definován jako Aq k To znamená, že nahradíme (36) vztahem k z = Aq k (qiaq k )q i, r k,k = z (325) i= Gram-Schmidtův ortogonalizační proces tohoto tvaru nazýváme Arnoldiho algoritmus Proces spočte (po sloupcích) QR rozklad [b,aq m] = Q m+r m+ (326) a lze ukázat, že span{q,q 2,,q m} = K m(a,b) (cvičení 38) Bázi složené z vektorů q,q 2,,q m se říká Arnoldiho báze Vynecháním prvního sloupce v rozkladu (326) dostaneme rozklad AQ m = Q m+h m+,m, (327) 37 Řádkově orientovaný Gram-Schmidtův proces 59 kde H m+,m C (m+) m je matice R m+ bez prvního sloupce Ekvivalentně můžeme psát AQ m = Q mh m +r m+,m+q m+e T m, (328) kde H m C m m je matice H m+,m bez posledního řádku Matice H m má nenulové prvky pod první poddiagonálou; je nazývána matice horní Hessenbergova Definice 3 (horní Hessenbergova matice) Čtvercovou matici H C m m, H = [h i,j], pro kterou h i,j =, i > j +, i,j =,,n, nazýváme horní Hessenbergova matice Schematicky H =, kde symbol označuje obecně nenulový prvek Analogicky H T je matice dolní Hessenbergova Rozklad (327), (328) nazýváme Arnoldiho rozklad Arnoldiho rozkladu se budeme podrobněji věnovat v kapitole 7 Tento odstavec zakončíme několika numerickými experimenty Uvažujme tři reálné nesymetrické matice A, A 2 a A 3 z kolekce Matrix Market??, konkrétně matice Impcol A, Steam a West38 řádu n = 27, 24 a 38, a uvažujme počáteční vektor b = [,,] T R n Budeme testovat kvalitu výpočtené ortogonální báze Krylovových podprostorů K k(a j,b), j =,2,3 Nejprve se pokusíme najít ortogonální bázi přímo pomocí QR rozkladu matice sestavené z vektorů Krylovovy posloupnosti Na základě výsledků vyložených v odstavci 355 lze očekávat velkou ztrátu ortogonality zejména při použití algoritmu CGS, méně výraznou pak při použití algoritmu MGS Průběh ztráty ortogonality spočtené ortogonální báze při použití algoritmů CGS, MGS a ICGS je vykreslený v grafech v levé části obrázku 36 V grafech je vynesena závislost veličiny ˆQ T ˆQ k k I k na k, přičemž sloupce matice ˆQ k představují prvních k spočtených vektorů ortogonální báze Kromě rychlé a výrazné ztráty ortogonality u algoritmů CGS a MGS vidíme, že k relativně rychlé ztrátě ortogonality dochází i u algoritmu ICGS To je způsobeno faktem, že vektory A k jb, k =,2,, rychle konvergují k vlastnímu vektoru odpovídajícímu dominantnímu vlastnímu číslu matice A j Detailním popisem tohoto jevu bychom se dostali nad rámec tohoto textu, podrobněji se mu budeme věnovat v druhém dílu skript Podstatné je, že vektory A k jb se stanou rychle téměř lineárně závislými Ve stejných grafech je též vykreslena ztráta ortogonality mezi vektory ortogonální báze spočtené Arnoldiho algoritmem, tedy Gram-Schmidtovým procesem, zde konkrétně jeho CGS implementací, kde je vztah (36) nahrazen vztahem (325), viz též cvičení 38 Vidíme, že Arnoldiho algoritmus významně omezí ztrátu ortogonality spočtené báze ve srovnání s QR rozkladem matice sestavené z vektorů Krylovovy posloupnosti Pro vyšší hodnoty k začíná být citelný rozdíl mezi jednotlivými implementacemi Arnoldiho algoritmu V grafech v pravé části obrázku 36 vidíme průběh ztráty ortogonality pro varianty Arnoldiho algoritmu založené na CGS, MGS a ICGS Stejně jako v předchozím případě je varianta založená na CGS nejméně stabilní Varianta založená na ICGS spočte ortogonální bázi se ztrátou ortogonality úměrnou strojové přesnosti 37 Řádkově orientovaný Gram-Schmidtův proces V tomto odstavci vyložíme variantu klasického a modifikovaného Gram-Schmidtova procesu, ve které horní trojúhelníková matice R vzniká po řádcích (row oriented), narozdíl od varianty vyložené v odstavci 353, ve které matice R vzniká po sloupcích (column oriented) Numerické vlastnosti řádkově i sloupcově orientované varianty GS procesu jsou stejné Řádkově orientovaná varianta Gram-Schmidtova procesu se ukáže velmi užitečnou v případě tzv QR rozkladu se sloupcovou pivotací (viz odstavec 38) Nechť A = [a,,a m] C n m je matice s plnou sloupcovou hodností Uvažujme klasickou variantu Gram-Schmidtova procesu a krok k < m V k-tém kroku máme k dispozici ortonormální vektory {q,,q k } takové, že span{q,,q k } = span{a,,a k }
38 6 Kapitola 3 Ortogonální transformace a QR rozklady 37 Řádkově orientovaný Gram-Schmidtův proces 6 5 Impcol A (a) 5 Steam (c) 5 West 38 Impcol A (b) Steam (d) West 38 5 Ve sloupcové variantě jsou prvky r i,k v horním trojúhelníku matice R počítány podle vzorců k r i,k = qia k, i =,,k, z = a k r i,kq i, i= r k,k = z Popišme nyní řádkovou variantu Předpokládejme, že známe prvních k řádků matice R, k Potom můžeme dle vztahů k z = a k r i,kq i, r k,k = z, q k = a k/r k,k, (329) spočítat vektor q k a následně i prvky matice R v k-tém řádku, platí i= r k,i = q ka i, i = k +,,m (33) Vztahy (329) a (33) jsou základem řádkově orientovaného klasického Gram-Schmidtova procesu, viz algoritmus A4 Algoritmus A4 CGS (řádkově orientovaný) input A = [a,,a m] r, := a q := a /r, Q := [q ] for k = 2 : m [r k,k,,r k,m] := q k [ak,,am] z := a k Q k [r,k,,r k,k] T r k,k := z q k := z/r k,k Q k := [Q k,q k] Sloupcovou variantu modifikovaného Gram-Schmidtova procesu lze zkráceně zapsat ve tvaru r i,k r k,k = qi a(i ) k, a (i) k = (I qiq i )a(i ) k, i =,,k, = a (k ) k, q k = a (k ) k /r k,k, (e) Obrázek 36: Vlevo vidíme ztrátu ortogonality mezi prvními několika vektory ortogonální báze Krylovova podprostoru spočtenými přímým QR rozkladem matice sestavené z vektorů Krylovovy posloupnosti algoritmy CGS (tečky), MGS (čerchovaná čára), ICGS (plná čára) v porovnání s ortogonální bází získanou Arnoldiho algoritmem založeném na CGS (přerušovaná čára) Vpravo vidíme analogickou ztrátu ortogonality při výpočtu různými variantami Arnoldiho algoritmu založenými na CGS (přerušovaná čára), MGS (čerchovaná čára) a ICGS (plná čára) Experiment byl proveden pro matice ImpcolA (a), (b), Steam (c), (d) a West38 (e), (f) (f) kde a () k a k a a (i) k (I q iqi )(I qq )ak Popišme nyní k-tý krok řádkově orientované varianty modifikovaného Gram-Schmidtova procesu Předpokládejme, že z předchozích k kroků máme k dispozici vektory q,,q k,a (k ) k,,a (k ) m Potom lze podle vzorce spočíst vektor q k a z získáme k-tý řádek matice R Vektory a (k) i tj máme k dispozici vektory r k,k = a (k ) k, q k = a (k ) k /r k,k (33) r k,i = q ka (k ) i, i = k +,,m, (332) potřebné pro další krok algoritmu spočteme podle a (k) i = (I q kqk )a(k ) i = a (k ) i r k,iq k, i = k +,,m, (333) q,,q k,q k,a (k) k+,,a(k) m Řádkově orientovaný modifikovaný Gram-Schmidtův proces lze zapsat pomocí algoritmu A5, ve kterém na počátku přiřadíme do matice Q = [q,,q m] matici A = [a,,a m] a poté postupně přepisujeme sloupce matice Q
39 62 Kapitola 3 Ortogonální transformace a QR rozklady Algoritmus A5 MGS (řádkově orientovaný) input A = [a,,a m] [q,,q m] := [a,,a m] for k = : m r k,k := q k q k := q k/r k,k [r k,k+,,r k,m] := q k [qk+,,qm] if k < m then [q k+,,q m] := [q k+,,q m] q k[r k,k+,,r k,m] 38 QR rozklad se sloupcovou pivotací Uvažujme matici A C n m, n m, s hodností r, r < m V takovém případě nemusí QR rozklad matice A poskytovat ortonormální bázi oboru hodnot R(A) Následující příklad jsme převzali z [6, str 2] Uvažujme libovolná dvě reálná čísla c a s taková, že platí c 2 +s 2 = Potom [ ] [ ][ ] c s s = }{{} A s c }{{} Q c }{{} R reprezentuje QR rozklad matice A, rank(a) = (QR rozklad není jednoznačný) Je-li navíc s a c, potom ani jeden ze sloupců ortogonální matice Q není bázovým vektorem oboru hodnot matice A Určení ortonormální báze oboru hodnot R(A) resp určení dimenze R(A) je důležité např při řešení úlohy nejmenších čtverců (kapitola 6) či v problému určení hodnosti matice A (odstavec 56) Ukážeme, jak modifikovat standardní algoritmy pro výpočet QR rozkladu tak, aby produkovaly ortonormální bázi R(A) Před praktickou realizací formulujme existenční větu Věta 32 ([6, věta 34]) Nechť A C n m, n m, je matice hodnosti r Potom existuje permutační matice P a unitární matice Q C n n taková, že [ ] R, R AP = Q,2, (334) kde R, C r r je horní trojúhelníková matice s nenulovými prvky na diagonále Důkaz Jelikož rank(a) = r, existuje permutační matice P taková, že AP = [A,A 2], kde A C n r má lineárně nezávislé sloupce Nechť [ ] R, A = Q = Q R,, Q = [Q,Q 2] C n n, Q C n r, reprezentuje QR rozklad matice A Z lineární nezávislosti sloupců matice A plyne nenulovost prvků na diagonále matice R, Dále platí [ ] Q AP = [Q A,Q R, R A 2] =,2 R 2,2 Jelikož rank(q AP) = rank(a) = r a rank(q AP) = rank(r,)+rank(r 2,2), je nutně rank(r 2,2) =, tj R 2,2 = Uvažujeme-li rozdělení matice Q = [Q,Q 2] tak, jak bylo navrženo v důkazu předchozí věty a kde Q C n r, lze vztah (334) zapsat v ekonomickém tvaru AP = Q [ R, R,2 ] (335) 38 QR rozklad se sloupcovou pivotací 63 Rozklady (334) a (335) mají požadovanou vlastnost, tj vyjeví ortonormální bázi prostoru R(A) (a tím i hodnost matice A) Platí totiž R(A) = R(A ) = R(Q ), tj sloupce matice Q tvoří ortonormální bázi R(A) Vztah (334), resp (335), představuje QR rozklad, k němuž budeme chtít dospět vhodnou modifikací QR rozkladu počítaného pomocí Householderových reflexí, resp pomocí Gram-Schmidtova procesu Zde je na místě důležité upozornění Níže uvedené algoritmy v přesné aritmetice určí hodnost matice Jak ukážeme v odstavci 56, určení numerické hodnosti matice však představuje mnohem složitější problém, který není pomocí QR rozkladu obecně řešitelný 38 Householderův QR rozklad se sloupcovou pivotací Popíšeme jednu z možných konstrukcí rozkladu (334), která vznikne modifikací algoritmu na výpočet QR rozkladu matice A pomocí Householderových reflexí, viz např [37, str 29 22] V počátečním kroku spočteme normy všech sloupců matice A a zkonstruujeme permutační matici P () takovou, která sloupec matice A s největší normou zamění s prvním sloupcem Určíme Householderovu reflexi H () tak, aby zobrazila první sloupec matice AP () na vektor [r,,,,] T Získáme tak matici R () = H () AP () Je zřejmé, že r, je rovno normě prvního sloupce matice AP () Smyslem sloupcové permutace tedy bylo maximalizovat velikost prvku r, V k-tém kroku, k 2, budeme pracovat s podmaticí matice R (k ), která vnikne z R (k ) vynecháním prvních k řádků a k sloupců Aplikujeme první krok na uvažovanou podmatici s tím rozdílem, že při záměně sloupců budeme zaměňovat celé sloupce matice R (k ) (a ne pouze sloupce uvažované podmatice) Jinak řečeno, permutační matici P (k), která zamění k-tý a např j-tý sloupec matice R (k ), budeme konstruovat na základě maximální normy sloupce uvažované podmatice Výsledkem bude matice R (k) = H (k) R (k ) P (k) Smyslem permutace opět bylo maximalizovat velikost prvku r k,k vznikající matice R Má-li matice A hodnost r, dospějeme v r-tém kroku k rozkladu (334), kde [ ] R, R,2 = R (r), P = P () P (r), Q = H () H (r) Zároveň z výše uvedené konstrukce vyplývá, že absolutní hodnota prvků na diagonále matice R, je nerostoucí, r, r 2,2 r r,r (336) Díky zvolené strategii výběru sloupce podmatice s maximální normou lze dokázat dokonce více Protože v prvním kroku vybereme sloupec s maximální normou (rovnou r, ), platí r, 2 max j=2,,m r() j 2 m m j=2 r () j 2, kder () j jej-tý sloupec maticer () = [e r,,r () 2,,r() m ] (unitární transformace aplikovaná zleva normy sloupců nezmění) V dalších krocích rozkladu provádíme již pouze permutace sloupců 2,, m Předchozí nerovnost tak lze přepsat pomocí prvků trojúhelníkové matice R r, 2 max j=2,,m i= n r i,j 2 m n r i,j 2 m j=2 i= V k-tém kroku, k < m, aplikujeme Householderovu transformaci pouze na danou podmatici matice R (k ) a prvních k řádků matice R (k ) se nemění Nutně tedy platí analogická nerovnost pro sloupce dané, již unitárně transformované podmatice Ve všech následných krocích rozkladu provádíme permutace pouze sloupců k +,,m Ve výsledku tak dostáváme analogický vztah, po odmocnění, ve tvaru n r k,k 2 max r i,j 2 m n r i,j 2, (337) j=k+,m m k i=k j=k+ i=k
40 64 Kapitola 3 Ortogonální transformace a QR rozklady přičemž ( n ) /2 r i,j 2 i=k reprezentuje normu jednoho (obecně nikoliv j-tého) sloupce podmatice uvažované v k-tém kroku algoritmu 382 Gram-Schmidtův QR rozklad se sloupcovou pivotací K výpočtu QR rozkladu tvaru (335) nyní použijeme vhodně upravený řádkově orientovaný Gram- Schmidtův proces (klasický či modifikovaný) Budeme se přitom držet podobné strategie jako v předchozím odstavci, která nám zajistí, že diagonální prvky matice R budou splňovat vztahy (336) a (337) Jednotlivé permutační matice budeme určovat na základě maximální normy zbývajících sloupců matice A, od nichž bude odečtena projekce do již sestrojeného podprostroru Nejdříve použijeme řádkově orientovaný modifikovaný GS z odstavce 37 (algoritmus A5) 38 QR rozklad se sloupcovou pivotací 65 y 2 x 2 y y x r Obrázek 37: Znázornění Givensových rotací v rovině pomocí polárních souřadnic x V prvním kroku určíme permutační P () takovou, která sloupec matice A s největší normou zamění s prvním sloupcem matice A Poté aplikujeme první krok GS procesu na matici AP () Získáme tak první řádek matice R a matici CVIČENÍ j = 2,,m Q () [q,a () 2,a() 3,,a() m ], Na počátku k-tého kroku, k 2, máme k dispozici matici a() j (I q q )(AP() )e j, Q (k ) = [q,,q k,a (k ) k,a (k ) k+,,a(k ) m ] a vznikající matici R o k řádcích Určíme sloupec a (k ) j, j k, s největší normou Je-li daný sloupec nulový (při praktickém výpočtu má normu menší, než je daná tolerance), tak ukončíme algoritmus a [q,,q k ]R je hledaný QR rozklad matice AP = AP () P (k ), P P () P (k ) V opačném případě zaměnímej-tý ak-tý sloupec matice Q (k ), a stejně tak zaměníme i j-tý ak-tý sloupec matice R, ve kterých jsou uloženy souřadnice zaměňovaných vektorů v bázi q,,q k Následně provedeme krok řádkově orientované verze modifikované Gram-Schmidtova procesu, a získáme tak matici Q (k) = [q,,q k,q k,a (k) k+,,a(k) m ] = (I qkq k )Q(k ) P (k) a k-tý řádek matice R, jež jsou potřebné pro další krok algoritmu Poznamenejme, že P (k) je permutační matice, jež zamění j-tý a k-tý sloupec matice Q (k ) Na základě strategie, podle níž jsme vybírali permutace sloupců, je zřejmé, že diagonální prvky matice R opět splňují vztahy (336) a (337) Protože jsou navíc v Gram-Schmidtově procesu diagonální prvky matice R vždy kladné, lze v (336) a (337) vynechat absolutní hodnoty V řádkově orientované verzi klasického Gram-Schmidtova procesu není posledních m k + sloupců matice Q (k ) fyzicky k dispozici Jejich normu, na základě které rozhodujeme o permutaci vektorů určených k ortogonalizaci, však můžeme počítat rekurentně Podle (333) a s využitím Pythagorovy věty platí a (k) i 2 = a (k ) i r k,iq k 2 = a (k ) i 2 r k,i 2, i = k +,,m (338) Implementačně nejsou algoritmy se sloupcovou pivotací výrazně složitější než běžně používané verze řádkově orientovaného Gram-Schmidtova procesu pro výpočet QR rozkladu Jedinou prací navíc je hledání sloupce s maximální normou a následná záměna sloupců 3 Nechť je dán vektor x, který chceme pootočením o úhel ϕ zobrazit na vektor y, viz obrázek 37 Užitím polárních souřadnic [ ] [ ] rcosα rcosβ x =, y =, rsinα rsinβ a elementárních goniometrických identit ukažte, že platí y = G(ϕ)x, kde matice G(ϕ) je dána vztahem (3) 32 Ukažte, že volbou ϕ = α nebo ϕ = π α ve cvičení 3 vynulujeme druhou složku vektoru x, přičemž odpovídající hodnoty sinϕ a cosϕ budou v případě ϕ = α identické s hodnotami (34) a (35) 33 Určete vlastní čísla a determinant elementární Givensovy rotace 34 Ukažte, že násobení elementárních (a tedy i složených) Givensových rotací obecně není komutativní 35 Určete vlastní čísla a determinant Householderovy reflexe v reálném oboru 36 Nechť x R n je vektor, jehož první složka ξ je kladná Chceme tento vektor zrcadlit na vektor [ x,,] T pomocí Householderovy reflexe Dokažte, že je možné příslušný normálový vektor q = x x e x x e (respektive jeho první složku) spočítat numericky stabilně Postupujte tak, že rozšíříte první složku normálového vektoru zlomkem s čitatelem i jmenovatelem rovným ξ + x (tzv Parlettův trik) 37 Ukažte, že Householderova reflexe k dané nadrovině H(q) je určena jednoznačně, nezávisle na volbě normálového vektoru q 38 Ukažte, že Householderovy reflexe odpovídající vzájemně ortogonálním normálovým vektorům jsou komutativní 39 Nechť Ax = λx, x = Dokažte, že existuje elementární Householderova reflexe H taková, že HAHe = λe 3 Dokažte, že každé dvě z následujících podmínek implikují třetí: (i) H je hermitovská, (ii) H je unitární, (iii) H 2 = I
41 66 Kapitola 3 Ortogonální transformace a QR rozklady 3 Mějme dánu matici Givensovy rotace v R 2 Definujme dva normalizované vektory Ukažte, že [ ] cos(ϕ) sin(ϕ) G(ϕ) = sin(ϕ) cos(ϕ) q = [ ] [ ] cos(ϕ) 5, q 2 =, +cos(ϕ) q = ( cos(ϕ)++cos(ϕ)) = = q2 2 [ ] cos(ϕ) sin(ϕ) H(q 2)H(q ) = = G(ϕ), sin(ϕ) cos(ϕ) tedy každou Givensovu rotaci lze popsaným způsobem složit ze dvou Householderových reflexí 32 Popište složení Givensovy rotace ze dvou Householderových reflexí, které je znázorněno geometricky na obrázku QR rozklad se sloupcovou pivotací Ukažte, že cena k-tého kroku algoritmu A metody CGS, resp algoritmu A2 metody MGS, je dána cenou 2n(k ) + 2n součinů, (2n )(k ) + n součtů nebo rozdílů, jednoho podílu a jednoho výpočtu odmocniny 37* Nechť jsou dány vektory x C n a y C n s x = y, x y, a nechť q x y x y Dokažte algebraicky (bez použití geometrických vlastností Householderových reflexí), že matice H(q) zobrazí vektor x na vektor y, H(q)x = y, právě tehdy, když y x R 38 Zapište Arnoldiho algoritmus ve tvaru algoritmů z odstavce 354 (použijte značení z rovnice (327)) Dále: Dokažte z algoritmického zápisu vztah h k+,kq k+ = Av k k h i,kq i i= 2 Dokažte, že pokud b a algoritmus nekončí v iteraci k < m, pak span{q,,q k+} = K k+(a,b) a existují koeficienty α i C takové, že A k b = k+ i= αiqi, αk+ 39 Nechť A C n m, kde n m a rank(a) = n Ukažte, jak lze vypočítat QR rozklad matice A pomocí Gram-Schmidtova ortogonalizačního procesu (využijte vhodných permutací) Obrázek 38: Složení Givensovy rotace ze dvou Householderových reflexí H, H 2 33 Dokažte, že matici Householderovy reflexe nelze složit z Givensových rotací Dále dokažte, že pomocí Givensových rotací nelze vyjádřit žádná matice, která je součinem lichého počtu Householderových reflexí 34 Nechť A C n n je matice, jejíchž prvních k sloupců je lineárně nezávislých Uvažujme konstrukci QR rozkladu matice A pomocí Givensových rotací, kde v k-tém kroku výpočtu vznikla matice A (k) = Γ kγ A, přičemž Γ j, j =,,k jsou složené rotace (viz odstavec 35) Ukažte, že k-tý diagonální prvek matice A (k) je nulový právě tehdy, když je k-tý sloupec matice A lineární kombinací předchozích k sloupců matice A 35 Ukažte, že jsou-li vektory q,,q k navzájem ortogonální, pak platí I q q q 2q 2 q kq k = (I q q )(I q 2q 2)(I q kq k), tedy součin na pravé straně je komutativní
42 68 Kapitola 3 Ortogonální transformace a QR rozklady KAPITOLA 4 LU rozklad a jeho numerická analýza V této kapitole se budeme podrobně zabývat jedním z nejznámějších a nejstarších algoritmů pro řešení systému lineárních algebraických rovnic Ax = b s regulární maticí A, kterým je Gaussova eliminace, jež může být také interpretována jako algoritmus na výpočet LU rozkladu matice A Gaussova eliminace je pojmenovaná po německém matematikovi Friedrichu Gaussovi ( ) Gauss v první polovině 9 století zmiňuje metodu, která byla pravděpodobně známa již dříve Začátkem čtyřicátých let minulého století, tj v době kdy byla Gaussova eliminace poprvé implementována na počítačích, publikoval Hotelling [67] výsledky ukazující na potenciální exponenciální růst chyby při výpočtu inverze matice pomocí Gaussovy eliminace Tím vznikly oprávněné obavy, že Gaussova eliminace nemusí být numericky stabilní při výpočtech v konečné aritmetice počítače Článek autorů Goldstina a von Neumanna [34] z roku 947 tyto obavy částečně rozptýlil Autoři se soustředili na symetrické, pozitivně definitní matice a pomocí detailní analýzy zaokrouhlovacích chyb ukázali, že chyba výpočtu inverze matice pomocí Gaussovy eliminace je násobkem čísla podmíněnosti Jinak řečeno, pokud je matice téměř singulární, pak eliminační proces nemusí dát rozumnou inverzi, což je přesně to, co by se očekávalo Následná práce Turinga [27] z roku 948 přinesla mnoho důležitých poznatků Turing v práci ukázal, že Gaussova eliminace počítá LU rozklad matice Začal používat pojem předpodmínění ve významu zlepšení podmíněnosti matice systému lineárních rovnic, popsal iterační zpřesnění Gaussovy eliminace (tj strategii opakované aplikace LU rozkladu pro zlepšení kvality aproximace) a rovněž analyzoval Gaussovu eliminaci s částečnou pivotací Skutečný průlom v numerické analýze Gaussovy eliminace ovšem nastal s pracemi Wilkinsona [39, 4], který analyzoval Gaussovu eliminaci s částečnou pivotací z pohledu zpětné chyby Wilkinson omezil normu zpětné chyby s využitím norem spočtených faktorů L a U odpovídajících LU rozkladu a strojové přesnosti Spojil tak stabilitu Gaussovy eliminace s částečnou pivotací s tzv růstovým faktorem, (viz (47)), tj s relativním růstem prvků ve faktoru U Další autoři [24] a [] se pak zaměřili na odhad zpětné chyby po prvcích (componentwise backward error) Náš stručný historický přehled uzavřeme prací Skeela [8] Skeel v roce 98 dokázal, že pokud je používáno iterační zpřesnění, je Gaussova eliminace s částečnou pivotací bezpodmínečně stabilní pro obecné nehermitovské matice Více informací o historii Gaussovy eliminace je možné nalézt např v knize [62, odstavec 93] a v příspěvku Beresforda Parletta věnovaném Jamesu Wilkinsonovi [99] V současné době je LU rozklad (Gaussova eliminace) 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 V textu této kapitoly stručně připomeneme Gaussovu eliminaci a rozebereme podrobněji výsledky, o kterých jsme se zmínili v našem krátkém historickém úvodu 4 Prostá Gaussova eliminace a LU rozklad V tomto odstavci se zaměříme na maticový popis Gaussovy eliminace, který nám umožní chápat Gaussovu eliminaci jako algoritmus na výpočet LU rozkladu Maticový zápis je podstatný pro analýzu numerické stability Gaussovy eliminace Nejprve zavedeme značení zjednodušující dále používaný mati- 69
43 7 Kapitola 4 LU rozklad a jeho numerická analýza cový zápis Uvažujme čtvercovou n n matici M k následující struktury M k = = I +m ke T k, m k = m k+,k m n,k Není těžké se přesvědčit (viz cvičení 4), že Uvažujme dále dolní trojúhelníkovou matici L, Ve cvičení 42 ukážeme, že platí schematicky znázorněno, M M 2 m k+,k m k+2,k m n,k (4) M k = I m ke T k (42) L M M 2M 3M n (43) n L = I + m ke T k, (44) M 3 k= M n L = Uvažujme nyní soustavu lineárních algebraických rovnic Ax = b, A C n n, b C n (45) s regulární maticí A Při výkladu budeme nejprve předpokládat, že Gaussovu eliminaci lze provést, tj že prvky, kterými dělíme, jsou různé od nuly V prvním kroku budeme eliminovat poddiagonální prvky prvního sloupce matice A užitím prvního řádku matice A Od druhého řádku odečteme (a 2,/a,) násobek prvního řádku, obecně od i-tého řádku odečteme (a i,/a,) násobek prvního řádku, i = 2,,n Dostaneme tak matici A (), a, a,2 a,n a () A A () 2,2 a () 2,n = M A, a () n,2 a () n,n kde v souladu se značením zavedeným v (4) a (42) je M = I m e T a 2,/a, a 2,/a, = a 3,/a,, m a 3,/a, a n,/a, a n,/a, Prvkům a i,/a, budeme říkat násobitelé Současně s maticí A modifikujeme i pravou stranu soustavy (45), tedy b b () M b 4 Prostá Gaussova eliminace a LU rozklad 7 V druhém kroku eliminujeme poddiagonální prvky druhého sloupce matice A () užitím druhého řádku této matice Dostaneme matici, kterou označíme A (2), tedy A (2) M2 A(), kde jsme označili 2 = I m 2e T 2 = M a () 3,2 /a() 2,2 a () n,2 /a() 2,2, m 2 a () 3,2 /a() 2,2 a () n,2 /a() 2,2 Stejným způsobem pokračujeme dále, až po n krocích dostaneme horní trojúhelníkovou matici Zavedeme-li označení A () A, platí U = Použijeme-li (43), dostáváme z (46) vztah U A (n ) = M n (M n 2 ((M 2 (M }{{ A ) } =A () }{{} =A (2) a (), a (),2 a (),3 a (),n a () 2,2 a () 2,3 a () 2,n a (2) 3,3 a (2) 3,n a (n ) n,n ))) (46) (47) A = (M M 2M n 2M n )U LU, (48) kde L je dolní trojúhelníková matice s jednotkovou diagonálou obsahující násobitele jako mimodiagonální prvky (viz (44)), L = a () 2, /a(), a () 3, /a(), a () 3,2 /a() 2,2 a () 4, /a(), a () 4,2 /a() 2,2 a (2) 4,3 /a(2) 3,3 a () n, /a(), a () n,2 /a() 2,2 a (2) n,3 /a(2) 3,3 a (n 2) n,n /a(n 2) n,n Tím jsme matici A vyjádřili jako součin dolní a horní trojúhelníkové matice, tj Gaussovu eliminaci jsme popsali jako LU rozklad Definice 4 (LU rozklad) Nechť A C n n je regulární matice Rozklad tvaru A = LU, kde L je dolní trojúhelníková matice s jednotkovou diagonálou a U je horní trojúhelníková matice, nazýváme LU rozkladem matice A
44 72 Kapitola 4 LU rozklad a jeho numerická analýza Poznamenejme, že je možné uvažovat LU rozklad i pro singulární nebo obdélníkové matice, viz např [62, str 62 a 82] Těmto variantám LU rozkladu se však v našem textu věnovat nebudeme Soustavu lineárních algebraických rovnic (45) vyřešíme pomocí LU rozkladu ve dvou krocích Přímý chod: Implicitní násobení obou stran rovnice Ax = b maticí L, Ax = b L Ax = L b Ux = b (n ) Přímý chod Gaussovy eliminace s pravou stranou b = [β,,β n] T můžeme zapsat algoritmem A6 2 Zpětný chod: Řešení soustavy Ux = b (n ) s horní trojúhelníkovou maticí U, viz algoritmus A7 Při praktických výpočtech se prvky matice A uložené v paměti počítače fyzicky přepisují nově spočtenými prvky Po výpočtu provedeném algoritmem A6 je v horním trojúhelníku matice A (včetně diagonály) uložena matice U a v dolním trojúhelníku matice L (bez diagonály; víme že na diagonále L jsou jedničky), A U L Výše zmíněný postup můžeme rovněž chápat následujícím způsobem 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 b, přičemž řešení první soustavy L b = b (n ) je vypočteno v průběhu vytvoření LU rozkladu Poznamenejme, že anglický název forward solve pro přímý chod se používá i pro obecné řešení soustavy s dolní trojúhelníkovou maticí L, tj bez kontextu Gaussovy eliminace Algoritmus A6 Přímý chod Gaussovy eliminace input A () := A = [a i,j], b () := b = [β,,β n] T for k = : n for i = k + : n m i,k := a(k ) i,k a (k ) k,k for j = k + : n a (k) i,j β (k) i := a(k ) i,j m i,ka (k ) k,j := β (k ) i m i,kβ (k ) k Popsali jsme jednu z možných algoritmických realizací Gaussovy eliminace Popsaný algoritmus obsahuje tři cykly, jeden vnější pro k =,,n a dva vnitřní, pro řádkové indexy i a pro sloupcové indexy j Přeuspořádáním cyklů dostaneme jiné algoritmické zápisy, viz rozšíření výkladu Právě popsaný zápis se nazývá varianta kij podle pořadí jeho cyklů 42 Gaussova eliminace s částečnou pivotací V předchozím jsme předpokládali, že všechny naznačené kroky lze provést, tedy, že a (k ) k,k pro k =,,n (49) 42 Gaussova eliminace s částečnou pivotací 73 Algoritmus A7 Zpětný chod Gaussovy eliminace input A (n ), b (n ) ξ n := β n (n ) /a (n ) n,n for i = n : : ξ i := β (n ) i for j = i+ : n ξ i := ξ i a (i ) i,j ξ i := ξ i/a (i ) i,i ξ j Věta 42 Podmínka (49) je splněna právě tehdy, je-li matice A silně regulární, tj pokud platí a, a,k det, k =,n a k, a k,k (všechny hlavní minory jsou nenulové) Důkaz Označme a, a,k à k a k, a k,k k-tou hlavní submatici matice A Tvrzení zřejmě platí pro à Nechť platí pro Ãk, k < n Vzhledem k tomu, že ve výše popsaném LU rozkladu (algoritmus A6) 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+ je singulární tehdy a jen tehdy, je-li a (k) k+,k+ = Předpoklad silné regularity nemusí být pro obecnou regulární matici splněn Jednoduchým příkladem je matice [ ] Předpoklad silné regularity matice A u prosté Gaussovy eliminace nám zajišťuje, že nedojde k dělení nulou Při řešení soustavy s regulární maticí bychom však chtěli 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 (vše měřeno absolutními hodnotami prvků matic či vektorů) Vznikají-li při výpočtu mezivýsledky s velkou absolutní hodnotou (relativně vzhledem k absolutní hodnotě vstupních dat a výsledku), přičemž výpočet obsahuje operaci odečítání čísel stejného znaménka, s velkou pravděpodobností dojde při výpočtu v aritmetice s konečnou přesností k významné ztrátě počtu platných cifer výsledku, a tedy ke ztrátě informace vedoucí k nestabilitě algoritmu Zamysleme se nad tím, kde mohou v algoritmu vznikat velká čísla Jádrem Gaussovy eliminace je následující výpočetní operace m i,k = a(k ) i,k a (k ) k,k, a (k) i,j = a(k ) i,j m i,ka (k ) k,j, (4) kde i,j {k+,,n}, k =,,n Je-li dělitel a (k ) k,k výrazně menší v porovnání s čitateli a (k ) i,k, potom je m i,k v absolutní hodnotě výrazně větší než Může se pak např stát, že a (k ), a tedy a (k) a (k ) m i,ka (k ) k,j i,j V praxi je třeba řešit soustavy s obecnou regulární maticí bez předpokladu silné regularity Pomůže nám k tomu následující věta i,j i,j
45 74 Kapitola 4 LU rozklad a jeho numerická analýza Věta 43 Ke každé regulární matici A existuje permutační matice P taková, že matice PA je silně regulární Matice P není obecně určena jednoznačně Důkaz věty vyplyne z následujícího výkladu Naučíme se zkonstruovat permutační matici P zajišťující nejen silnou regularitu matice PA, ale i zlepšení numerické stability výpočtu 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šak vést k omezení hodnot mezivýsledků, a tedy k omezení šíření (zesilování vlivu) zaokrouhlovacích chyb a tím ke zpřesnění výpočtu Budeme se snažit o to, aby byl vznikající podíl m i,k = a(k ) i,k a (k ) k,k (4) v absolutní hodnotě co nejmenší Toho docílíme tím, že v každém kroku výpočtu k =,,n přeuspořádáme n k + rovnic účastnících se eliminace tak, aby byl jmenovatel ve zlomku (4) v absolutní hodnotě co největší Najdeme index l takový, aby a (k ) l,k = max a (k ) i,k i=k,,n Vzájemně zaměníme k-tý a l-tý řádek v matici A (k ) 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 Protože jsme vybrali maximální prvek ve sloupci, musí být 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 Definice 44 (Částečná a úplná pivotace) Gaussovu eliminaci, ve které před eliminací poddiagonálních prvků k-tého sloupce matice A (k ) najdeme index l takový, aby = max a (k ), a (k ) l,k i=k,,n a zaměníme k-tý a l-tý řádek v matici A (k ), nazýváme Gaussovou eliminací s částečnou pivotací Gaussovu eliminaci, ve které před eliminací poddiagonálních prvků k-tého sloupce matice A (k ) najdeme indexy l a s takové, aby a (k ) = max a (k ), l,s i,k i=k,,n, j=k,,n a zaměníme k-tý a l-tý řádek, a k-tý a s-tý sloupec v matici A (k ), nazýváme Gaussovou eliminací s úplnou pivotací Prvky a (k ) l,k, resp a (k ) l,s nazýváme pivoty Z lineární nezávislosti sloupců plyne, že při částečné pivotaci je vždy splněn předpoklad nenulovosti pivota (dělitele) Pokud by v určitém kroku byly všechny prvky a (k ) i,k nulové, tj částečně eliminovaná matice by měla tvar A (k), potom by byl k-tý sloupec částečně eliminované matice lineární kombinací předchozích sloupců, tj prvních k sloupců původní matice by bylo lineárně závislých Gaussova eliminace s částečnou pivotací je tedy proveditelná pro libovolnou regulární matici A Pro dokončení důkazu věty 43 stačí ukázat, že Gaussovu eliminaci s částečnou pivotací aplikovanou na A můžeme interpretovat jako Gaussovu eliminaci aplikovanou na matici PA, kde P je vhodná permutační matice To ukážeme v dalším odstavci i,j 42 Gaussova eliminace s částečnou pivotací Maticový zápis Gaussovy eliminace s částečnou pivotací V Gaussově eliminaci s částečnou pivotací postupujeme následujícím způsobem Dříve než v k-tém kroku vynulujeme poddiagonální prvky k-tého sloupce, provedeme permutaci řádků 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 tedy reprezentovat zápisem U M n ( Pn (M 2 (P2(M (PA))))) (42) Řešení soustavy Ax = b pak dostaneme vyřešením úlohy Ux = Mn ( Pn (M2 (P2(M (Pb))))), kde U je horní trojúhelníková matice Uvědomme si, že matice M n Pn M 2 P2M P, která převede matici A na horní trojúhelníkový tvar ve (42), není obecně dolní trojúhelníková Lze Gaussovu eliminaci s částečným výběrem pivota popsat jako LU rozklad? Uvažujme matici M k, viz (4), a nechť k < t Pak násobení permutační maticí zleva P tm k zamění příslušné řádky dolní trojúhelníkové matice M k 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 Výsledná matice má stejnou strukturu jako M k s tím rozdílem, že příslušné prvky v jejím k-tém sloupci určené permutační maticí P t jsou zaměněny Při procesu eliminace tak můžeme zápis prvního kroku (předpokládejme, že známe dopředu permutaci P 2) upravit následujícím způsobem, P 2M PA = (P2M P2)P2PA, kde matice P 2M P2 realizuje eliminaci řádků P2PA (zaměněných řádků původní matice) ve správném pořadí Analogickým postupem můžeme přepsat kde U = Mn Pn M n 2 Pn 2P2M ( ) PA = M n M n 2 M (P n P n 2P 2P )A, M n = Mn M n 2 = P n Mn 2 Pn M = (P n P n 2P 3P 2)M (P 2P 3P n 2P n ) Matice A je tedy nejprve permutována, a teprve poté jsou provedeny příslušné eliminační kroky (úprava eliminačních matic přitom zajistí, že se provádí eliminace zaměněných řádků ve správném pořadí) Označíme-li L = M n M n 2 M, P = P n P n 2P 2P, pak zřejmě platí U = L PA, neboli LU = PA je hledaný zápis eliminae s částečnou pivotací jako LU rozklad Z konstrukce je zřejmé, že daný rozklad vždy existuje; pro libovolnou regulární matici A je tedy matice PA silně regulární Matici P nelze určit apriori (předem), vzniká postupně při výběru jednotlivých pivotů Ukázali jsme podstatný teoretický výsledek: Věta 45 Gaussovu eliminaci s částečnou pivotací lze reprezentovat pomocí vztahu PA = LU Jinak řečeno, na Gaussovu eliminaci s částečnou pivotací lze nahlížet jako na Gaussovu eliminaci bez pivotace aplikovanou na permutovanou matici PA Díky výběru pivota navíc víme, že všechny prvky matice L jsou menší nebo rovny jedné
46 76 Kapitola 4 LU rozklad a jeho numerická analýza 43 Numerická analýza Gaussovy eliminace V kapitole 3 jsme uvedli příklady výsledků popisujících zpětnou stabilitu QR rozkladu Dříve než probereme otázky numerické stability algoritmu Gaussovy eliminace, podíváme se stručně na problém citlivosti systému lineárních rovnic 43 Citlivost systému lineárních rovnic na změny vstupních dat Jak jsme již zmínili dříve, 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 matice 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 Jelikož se v měřených datech mohou vyskytovat chyby, je přirozené zkoumat vliv malých změn vstupních dat (malých perturbací dat) na řešení x V našem případě 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 (43) Zajímá nás, jak velikost změny pravé strany b může ovlivnit velikost změny řešení x (velikosti změn budeme měřit pomocí euklidovské normy a v relativním smyslu) Jelikož Ax = b, plyne z (43) vztah A x = b Normu x pak můžeme odhadnout následovně: Zároveň však z A x b plyne a dohromady dostáváme x x x = A b A b x b A, (44) A A b b = κ(a) b b Vidíme, že relativní změna řešení (měřeno v euklidovské normě) je dána relativní změnou vstupních dat (zde pouze pravé strany, matice A zůstala beze změny) násobeno číslem κ(a), které je možno chápat jako míru citlivosti určující (podmiňující) velikost x / x v závislosti na b / b Pro malé κ(a) máme zaručenou malou citlivost řešení vzhledem k perturbacím pravé strany; s velkým číslem podmíněnosti žádnou takovou záruku nemáme Poznamenejme, že číslo podmíněnosti charakterizuje vlastnost dané úlohy a nemá s algoritmem pro řešení lineárního systému nic společného Je-li pro danou úlohu číslo podmíněnosti malé, říkáme, že lineární systém je dobře podmíněný Předpokládejme, že máme k dispozici aproximaci ˆx přesného řešení x Rádi bychom nyní změřili kvalitu této aproximace, tj ptáme se, jak blízko je spočtené řešení k řešení přesnému První, co se nabízí, je spočíst reziduum b Aˆx a na základě jeho velikosti (normy) usuzovat na blízkost ˆx k řešení (kdyby bylo ˆx přesným řešením, potom by platilo b Aˆx = ) Ukážeme však, že informace o velikosti normy rezidua nemusí být použitelná, tj malá norma rezidua nemusí automaticky implikovat malou vzdálenost mezi aproximací ˆx a řešením x Označíme-li reziduum r = b Aˆx, pak Pomocí (44) dostaneme x ˆx = A (b Aˆx) = A r A r x ˆx x A A r b = κ(a) r b Jinak řečeno, je-li číslo podmíněnost κ(a) velké, nemusí relativní norma rezidua poskytovat dostatečně přesnou informaci o blízkosti aproximace řešení ˆx k přesnému řešení x 43 Numerická analýza Gaussovy eliminace Numerická stabilita Gaussovy eliminace s částečnou pivotací Nyní se vraťme k otázce numerické stability Gaussovy eliminace Jak jsme popsali v úvodu této kapitoly, pochopení numerické stability byl proces, který trval desítky let Výsledek Goldstine a von Neumanna zmíněný v úvodu kapitoly říká, že pro inverzi X symetrické pozitivně definitní matice A spočtenou Gaussovou eliminací platí odhad AX I 42n 2 εκ(a), kde ε označuje strojovou přesnost [34] V následujících dvou větách shrnujeme výsledky Wilkinsona [39, 4] a dalších autorů [24, ], kteří analyzovali Gaussovu eliminaci z pohledu zpětné chyby Důkaz těchto vět je možné nalézt v mnoha současných knihách, např v [49, str 5 a 5], [37, str 62] či [62, str 64] Věty vypovídají o Gaussově eliminaci bez pivotace Z předchozího však víme, že na Gaussovu eliminaci s částečnou pivotací lze za účelem analýzy nahlížet jako na klasickou Gaussovu eliminaci, která je aplikována na matici PA Proto jsou následující výsledky použitelné i pro Gaussovu eliminaci s částečnou pivotací Poznamenejme, že je-li Y matice s prvky y i,j, potom Y označuje matici s prvky y i,j Je-li Z matice s prvky z i,j, potom nerovnost Y Z označuje nerovnost po prvcích, tj y i,j z i,j Věta 46 Nechť ˆL a Û jsou vypočtené výsledky LU rozkladu matice A na počítači se strojovou přesností ε Potom platí A+E = ˆLÛ, kde a E 2nε ˆL Û +O(ε2 ) E 2nε ˆL Û +O(ε2 ) (45) Věta 47 Nechť ˆL a Û jsou vypočtené faktory LU rozkladu matice A na počítači se strojovou přesností ε 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 kde a (A+ A)ˆx = b, A 6nε ˆL Û +O(ε2 ) A 6nε ˆL Û +O(ε2 ) (46) Nerovnosti analogické k (45) a (46) lze zapsat s využitím kvantitativních vztahů mezi normami, viz cvičení 5, pomocí spektrální normy matic Zamysleme se nyní nad zpětnou stabilitou Gaussovy eliminace s částečnou pivotací Zajímá nás, za jakých podmínek je podíl A / A úměrný násobku strojové přesnosti, přičemž násobek může záviset na (malé) mocnině n (např n 2 či n 3 ) Částečná pivotace nám zajišťuje, že prvky matice ˆL jsou vždy menší nebo rovny jedné, a proto je ˆL n Vydělíme-li nerovnost (46) maximovou normou matice A, zjistíme, že o zpětné stabilitě daného výpočtu pomocí Gaussovy eliminace s částečnou pivotací rozhoduje velikost růstového faktoru Û A (47) Z předchozích úvah je zřejmé, že 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 (47) Zkusme nyní odvodit, jak velký může být růstový faktor Vyjdeme ze vztahu m i,k = a(k ) i,k a (k ) k,k, a (k) i,j = a(k ) i,j m i,ka (k ) k,j
47 78 Kapitola 4 LU rozklad a jeho numerická analýza Jelikož je v Gaussově eliminaci s částečnou pivotací splněno m i,k, platí a (k) i,j a(k ) i,j + a (k ) k,j 2max a (k ) i,j i,j 2 2max a (k 2) i,j i,j 2 k max a i,j i,j a prvky matice U splňují nerovnost u ij 2 n max a i,j i,j Vidíme, že velikost prvků matice U může růst oproti velikosti prvků matice A exponenciálně s řádem matice A, tj růstový faktor (47) může být velmi velké číslo Maximální nárůst velikosti prvků matice U lze pozorovat při Gaussově eliminaci s částečnou pivotací např u matice, viz cvičení 44 Poznamenejme, že při praktických výpočtech dochází k exponenciálnímu růstu velikosti prvků matice U jen ve výjimečných případech [62, odstavec 94] Velikost růstového faktoru obecně nesouvisí s číslem podmíněnosti matice A Téměř vždy, je-li to možné, se v rámci předzpracování dat provádí tzv škálování matice [62, odstavec 97], [49, str 25] Jde o násobení sloupců, resp řádků matice A vhodně zvolenými čísly Formálně lze škálování popsat následujícím způsobem Jsou-li D 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 AD 2y = D b, x = D 2y Jedním z důvodů škálování bývá normalizace naměřených dat, tj snaha, aby všechny naměřené hodnoty byly v matici reprezentované ve stejném měřítku Jiným důvodem škálování (velmi praktickým z výpočetního hlediska) může být redukce čísla podmíněnosti systémové matice Poznamenejme, že minimalizace čísla podmíněnosti představuje obtížný matematický problém a žádná heuristika pro řešení tohoto problému není univerzální [62, odstavec 97], popř i [4, kapitola ] Lze ukázat, že 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), viz [29] V Gaussově eliminaci může, ale nemusí, mít škálování kladný vliv na stabilitu procesu [3] V této souvislosti Bauer [] dokázal zajímavý výsledek: nechť řešíme systém lineárních rovnic pomocí Gaussovy eliminace bez pivotace a nechť zvolíme prvky škálovacích matic D a D 2 jako mocniny základu číselné soustavy používané v aritmetice počítače Pak řešení škálovaného systému je identické (v dané počítačové reprezentaci) s řešením neškálovaného systému Daný výsledek však nijak nezpozpochybňuje možnou užitečnost škálování V případě Gaussovy eliminace s částečnou pivotací může škálování ovlivnit výběr pivota, posloupnost prováděných operací a tím i stabilitu výpočtu 44 Choleského rozklad hermitovské pozitivně definitní matice Uvažujme nyní aplikaci Gaussovy eliminace na hermitovskou pozitivně definitní (HPD) matici Pro hermitovské pozitivně definitní matice je podmínka (49) pro proveditelnost Gaussovy eliminace vždy splněna To plyne z věty 42 a z toho, že každá hermitovská pozitivně definitní matice je silně regulární (cvičení 45) 44 Choleského rozklad 79 Gaussovu eliminaci HPD matice je tedy možné provádět bez pivotace V následujícím textu ukážeme, že LU rozklad HPD matice A lze zapsat jako součin dolní trojúhelníkové matice se svojí maticí hermitovsky sdruženou Gaussova eliminace bez pivotace aplikována na matici A dává jednoznačně určený LU rozklad, který označíme A = LU Z regularity matice A plyne, že diagonální prvky u,,,u n,n matice U jsou nenulové Pokud škálujeme řádky matice U inverzemi těchto diagonálních prvků a výslednou matici s jedničkami na diagonále označíme Ũ, pak můžeme rozklad psát ve tvaru Jelikož je A hermitovská, platí a proto také A = Ldiag(u,,,u n,n)ũ (48) Ldiag(u,,,u n,n)ũ = Ũ diag(u,,,u n,n) L, Ldiag(u,,,u n,n)ũe = Ũ diag(u,,,u n,n) L e Využijeme-li toho, že matice L a Ũ mají na diagonále jedničky, dostaneme z předchozí rovnice u, = u, a Le = Ũ e Využijeme-li analogicky postupně rovností pro i = 2,,n, dostaneme Ldiag(u,,,u n,n)ũei = Ũ diag(u,,,u n,n) L e i a rozklad (48) můžeme psát jako hermitovský rozklad a ekvivalentně u i,i = u i,i R, i =,,n, Ũ = L, (49) A = Ldiag(u,,,u n,n) L diag(u,,,u n,n) = L A L Kdyby existoval index i, pro který u i,i, muselo by platit (e T i L )A( L e i), což je v rozporu s pozitivní definitností matice A Označíme-li L Ldiag( u,,, u n,n), je L dolní trojúhelníková matice s kladnými prvky na hlavní diagonále, pro kterou platí Dokázali jsme následující větu A = LL (42) Věta 48 (Choleského rozklad) Pro každou hermitovskou pozitivně definitní matici A existuje jednoznačný rozklad A = LL, kde L je dolní trojúhelníková matice s kladnými prvky na diagonále Je důležité uvědomit si následující důsledek Pro jednotlivé řádky l T i dolní trojúhelníkové matice L zjevně platí l T i l i = l i 2 = a i,i, a tudíž n L 2 F = a i,i = trace(a) i= V přesné aritmetice je proto velikost prvků matice L omezena a nemůže dojít k jejich růstu podobně, jak je tomu u LU rozkladu (viz související věta 49) Pro úplnost uvedeme zápis Choleského rozkladu v algoritmu A8 (variantu kij) Schematicky si můžeme výpočet jednotlivých řádků představit následovně:
48 8 Kapitola 4 LU rozklad a jeho numerická analýza i k j Jelikož spočteme jen jediný faktor L, výpočetní náklady Choleského rozkladu jsou výrazně menší než pro LU-faktorizaci (cvičení 46) Algoritmus A8 Choleského rozklad varianta kij input A () := A = [a i,j] for k = : n l k,k := a (k ) k,k for i = k + : n l i,k := a(k ) i,k lk,k for j = k + : i a (k) i,j := a(k ) i,j l i,kl j,k 45 Rozklady hermitovských indefinitních matic Choleského rozklad předpokládá pozitivní definitnost matice A Je otázkou, zda lze analogický rozklad, který využije symetrii, použít i pro matice hermitovské indefinitní Při jeho výpočtu bude zřejmě nutné provádět pivotaci (indefinitní matice nemusí být silně regulární), avšak pivotaci takovou, která zachovává symetrii matice Uvažujme rozklad ve tvaru A = LDL, resp PAP T = LDL, kde L je dolní trojúhelníková s jednotkovou diagonálou, D je diagonální a P je vhodná permutační matice V následujícím jednoduchém příkladu ukážeme, že takové rozklady nemusí pro hermitovské indefinitní matice existovat Uvažujme následující faktorizaci matice A ve tvaru A = LDL, [ ] [ ][ ][ ] ε ε /ε A = =, ε > ε /ε ε /ε Pro libovolně malou hodnotu ε > nabývají některé prvky ve faktorizaci libovolně velkých hodnot a pro ε = není faktorizace definována Zároveň pro libovolnou permutační matici P R 2 2 je PAP T = A, a proto výše zmíněná tvrzení platí i pro rozklady matice A ve tvaru PAP T = LDL Možným postupem je Bunch-Kaufmanova faktorizace PAP T = L DL, (42) kde D je blokově diagonální matice s hermitovskými bloky velikostí jedna nebo dva, P je permutační matice a L je dolní trojúhelníková matice s jednotkovou diagonálou, viz [9] Podle Sylvestrovy věty (cvičení 28) jsou počty kladných, nulových a záporných vlastních čísel matice A a D identické, tj některé bloky matice D velikosti dva mohou být indefinitní Při řešení soustavy lineárních rovnic Ax = b vyžaduje Bunch-Kaufmanova faktorizace postupné řešení systémů Lz = Pb, Dw = z, L y = w 46 Zpětná stabilita Choleského rozkladu 8 se závěrečnou permutací x = Py Při řešení systému Dw = z můžeme použít standardní LU rozklady jednotlivých diagonálních bloků s pivotací (pivotace mohou mít tvar nesymetrické permutace) Ustoupení od požadavku zachování symetrie nám vzhledem k velikosti bloků (jedna nebo dva) matice D způsobí jen velmi malé zvýšení výpočetních a paměťových nákladů Bunch-Kaufmanova faktorizace je, stejně jako LU rozklad, podmíněně zpětně stabilní Stabilita konkrétního výpočtu závisí na velikosti prvků dolní trojúhelníkové matice L (a na velikosti růstových faktorů LU rozkladů jednotlivých diagonálních bloků matice D) Velikostí prvků matice L nejsou obecně omezené velikostí prvků matice A Bunch-Parlettova faktorizace [2] dává rozklad tvaru (42) s tím rozdílem, že prvky dolní trojúhelníkové matice L jsou všechny menší nebo rovné jedné Tato strategie je však výpočetně náročnější než Bunch-Kaufmanova faktorizace Více informací o stabilitě Bunch-Kaufmanovy a Bunch-Parlettovy faktorizace lze nalézt např v [6] 46 Zpětná stabilita Choleského rozkladu Věta 46 platí i pro Choleského rozklad HPD matice A, kde za spočtenou horní a dolní trojúhelníkovou matici z LU rozkladu dosadíme spočtený Choleského faktor ˆL, tj platí kde A+E = ˆLˆL, E 2nε ˆL ˆL T +O(ε 2 ) (422) Protože jsou velikosti prvků matice na levé straně (422) menší nebo rovny velikostem prvků matice na pravé straně (422), musí stejná nerovnost platit i pro součet kvadrátů prvků matic, tj E F 2nε ˆL 2 F +O(ε2 ) (423) Abychom ukázali (bezpodmínečnou) zpětnou stabilitu Choleského rozkladu, stačí dokázat, že E F ε A F +O(ε 2 ), tj že (Frobeniova) norma matice E je úměrná strojové přesnosti a normě A F s faktorem úměrnosti nezávislým na datech úlohy (pouze na malé mocnině dimenze n) Věta 49 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 ε Potom pro matici E takovou, že A+E = ˆLˆL, platí ( ) 2n 3/2 E F ε A 2n 3/2 F +O(ε 2 ) (424) ε Důkaz Z rovnosti A+E = ˆLˆL plyne trace(a)+trace(e) = trace(a+e) = trace(ˆlˆl ) = ˆL 2 F (425) Jelikož pro libovolnou matici B C n n platí trace(b) n B F, plyne z (425) nerovnost Dosazením nerovnosti (426) do (423) dostáváme ˆL 2 F n( A F + E F) (426) E F 2n 3/2 ε( A F + E F)+O(ε 2 ) Pro hodnoty n takové, že n 3/2 ε, již dostáváme nerovnost (424) 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í (anglicky unconditionally backward stable)
49 82 Kapitola 4 LU rozklad a jeho numerická analýza 47 Iterační zpřesnění Gaussovy eliminace V tomto odstavci popíšeme iterační postup, jak zpřesnit řešení soustavy lineárních rovnic (tzv iterační zpřesnění) Iterační zpřesnění zde použijeme v souvislosti s Gaussovou eliminací, lze jej však použít i v kombinaci s jinými metodami řešení soustavy lineárních rovnic Nechť je dána soustava Ax = b V prvním kroku získáme Gaussovou eliminací s částečnou pivotací aproximaci řešení x Ze znalostí x jsme schopni spočíst reziduum r, platí kde jsme e () x x označili chybu řešení r = b Ax = Ax Ax = A(x x ) = Ae (), (427) 2 V druhém kroku řešíme soustavu lineárních rovnic, ve které se snažíme určit chybu řešení e (), Ae () = r (428) 3 Ve třetím kroku použijeme aproximaci chybyê (), spočtenou ze soustavy (428), ke zpřesnění řešení, x 2 = x +ê () (429) Celý proces daný kroky (427) (429) můžeme opakovat Je zřejmé, že pokud bychom byli schopni spočíst chybu řešení e () přesně, potom by x 2 = x +e () bylo přesné řešení soustavy Kroky (427) (429) však provádíme v aritmetice s konečnou přesností, a proto není obecně jasné nakolik je spočtené řešení x 2 bližší hledanému řešení x než spočtené řešení x 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 V následujícím vyložíme dvě možnosti, které nám zajišťují zlepšení přesnosti řešení Mixed precision iterative improvement Pokud má být spočtené řešení x 2 přesnější než řešení x ve smyslu přímé chyby, je nutné provádět výpočet rezidua r se zvýšenou přesností (řešíme-li např soustavu s použitím standardní aritmetiky, můžeme ke spočtení rezidua r použít násobnou přesnost) Tímto způsobem lze dosáhnout zpřesnění řešení na maximální počet platných cifer v dané standardní aritmetice Fixed precision iterative improvement Podívejme se nyní na celý proces z pohledu zpětné chyby Skeel [8] ukázal pro řešení spočtené LU rozkladem, že k redukci zpětné chyby řešení na úroveň strojové přesnosti je postačují provádět všechny výpočty ve stejné aritmetice Jinak řečeno, provádíme-li všechny výpočty pouze v jedné aritmetice, potom je x 2 přesné řešení soustavy (A+ A)x 2 = b, A A ε+o(ε2 ), kde faktor úměrnosti nezávisí na datech úlohy, ale může záviset na malé mocnině velikosti systému n 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í řešení Pro podrobnější popis odkazujeme čtenáře na knihy [49, str 26-27] a [62, kapitola 2] 48 Výpočetní náklady Gaussovy eliminace Nyní se podíváme na výpočetní cenu klasické Gaussovy eliminace pro regulární matici A C n n Cena eliminace s částečnou pivotací měřená počtem aritmetických operací bude stejná Shrnutí počtu operací nalezneme v tabulce 4 (viz cvičení 47) Operace odčítání a násobení jsou přibližně stejně drahé, dělení je o něco dražší Pokud je dělení o mnoho dražší než násobení na dané architektuře, lze násobit číslem a j,j, viz tabulka 42 Výpočetní náklady zpětného chodu Gaussovy eliminace jsou shrnuté v tabulce 43 (viz cvičení 47) 49 Gaussova eliminace pro velké řídké úlohy 83 Operace celkem 3 n3 2 n2 + 6 n 3 n3 2 n2 + 6 n : 2 n2 2 n 2 3 n3 operací Tabulka 4: Počty jednotlivých operací přímého chodu Gaussovy eliminace (v každém kroku dělíme číslem a j,j) Operace celkem 3 n3 + 2 n2 + 6 n 3 n3 2 n2 + 6 n : n 2 3 n3 operací Tabulka 42: Počty jednotlivých operací přímého chodu Gaussovy eliminace (v každém kroku násobíme číslem a j,j ) 49 Gaussova eliminace pro velké řídké úlohy V tomto odstavci budeme uvažovat základní otázky související s použitím Gaussovy eliminace pro velké řídké matice, které mají mnoho nulových prvků O řídké matici mluvíme, jakmile je 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á Je zřejmé, že řídkost není možné popsat jako jakýsi podíl počtu nulových a nenulových prvků matice Řídkost je závislá na struktuře matice a na operacích, které s ní mají být prováděny 49 Pivotace versus zaplnění 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 Nechť je dána matice A s následující strukturou nenulových prvků A = Pomocí permutační matice P, P, lze matici A transformovat na matici B, B = PAP T, s následující strukturou B = Soustava rovnic Ax = b je ekvivalentní se soustavou By = b, kde x = Py Obě soustavy se liší pouze pořadím rovnic a pořadím hledaných neznámých (tj očíslováním rovnic a neznámých)
50 84 Kapitola 4 LU rozklad a jeho numerická analýza Operace celkem 2 n2 2 n + 2 n2 3 n+ n : n 2 operací Tabulka 43: Počty jednotlivých operací zpětného chodu Gaussovy eliminace Bude-li platit a > a i, 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 (), A () = Počet nenulových prvků matice A () tak obecně vzroste oproti počtu nenulových prvků matice A z 3n 2 na n 2 n+ Bude-li např n 6, což není v měřítku reálně řešených úloh nijak velká soustava, 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 () však zabere 7 45 gigabytů Pokud ovšem 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ů Tento příklad je akademický, ukazuje ovšem, jakým způsobem lze využít řídkosti matic ke zmenšení velikosti potřebné paměti a pochopitelně i ke zmenšení počtu prováděných aritmetický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 = PAQ T docházelo k co možná nejmenšímu zaplnění, tj počtu nových nenulových prvků v rozkladu, 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í v jednotlivých krocích 492 Grafy a matice Teorii grafů lze využít jak při hledání nízkého zaplnění faktorů L a U, tak i v řadě jiných úloh spojených s řídkými maticemi, jako např paralelizace maticových výpočtů V tomto odstavci probereme stručně základní myšlenky algoritmů z teorie grafů (budeme říkat grafové algoritmy) používaných při řešení řídkých lineárních soustav pomocí LU nebo Choleského rozkladu Omezíme se tedy na čtvercové matice a budeme rozlišovat matice se symetrickou strukturou nenulových prvků, tj a i,j a j,i, od ostatních matic s obecně nesymetrickou strukturou nenulových prvků Pro detailnější popis odkazujeme na knihy [37, kapitola 3], [32, kapitoly 6,7,8] nebo [27, kapitola 7] Definice 4 (Orientovaný graf matice) Nechť A C n n je čtvercová matice s obecně nesymetrickou strukturou nenulových prvků Orientovaný graf G A = (V,E) s vrcholy V = {,,n} a hranami nazýváme orientovaný graf matice A E = {(i,j) V V : a i,j } Orientovaný graf matice je objekt popisující umístění jejích nenulových prvků (anglicky sparsity pattern) Orientovaný graf matice je často znázorněn pomocí diagramu, kde vrcholy jsou reprezentovány body v rovině a hrany jsou reprezentovány šipkami mezi body Např matici s nesymetrickou strukturou 49 Gaussova eliminace pro velké řídké úlohy 85 nenulových prvků odpovídá jednoduchý graf, který si můžeme představit jako následující diagram (hrany z vrcholu do stejného vrcholu se nekreslí): Důležitý úkol při práci s řídkými maticemi je používání grafových algoritmů za účelem nalezení vhodných permutací řádků a sloupců dané matice Nechť v obecném nesymetrickém případě jsou P a Q permutační matice Nesymetrické permutace matice A, tj permutace tvaru A PAQ T, mohou být výsledkem grafového algoritmu, který modifikuje jak vrcholy, tak hrany grafu G A Symetrické permutace A PAP T odpovídají pouhému přečíslování vrcholů grafu G A Pro omezení zaplnění existuje řada grafových algoritmů Uvažujme nejprve blokově horní trojúhelníkový tvar permutované matice A, PAP T = A, A,k+ A 2,2 A 2,k+ A k,k A k,k+ A k+,k+ s regulárními diagonálními bloky A i,i Taková permutace existuje pro libovolnou matici s nenulovými diagonálními prvky [3] Lineární soustavu s maticí v blokově horním trojúhelníkovém tvaru můžeme řešit blokovým zpětným chodem, kde základní operace ξ i := ξ i a (i ) i,j ξ j, j > i, a ξ i := ξ i/a (i ) i,i v algoritmu A7 jsou nahrazeny operacemi x i := x i A i,jx j, x i := (A i,i) x i, j > i, kde x i je vektor s prvky vektoru řešení x odpovídajícími i-tému diagonálnímu bloku Pro řešení lineární soustavy stačí spočíst LU-rozklady diagonálních bloků A i,i a tím je zaplnění omezeno na zaplnění vevnitř diagonálních bloků Matice, pro kterou existují permutace takové, že permutovaná matice je v blokově horním trojúhelníkovém tvaru s alespoň dvěma diagonálními bloky, se nazývá rozložitelná Platí, že úloha nalezení permutací rozložitelné matice na blokově horní trojúhelníkový tvar s alespoň dvěma diagonálními bloky je ekvivalentní s problémem nalezení všech tzv silných komponent grafu G A (viz např [37, str 7]) Definice 4 (Silná komponenta) Cestou v grafu G A rozumíme posloupnost vrcholů i,,i k z V takovou, že (i j,i j+) je hranou grafu G A pro j =,,k Silná komponenta grafu G A je maximální podmnožina vrcholů S V taková, že existuje cesta v G A mezi libovolnou dvojicí vrcholů z S V praxi se permutace rozložitelné matice na blokově horní trojúhelníkový tvar s alespoň dvěma diagonálními bloky najdou ve dvou krocích, přičemž první krok spočte obecně nesymetrickou permutaci vedoucí k matici s nenulovými diagonálními prvky Druhý krok pak určuje silné komponenty Většina grafových algoritmů pro omezení zaplnění byla navržená pro matice se symetrickou strukturou nenulových prvků Ukázalo se, že aplikace vyvinutých algoritmů na matice A s nesymetrickou strukturou nenulových prvků nebo na graf maticea+a může být též užitečná Pro matice se symetrickou strukturou nenulových prvků definujeme neorientovaný graf,
51 86 Kapitola 4 LU rozklad a jeho numerická analýza Definice 42 (Neorientovaný graf matice) Nechť A C n n je čtvercová matice se symetrickou strukturou nenulových prvků Neorientovaný graf G A = (V,E) s vrcholy V = {,,n} a hranami E = {{i,j} V : a i,j } nazýváme neorientovaný (nebo prostý) graf matice A Matici se symetrickou strukturou nenulových prvků (43) odpovídá graf, ve kterém hrany nejsou opatřeny šipkou a který si můžeme představit následovně: Uvedeme několik dalších pojmů z teorie grafů, které budeme potřebovat v dalším výkladu Definice 43 Nechť G A = (V,E) je neorientovaný graf Říkáme, že G () A = (V (),E () ) je podgraf grafu G A = (V,E), jestliže platí V () V, E () E Dva vrcholy i,j grafu G A = (V,E) jsou sousední, pokud {i,j} E Je-li {i,j} E hranou grafu G A, říkáme, že tato hrana spojuje vrcholy i a j anebo že vrcholy i,j určují danou hranu Cesta v grafu G A je posloupnost vrcholů i,,i k z V taková, že {i j,i j+} je hranou grafu G A pro j =,,k Pravděpodobně nejstarší třída algoritmů pro omezení zaplnění matice se symetrickou strukturou nenulových prvků je založená na omezení tzv obalu (anglicky se používá envelope, profile nebo i skyline) matice Obal se definuje pro symetrické a pro dolní trojúhelnikové matice A jako množina uspořádaných dvojic, env(a) = {(i,j) : i > j, a k,j pro nějaký index k, k i} Např obal matice v (43) můžeme znázornit následovně: Poznamenejme, že je-li a i,j, pak podle této definice leží v obalu A i všechny dvojice (j +,j), (j + 2,j),,(i,j) Motivací k této strategii je fakt, že obal hermitovské pozitivně definitní matice je identický s obalem jejího Choleského faktoru [37, str 57] Algoritmy Cuthill-McKee a Reverse Cuthill- McKee [25] aplikované na graf G A často vedou k permutacím, jež zmenšují obal, přičemž algoritmus Reverse Cuthill-McKee má navíc tenci produkovat diagonální bloky ve tvaru matice B z odstavce 49, tedy ve tvaru příznivém pro omezení zaplnění Pro matici A s nesymetrickou strukturou nenulových prvků může algoritmus Reverse Cuthill-McKee aplikovaný na graf matice A+A T vést k menšímu obalu matic L a U T Metody typu nested dissection vedou k maticím s blokovým rozdělením, které mají též tvar matice B z odstavce 49 Postup je založen na hledání tzv množin separačních (oddělujících) vrcholů Definice 44 (Množina separačních vrcholů) Nechť G A = (V,E) je neorientovaný graf matice A Množina separačních vrcholů S = {s,,s k} V je podmnožina vrcholů, která rozdělí graf G A na podgrafy, které již nejsou spojené žádnými hranami a neobsahují vrcholy z S 49 Gaussova eliminace pro velké řídké úlohy 87 Lze ukázat, že pokud provedeme k rozdělení grafu G A na podgrafy podobné velikostí pomocí k množin separačních vrcholů, pak příslušná permutovaná matice má tvar A, A,k+ A 2,2 A 2,k+ PAP T =, A k,k A k,k+ A k+, A k+,k A k+,k+ kde diagonální bloky A i,i jsou matice jednotlivých podgrafů a poslední blokový řádek a sloupec odpovídá vrcholům všech nalezeních separačních množin (viz např [27, str 28-3]) Zde je vhodné poznamenat, že zobecnění algoritmu Gaussovy eliminace pro blokové matice, tj varianta, kde operace mezi prvky matice jsou nahrazeny operacemi mezi bloky daného blokového rozdělení, je často používáno Má-li dané blokové rozdělení např r bloků v každém řádku i sloupci, pak základní operace (4) má v blokové variantě tvar A (k) i,j = A(k ) i,j ( A (k ) i,k A (k ) k,k ) A (k ) k,j, i,j {k +,,r}, k =,,r Jiná často používaná přeuspořádání při výpočtu LU nebo Choleského rozkladu s řídkými maticemi jsou různé varianty algoritmu minimálního stupně, viz [] Populárními variantami jsou symmetric approximate minimum degree ordering pro matici se symetrickou strukturou nenulových prvků a column approximate minimum degree ordering, která spočte permutaci A AQ T matice A s nesymetrickou strukturou nenulových prvků Příslušné grafové algoritmy jsou založené na hlubokém porozumění toho, jakým způsobem a kde vzniká během výpočtu LU nebo Choleského rozkladu zaplnění Elegantní implicitní popis mechanismu zaplnění v jazyce grafů v případě symetrické struktury nenulových prvků dává následující věta Věta 45 ([77, str 34-35]) Nechť G A je neorientovaný graf dané matice A, G () G A, a nechť graf G (i) vznikne z grafu G (i ) odstraněním vrcholu i, odstraněním všech hran, které jsou s vrcholem i spojeny, a přidáním tolika hran, aby existovala cesta mezi všemi zbývajícími vrcholy sousedními s i v G (i ) Pak přechod z grafu G (i ) ke grafu G (i) odpovídá i-tému kroku Gaussovy eliminace bez pivotace, A (i ) A (i), tj G (i) = G A (i), i =,,n Na závěr tohoto odstavce se zmíníme o velmi užitečném a poměrně levném nástroje pro zjištění umístění zaplnění před výpočtem Choleského rozkladu, tzv eliminační strom Eliminační strom se dá chápat jako minimální graf (graf s minimálním počtem hran) vyjevující strukturu nenulových prvků trojúhelníkového faktoru Pomocí eliminačního stromu můžeme výpočet Choleského rozkladu výrazně vylepšit Umožňuje velmi efektivní implementace a poskytuje nám informaci o tom, které rovnice lze eliminovat paralelně (nezávisle na sobě) Více informace je možno nalézt např v [27, kapitola 4] 493 Základní výpočetní rozdíl mezi LU a Choleského rozkladem Viděli jsme, že permutace LU rozkladu (výpočet rozkladu LU = PAQ T ) působí jak na stabilitu, tak na zaplnění rozkladu Fáze výpočtu během Gaussovy eliminace, která určuje vhodné permutace pouze na základě umístění nenulových prvků (bez ohledu na hodnoty jednotlivých prvků), se nazývá symbolický výpočet Během numerického výpočtu se provádí Gaussova eliminace samotná, nicméně i tady je obecně nutné zakomponovat do výpočtu permutace (pivotace kvůli stabilitě) Je-li daná matice hermitovská a pozitivní definitní, pak je Choleského rozklad bezpodmínečně zpětně stabilní Permutace pro vylepšení stability nejsou potřeba Během symbolického výpočtu se určují permutace P minimalizující zaplnění Numerický výpočet probíhá bez dalšího permutování, tj symbolický a numerický výpočet je možné zcela oddělit Jakmile matice není hermitovská pozitivně definitní, tak nelze oddělit symbolický výpočet od numerického výpočtu Mnoho implementací hledá během symbolického výpočtu jen permutace sloupců Q, které minimalizují zaplnění V numerickém výpočtu se pak permutují řádky (určuje se matice P) pro zachování stability výpočtu při minimálním možném následném zaplnění
52 88 Kapitola 4 LU rozklad a jeho numerická analýza 494 Software Problém nalezení minimálního zaplnění při Gaussově eliminaci řídké matice má kombinatorickou složitost, jež vylučuje nalezení minima při praktických výpočtech Moderní software používá pro aproximaci minimálního zaplnění různé heuristiky Široký výběr heuristik vedl v kombinaci s novými strategiemi implementace, jako jsou např paralelizace výpočtu či využití optimalizovaného softwaru pro operace s hustými submaticemi, k vývoji poměrně složitých a sofistikovaných algoritmů postavených na základě Gaussovy eliminace Současnými populárními softwarovými balíky pro řešení rozsáhlých řídkých systémů lineárních rovnic pomocí Gaussovy eliminace jsou např UMFPACK [28] (použit v matlabovském příkazu A\b), GPLU [44] (použit v matlabovském příkazu [L,U,P]=lu(A)), balíky PARDISO [7], MUMPS [2] a WSMP [57], které intenzivně využívají možností paralelní implementace, SuperLU [3] a MA48 Více informací o moderním řešení rozsáhlých řídkých systémů lineárních rovnic pomocí LU nebo Choleského rozkladu je možné nalézt např v knize [27] 4 Srovnání LU a QR rozkladu pro řešení soustav rovnic Na závěr kapitoly srovnáme z několika hledisek možné řešení soustavy lineárních rovnic pomocí LU a QR rozkladu Stabilita U QR rozkladu pracujeme výhradně s unitárními transformacemi Použijeme-li např QR rozklad založený na Householderových reflexích, je výpočet zpětně stabilní LU rozklad je jen podmíněně zpětně stabilní, stabilita konkrétního výpočtu závisí na růstovém faktoru Výpočetní náklady Budeme-li uvažovat algoritmy pro husté matice (nevyužívající znalosti polohy nulových prvků), je k řešení soustavy užitím LU rozkladu potřeba řádově2/3n 3 aritmetických operací QR rozklad realizovaný Householderovými transformacemi potřebuje řádově4/3n 3 aritmetických operací, tedy dvakrát více Následné řešení trojúhelníkové soustavy výslednou cenu výpočtu již neovlivní Zaplnění Třetím kritériem, při řešení rozsáhlých praktických úloh často rozhodujícím, je zahuštění řídkých matic při výpočtu rozkladu 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é ROZŠÍŘENÍ VÝKLADU 4 Algoritmické zápisy LU faktorizace Při odvození algoritmu A6 jsme se již zmínili o tom, že přeuspořádáním jeho cyklů dostaneme 5 dalších variant zápisu LU faktorizace V tomto odstavci popíšeme jednotlivé varianty, ukážeme další možnosti a probereme rozdíly při jejich implementaci, které mohou, v závislosti na používané architektuře počítače, ovlivnit rychlost výsledného výpočtu Vlastnosti jednotlivých variant byly původně studovány v rámci faktorizace hustých matic, ale hrají důležitou roli i v implementacích řídkých LU rozkladů Nebudeme se zde zabývat vlastnostmi souvisejícími s paralelními implementacemi V našem výkladu navazujeme na článek [84] V celém odstavci předpokládáme proveditelnost LU rozkladu bez pivotace a nezabýváme se Choleského rozkladem Indexem i budeme vždy číslovat řádky a indexem j sloupce Význam zbývajícího indexu k se bude lišit případ od případu Názvy variant odpovídají pořadí cyklů přes i, j, k v algoritmickém zápisu Začneme klasickými variantami kij a kji, které odpovídají obvyklému výkladu Gaussovy eliminace v učebnicích (algoritmus A6 odpovídá pořadí kij) Zde však prezentujeme jiné odvození, pro zdůraznění algoritmických vlastností Uvažujme blokové rozdělení LU rozkladu matice A C n n tvaru A = [ ] a, a T = a A 2,2 [ l L2,2 ][ u, u T U 2,2 ], kde A 2,2,L 2,2,U 2,2 C (n ) (n ) a a,l,a,u C (n ) Rozepsáním blokové rovnice dostaneme u, = a,, l = a /u,, u = a, 4 Algoritmické zápisy LU faktorizace 89 a maticovou rovnici A 2,2 = l u T +L2,2U2,2, kterou přepíšeme ve tvaru A () 2,2 = L2,2U2,2, kde A() 2,2 A2,2 lut C (n ) (n ) K vyřešení poslední rovnice, tj k nalezení faktorů L 2,2 a U 2,2, můžeme použít rekurzivně totéž blokové schéma Obecně pak dostáváme pro k =,,n a s A () A, a u k,k = a (k ) k,k, l k = a (k ) k /u k,k, u k = a (k ) k A (k) 2,2 A(k ) 2,2 l ku T k C (n k) (n k), (43) kde poslední neznámý prvek je u n,n = A (n ) 2,2 Vnější cyklus řízený indexem k realizuje rekurzi a aktualizuje matici A (k) 2,2 podle vzorce (43), jež představuje opravu matice pomocí vnějšího součinu lkut k Implementace kij a kji se proto někdy anglicky nazývají outer-product variants Aktualizace maticea (k) 2,2 podle (43) se může provádět po sloupcích nebo po řádcích Řádková varianta kij je zapsána v algoritmu A9 Algoritmus A popisuje variantu kji, která postupně aktualizuje sloupce matice A (k) 2,2 Algoritmus A9 LU rozklad, varianta kij input A = [a i,j] for k = : n for i = k + : n l i,k := a i,k/a k,k for j = k + : n a i,j := a i,j l i,ka k,j Algoritmus A LU rozklad, varianta kji input A = [a i,j] for k = : n for s = k + : n l s,k := a s,k/a k,k for j = k + : n for i = k + : n a i,j := a i,j l i,ka k,j Matice L je v obou variantách spočtená po sloupcích a matice U po řádcích Jádrem je vnitřní cyklus aktualizace matice A (k) 2,2 podle vzorce (43) Cyklus ai,j := ai,j li,kak,j přes j ve variantě kij představuje vektorovou operaci tvaru vektor plus (zde minus) skalár krát vektor Tato operace se anglicky označuje SAXPY (scalar-a-x-plus-y), a její efektivní provedení je jedním ze základních kamenů mnoha implementací Cyklus a i,j := a i,j l i,ka k,j přes i ve variantě kji představuje též SAXPY se skaláry a k,j Variantuikj snadno odvodíme z variantykij tak, že aktualizacii-tého řádkua i,j := a i,j l i,ka k,j přes j v algoritmu A9 odložíme až na okamžik, kdy se provádí konečné zpracování i-tého řádku Dostaneme tak algoritmus A Na rozdíl od varianty kij se nyní počítají prvky L po řádcích Jelikož k prvkům matic A i U přistupujeme po řádcích, jsou data jednotným způsobem zpracovávána po řádcích Analogicky odvodíme z algoritmu A variantujki Aktualizace j-tého sloupce a i,j := a i,j l i,ka k,j je odložena na okamžik, kdy je její provedení nezbytně nutné Výsledkem je algoritmus A2 Prvky matice U se počítají po sloupcích
53 9 Kapitola 4 LU rozklad a jeho numerická analýza 4 Algoritmické zápisy LU faktorizace 9 spočtené prvky matice U výpočet k-tého sloupce matice L a (k +)-ního řádku matice U spočtené prvky matice L spočtené prvky matice L (a) kij, kji aktualizace zbývajícího bloku matice A spočtené prvky matice U Algoritmus A LU rozklad, varianta ikj input A = [a i,j] for i = 2 : n for k = : i l i,k := a i,k/a k,k for j = k + : n a i,j := a i,j l i,ka k,j Algoritmus A2 LU rozklad, varianta jki input A = [a i,j] for j = 2 : n for s = j : n l s,j := a s,j /a j,j for k = : j for i = k + : n a i,j := a i,j l i,ka k,j výpočet i-tého řádku matic L a U spočtené prvky matice U výpočet j-tého sloupce matic L a U spočtené prvky matice L prvky matice A (zatím nezpracováno) (b) ikj, ijk (c) jki, jik prvky matice A (zatím nezpracováno) Obrázek 4: Schematické znázornění jednotlivých variant LU rozkladu Poslední dvě varianty (algoritmy A3 a A4) používají k aktualizaci součiny řádků se sloupci Ne- Algoritmus A3 LU rozklad, varianta ijk input A = [a i,j] for i = 2 : n for j = 2 : i l i,j := a i,j /a j,j for k = : j a i,j := a i,j l i,ka k,j for j = i+ : n for k = : i a i,j := a i,j l i,ka k,j výhodou variant založených na součinech řádků se sloupci je nutnost přístupu k maticím jak po řádcích, tak po sloupcích (i když výsledné matice L a U mohou být uložené ve stejném formátu) Např cyklus a i,j := a i,j l i,ka k,j přes k ve variantě ijk vyžaduje přístup k prvkům j-tého sloupce aktuální matice A, ale výsledné prvky a i,j jsou spočtené po řádcích Výhodou je, že rozdělením aktualizace do dvou částí se pracuje, v průmeru, s kratšími vektory CVIČENÍ 4 Uvažujme eliminační matici M k C n n definovanou v (4) Ukažte, že M k = I m ke T k
54 92 Kapitola 4 LU rozklad a jeho numerická analýza Algoritmus A4 LU rozklad, varianta jik input A = [a i,j] for j = 2 : n for i = j : n l i,j := a i,j /a j,j for i = 2 : j for k = : i a i,j := a i,j l i,ka k,j for i = j + : n for k = : j a i,j := a i,j l i,ka k,j 42 Nechť M,,M n jsou eliminační matice definované v (4) Dokažte, že platí 43 Nechť A C n n n M M 2M 3M n = I + m ie T i Sestrojte permutační matici P takovou, že zaměňuje i-tý a j-tý řádek matice A 2 Ukažte, jak lze pomocí P zaměnit i-tý a j-tý sloupec matice A 44 Použijte Gaussovu eliminaci s pivotací na matici 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í [ ] Ã A = k A 2,, A 2, A 2,2 kde Ãk je hlavní submatice obsahující prvních k řádků a sloupců matice A, že A je silně regulární 46 Použijte standardních sčítacích vzorců i= n k = n 2 n(n+) a k 2 = 6 n(2n+)(n+) k= k tomu, abyste ukázali, jaká je výpočetní náročnost Choleského rozkladu 47 Analogicky jako v předchozím cvičení použijte standardních sčítacích vzorců k tomu, abyste ukázali, jaká je výpočetní náročnost: přímého chodu Gaussovy eliminace, 2 zpětného chodu Gaussovy eliminace k= KAPITOLA 5 Singulární rozklad V této kapitole se budeme zabývat jedním z nejdůležitějších teoretických i praktických nástrojů maticových výpočtů, singulárním rozkladem matice Singulární rozklad umožňuje určit hodnost či normu matice, ortogonální báze oboru hodnot a nulového prostoru matice atd Za univerzálnost a sílu tohoto nástroje ovšem musíme platit vyššími výpočetními nároky V našem výkladu singulárního rozkladu jsme vycházeli zejména z přístupu v knihách [37], [37] a [49] Dříve, než začneme se samotným odvozením singulárního rozkladu obecné matice A, věnujme pozornost speciálnímu případu, kdy je matice A hermitovská a pozitivně semidefinitní Tento příklad nám bude motivací k zobecnění vedoucímu na singulární rozklad 5 Motivace spektrální rozklad matice Uvažujme hermitovskou pozitivně semidefinitní matici A C n n hodnosti r, r rank(a) Tato matice má nezáporná vlastní čísla λ,,λ n a bez újmy na obecnosti můžeme předpokládat, že jsou uspořádána od největšího po nejmenší, λ λ 2 λ r >, λ r+ = = λ n = Podle věty 26 o spektrálním rozkladu normálních matic existuje rozklad matice A ve tvaru A = QΛQ, Q Q = I, Λ = diag(λ,,λ n) Sloupce unitární matice Q = [q,,q n] jsou vlastní vektory matice A, platí Aq j = λ jq j, j =,,n Vlastní vektoryq,,q n tvoří ortonormální bázi prostoruc n a definují rozklad prostoruc n na vzájemně ortogonální jednodimenzionální podprostory, jež jsou invariantní vzhledem k násobení maticí A, tj v span{q j} = Av span{q j}, j =,,n Na aplikaci lineárního zobrazení reprezentovaného maticí A na celý prostor C n je tedy možné pohlížet jako na superpozici aplikace A na jednotlivé invariantní podprostory span{q j} Navíc se aplikace matice na k-tém jednodimenzionálním podprostoru realizuje pouze násobením vektoru číslem λ k, n n v = α kq k = Av = α kλ kq k k= Schématicky lze působení matice A na ortonormální bázi {q,,q n} zobrazit následujícím způsobem: k= Aq λ q, Aq 2 λ 2 q 2, Aq r λ r q r, A{q r+,,q n} (5) 93
55 94 Kapitola 5 Singulární rozklad Ze spektrálního rozkladu matice A vidíme bázi nulového prostoru a oboru hodnot matice A, 52 Zavedení singulárního rozkladu a jeho vlastnosti 95 Bez újmy na obecnosti předpokládejme uspořádání R(A) = span{q,,q r}, N(A) = span{q r+,,q n} λ λ 2 λ r >, λ r+ = = λ m = (58) Dyadický rozvoj matice A, r r A = λ j q j qj = A j, A j λ j q j qj, (52) j= j= nám umožňuje zapsat matici A jako součet matic A j hodnosti, které jsou navíc uspořádány podle významnosti měřené spektrální (či Frobeniovou) normou matice Konkrétněji, ze cvičení 26 plyne A j = A j F = λ j a vzhledem k uvažovanému setřídění vlastních čísel platí A A 2 A r Vztah (52) dává tedy návod, jak nalézt aproximaci maticeanižší hodnosti AproximaciA (k) hodnostik získáme jako součet prvních k členů v (52), k A (k) = A j, (53) přičemž pro chybu aproximace měřenou spektrální normou platí j= A A (k) = λ k+ Viděli jsme, že spektrální rozklad poskytuje v případě hermitovských pozitivně semidefinitních matic velmi užitečné informace Singulární rozklad je možné chápat v určitém smyslu jako rozšíření výše uvedeného pohledu na obecné matice 52 Zavedení singulárního rozkladu a jeho vlastnosti Uvažujme obecně obdélníkovou komplexní matici A C n m hodnosti r Důležitou roli při odvození singulárního rozkladu matice A budou hrát spektrální rozklady matic A A a AA Poznamenejme, že matice A A a AA jsou čtvercové hermitovské pozitivně semidefinitní a lze na ně aplikovat všechny výsledky a úvahy z odstavce 5 Následující lemma ukazuje vztahy mezi obory hodnot a nulovými prostory matic A A, AA a matic A, A Umožní nám později přechod od spektrálních rozkladů matic A A a AA k singulárnímu rozkladu matice A Lemma 5 Pro libovolnou komplexní matici A C n m platí Důkaz Viz cvičení 5 a 52 Připomeňme rovněž, že podle věty 25 platí N(A A) = N(A), R(A A) = R(A ), (54) N(AA ) = N(A ), R(AA ) = R(A) (55) N(A) R(A ) = C m, N(A) R(A ), N(A ) R(A) = C n, N(A ) R(A) Jak jsme ukázali ve větě 26, pro libovolnou komplexní matici A C n m platí dim(r(a)) = r = dim(r(a )) Využijeme-li navíc lemma 5, dostáváme dim(r(aa )) = dim(r(a)) = r = dim(r(a )) = dim(r(a A)) (56) 52 Vztahy mezi spektrálními rozklady matic A A a AA V tomto odstavci ukážeme vztahy mezi spektrálními rozklady matic A A a AA Budeme vycházet z toho, že známe spektrální rozklad matice A A, a pomocí tohoto rozkladu odvodíme spektrální rozklad matice AA Označme λ j vlastní čísla a v j příslušné ortonormální vlastní vektory matice A A, A Av j = λ j v j, v j =, j =,,m (57) Označíme-li V [v,,v m], platí V A AV = diag(λ,,λ r,,,), V V = I }{{} m m r Vektory v,,v r tvoří ortonormální bázi oboru hodnot a vektory v r+,,v m ortonormální bázi nulového prostoru matice A A (viz (5)), span{v,,v r} = R(A A) = R(A ), (59) span{v r+,,v m} = N(A A) = N(A) (5) Následující lemma nám umožní nalézt ortonormální vlastní vektory matice AA příslušné nenulovým vlastním číslům pomocí ortonormálních vlastních vektorů matice A A Lemma 52 Uvažujme spektrální rozklad matice A A s označením zavedeným v (57) a (58) Potom jsou vektory u j Av j/ λ j, j =,,r, (5) ortonormální vlastní vektory matice AA a platí AA u j = λ ju j, u j =, j =,,r (52) Důkaz Vynásobením vztahu (57) maticí A zleva dostaneme A(A A)v j = λ j Av j AA Av j = λ j Av j }{{}}{{} Matice AA C n n je opět hermitovská pozitivně semidefinitní Vzhledem k tomu, že v j N(A), j =,,r, viz lemma 5, je w j = Av j a vektor w j je (nenormalizovaným) vlastním vektorem matice AA, j =,,r Ortogonalitu vektorů w j, j =,,r, ukážeme snadno Pro j k platí neboť vj vk = δj,k Pro j =,,r dostáváme tj w j = λ j w jw k = (Av j) (Av k) = v j(a Av k) = λ kv jv k =, w j 2 = λ j v j 2 = λ j, Poznamenejme, že ortogonalitu vektorůw j jsme museli dokázat Z toho, že maticeaa je hermitovská, sice plyne existence ortonormálního (a tedy i ortogonálního) souboru vlastních vektorů, avšak ne každý soubor vlastních vektorů hermitovské matice musí obsahovat vzájemně ortogonální vektory Z lemmatu 52 plyne, že vektory u j, j =,,r, jsou ortonormální vlastní vektory matice AA, které odpovídají právě r nenulovým vlastním číslům λ j Navíc platí wj Av j = λ ju j, j =,,r (53) Nyní lze formulovat analogii vztahů (59) (5) pro matici AA Vektory u,,u r tvoří ortonormální bázi oboru hodnot matice A A Libovolná ortogonální báze u r+,,u n ortogonálního doplňku oboru hodnot R(A) = R(AA ) pak tvoří bázi nulového prostoru N(A ) = N(AA ), viz věta 25, span{u,,u r} = R(AA ) = R(A), (54) span{u r+,,u n} = N(AA ) = N(A ) (55) wj
56 96 Kapitola 5 Singulární rozklad Označíme-li U [u,,u n], pak zjevně U AA U = diag(λ,,λ r,,,), U U = I }{{} n n r Jinak řečeno, nalezli jsme spektrální rozklad matice AA pomocí spektrálního rozkladu matice A A Z konstrukce je zřejmé, že se nenulová vlastní čísla matic A A a AA rovnají včetně násobnosti Nalezli jsme rovněž ortonormální báze oborů hodnot a nulových prostorů matic A A a AA Z (59), (54) a z lemmatu 5 plyne R(A ) = span{v,,v r}, N(A) = span{v r+,,v m}, (56) R(A) = span{u,,u r}, N(A ) = span{u r+,,u n}, (57) tj nalezli jsme ortonormální báze oborů hodnot a nulových prostorů matic A a A Výsledky tohoto odstavce nám v následujícím odstavci umožní popsat singulární rozklad matice A 522 Věty o singulárním rozkladu Nejdříve zavedeme na základě motivace popsané vztahem (5) pojem singulárního čísla Definice 53 (Singulární čísla) Nechť A C n m Odmocniny nenulových vlastních čísel matice A A nazveme singulárními čísly matice A, σ j = λ j, j =,,r, r = rank(a) (58) Protože byla vlastní čísla λ j uspořádána od největšího k nejmenšímu, jsou i singulární čísla uspořádána odpovídajícím způsobem, σ σ 2 σ r > Poznámka 54 Budeme-li hovořit o singulárních číslech, budeme vždy mít na mysli čísla nenulová (na rozdíl od vlastních čísel, kdy běžně užíváme pojmu nulové vlastní číslo) Spektra matic A A, AA se mohou lišit násobností nulového vlastního čísla K vyloučení možných nedorozumění může být vzhledem k nejednoznačnosti značení v literatuře (viz [49]) použito označení σ r+ = σ r+2 = =, přičemž hodnost matice bude rovna počtu nenulových čísel σ j, j =,,r Vztah (53) nyní můžeme zapsat pomocí singulárních čísel ve tvaru Av j = σ ju j, j =,,r (59) a zobrazení prostoru C m = span{v,,v m} maticí A můžeme vyjádřit následujícím způsobem: Av σ u, Av 2 σ 2 u 2, Av r σ r u r, A{v r+,,v m} Schéma (52) můžeme zapsat maticovým způsobem jako kde Ekvivalentně platí (52) AV = UΣ, (52) [ ] Σr Σ = R n m, Σ r = diag(σ,,σ r) R r r A = UΣV, A = VΣ T U (522) 52 Zavedení singulárního rozkladu a jeho vlastnosti 97 a analogicky k (52) v m A u σ v, A u 2 σ 2 v 2, (523) A u r σ r v r, A {u r+,,u n} Vztahy (52) (523) popisují tzv singulární rozklad matice A Jak je vidět z (52) a (523), lze pro obecnou matici nalézt vzájemně jednoznačné přiřazení dvojic jednorozměrných podprostorů span{u j} a span{v j}, j =,,r, A A v σ u σ v, v 2 σ2 u 2 σ2 v 2, (524) v r σr u r σr v r, v r+ u r+, u n Nyní již můžeme vyslovit větu o geometrické verzi singulárního rozkladu [37, str 263], která byla dokázána předcházejícím odvozením Věta 55 (Geometrická verze singulárního rozkladu) Pro každou matici A C n m hodnosti r existuje ortonormální báze {v,,v m} prostoru C m, ortonormální báze {u,,u n} prostoru C n a kladná čísla σ σ 2 σ r > tak, že platí { { σju j, j =,,r, σjv j, Av j = A j =,,r, u j = (525), j = r+,,m,, j = r+,,n Čísla σ σ 2 σ r > jsou odmocninami nenulových vlastních čísel matic A A a AA příslušných vlastním vektorům {v,,v r} resp {u,,u r} Větu 55 nyní přeformulujeme v maticovém tvaru, viz též [37, str 262] Věta 56 (Maticová verze singulárního rozkladu) Pro každou matici A C n m hodnosti r existují unitární matice U C n n a V C m m a kladná čísla σ σ 2 σ r > tak, že platí kde A = U ΣV, [ ] Σr Σ = R n m, Σ r = diag(σ,,σ r) R r r (526) Vektory v j, j =,,m nazýváme pravými singulárními vektory, vektory u j, j =,,n nazýváme levými singulárními vektory matice A Poznámka 57 Věty o singulárním rozkladu (SVD, kde zkratka SVD je z anglického singular value decomposition) jsme formulovali v komplexním oboru Není těžké nahlédnout, že je-li matice A reálná, pak existuje rozklad A = UΣV T takový, že matice U, V jsou reálné, U T U = UU T = I, V T V = VV T = I (matice Σ je vždy reálná) Stačí si uvědomit, že matice A A i AA jsou v tomto případě reálné symetrické matice s reálnými ortonormálními vlastními vektory Singulární rozklad matice lze zapsat několika způsoby Rozklad A = UΣV s čtvercovými maticemi U C n n, V C m m je vhodný především pro teoretické účely Pro praktické účely je výhodnější používat tzv ekonomický tvar singulárního rozkladu Ekonomický tvar získáme odstraněním násobení
57 98 Kapitola 5 Singulární rozklad nulovými bloky Označíme-li U r [u,,u r] C n r, V r [v,,v r] C m r, můžeme singulární rozklad zapsat ve tvaru A = U rσ rvr, (527) schematicky znázorněno A = U r U Σ Σ r V V r = U r Σ r V r Obdobně jako jsme spektrální rozklad hermitovské matice zapsali v (52) pomocí dyadického rozvoje, lze přepsat pomocí dyadického rozvoje i ekonomický tvar singulárního rozkladu Dostáváme dyadický rozvoj obecné matice A, r r A = σ j u j vj = A j, A j σ j u jvj (528) j= j= Obecnou obdélníkovou matici jsme tak vyjádřili ve tvaru součtu vnějších součinů Snadno opět nahlédneme, že j-tý vnější součin A j = σ ju jvj je matice hodnosti jedna, pro kterou platí viz cvičení 53 Protože singulární čísla byla uspořádána sestupně, platí A j = A j F = σ j, (529) A A 2 A r > Matici A hodnosti r jsme vztahem (528) vyjádřili jako součet r matic hodnosti jedna s nerostoucí normou Singulární rozklad poskytuje řadu základních informací o vlastnostech matice (lineárního zobrazení) A Popisuje obory hodnot a nulové prostory matic A a A, viz vztahy (56) (57), a zejména rozklad prostorů C n a C m na vzájemně ortogonální jednodimenzionální podprostory Vztahy mezi těmito podprostory jsou určeny lineárním zobrazením A Singulární rozklad také vyjeví možné numerické problémy, které mohou nastat při řešení úlohy spojené s maticí A (např při řešení soustavy Ax = b) v souvislosti s přítomností velmi malých singulárních čísel v matici A LU-rozklad nám nic podobného ukázat nemůže, protože nevede na žádný podobný rozklad prostoru C n nebo C m 523 Výpočet singulárního rozkladu Než naznačíme standardní způsob výpočtu SVD-rozkladu, budeme se zabývat situací, kdy je matice A obdélníková a jeden z jejích rozměrů je malý (uvažujme např situaci n m) V tomto případě může být výhodné použít k výpočtu singulárního rozkladu spektrální rozklad matice A A C m m, která je maticí malých rozměrů Singulární čísla vypočteme jako odmocniny z nenulových vlastních čísel matice A A a pravé singulární vektory v j (m-prvkové vektory) jsou vlastními vektory matice A A Levé singulární vektory u j (n-prvkové vektory) dopočteme snadno užitím vztahů u j = Avj σ j, j =,,r Výsledkem výpočtu pak bude ekonomický tvar (527) singulárního rozkladu V případě, že n m a n je malé, můžeme postupovat analogicky a použít k výpočtu singulárního rozkladu spektrální rozklad matice AA C n n Používáme-li k výpočtu singulárního rozkladu spektrálních rozkladů matic A A a AA, musíme si ale být vědomi jedné podstatné nevýhody, která může zkomplikovat výpočet Podmíněnost matic A A a AA je totiž rovna κ(a) 2 Je-li matice A špatně podmíněna, mohou být malá singulární čísla počítaná přes spektrální rozklad matice A A či AA určena velmi nepřesně Naznačme nyní standardní způsob výpočtu singulárního rozkladu, jehož podrobný výklad lze nalézt v [37, str 399 4] Výpočet spočívá ve dvou krocích Prvním krokem výpočtu je transformace matice 53 Použití singulárního rozkladu 99 A na bidiagonální tvar Poznamenejme, že matice B s prvky b i,j je horní bidiagonální, je-li horní trojúhelníková (b i,j = pro i > j) a má-li obecně nenulovou jen hlavní diagonálu a první naddiagonálu, b i,j = pro i < j Transformaci na bidiagonální tvar lze provést v konečném počtu kroků užitím unitárních transformací nebo užitím tzv Golub-Kahanovy iterační bidiagonalizace [46, 92, 9, 49, 63] Pro husté matice používáme standardně unitární transformace Např s použitím Householderových reflexí aplikovaných střídavě zleva nulujeme sloupce a zprava nulujeme řádky matice A podle následujícího schématu: kde označuje obecně nenulové prvky matice Výsledkem transformace matice A unitárními maticemi P zleva a Q zprava je bidiagonální matice B, B = PAQ, P P = I, Q Q = I Unitární transformace zaručí, že výpočet je numericky (zpětně) stabilní Druhým krokem výpočtu je nalezení singulárního rozkladu bidiagonální matice B pomocí iteračního procesu (tzv implicitního QR algoritmu), který nuluje naddiagonální prvky B Singulární čísla bidiagonální matice je možné tímto procesem spočíst velmi přesně, s relativní přesností na úrovni strojové přesnosti, viz například [29, 36, 8, 9] Závěrem tohoto odstavce se zamysleme nad výpočetní náročností singulárního rozkladu Protože jde o iterační proces, nebudeme nikdy schopni a priori určit přesný počet operací Skutečný počet operací závisí na iteračním procesu, pomocí kterého počítáme singulární rozklad bidiagonální matice Přijmemeli předpoklad, že tento iterační proces konverguje obvykle velmi rychle a že řádově nezvýší celkový počet operací, můžeme se pokusit o odhad počtu operací zdola pomocí počtu operací potřebných k transformaci obecné matice na bidiagonální tvar Použijeme-li např Householderovy reflexe, stojí nás převod na bidiagonální matici zhruba 2-krát více operací, než výpočet QR-rozkladu pomocí Householderových reflexí Rozlišme nyní dvě situace Buď chceme spočíst pouze singulární čísla, nebo chceme znát explicitně i matice pravých a levých singulárních vektorů V druhém případě je nutné vynásobit jednotlivé Householderovy reflexe Uvažujeme-li pro jednoduchost čtvercové matice řádu n, je dolní odhad počtu operací potřebných k výpočtu singulárního rozkladu roven 8 3 n3 (pouze výpočet Σ) a 6 3 n3 (výpočet U, Σ, V) V naprosté většině aplikací je zcela zbytečné provádět explicitní výpočet matic U a V Matice zůstávají uloženy v implicitním tvaru jako neprovedený součin jednotlivých Householderových matic, u kterých se ukládají jen příslušné vektory je definující (nikoli matice samotné) 53 Použití singulárního rozkladu V tomto odstavci se budeme zabývat vybranými vlastnostmi matic, jakými jsou např hodnost (rank), norma či podmíněnost matice, a jejich vztahem k singulárnímu rozkladu Pomocí singulárního rozkladu zkonstruujeme zobecněnou inverzi (pseudoinverzi) matice a nalezneme nejlepší aproximaci matice pomocí matice nižší hodnosti 53 Inverze a pseudoinverze matice Pseudoinverze, také známá jako Moore-Penroseova zobecněná inverze, je zobecněním inverze čtvercové regulární matice Další možná zobecnění inverze matice lze nalézt například v knize [2] Definice 58 (Moore-Penroseova pseudoinverze) Nechť je dána matice A C n m hodnosti r a nechť A = UΣV = U rσ rvr je její singulární rozklad Matici [ ] A VΣ U = V rσ Σ r U r, Σ r R m n, (53) nazveme Moore-Penroseovou pseudoinverzí matice A (zkráceně pseudoinverze),
58 Kapitola 5 Singulární rozklad Ve cvičení 57 snadno ukážeme, že matice A splňuje rovnosti AA A = A, (AA ) = AA, A AA = A, (A A) = A A (53) Na druhou stranu, matice A je podmínkami (53) určena jednoznačně (viz cvičení 58) Jinak řečeno, (53) a (53) představují dvě ekvivalentní definice pseudoinverze matice A Z definice pseudoinverze (53) platí AA = U rσ rvr V rσ r Ur = U rur, A A = V rσ r U r UrΣrV r = VrV r Protože sloupce matice U r reprezentují ortonormální bázi R(A), je AA = U rur ortogonálním projektorem na R(A) Podobně, A A = V rvr je ortogonálním projektorem na R(A ) Jsou-li řádky či sloupce matice A lineárně nezávislé, lze pseudoinverzi matice A vyjádřit následujícím způsobem Věta 59 Uvažujme matici A C n m Je-li n m a rank(a) = m, potom A = (A A) A Naopak, je-li n < m a rank(a) = n, potom A = A (AA ) Důkaz Uvažujme případ kdy n m a m = rank(a) (tj sloupce matice A jsou lineárně nezávislé) Potom lze pseudoinverzi matice A vyjádřit ve tvaru Nyní si stačí uvědomit, že A = V mσ m U m = (VmΣ 2 m V m )(VmΣmU m ) V mσ 2 m V m = (V mσ 2 mv m) = (A A) a V mσ mu m = A Tím je důkaz první části věty hotov Důkaz druhé části věty ponecháváme jako cvičení 59 Je-li A čtvercová regulární matice, potom platí A = A Pseudoinverze matice je tak přirozeným a konzistentním rozšířením pojmu inverze matice V aplikacích se obyčejně snažíme vyhnout výpočtu inverzní matice Někdy je však znalost inverze matice v daném problému nezbytná Pokud je zajištěno, že matice je podstatně vzdálena od množiny singulárních matic (nemá-li velkou podmíněnost), lze k výpočtu inverze využít algoritmus založený na LU rozkladu Je-li však matice blízká množině singulárních matic, je nezbytné použít k výpočtu inverze právě singulárního rozkladu, který představuje numericky stabilní nástroj výpočtu 532 Normy a podmíněnost matice Ze znalosti singulárních čísel lze snadno spočítat spektrální a Frobeniovu normu matice A, jak popisuje následující věta Věta 5 Nechť je dána matice A C n m hodnosti r a nechť σ σ 2 σ r > jsou její singulární čísla Potom platí a navíc A = σ, A F = (σ 2 +σ σ 2 r) /2 (532) A A F r A (533) Důkaz Z kapitoly víme, že A = ( (A A)) /2 Jinak řečeno, spektrální norma matice A je rovna odmocnině z největšího vlastního čísla matice A A, tj A = σ Protože je Frobeniova norma unitárně invariantní, platí A F = UΣV F = Σ F = (σ 2 +σ σ 2 r) /2 Vztah (533) pak plyne z uspořádání singulárních čísel 53 Použití singulárního rozkladu Podmíněnost čtvercové regulární matice jsme v kapitole zavedli vztahemκ(a) = A A Pomocí předchozí věty nyní umíme vyjádřit spektrální normy uvažovaných matic pomocí singulárních čísel matice A, platí A = σ a A = σn Číslo podmíněnosti matice A tak můžeme vyjádřit jako Jiné vyjádření čísla podmíněnosti matice A získáme použitím veličin κ(a) = σ σ n (534) max mag(a) max x = Ax, min mag(a) min x = Ax, které geometricky vyjadřují délku nejdelšího a nejkratšího vektoru v obrazu jednotkové sféry, tj v množině {Ax : x = } Stačí si uvědomit, že pro čtvercové regulární matice je maxmag(a) = σ, minmag(a) = σ n, a tudíž κ(a) = maxmag(a) minmag(a) (535) Pomocí vztahu (535) lze zobecnit číslo podmíněnosti maticeapro obdélníkové matice A C n m,n m s plnou sloupcovou hodností, rank(a) = m Pro tyto matice je minmag(a) > a vztah (535) lze použít k rozšíření definice čísla podmíněnosti, 533 Aproximace maticí nižší hodnosti κ(a) = maxmag(a) minmag(a) = σ σ m (536) Nechť A C n m je matice hodnosti r a nechť je dáno přirozené číslo k < r Naším cílem je nalézt matici B k C n m takovou, že rank(b k) = k a Nejdříve si dokážeme následující lemma A B k = min A X (537) X C n m rank(x)=k Lemma 5 Nechť je dána matice A C n m hodnosti r a nechť k je přirozené číslo, k < r Pro každou matici X C n m, rank(x) = k, platí kde σ k+ je (k +)ní singulární číslo matice A A X σ k+, Důkaz Mějme matici X C n m takovou, že rank(x) = k Potom zřejmě platí dimn(x) = m k Uvažujme prostor složený z k + pravých singulárních vektorů matice A, V span{v,,v k+} Protože jsou oba prostory N(X) i V podprostory prostoru C m a protože je součet dimenzí obou podprostorů roven m+, musí existovat netriviální průnik obou podprostorů Jinak řečeno, y : y = a y N(X) V Jelikož y leží ve V, jehož báze je tvořena vektory v,,v k+, lze y psát ve tvaru k+ y = α iv i i=
59 2 Kapitola 5 Singulární rozklad Využijeme-li faktu, že vektor y leží v obou podprostorech a že je jeho norma rovna jedné, dostaneme Dále platí k+ Xy =, = α i 2 i= k+ k+ (A X)y = Ay = α iav i = α iσ iu i Přejdeme-li ke kvadrátům norem a využijeme-li ortonormality vektorů u i, dostáváme Platí tedy A X (A X)y σ k+ i= i= i= k+ (A X)y 2 = α i 2 σi 2 k+ σ2 k+ α i 2 = σk+ 2 Následující věta nám popisuje hledanou aproximaci Věta 52 (Eckart, Young, Mirsky) Nechť je dána matice A C n m hodnosti r a nechť k je přirozené číslo, k < r Uvažujme singulární rozklad matice A zapsaný pomocí dyadického rozvoje (528) Potom je matice k A (k) σ j u j vj (538) nejlepší aproximací matice A hodnosti k ve smyslu (537) a platí j= i= min A X = A A (k) = σ k+ (539) X C n m rank(x)=k Důkaz Matice A (k) definovaná vztahem (538) je hodnosti k a splňuje r k A A (k) = σ j u j vj σ j u j vj = σk+ Tvrzení pak plyne z lemmatu 5 j= Pomocí věty 52 můžeme zodpovědět zajímavou teoretickou otázku Nechť je dána regulární matice A C n n Jak je tato matice vzdálena od nejbližší singulární matice? Stačí si uvědomit, že čtvercová matice X je singulární právě tehdy, pokud rank(x) < n S využitím předchozí věty min A X = rank(x)<n min j= rank(x)=n Měříme-li vzdálenost nejbližší singulární matice relativně, platí A X = σn A X min = σn = rank(x)<n A σ κ(a) (54) Je zřejmé, že minima v (54) je dosaženo pro matici X = A (n ), viz (538) Vidíme, že převrácená hodnota podmíněnosti udává vzdálenost dané matice od množiny singulárních matic měřenou ve spektrální normě Uvažujme nyní matice plné hodnosti, tj matice A C n m takové, že r = rank(a) = min{n,m} Na základě předchozích úvah dokážeme následující větu Věta 53 Matice A C n m plné hodnosti tvoří otevřenou hustou množinu v prostoru C n m 54 Jednoznačnost singulárního rozkladu 3 Důkaz Označme singulární čísla matice A klasickým způsobem, σ σ 2 σ r >, r = rank(a) = min{n,m} Pokud X C n m je taková matice, že A X < σ r, potom X má také plnou hodnost (kdyby měla X menší hodnost, potom dle lemmatu 5 A X σ r) Jinak řečeno, dostatečně malé okolí každé matice A plné hodnosti obsahuje pouze matice plné hodnosti, tj množina matic plné hodnosti je otevřená Pro libovolnou matici X C n m a libovolné ε > nalezneme vždy matici A ε plné hodnosti takovou, že X A ε < ε Stačí uvažovat singulární rozklad matice X a určit matici A ε tak, že nahradíme nulová singulární čísla v singulárním rozkladu matice X nenulovými singulárními čísly, jež jsou menší než ε Množina matic plné hodnosti je tedy hustá v C n m ROZŠÍŘENÍ VÝKLADU 54 Jednoznačnost singulárního rozkladu Předpokládejme jako v předchozím, že singulární čísla jsou nerostoucí Na základě jejich definice (jako odmocniny nenulových vlastních čísel matice A A) je zřejmé, že singulární čísla jsou jednoznačně definována, a tedy i matice Σ v singulárním rozkladu je při zvoleném uspořádání jednoznačně definována Zamysleme se nyní nad jednoznačností pravých a levých singulárních vektorů Z odvození singulárního rozkladu víme, že pravé singulární vektory jsou ortonormálními vlastními vektory matice A A Pravé singulární vektory obsažené v matici V tedy nejsou určeny jednoznačně, tak jako není určen jednoznačně spektrální rozklad matice A A Jednoznačně jsou určeny invariantní (vzájemně ortogonální) podprostory příslušné k různým vlastním číslům Uvnitř těchto invariantních podprostorů však můžeme volit libovolnou ortonormální bázi, která potom tvoří sloupce matice V Dále si uvědomme, že jakmile je pravý singulární vektor v j, j =,,r zvolen, je korespondující levý singulární vektor u j určen jednoznačně vztahem (59) Shrňme poznatky plynoucí z předchozího textu Singulární čísla jsou určena jednoznačně Pravé a levé podprostory příslušné různým singulárním číslům, jakož i nulové prostory N(A) a N(A ) jsou určeny jednoznačně Pravé resp levé singulární vektory, příslušné nulovým singulárním číslům, lze volit jako prvky libovolné ortonormální báze N(A) resp N(A ) Pokud je singulární číslo jednoduché (není násobné), je příslušný pravý singulární vektor dán jednoznačně až na násobek skalárem α, α = Příslušný levý singulární vektor je dán jednoznačně volbou pravého singulárního vektoru (nebo naopak) Je-li singulární číslo násobné, je možné volit pravé singulární vektory libovolně tak, aby tvořily ortonormální bázi příslušného podprostoru Příslušné levé singulární vektory jsou dány jednoznačně volbou pravých singulárních vektorů Nejednoznačnost singulárního rozkladu matice A C n m, r = rank(a), lze popsat následujícím způsobem Nechť n,,n l jsou násobnosti různých singulární čísel matice A, n + +n l = r Nechť A = UΣV je zvolený singulární rozklad maticea NechťQ,,Q l aq R,Q L jsou libovolné unitární matice velikosti n,,n l a m r, n r Uvažujme unitární matice Q V a Q U, Q V = diag(q,,q l,q R), Q U = diag(q,,q l,q L) Protože jsou matice Q V a Q U blokově diagonální a protože se na diagonále matice Σ na pozicích odpovídajících blokům matic Q V a Q U nachází násobné singulární číslo, musí platit Q UΣQV = Σ Využijeme-li tohoto faktu, dostáváme A = UΣV = UQ UQ UΣQ VQ VV = (UQ U)Σ(VQ V),
60 4 Kapitola 5 Singulární rozklad tj A = (UQ U)Σ(VQ V) (54) je singulárním rozkladem matice A Pomocí (54) lze zároveň zapsat všechny možné singulární rozklady matice A 55 Singulární rozklad normální matice Singulární rozklad zobecňuje myšlenky spektrálního rozkladu ve smyslu vyloženém v motivačním odstavci 5 V tomto odstavci ukážeme, že pro čtvercovou normální matici lze nalézt vztah mezi jejím spektrálním a singulárním rozkladem Uvažujme čtvercovou normální matici A C n n Pro jednoduchost budeme předpokládat, že A je regulární (analogii níže odvozeného výsledku lze ovšem odvodit i pro matici singulární) Podle věty 26 o spektrálním rozkladu normálních matic existuje unitární matice Q C n n taková, že Q AQ = Λ je diagonální matice, tj A = QΛQ, Λ = diag(λ,,λ n) (542) Vztah (542) představuje spektrální rozklad normální matice A Vlastní čísla obecné normální matice, tj diagonální prvky matice Λ, mohou být obecně komplexní, a to i v případě, že A je reálná matice Předpokládejme, že vlastní čísla jsou uspořádána nerostoucím způsobem ve smyslu jejich absolutních hodnot Označme ( ) λ D diag λ,, λ n λ n Zřejmě DD = D D = I, tj D je unitární, a platí D Λ = diag( λ,, λ n ) = ΛD Singulární rozklad matice A získáme např vložením matice I = DD mezi Q a Λ, A = (QD) (D Λ) Q UΣV, kde U QD a V Q jsou unitární matice a Σ D Λ je reálná diagonální matice s kladnými prvky na diagonále uspořádanými obvyklým způsobem Jiný singulární rozklad dostaneme analogicky, A = Q(ΛD )DQ = ŨΣṼ Singulární čísla normální matice A jsou tedy absolutní hodnoty vlastních čísel matice A Vztahu mezi singulárním a spektrálním rozkladem hermitovských matic, které jsou speciálním případem normálních matic, je věnováno cvičení Numerická hodnost matice V odstavci 533 jsme ukázali, jak vypadá optimální aproximace matice maticí nižší hodnosti ve smyslu minimality spektrální normy chyby Vzhledem k tomu, že v numerických výpočtech je přesnost omezena v závislosti na přesnosti uložení dat a aritmetiky počítače, je vhodné uvažovat pojem numerické hodnosti matice Řekneme, že A má numerickou hodnost k, pokud A má k singulárních čísel výrazně větších než strojová přesnost ε a ostatní singulární čísla jsou úměrná ε σ σ 2 σ k σ k+ ε Není přitom kvantifikováno, co znamená, že je singulární číslo úměrné ε Podobná univerzálně platná kvantifikace je obtížná závisí totiž do jisté míry na tom, jaké výpočty budeme s maticí provádět Obvyklá kvantifikace používaná např v Matlabu říká, že numerická hodnost matice je dána počtem singulárních čísel matice A C n m větších než ε A max{n,m} Ilustrujme koncept numerické hodnosti na příkladu několika matic První maticí je krylovovská matice s normalizovanými sloupci, [ w w, Bw Bw,, B m ] w B m R n m, (543) w 56 Numerická hodnost matice 5 kde m =, B R n n je matice Butterfly Gyro z kolekce Oberwolfach??, n = 736 a w = [,,] T R n Druhou matici ( R 26 ) generujeme matlabovským příkazem parallax(), třetí a čtvrtou matici ( R ) získáme pomocí příkazů heat(,) a heat(,5) při použití toolboxu?? σ i (A) ε A max{n,m} ε σ i (A) ε A max{n,m} ε σ i (A) ε A max{n,m} ε σ i (A) ε A max{n,m} ε Obrázek 5: Singulární čísla matic: krylovovské matice (543) (vlevo nahoře), paralax() (vpravo nahoře), heat(,) (vlevo dole), heat(,5) (vpravo dole) Na obrázku 5 jsou vykreslena singulární čísla všech čtyř matic, spočtená příkazem svd U krylovovské matice (543), vlevo nahoře, je dobře patrných několik dominantních singulárních čísel a následná změna tru poklesu Numerická hodnost je dobře definována Vpravo nahoře jsou vykreslena singulární čísla matice parallax Pokles bez výrazných změn tru ztěžuje určení numerické hodnosti Singulární čísla obou (čtvercových) matic heat jsou v dolní části obrázku Matice vlevo dole je numericky singulární, zatímco matice vpravo dole je i z numerického hlediska regulární 56 Numerická hodnost matice bez použití SVD S potřebou určit (numerickou) hodnost matice se při praktickém počítání setkáme relativně často Je-li numerická hodnost matice dobře definována, je singulární rozklad spolehlivým nástrojem pro její nalezení, nicméně je to nástroj velmi drahý V řadě úloh nelze úplný singulární rozklad matice spočítat z paměťových a časových důvodů V tomto odstavci popíšeme výpočetně méně náročný způsob, kterým je QR rozklad se sloupcovou pivotací (viz odstavec 38) Hledání hodnosti matice pomocí QR rozkladu můžeme opřít o následující větu, viz [23] Věta 54 (RRQR rozklad) Nechť A C n m, n m (v opačném případě můžeme matici rozšířit nulovými řádky) a l je libovolné celé číslo, < l < n Pak existuje permutační matice P taková, že pro QR rozklad matice AP platí [ ] R, R AP = QR = [Q,2,Q 2], (544) R 2,2 Odkaz směřuje do seznamu Software a knihovny matic, který je umístěn na konci těchto skript
61 6 Kapitola 5 Singulární rozklad kde R, C l l je horní trojúhelníková matice a platí σ l(r,) c σl(a), R2,2 cσl+(a), c = l(n l)+min{l,n l} (545) QR rozklad ve tvaru (544) (545) nazýváme rank revealing QR (RRQR) rozklad (hodnost vyjevující QR rozklad) Pokudrank(A) = r, tj σ r+(a) =, RRQR rozklad bude ve tvaru (334) Pokud cσl(a) cσl+(a), lze danou větu použít jako teoretický základ k hledání numerické hodnosti Poznamenejme, že přestože existenci matice P z věty 54 dokázat lze, není zřejmé, zda existuje algoritmus polynomiální složitosti, který dokáže matici P nalézt Více informací lze nalézt v knihách [6, str 2 22, str 8 ] či [83], popř v původních článcích [23, 64] Protože optimální permutaci vedoucí na RRQR rozklad neumíme obecně sestrojit, budeme nadále pracovat s QR rozkladem se sloupcovou pivotací tak, jak byl vyložen v odstavci 38 Budeme tedy uvažovat permutační maticí P, která zajistí rozklad ve tvaru (334) s vlastnostmi (336) a (337) V dalším textu se pokusíme ilustrovat, že QR rozklad není univerzálně spolehlivým nástrojem k určení hodnosti matice Uvažujme matici A = R n n (546) Zřejmě A = QR, kde Q = I, R = A, je QR rozklad ve tvaru (334) s vlastností (336) Všech m diagonálních prvků matice R je stejně velkých Tento rozklad ale nemá vlastnost (337) Snadno lze v Matlabu ověřit, že pro dostatečně velké n (n 44) je numerická hodnost rovna n Vidíme, že prostý QR rozklad, případně QR rozklad (334) s permutací sloupců splňující (336) není postačující k určení numerické hodnosti matice Použijeme-li však QR rozklad se sloupcovou pivotací tak, jak byl vyložen v odstavci 38, tj s permutacemi sloupců tak, aby platila podmínka (337), hodnost matice (546) lze snadno detekovat Poslední diagonální prvek trojúhelníkového faktoru bude při sloupcové permutaci výrazně menší než ostatní diagonální prvky (Všimněme si, že normy sloupců matice (546) jsou zleva do prava rostoucí, shora uvedený triviální QR rozklad s Q = I, R = A nepřerovná sloupce tak, aby byla splněna podmínka (337), která je v tomto příkladu klíčová) V dalším příkladu budeme uvažovat matici závislou na parametru ϕ, < ϕ < π/2, c c c c c A(ϕ) = diag(,s,,s n ) c R n n, (547) kde c cos(ϕ), s sin(ϕ), viz [72, str 3] nebo [49, str 26, příklad 55] Všechny sloupce matice A(ϕ) mají (na rozdíl od matice (546)) stejnou normu rovnu jedné I když použijeme QR rozklad se sloupcovou pivotací tak, jak byl vyložen v odstavci 38, nedojde v průběhu výpočtu ani jednou k přerovnání sloupců Dostaneme tak opět triviální QR rozklad A(ϕ) = QR, kde Q = I, R = A(ϕ) ve tvaru (334), který ale tentorkát splňuje obě podmínky (336) a (337) S vědomím, že rozklad splňuje nerovnost (337), se pokusme odhadnout hodnost matice (547) pomocí diagonálních prvků trojúhelníkového faktoru QR rozkladu Diagonální prvky nabývají hodnot,s,s 2,s 3,,s n Pro úhel ϕ = 2 (přibližně 69 ) a n = je nejmenší diagonální prvek s Mohlo by se tak zdát, že matice má plnou hodnost Spektrální norma matice je přibližně A(ϕ) 934, norma inverze (A(ϕ)) 2 6 a podmíněnost κ(a(ϕ)) = A(ϕ) (A(ϕ)) 5 7 Tato matice je ve standardní aritmetice numericky singulární Detekce (numerické) hodnosti matice pomocí QR rozkladu zde selhává Singulární rozklad matice je zde jediným spolehlivým nástrojem pro určení numerické hodnosti matice 57 Použití SVD na kompresi dat 7 57 Použití SVD na kompresi dat Dvourozměrná data lze přirozeně interpretovat jako matice Každý bod (pixel) černobílé digitalizované fotografie můžeme např kódovat číslem z intervalu [, ], přičemž kóduje bílou a černou U barevných fotografií je standardem pracovat se třemi barevnými kanály (červenou, zelenou a modrou barvou) zvlášť, a fotografie je tak popsána třemi maticemi Zde budeme v rámci zjednodušení výkladu pracovat pouze s černobílou fotografií Jako modelový příklad nám poslouží černobílá fotografie stromu, viz obrázek 52 (vlevo dole) Fotografii odpovídá matice A R 98 55, která má plnou sloupcovou hodnost, její singulární čísla jsou vykreslena v horní části obrázku 52 Označme A (k) k σ j u jvj T, k =,,55 j= nejlepší aproximaci matice A maticí hodnosti nejvýše k ve smyslu minimalizace spektrální chyby Na obrázku 52 vlevo dole je originální fotografie, tedy matice A Následuje její aproximace, odpovídající matici A (86), A (4) a vpravo dole A () Nahrazení matice A maticí hodnosti 86 je ještě (z vizuálního hlediska) rozumnou aproximací, viditelně však obrázek postrádá různé detaily Obrázek odpovídající matici hodnosti 4 již vykazuje výrazné poškození v detailech a matice hodnosti je již jako obrázek prakticky nepoužitelná Přesto jsou výrazné (dominantní) kontury stále velmi dobře patrné i z posledního obrázku Obrázek 52: Nahoře jsou zobrazena singulární čísla původního obrázku Odleva následuje: původní obrázek, zkomprimované obrázky s užitím prvních 86, 4 a singulárních čísel Matice co ukládáme počet ukládaných čísel paměť A U 55, V 55, σ,,55 (98+55+) Kb A (86) U 86, V 86, σ,,86 (98+55+) Kb A (4) U 4, V 4, σ,,4 (98+55+) 4 Kb A () U, V, σ,, (98+55+) 276 Kb Tabulka 5: Velikost ukládaných dat při použití SVD-komprese Ke kompresi dvourozměrných dat je možné využít ekonomický tvar singulárního rozkladu, tj ukládáme pouze vektory u j, v j a čísla σ j, j =,,k V tabulce 5 porovnáme množství paměti potřebné k uložení matic z obrázku 52 při použití standardní přesnosti Singulární rozklad vždy pracuje s globální informací matice, což je na příkladu komprese obrazových dat dobře patrné Při aproximaci obrazových dat maticí nižší hodnosti, viz obrázek 52, jsou typicky
62 8 Kapitola 5 Singulární rozklad ztraceny jemné detaily, tj lokální informace (větve stromu), zatímco globální informace (pozadí stromu) je aproximována relativně dobře Používané algoritmy pro kompresi obrazu proto nejsou často postaveny na aproximaci pomocí matice nižší hodnosti, ale pracují např s následujícím modelem Uvažujme obrázek reprezentovaný maticí A R n m Matici budeme aproximovat součtem A A L +A S, rank(a L) k max, nnz(a S) n max (548) Vidíme, že matice A L, A S mají rozdílné funkce Matice A L má malou hodnost (podobně jako matice A (k) ) a matice A S je řídká, nnz( ) značí počet nenulových prvků (number of non-zeros) Takto postavená úloha vede na optimalizační problém, min A L {} +λ A S [], (549) za podmínek (548), kde A {l} = ( rank(a) k= σ k(a) l ) /l je tzv Schattenova norma (pro l = též nukleární norma) a A [l] = ( n m i= j= ai,j l ) /l = vec(a) l je vektorová norma aplikovaná na dlouhý vektor vec(a) = [a T,,aT m ]T R nm Problém (549) je překvapivě řešitelný a z praktického pohledu i zvládnutelný metodami konvexní optimalizace Tato problematika ovšem výrazně přesahuje rámec našeho textu, proto se jí nebudeme blíže zabývat a čtenáře, kteří by se s ní chtěli seznámit, odkazujeme např na článek [22] Aproximace (548) je zpravidla realizována tak, že matice A S absorbuje jemné detaily (lokální informaci), které v obraze nezabírají příliš mnoho bodů, a proto zůstane relativně řídká Matici A A S, jež je zbavená jemných detailů, pak lze snadno aproximovat maticí A L s nízkou hodností Úlohu (548) můžeme chápat i jako problém oddělení pozadí (A L) a detailů (A S) obrázku 58 Polární rozklad a exponenciální tvar čtvercové matice Hermitovské matice jsou někdy interpretovány jako analogie reálných čísel (jsou unitárně podobné reálné diagonální matici) Např podobně jako každé reálné číslo lze vyjádřit jako rozdíl dvou nezáporných čísel, lze každou hermitovskou matici vyjádřit jako rozdíl dvou hermitovských pozitivně semidefinitních matic V tomto odstavci ukážeme, že tak jako lze libovolné komplexní číslo vyjádřit v exponenciálním tvaru z = z exp(iϕ), kde číslo z je nezáporné a ϕ je kladné, lze i libovolnou čtvercovou matici vyjádřit ve tvaru A = P exp(i M), kde P je hermitovská pozitivně semidefinitní matice a M je hermitovská pozitivně definitní matice Věta 55 (Polární rozklad) Libovolnou matici A C n n je možné zapsat ve tvaru A = PQ, kde P C n n je hermitovská pozitivně semidefinitní matice a Q C n n je unitární matice Důkaz Nechť A = UΣV je singulární rozklad matice A, kde U, V jsou unitární a Σ je čtvercová diagonální matice s nezápornými čísly na diagonále Jednoduchou úpravou dostáváme A = UΣV = (UΣU )(UV ) PQ, kde P UΣU je hermitovská pozitivně semidefinitní matice a Q UV je unitární matice Snadnou modifikací předchozí věty lze získat i polární rozklad ve tvaru A = QP (cvičení 5) Polární rozklad lze zobecnit i pro obdélníkové matice, viz [65, odstavec 73] Uvažujme nyní Schurův rozklad unitární matice Q, Q = WΛW, kde W je unitární a Λ je diagonální s vlastními čísly na jednotkové kružnici, viz věta 28 Vlastní čísla λ j je tedy možné psát ve tvaru λ j = exp(iϕ j), < ϕ j 2π, j =,,n Položíme-li Φ diag(ϕ,,ϕ n), je Λ = exp(iφ) a platí Q = W exp(iφ)w = exp(iwφw ) exp(im), 59 CS rozklad bloků unitární matice 9 kde M WΦW je hermitovská pozitivně definitní matice Ukázali jsme, že pro každou unitární matici Q existuje hermitovská pozitivně definitní matice M taková, že platí Q = exp(im) Složením polárního rozkladu matice A a exponenciálního zápisu matice Q dostaneme následující větu Věta 56 (Exponenciální tvar matice) Libovolnou matici A C n n je možné zapsat ve tvaru A = P exp(im), kde P C n n je hermitovská pozitivně semidefinitní matice a M C n n je hermitovská pozitivně definitní matice Poznamenejme, že je-li A reálná, je možné volit matice P, Q v polárním rozkladu matice A reálné, matice M v exponenciálním tvaru matice A obecně reálná volit nelze (viz cvičení 54) 59 CS rozklad bloků unitární matice Předpokládejme, že máme matici Q s ortonormálními sloupci Rozdělíme ji na bloky a chceme počítat singulární rozklad jednotlivých bloků Takový rozklad má velmi speciální tvar Uvidíme, že díky ortonormalitě se v něm vyskytují na diagonálách čísla c j a s j, pro která platí c 2 j +s2 j =, a která lze tedy interpretovat jako siny a kosiny úhlů mezi a π/2 Proto se danému rozkladu říká CS rozklad Jde o velmi užitečný nástroj, pomocí něhož byla například popsána numerická ztráta ortogonality v modifikovaném Gram-Schmidtově algoritmu, viz [7] Ukážeme si speciální případ CS rozkladu dlouhé úzké matice a pak vyslovíme obecnou větu Věta 57 (Speciální případ CS rozkladu) Uvažujme matici [ ] Q Q =, Q Q C n m, Q 2 C n2 m, n m, n 2 m 2 Nechť jsou sloupce matice Q ortonormální, tj Q Q = I Pak existují unitární matice tak, že platí kde U C n n, U 2 C n2 n2 a V C m m [ ] [ ] [ ] U Q Ĉ V U 2 Q =, Ĉ R n m, Ŝ R n2 m, 2 Ŝ [ ] [ ] diag(cos(θj)) Ĉ =, Ŝ =, θ diag(sin(θ θ m π j)) 2 Důkaz Uvažujme singulární rozklad bloku Q, U QV = Ĉ = [ diag(ĉ,ĉ m) ], ĉ ĉ m Zřejmě tedy existují úhly θ θ m π/2 tak, že ĉ j = cos(θ j), j =,,m Označme [ ] [ ] [ ] U Q Ĉ V I Q = 2 W Vzhledem k tomu, že matice na levé a tudíž i na pravé straně rovnosti má ortonormální sloupce, platí Ĉ Ĉ +W W = diag(ĉ 2,,ĉ2 m )+W W = I To znamená, že sloupce matice W jsou navzájem ortogonální a jejich norma je rovna w j 2 = ĉ 2 j ŝ 2 j, j =,,m
63 Kapitola 5 Singulární rozklad Označme l počet singulárních čísel ĉ j rovných jedné, tj pro l = platí > ĉ, pro l platí = ĉ = = ĉ l > ĉ l+ Prvních l sloupců matice W je tedy nulových, zbylé sloupce přeškálujeme (znormalizujeme) tak, aby platilo u (2) j ŝ j w j, u (2) j ŝ j = w j, j = l+,,m Vektory u (2) j R n2, j = l+,,m tvoří ortonormální soubor Ten doplníme libovolnými vektory û (2) j, j =,,l+(n 2 m), na úplný ortonormální soubor, Platí U 2 = [û (2),,û(2) l+(n2 m), u(2) l+,,u(2) m ], U 2U 2 = U 2U 2 = I n2 U 2 [ Tím dostaneme hledaný rozklad z tvrzení věty ] = W diag(ŝ,,ŝ m) Všimněme si, že některé hodnoty ĉ,ĉ 2, mohou být rovny jedné a stejně tak některé hodnoty ĉ m,ĉ m, mohou být rovny nule Navíc spodních n m řádků matice Ĉ tvoří obdélníkový nulový blok, podobně prvníchn 2 m řádků maticeŝ tvoří obdélníkový nulový blok Proto někdy bývají maticeĉ a Ŝ psány ve tvaru Ĉ = I C, Ŝ = S, > c j >, < s j <, c 2 j +s 2 j = I Vyznačené nulové bloky (na hlavních diagonálách) jsou obecně obdélníkové Tohoto zápisu využijeme při vyslovení obecné věty Věta 58 (CS rozklad) Nechť [ ] Q Q Q = 2 Q 2 Q 22 je libovolně zvolené dělení unitární matice Q C n n Pak existují unitární matice [ ] [ ] U U = C U n n V, V = C 2 V n n 2 tak, že platí I C U QV = I S S I C I kde C R p p, S R p p, C 2 + S 2 = I p, a navíc platí C = diag(c j) = diag(cos(θ j)), S = diag(s j) = diag(sin(θ j)), > c c p >, < s s p <, < θ θ p < π/2 Vyznačené nulové bloky (na hlavních diagonálách bloků U QV ) jsou obecně obdélníkové a mohou mít i nulový počet řádků nebo sloupců Důkaz Postup důkazu jen modifikuje techniku z důkazu předcházející věty, uvedeme jej bez podrobností, které lze nalézt v literatuře; viz [49, odstavec 26] Uvažujme unitární matici Q C n n, rozdělenou na bloky [ ] Q Q Q = 2 Q 2 Q 22, 5 Vzdálenost mezi podprostory a kanonické úhly libovolným způsobem Všechna singulární čísla unitární matice jsou rovna jedné, singulární čísla libovolného z bloků Q ij tak musí ležet v intervalu [,] Uvažujme singulární rozklad bloku Q Q = U I C V, kde diagonální matice I obsahuje singulární čísla bloku rovna jedné, diagonální matice C = diag (c j) nenulová singulární čísla menší než jedna, > c j >, a nulová diagonální matice je obecně obdélníková Norma každého řádku matice Q je rovna jedné, totéž tedy platí i pro řádky matice U [Q,Q 2] = I C V U Q 2 Řádky matice U Q2 pak mají (odshora dolů) normy nejprve nulové, pak normy rovny sj ( c2 j )/2, poslední řádky mají normy jednotkové; konzistentně s rozdělením singulárních čísel matice Q do tří diagonálních bloků Z ortogonality řádků matice U [Q Q2] a současné ortogonality řádků jejího prvního bloku UQ vyplývá, že rovněž řádky jejího druhého bloku UQ 2 musí být ortogonální Přeškálováním po řádcích a případným doplněním dostaneme U Q2 = S I V 2, tedy Q2 = U S I V 2, kde S = diag (s j) a V2 V 2 = I, tj matice V 2 má ortonormální sloupce, a je tedy (čtvercová) unitární matice Získáváme tak rozklad [Q,Q 2] = U I C S I [ ] V V 2 Všimněme si, že singulární čísla rozkladu matice Q 2 jsou srovnána podle velikosti po diagonále vzestupně Analogický postup můžeme aplikovat na druhý blokový sloupec matice Q, čímž získáme singulární rozklad bloku Q 22 Rozklad bloku Q 2 získáme podobnou úvahou použitou na první blokový sloupec Z důvodu ortogonality všech sloupců (a řádků) matice Q, diagonální matice v rozkladu tohoto bloku obsahuje záporná čísla s j 5 Vzdálenost mezi podprostory a kanonické úhly V odstavci 5 jsme ukázali teoretický popis vzdálenosti vektoru od podprostoru Zde se na dané téma podíváme obecněji spolu s naznačením možnosti praktického výpočtu Používáme zde způsobu výkladu v [49, odstavce 263 a 243] Pro podrobnější popis čtenáře odkazujeme na [2, kapitola I, odstavec 5] či na [36, odstavec 75] Nechť S a Ŝ jsou podprostory Cn dimenze r Vzdálenost mezi podprostory S a Ŝ je definována obvykle jako euklidovská norma rozdílu mezi odpovídajícími ortonormálními projektory P a ˆP na tyto prostory, dist(s,ŝ) P ˆP Vzdálenost mezi podprostory stejné dimenze lze výhodně vyjádřit pomocí ortogonálních bází podprostorů a jejich ortogonálních doplňků, jak je ukázáno v následující větě Věta 59 Nechť sloupce matice W C n r tvoří ortonormální bázi podprostoru S a sloupce matice Z C n r ortonormální bázi podprostoru Ŝ Nechť jsou unitární matice Pak platí W = [W,W 2] C n n, Z = [Z,Z 2] C n n dist(s,ŝ) = W Z 2 = Z W 2
64 2 Kapitola 5 Singulární rozklad Důkaz Snadnou manipulací dostaneme dist(s,ŝ) = WW ZZ = W (W W ZZ [ ] ] )Z = W W [Z,Z 2] [ W2 [Z,] [ ] [ ] [ ] = W Z WZ 2 W Z W2 Z = WZ 2 W2 Z Ukážeme, že platí W Z2 = W 2Z, což z definice normy ukončí důkaz Uvažujme unitární matici [ ] W W Z = Z W Z2 W2Z W2Z 2 Pro libovolný normalizovaný vektor příslušného rozměru platí z čehož plyne ] = x 2 Z[ W = (W 2 Z )x (W2 Z)x = (W Z)x 2 + (W2 Z)x 2, W 2Z 2 = max x = (W 2Z )x 2 = min x = W Z x 2 = σ min(w Z ) 2 Zcela analogicky dostaneme s použitím matice (W Z) vztah což dokazuje požadovanou rovnost (W Z 2) 2 = σ min((w Z ) ) 2 = σ min(w Z ) 2, Všimněme si, že sloupce submatice W 2 tvoří ortonormální bázi ortogonálního doplňku podprostorus a podobně sloupce submatice Z 2 tvoří ortonormální bázi ortogonálního doplňku podprostoru Ŝ Zjevně platí dist(s,ŝ), přičemž je vzdálenost rovna nule, pokud S = Ŝ, a je rovna jedné, pokud S a ortogonální doplněk Ŝ mají netriviální průnik (a naopak) V mnoha aplikacích je užitečné charakterizovat vzdálenost mezi podprostory poněkud jemnějším způsobem Nechť F a G jsou podprostory C n s dimenzemi f = dim(f) dim(g) = g Kanonickými úhly θ,,θ g [, π 2] mezi podprostory F a G nazveme úhly definované jako a dále pro k = 2,,g rekurzivně jako cosθ = max u F cosθ k = max u F max v G u = v = max v G u = v = u v u v u v u kv k, za dodatečné podmínky u span{u,,u k } =, v span{v,,v k } = Zjevně platí θ θ 2 θ g π 2 Vektory {u,,u g} a {v,,v g} nazveme kanonickými vektory mezi podprostory F a G 5 Vzdálenost mezi podprostory a kanonické úhly 3 Ukážeme, jak je možné kanonické úhly a vektory určit pomocí SVD rozkladu Nechť Q F C n f je matice, jejíž sloupce tvoří ortonormální bázi podprostoru F a podobně nechť Q G C n g je matice, jejíž sloupce tvoří ortonormální bázi podprostoru G Pak můžeme psát max u F u = max v G v = u v = max y C f kde Q F QG Cf g Uvažujme singulární rozklad max y (Q FQ G)z, z C g y = z = Q FQ G = YΣZ, kde Y C f f, Z C g g, a Σ C f g má na diagonále singulární čísla σ,,σ g Pak a z vlastností singulárních čísel zjevně platí a pro k = 2,,g, cosθ = max y C f z C g y = z = Y (Q FQG)Z = Σ, max y (Q FQ G)z = y(q FQ G)z = σ cosθ k = y k(q FQ G)z k = σ k, kde Y = [y,,y g], Z = [z,,z g] Platí tedy, že kanonické vektory jsou prostřednictvím ortonormálních bází Q F (podprostoru F), Q G (podprostoru G) a SVD rozkladu matice Q FQG dány vztahy Všimněme si, že u j = Q Fy j, j =,,f, neboli U = Q FY, v l = Q Gz l, l =,,g, neboli V = Q GZ, cosθ k = σ k, k =,,g U V = Y Q FQGZ = Σ, což znamená, že kanonické vektory s různými indexy jsou navzájem kolmé Vrátíme-li se nyní ke vzdálenosti mezi podprostory téže dimenze dim(f) = dim(g) = g, pak z důkazu věty 59 plyne dist(f,g) 2 = σ min(u V) 2 = cos(θ g) 2 = sin(θ g) 2, čili vzdálenost mezi podprostory téže dimenze je dána sinem největšího kanonického úhlu CVIČENÍ 5 Dokažte, že pro libovolnou komplexní matici A C n m platí N(A A) = N(A), N(AA ) = N(A ) 52 Dokažte, že pro libovolnou komplexní matici A C n m platí 53 Dokažte vztah (529), tj R(A A) = R(A ), R(AA ) = R(A) A j = A j F = σ j, kde A j = σ ju jv j 54 Ve větě 5 je vztah mezi normou A a největším singulárním číslem σ dokázán užitím spektrálního poloměru matice A A Dokažte A = σ přímo z definice maticové normy
65 4 Kapitola 5 Singulární rozklad 55 Odvoďte vztah mezi spektrálním a singulárním rozkladem maticea C n n v následujících případech: A je hermitovská, 2 A je hermitovská a navíc pozitivně semidefinitní 56 Nechť A C n m, r = rank(a), a A = UΣV, U = [u,,u n], V = [v,,v m], Σ = diag(σ,,σ r,) KAPITOLA 6 je singulární rozklad A Uvažujme matici Pak: [ ] A M A Úlohy nejmenších čtverců Ukažte, že pro j =,,r jsou vektory w 2j 2 [ uj v j ], w 2j 2 [ uj v j ] vlastními vektory matice M a σ j, σ j jsou příslušná vlastní čísla 2 Ukažte, že vektory [ ], j = r +,,m a vj [ uj ], j = r+,,n, jsou vlastní vektory matice M příslušné vlastnímu číslu Za využití výše uvedených vektorů nalezněte spektrální rozklad matice M 57 Ukažte, že matice A splňuje tzv Moore-Penroseovy podmínky: AA A = A, (AA ) = AA, A AA = A, (A A) = A A 58* Ukažte, že matice A je podmínkami (53) určena jednoznačně 59 Nechť A C n m, n < m, je matice s lineárně nezávislými řádky Ukažte, že platí A = A (AA ) 5 Dokažte, že každá regulární matice A s podmíněností rovnou jedné je normální a je (nenulovým) skalárním násobkem unitární matice 5 Nalezněte polární rozklad čtvercové matice A ve tvaru A = QP, kde Q je unitární matice a P je hermitovská pozitivně semidefinitní matice 52 Ukažte, že je-li A čtvercová reálná, je možné volit matice P, Q v jejím polárním rozkladu reálné 53 Ukažte, že polární rozklad čtvercové matice A ve tvaru A = PQ, kde Q je unitární matice a P je hermitovská pozitivně semidefinitní matice, je jednoznačný 54* Ukažte, že matici M v exponenciálním tvaru reálné čtvercové matice A = P exp(im) nelze obecně volit reálnou Až doposud jsme uvažovali soustavu lineárních algebraických rovnic Ax = b se čtvercovou regulární maticí Taková soustava byla vždy jednoznačně řešitelná V této kapitole se budeme zabývat obecnějším případem, soustavou lineárních algebraických rovnic s obecně obdélníkovou maticí A Řešení takové soustavy nemusí existovat, a pokud existuje, nemusí být jednoznačné I přesto má často smysl hledat vektor x, pro který platí Ax b, (6) přičemž je nutné dále upřesnit, v jakém smyslu má být Ax blízké vektoru b V mnoha problémech představuje matice A matematický model, vektor b je vektor pozorovaných či naměřených hodnot a cílem je najít původní data x Model reprezentovaný maticí A i vektor b přitom mohou být zatíženy různými chybami (v nejjednodušším případě chybami pozorování či měření v případě vektoru b, či nepřesnostmi modelu v případě matice A) Nepřesnosti v datech bychom chtěli zohlednit při volbě metody pro nalezení vhodného vektoru x Interpretace symbolu v (6) tedy není jednoznačná a závisí na typu problému Mějme dánu matici A C n m a vektor pravé strany b C n Je-li počet rovnic v lineární algebraické úloze Ax b větší než počet neznámých (matice A má větší počet řádků než sloupců), pak se úloha (6) nazývá přeurčená Je-li počet rovnic menší než počet neznámých, úloha (6) se nazývá nedourčená Rozbor existence a jednoznačnosti provedeme pro obecný případ Při popisu metod pro řešení úlohy (6) se však pro zjednodušení výkladu omezíme jen na případ n m Formulujeme dva přístupy k řešení problému (6) Motivací k definici řešení úlohy (6) nám v prvním případě bude následující úvaha Předpokládejme, že chybami je zatížen pouze vektor pravé strany b Naším cílem je tudíž nalézt co nejmenší změnu f pravé strany b takovou, že x je řešením soustavy Ax = b+f (62) Velikost změny f přitom měříme pomocí euklidovské normy vektoru Protože f = Ax b a f má mít minimální normu, lze tuto úlohu také formulovat tak, že hledáme vektor x, který minimalizuje normu rezidua b Ax Definice 6 (Problém nejmenších čtverců) Nechť A C n m,b C n Problémem nejmenších čtverců (LS) budeme nazývat úlohu určení x C m tak, aby platilo min f za podmínky Ax = b+f x,f Zkratka LS pochází z anglického least squares (minimalizuje se euklidovská norma rezidua, tj odmocnina se součtu kvadrátů prvků rezidua) Ve statistice bývá problém nejmenších čtverců nazýván úlohou lineární regrese V předchozím jsme uvažovali pouze změnu pravé strany b V mnoha problémech je však nutné uvažovat nejen chyby v pravé straně, ale i chyby modelu, tj chyby obsažené v matici A V takovém případě může být naším cílem nalézt co nejmenší změnu E matice A a co nejmenší změnu f vektoru b tak, že x je řešením soustavy (A+E)x = b+f (63) 5
66 6 Kapitola 6 Úlohy nejmenších čtverců Budeme usilovat o co nejmenší velikost změny [f, E] měřené pomocí Frobeniovy normy matice (Frobeniova norma reálné matice je odmocninou ze součtu čtverců jejích prvků, viz definice 3; v tomto smyslu můžeme [f,e] F brát jako zobecnění euklidovské normy změny pravé strany v LS problému) Definice 62 (Úplný problém nejmenších čtverců) Nechť A C n m, b C n Úplným problémem nejmenších čtverců (zkráceně TLS) nazveme úlohu určení x C m tak, aby platilo min [f,e] F za podmínky (A+E)x = b+f (64) x,e,f Zkratka TLS pochází z anglického total least squares Ve statistice bývá úplný problém nejmenších čtverců nazýván úlohou ortogonální regrese Z kapitoly víme, že jak euklidovská norma vektoru, tak Frobeniova norma matice jsou unitárně invariantní Přenásobíme-li rovnice Ax = b + f nebo (A + E)x = b + f zleva libovolnou unitární maticí P, či provedeme-li substituci x = Q y, kde Q je unitární matice, pak se velikost hledaných změn pravé strany či pravé strany a matice potřebných k dosažení rovnosti v (62) respektive v (63) nezmění, Pf = f a P[f,EQ ] F = [f,e] F Jinak řečeno, problém nejmenších čtverců a úplný problém nejmenších čtverců jsou unitárně invariantní 6 Problém nejmenších čtverců (LS) Nejprve ukážeme, že problém nejmenších čtverců má řešení a popíšeme, kdy je dané řešení jednoznačné Připomeňme, že soustava lineárních rovnic Ax = b má řešení právě tehdy, když b R(A) = span{a,,a m}, kde a,,a m jsou sloupce matice A (cvičení ) Pokud b / R(A), pak není soustava řešitelná v klasickém smyslu Budeme-li hledat řešení modifikované soustavy Ax = b + f, kde f má minimální normu, tedy takové x, které minimalizuje euklidovskou normu rezidua b Ax, snažíme se nalézt nejlepší aproximaci vektoru b v prostoru R(A) Nejlepší aproximace vektoru b v R(A) je dána (jednoznačně určenou) ortogonální projekcí vektoru b na R(A) Ortogonální projekci vektoru b na R(A) budeme označovat symbolem b R(A) Věta 63 Nechť A C n m, b C n Vektor x je řešením problému nejmenších čtverců právě tehdy, když Ax = b R(A), b Ax = b N(A ) (65) Důkaz Protože b C n a C n = R(A) N(A ), R(A) N(A ), viz odstavec 4, můžeme vektor b jednoznačně zapsat jako součet dvou vzájemně ortogonálních složek Pro libovolný vektor z platí b = b N(A ) +b R(A) b Az = b N(A ) + b R(A) Az, }{{}}{{} N(A ) R(A) b Az 2 = b N(A ) 2 + b R(A) Az 2 Norma rezidua je tedy minimální právě tehdy, pokud z řeší (65) Problém nejmenších čtverců má netriviální řešení pouze tehdy, má-li b nenulovou komponentu v R(A), tj b R(A) Pokud b R(A), pak pravá strana b není korelována s daty, z nichž je sestaven model (reprezentovaný maticí A), a řešení x = je tedy i jediné smysluplné řešení Jsou-li sloupce matice A lineárně nezávislé, lze b R(A) jednoznačně vyjádřit pomocí lineární kombinace sloupců matice A, tj soustava (65) má jednoznačné řešení a existuje právě jedno řešení problému nejmenších čtverců Jsou-li sloupce matice A lineárně závislé (A má netriviální nulový prostor), lze projekci b R(A) vyjádřit pomocí 6 Problém nejmenších čtverců (LS) 7 sloupců matice A nekonečně mnoha způsoby Je-li x řešením problému nejmenších čtverců, potom je i x+z, z N(A), řešením problému nejmenších čtverců, neboť b Ax = b A(x+z) Vidíme, že v tomto případě řešení x problému nejmenších čtverců existuje, ale není určeno jednoznačně Vzhledem k tomu, že zahrnutí vektoru z N(A) do řešení problému nejmenších čtverců nepřispívá nijak ke snížení hodnoty rezidua, je vhodné uvažovat pouze taková řešení, která složku z N(A) neobsahují Následující věta formuluje jednoduché tvrzení, že takové řešení je pouze jedno a je ze všech možných řešení LS problému minimálním v normě Věta 64 Nechť A C n m, b C n Potom existuje právě jedno řešení x problému nejmenších čtverců minimální v normě, které je dáno vztahy Ax = b R(A) a x R(A ) Důkaz Nechť x C m je libovolné řešení soustavy (65) Zapíšeme-li zřejmě platí a navíc x = x N(A) +x R(A ), b R(A) = Ax = A(x N(A) )+A(x R(A )) = A(x R(A )), x 2 = x N(A) 2 + x R(A ) 2 Norma řešení x je minimální, tehdy a jen tehdy, pokud x N(A) = Řešení ve smyslu nejmenších čtverců minimální v normě tedy leží v R(A ) Ukažme nyní jednoznačnost Předpokládejme, že existují dvě řešení x a y, která obě leží v R(A ) a obě řeší soustavu (65) Potom zřejmě platí A(x y) = b R(A) b R(A) = tj x y N(A) Protože x y N(A) a zároveň x y R(A ), musí platit x = y (průnikem obou prostorů je pouze nulový vektor) V následujícím ukážeme, že řešení problému nejmenších čtverců lze charakterizovat pomocí tzv soustavy normálních rovnic Věta 65 Nechť A C n m, b C n Potom x je řešením problému nejmenších čtverců právě tehdy, je-li řešením soustavy normálních rovnic, A Ax = A b (66) Důkaz Dokažme první implikaci Je-li x řešením problému nejmenších čtverců, pak splňuje soustavu Ax = b R(A) a dále platí implikace Ax = b R(A) = A Ax = A b R(A) Nechť naopak platí A Ax = A b = A b R(A) Potom je = A Ax = A ( b R(A) +b N(A )) = A b A (Ax b R(A) ) =, tj (Ax b R(A) ) N(A ) Zároveň však víme, že Ax b R(A) R(A) Vektor Ax b R(A) tedy leží v průniku prostorů R(A) a N(A ) V průniku obou prostorů však leží pouze nulový vektor, musí platit tj x je řešení problému nejmenších čtverců Ax b R(A) =, Má-li matice A plnou sloupcovou hodnost, je matice A A regulární (viz cvičení 8), a soustava (66) má jednoznačné řešení, které můžeme vyjádřit pomocí inverze matice normální soustavy, x = (A A) A b, (67) neboli x = A b (viz věta 59) Jak uvidíme dále, má vyjádření řešení pomocí pseudoinverze obecnou platnost
67 8 Kapitola 6 Úlohy nejmenších čtverců 62 Metody řešení LS (plná sloupcová hodnost) V tomto odstavci budeme předpokládat, že matice A C n m, n m, má plnou sloupcovou hodnost, rank(a) = m Tento předpoklad nám zajišťuje, že problém nejmenších čtverců má jednoznačné řešení (a nemusíme tudíž hledat řešení minimální v normě) Zmíníme tři základní metody 62 Řešení LS pomocí QR rozkladu Jak jsme se již zmínili v úvodu této kapitoly, problém nejmenších čtverců je unitárně invariantní Je-li U unitární matice, platí b Ax = U(b Ax) Můžeme se tedy pokusit transformovat původní problém pomocí unitárních matic na problém ekvivalentní, který budeme umět snadno řešit V následujícím k tomu využijeme QR rozklad matice A, A = QR, Q C n n, R C n m Unitární transformace daná maticí Q převádí problém Ax = b na ekvivalentní problém, který má stejné řešení ve smyslu nejmenších čtverců, min x b Ax = min x b QRx = min x Q b Rx (68) Jelikož má matice A plnou sloupcovou hodnost, obsahuje matice R regulární horní trojúhelníkový blok ˆR C m m, [ ] ˆR R = Označíme-li Q = [q,,q n] = [Q m,q m], kdeq m = [q,,q m] aq m = [qm+,,qn], tak zřejmě platíspan{q,,qm} = R(A) aspan{qm+,,qn} = N(A ) = R(A) Naším cílem je nalézt řešení ekvivalentního problému, tj x, které minimalizuje normu rezidua [ Q b Rx = ] [ ] [ Q mb ˆR Q x = m b ˆRx ] (Q m ) b (Q m) (69) b Vidíme, že volbou vektoru x můžeme ovlivnit pouze prvních m prvků vektoru rezidua, a hledané x je řešením soustavy ˆRx = Q mb, (6) přičemž min x b Ax = (Q m ) b (6) Prakticky je možné realizovat výpočet pomocí unitárních transformací (např Householderových reflexí) nebo užitím (modifikovaného) Gram-Schmidtova ortogonalizačního procesu (MGS) Z (6) plyne, že nás zajímá pouze konstrukce matice ˆR a vektoru Q mb, nikoli explicitní výpočet QR rozkladu matice A (podobně jako při řešení soustavy lineárních rovnic pomocí QR rozkladu, viz poznámka na straně 48) Z kapitoly 3 víme, že při výpočtu QR rozkladu matice A v aritmetice s konečnou přesností dochází ke ztrátě ortogonality Zatímco u Householderových reflexí máme zajištěno, že se ztráta ortogonality měřená pomocí Q Q I pohybuje na hladině úměrné strojové přesnosti ε [42, 62], u MGS je ztráta ortogonality úměrná κ(a)ε Björck a Paige [7] však ukázali překvapující výsledek (viz též kapitola 3, str 55): zpětná chyba výpočtu matice R je pro oba postupy srovnatelná Toho lze využít při řešení problému nejmenších čtverců Uvažujme rozšířenou matici [A, b] Jelikož předpokládáme, že b R(A), má matice [A, b] plnou sloupcovou hodnost Z rozkladu A = Q m ˆR plyne [A,b] = [Q m ˆR,b] 62 Metody řešení LS (plná sloupcová hodnost) 9 Uvědomme si, že vektor b lze zapsat ve tvaru b = b R(A) +b N(A ) = Q mq m b+ q b N(A ), kdeq mq m reprezentuje ortogonální projektor nar(a), q N(A ) je normalizované reziduumb b R(A), a b N(A ) je norma tohoto rezidua, viz (6) Zapsáno maticově, [ ] ˆR Q [A,b] = [Q m, q] m b b N(A ) Z výsledků Björcka a Paige [7] víme, že zpětná chyba výpočtu celého (rozšířeného) trojúhelníkového faktoru je pro výpočet pomocí Householderových odrazů a MGS srovnatelná Zde je velmi důležité upozornit, že Q mb je pouze symbolický zápis Výpočet se nesmí provádět tak, že nejprve sestrojíme matici Q m a pak provedeme příslušné násobení Přistupme nyní k praktické realizaci výpočtu Householderovy reflexe, které převádějí A na horní trojúhelníkový tvar, můžeme aplikovat na matici A rozšířenou o pravou stranu, tj na matici [A, b] (budeme postupně unitárně transformovat jak matici, tak vektor pravé strany) Po aplikaci m Householderových reflexí dostáváme [ ] ˆRH c H mh [A,b] = H d H Potom x H = ˆR c H H a b Ax H = d H Aplikací MGS na matici [A,b] získáme obdobně [ ] ˆRG c [A,b] = [Q m, q] G d G Řešení opět získáme jako x G = ˆR G c G a b Ax G = d G (poznamenejme, že d G je vždy kladné číslo, zatímco d H C n m je obecně vektor) Pokud při užití Householderových reflexí neukládáme bázi (nenásobíme mezi sebou jednotlivé reflexe), jsou oba postupy přibližně stejně drahé, viz cvičení 6 Řešení úlohy nejmenších čtverců pomocí QR rozkladu je možné použít vždy, má-li matice A numericky dobře určenou plnou sloupcovou hodnost, tj platí-li σ (A) σ m(a) ε, (62) kde ε označí strojovou přesnost, viz odstavec 56 Vzhledem k tomu, že QR rozklad můžeme dát do souvislosti s ortogonální transformací matice A, platí (v přesné aritmetice) σ (ˆR) = σ (A), σ m(ˆr) = σ m(a), (63) viz cvičení 62 Jinak řečeno, matice ˆR je numericky regulární a soustavu s maticí ˆR lze bezpečně numericky řešit 622 Řešení LS pomocí soustavy normálních rovnic Má-li matice A plnou sloupcovou hodnost, dává nám věta 65 přímý návod, jak spočíst (jednoznačné) řešení x problému nejmenších čtverců je řešením soustavy normálních rovnic Matice A A je regulární, hermitovská a pozitivně definitní Soustavu normálních rovnic lze řešit užitím metod pro řešení hermitovských pozitivně definitních soustav, např Choleského rozkladem či metodou sdružených gradientů (viz kapitola 8) Pomocí QR rozkladu matice A se můžeme lehce přesvědčit, že za předpokladu plné sloupcové hodnosti matice A je řešení soustavy normálních rovnic ekvivalentní s řešením soustavy (6) Použijeme-li stejné značení jako v odstavci 62, platí ekvivalence A Ax = A b R Rx = R Q b ˆR ˆRx = ˆR Q mb ˆRx = Q m b Zároveň vidíme, že ˆR ˆR není nic jiného než Choleského rozklad matice A A
68 2 Kapitola 6 Úlohy nejmenších čtverců Výpočet řešení problému nejmenších čtverců pomocí soustavy normálních rovnic může být výhodný např tehdy, když je n m a m je malé Potom řešíme soustavu lineárních rovnic s malou maticí A A dimenze m m V tomto případě může mít smysl explicitně spočíst matici A A a použít k řešení soustavy přímých metod V obecném případě matici A A explicitně nepočítáme K řešení soustavy normálních rovnic pak obyčejně používáme iterační metody a násobení vektoru v maticí A A realizujeme postupně jako A (Av) Nevýhodou použití soustavy normálních rovnic může být nárůst čísla podmíněnosti Je-li (při zobecnění čísla podmíněnosti na obecně obdélníkové matice s plnou sloupcovou hodností, viz odstavec 532) κ(a) = σ(a) σ m(a), pak pro matici soustavy normálních rovnic platí ( ) 2 κ(a A) = σ(a A) σ(a) σ m(a A) = = κ 2 (A) σ m(a) S nárůstem čísla podmíněnosti mohou souviset numerické problémy v případě špatně podmíněných matic Výpočet řešení problému nejmenších čtverců pomocí soustavy normálních rovnic lze tedy bezpečně použít pouze v případě κ 2 (A) ε 623 Řešení LS pomocí rozšířené soustavy rovnic Má-li A plnou sloupcovou hodnost, je řešení problému nejmenších čtverců jednoznačné a je řešením soustavy Ax = b R(A) Jinak řečeno, korespondující reziduum je ortogonální na R(A), Z definice δ = b Ax zároveň plyne δ b Ax = b b R(A) N(A ) A δ = (64) [ ] [ ] δ I A = b (65) x Zapíšeme-li rovnice (64) a (65) pomocí soustavy s blokovou maticí, dostaneme [ ][ ] [ ] I A δ b A =, x tzv rozšířenou soustavu rovnic Získali jsme soustavu se čtvercovou hermitovskou maticí dimenze (m+ n) (m + n) Matice rozšířené soustavy rovnic je, za předpokladu plné sloupcové hodnosti matice A, regulární (tj x je určeno jednoznačně) a indefinitní, jak ukazuje následující lemma Lemma 66 Uvažujme tzv sedlobodovou matici C = [ B A A ], (66) kde matice B C n n je hermitovská pozitivně definitní a matice A C n m, n m, má plnou sloupcovou hodnost Matice C je regulární, hermitovská a indefinitní Důkaz Ze struktury matice C plyne, že je hermitovská Regularitu lze ukázat sporem (viz cvičení 63) Ukažme nyní indefinitnost matice C Pro libovolný nenulový vektor v = [,ν n+,,ν n+m] T platí Uvažujme spektrální rozklad matice C, v Cv = C = SΛS 63 Řešení LS v obecném případě 2 Dosazením m+n = v Cv = v SΛS v = λ j s j v 2, kde s j je j-tý sloupec matice S a λ j je příslušné vlastní číslo Protože v, musí existovat index j takový, že s jv = Jelikož je matice C regulární, je λj pro každé j Musí tedy existovat kladná i záporná vlastní čísla, tj matice je indefinitní V následující větě shrneme poznatky tohoto odstavce Věta 67 Nechť A C n m, n m, b C n a nechť A má plnou sloupcovou hodnost Řešení x problému nejmenších čtverců lze nalézt řešením rozšířené soustavy [ ][ ] [ ] I A δ b A = (67) x se sedlobodovou maticí, která je regulární, hermitovská a indefinitní Soustavy s indefinitními maticemi mohou být velmi obtížně řešitelné I přesto může být tento postup výpočtu v některých případech úspěšný [6] 63 Řešení LS v obecném případě V předchozím odstavci jsme hovořili o metodách řešení problému nejmenších čtverců Důležitý požadavek přitom byl, aby měla matice A plnou sloupcovou hodnost Singulární rozklad matice A umožní nalézt řešení minimální v normě pro obecný problém nejmenších čtverců Poznamenejme, že v rozšířeném výkladu této kapitoly vyložíme metodu používanou k výpočtu řešení obecného problému nejmenších čtverců, založenou na použití QR rozkladu matice A, počítajícího ortonormální bázi R(A), viz odstavec 38 v rozšířené části kapitoly o QR rozkladu Tato metoda nalezne řešení ve smyslu nejmenších čtverců, nenalezne však obecně řešení minimální v normě V tomto odstavci použijeme pro řešení problému nejmenších čtverců nejsilnější a nejuniverzálnější nástroj, který máme k dispozici singulární rozklad Nechť A C n m, rank(a) = r a nechť A = U rσ rv r je ekonomický singulární rozklad matice A Podle věty 64 je hledané řešení x minimální v normě dáno vztahy Ax = b R(A) a x R(A ) Použijeme-li vyjádření ortogonálního projektoru na R(A) (viz odstavec 53), dostaneme dosazením singulárního rozkladu j= b R(A) = U ru rb, U rσ rv r x = UrU r b, z čehož plyne Vr x = Σ r U r b Vzhledem k tomu, že hledáme řešení x R(A ), můžeme ho zapsat jako lineární kombinaci ortonormální báze R(A ), x = V ry Dosazením dostaneme pro hledané souřadnice Výsledek formulujeme jako větu Věta 68 Nechť A C n m, b C n, A = U rσ rv r y = V r x = Σ r U rb je ekonomický singulární rozklad matice A Pak x = V rσ r U r b = A b představuje řešení problému nejmenších čtverců minimální v normě
69 22 Kapitola 6 Úlohy nejmenších čtverců ROZŠÍŘENÍ VÝKLADU 64 Řešení LS pomocí QR rozkladu v obecném případě Nechť A C n m, n m, rank(a) = r V odstavci 38 jsme vyložili algoritmy, jež naleznou (v přesné aritmetice) permutační matici P a QR rozklad matice AP ve tvaru [ ] R, R AP = [Q,2 [ ],Q 2], resp AP = Q R, R,2, kde R, C r r je čtvercová matice s nenulovými prvky na diagonále (ty jsou navíc setříděny v absolutní hodnotě od největšího po nejmenší) Takový QR rozklad poskytuje ortonormální bázi oboru hodnot matice A (sloupce matice Q ), a je tedy možné jej použít při řešení úlohy nejmenších čtverců s maticí, jež nemá plnou sloupcovou hodnost Uvažujme problém nejmenších čtverců s maticí A C n m, n m, rank(a) = r, a s vektorem pravé strany b C n Nejdříve si uvědomme, že problém minimalizace b Ax je totožný s problémem minimalizace b ˆx, kde  = AP a ˆx = PT x Vyjádříme-li souřadnice pravé strany ve směru jednotlivých sloupců matice [Q,Q 2] (matematicky to odpovídá vynásobení maticí [Q,Q 2], to však při výpočtu nikdy neprovádíme) řešíme ekvivalentní úlohu [ R, R,2 kde ˆx C r, ˆx 2 C m r Kvadrát normy rezidua ][ ] [ ] [ ] ˆx Q = b c ˆx 2 Q, (68) 2b d c R,ˆx R,2ˆx d 2 je minimální, pokud R,ˆx + R,2ˆx 2 = c Využijeme-li regularity matice R,, můžeme množinu všech řešení ve smyslu nejmenších čtverců problému (68) vyjádřit ve tvaru [ R ˆx(w) = (c R,2w) ], w kde w C m r je vektor volných parametrů Množinu řešení původního problému nejmenších čtverců pak lze vyjádřit ve tvaru x(w) = Pˆx(w) Pro odpovídající normu rezidua platí b Ax(w) = d Je poměrně obtížné nalézt mezi vektory x(w) řešení minimální v normě Pomocí jednoduché úvahy se alespoň pokusíme určit jeho rozumnou aproximaci V průběhu QR rozkladu se sloupcovou pivotací jsme sloupce matice A přesouvali tak, že se do prvních r sloupců dostaly sloupce s dominantní informací (větší normou), viz (337) Díky tomu je často matice R, v jistém smyslu dominantní vzhledem k matici R,2 Zanedbáme-li úplně vliv matice R,2 tím, že položíme parametr w rovný nulovému vektoru, získáme řešení ve smyslu nejmenších čtverců ve tvaru [ R x() P, Q b ], přičemž x() není nutně řešením minimálním v normě, ale často je jeho velmi dobrou aproximací (obecně to samozřejmě platit nemusí) Jak bylo zmíněno na str 8, při praktické realizaci neprovádíme explicitní výpočet matice Q, resp Q, ale počítáme pouze horní trojúhelníkový faktor QR rozkladu rozšířené matice [A,b]diag(P,) Jinak řečeno, QR rozklad se sloupcovou pivotací aplikujeme na rozšířenou matici [A, b], přičemž uvažujeme pouze sloupcové pivotace prvních m sloupců 65 Ill-posed problémy a regularizace V mnoha úlohách se setkáme s problémem nejmenších čtverců Ax b, (69) 65 Ill-posed problémy a regularizace 23 ve kterém může mít matice A nevýhodně rozložená singulární čísla (viz dále) Ve vektoru b je často navíc obsažen šum (zaokrouhlovací chyby, chyby dané nepřesnostmi měření, chyby diskretizace apod), což lze vyjádřit zápisem b = b e +b s, kde b e je neznámá přesná pravá strana a b s je neznámý vektor obsahující šum Matice A reprezentuje např diskretizovaný model (který často bývá popsán Fredholmovou integrální rovnicí s hladkým jádrem; viz [58]), vektor x neznámá vstupní data a vektor b naměřené výstupní hodnoty V naší formulaci úlohy budeme předpokládat, že šum je relativně malý vzhledem k normě přesné pravé stranyb e (podíl b e / b s může být mnoho řádů, přesto může mít šum zásadní vliv na obtížnost řešení dané úlohy), b e b s Naším cílem bude nalézt vstupní data x, která odpovídají (neznámé) neporušené pravé straně b e, tj nalézt aproximaci řešení r x p = argmin b e Ax = A u j b e = be v x j σ j V poslední rovnosti jsme použili dyadický rozvoj matice A a větu 68 Použijeme-li místo (neznámého) vektoru b e známý vektor b, získáme tzv naivní řešení, x n = A b = r j= u j be σ j v j + j= r j= u j bs σ j v j (62) Ptáme se, jak dobrou aproximací přesného řešení x p je naivní řešení x n Na pravé straně (62) se vyskytují dvě sumy, z nichž první je rovna hledanému řešeníx p a druhá obsahuje projekce vektoru šumu b s do báze levých singulárních vektorů Představme si, že úloha (69) vznikla diskretizací spojitého problému Budeme-li zjemňovat diskretizaci, poroste dimenze systému (69) Předpokládejme, že první suma v (62) bude s rostoucím r konvergovat ke skutečným vstupním datům uvažovaného problému To je možné pouze tehdy, pokud j-tý člen součtu konverguje k nule, tj pokud velikosti komponent u jbe přesné pravé strany klesají v průměru rychleji, než velikosti odpovídajících singulárních čísel σ j Říkáme, že vektor b e splňuje tzv diskrétní Picardovu podmínku Zaměřme se nyní na druhou sumu v (62) Komponentyu jbs vektoru šumu neklesají k nule V případě příliš malých singulárních čísel dojde díky jejich výskytu ve jmenovateli k zesílení vlivu komponent u j bs a druhá suma v (62) se stává dominantní I poměrně nízká hladina šumu tak dokáže díky dělení malými singulárními čísly zcela překrýt hledané řešení x p, neboť získané řešení x n je zcela dominováno druhou sumou v (62) Velikosti komponent odpovídajících vektorům b e a b s ilustrujeme na obrázku 6 pro matici Shaw z matlabovského toolboxu?? Úlohy, které mají výše popsané vlastnosti, se nazývají ill-posed problémy (nekorektní úlohy) a setkáme se s nimi v celé řadě aplikací Kombinace přítomnosti chyb v pravé straně a vlastností soustavy činí tyto úlohy obtížně řešitelnými, neboť je nelze řešit přímo K získání smysluplné aproximace řešení x p je třeba úlohy vhodně modifikovat, aby byl potlačen vliv šumu na spočítané řešení Takovému postupu se říká regularizace Je-li numerická hodnost k matice A (viz odstavec 56) dobře definována, je přirozenou možností jak úlohu regularizovat použití nejlepší aproximace A hodnosti k, tj matice k Příslušné řešení má tvar x (k) reg = k j= u j b σ j v j = k j= u j be σ j v j + k j= j= σjujv j u j bs σ j v j (62) Tímto způsobem odstraníme z řešení složky, které jsou nejvíce zatížené chybami Pokud však singulární čísla klesají pomalu, může být i přibližné určení numerické hodnosti matice A problematické Metoda založená na (62) je nazývána TSVD (Truncated SVD) Konstruuje řešení (62), kde k je tzv regularizační parametr kontrolující množství regularizace (Ve statistice jsou analogické postupy nazývány PCA od anglického Principal component analysis, [79, 9]) Tichonovova regularizace modifikuje problém nejmenších čtverců na problém min x { b Ax 2 + λx 2 }, (622)
70 24 Kapitola 6 Úlohy nejmenších čtverců 66 Total least squares j σ j u * j b e u * j b s Obrázek 6: Singulární čísla, velikosti projekcí přesné pravé strany b e a šumového vektoru b s do levých singulárních podprostorů matice A pro problém Shaw z matlabovského toolboxu?? Přesná pravá strana splňuje diskrétní Picardovu podmínku, projekce šumového vektoru mají zhruba srovnatelnou velikost kde λ je regularizační parametr a člen λx 2 kontroluje množství šumu v řešení x (jeho zahrnutí snižuje růst normy řešení způsobený zesílením šumu) Podobně jako ve větě 65 lze minimalizační problém (622) řešit pomocí soustavy normálních rovnic (cvičení 64) (A A+λ 2 I)x = A b, (623) a příslušné řešení můžeme zapsat pomocí singulárního rozkladu matice A ve tvaru (cvičení 65) x reg = (A A+λ 2 I) A b = r j= σj 2 u j b σj 2 v j = +λ2 σ j r j= φ j u j b σ j v j, φ j = σ 2 j σ2 j +λ2 (624) Veličiny φ j nazýváme regularizační filtrační faktory Velmi důležitou otázkou je, jak volit regularizační parametr k (v metodě TSVD) resp λ (v Tichonově regularizaci) Je-li k velké resp λ malé, blíží se regularizované řešení k řešení (62) (řekneme, že řešení je podregularizované) Je-li naopak k příliš malé resp λ příliš velké, potlačíme zcela složky řešení odpovídající menším singulárním číslům, a tím ztratíme i část informace o přesném řešení (řešení je přeregularizované) V obou výše zmíněných případech bude regularizované řešení špatnou aproximací řešení x p Na obrázku 62 ukazujeme, jak budou jednotlivá řešení vypadat pro modelový příklad rekonstrukce rozmazané fotografie TSVD regularizací Vidíme, že je třeba množství regularizace v úloze dobře zvolit (nalézt vhodný kompromis) Existuje množství technik k určení vhodného regularizačního parametru, např metoda L-křivky, metoda GCV, princip diskrepance, aj Více informací o regularizačních metodách a volbě regularizačního parametru lze nalézt v knize [58] 66 Total least squares úplný problém nejmenších čtverců V našem výkladu řešení úplného problému nejmenších čtverců (viz definice 62) budeme pro jednoduchost uvažovat matici A C n m, n > m, s plnou sloupcovou hodností a pravou stranu b, jež neleží v oboru hodnot matice A, b / R(A) Jinak řečeno, předpokládáme, že rozšířená matice [b,a] má hod- V literatuře, viz např kniha [33], se často používá rozšířená matice [A,b] namísto zde použitého [b,a] Tomu pak odpovídá i to, že pracujeme s posledním, a nikoli s prvním, prvkem vektoru v m+ Konvence, kterou zde používáme, není samoúčelná a má svůj význam, který se vyjasní později Obrázek 62: Rekonstrukce obrázku zatíženého šumem, zleva: původní obrázek (přesné řešení); podregularizované řešení, v obrázku se začíná objevovat vysokofrekvenční šum; řešení odpovídající vhodné volbě regularizačního parametru; přeregularizované řešení obsahující pouze nízkofrekvenční informaci, vedoucí ke ztrátě rozlišení a detailů obrázku nost m + Poznamenejme, že následující úvahy bychom mohli provést i pro zcela obecný případ A a b 66 Existence a jednoznačnost řešení Zapíšeme-li podmínku (A + E)x = b + f (viz (64)) v ekvivalentním tvaru [ ] ([f,e]+[b,a]) =, (625) x lze úplný problém nejmenších čtverců formulovat následovně: hledáme nejmenší (měřeno Frobeniovou normou) opravu [f, E] matice [b, A] takovou, že opravená matice má netriviální nulový prostor, který navíc obsahuje vektor s nenulovou první složkou Nejprve se zaměříme na opravu samotnou, později na to, jak vypadá nulový prostor opravené matice Uvažujme singulární rozklad rozšířené matice m+ [b,a] = UΣV = σ ju jvj Hledáme nejmenší opravu matice [b,a] takovou, že [b,a] + [f,e] již nemá plnou sloupcovou hodnost Podle věty 52 získáme nejlepší aproximaci hodnosti m matice [b, A] tak, že odečteme poslední člen dyadického rozvoje Jinak řečeno, hledanou nejmenší opravu je možné vyjádřit ve tvaru j= [f,e] = σ m+u m+v m+ Nulový prostor opravené matice má dimenzi jedna a obsahuje násobky vektoru v m+ Zapišme vektor v m+ ve tvaru v m+ = [ν,w] T C m+, kde ν C označuje první složku vektoru v m+ Je-li ν, je podle (625) řešením úplného problému nejmenších čtverců vektor x w (626) ν Nyní vyslovíme větu, která formuluje postačující podmínku na existenci řešení úplného problému nejmenších čtverců Věta 69 (Golub, Van Loan, [49, věta 23, str 596]) Nechť A C n m, n > m, je matice s plnou sloupcovou hodností a nechť b R(A) Uvažujme singulární rozklady matic m+ [b,a] = σ ju jvj a A = j= m σ ju jv j Pokud je σ m > σm+, (627) potom má matice [b,a] jednoduché nejmenší singulární číslo (σ m > σ m+), platí e T vm+ a úplný problém nejmenších čtverců (64) má jednoznačné řešení (626) j=
Úlohy nejmenších čtverců
Úlohy nejmenších čtverců Petr Tichý 7. listopadu 2012 1 Problémy nejmenších čtverců Ax b Řešení Ax = b nemusí existovat, a pokud existuje, nemusí být jednoznačné. Často má smysl hledat x tak, že Ax b.
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:
3 Maticový počet 3.1 Zavedení pojmu matice 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: a 11 a 12... a 1k... a 1n a 21 a 22...
Arnoldiho a Lanczosova metoda
Arnoldiho a Lanczosova metoda 1 Částečný problém vlastních čísel Ne vždy je potřeba (a někdy to není ani technicky možné) nalézt celé spektrum dané matice (velké řídké matice). Úloze, ve které chceme aproximovat
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
Tomáš Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 63 1 2 3 4 5 6 7 8 9 10 11 2 / 63 Aritmetický vektor Definition 1 Aritmetický vektor x je uspořádaná
2. Schurova věta. Petr Tichý. 3. října 2012
2. Schurova věta Petr Tichý 3. října 2012 1 Podobnostní transformace a výpočet vlastních čísel Obecný princip: Úloha: Řešíme-li matematickou úlohu, je často velmi vhodné hledat její ekvivalentní formulaci
Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).
Předmět: MA 4 Dnešní látka Lineární (vektorový) prostor Normovaný lineární prostor Normy matic a vektorů Symetrické matice, pozitivně definitní matice Gaussova eliminační metoda, podmíněnost matic Četba:
Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda
Předmět: MA 4 Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda Četba: Text o lineární algebře v Příručce přežití na webových
Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).
Předmět: MA 4 Dnešní látka Vektorový (lineární) prostor (připomenutí) Normovaný lineární prostor Normy matic a vektorů Symetrické matice, pozitivně definitní matice Gaussova eliminační metoda, podmíněnost
Singulární rozklad. Petr Tichý. 31. října 2013
Singulární rozklad Petr Tichý 31. října 2013 1 Outline 1 Úvod a motivace 2 Zavedení singulárního rozkladu a jeho vlastnosti 3 Výpočet a náklady na výpočet singulárního rozkladu 4 Moor-Penroseova pseudoinverze
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
Cvičení 1 Základy numerické matematiky - NMNM201 1 Základní pojmy opakování Definice 1 (Norma). Norma je funkcionál splňující pro libovolné vektory x a y a pro libovolný skalár α C následující podmínky:
8 Matice a determinanty
M Rokyta, MFF UK: Aplikovaná matematika II kap 8: Matice a determinanty 1 8 Matice a determinanty 81 Matice - definice a základní vlastnosti Definice Reálnou resp komplexní maticí A typu m n nazveme obdélníkovou
1 Projekce a projektory
Cvičení 3 - zadání a řešení úloh Základy numerické matematiky - NMNM20 Verze z 5. října 208 Projekce a projektory Opakování ortogonální projekce Definice (Ortogonální projekce). Uvažujme V vektorový prostor
MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]
MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě
Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace
Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi
Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).
Předmět: MA 4 Dnešní látka Vlastní čísla a vektory Google Normovaný lineární prostor Normy matic a vektorů Symetrické matice, pozitivně definitní matice Gaussova eliminační metoda, podmíněnost matic Četba:
Lineární algebra : Skalární součin a ortogonalita
Lineární algebra : Skalární součin a ortogonalita (15. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 30. dubna 2014, 09:00 1 2 15.1 Prehilhertovy prostory Definice 1. Buď V LP nad
Numerické metody a programování. Lekce 4
Numerické metody a programování Lekce 4 Linarní algebra soustava lineárních algebraických rovnic a 11 a 12 x 2 a 1, N x N = b 1 a 21 a 22 x 2 a 2, N x N = b 2 a M,1 a M,2 x 2 a M,N x N = b M zkráceně A
5. Singulární rozklad
5. Singulární rozklad Petr Tichý 31. října 2012 1 Singulární rozklad matice Jeden z nejdůležitějších teoretických i praktických nástrojů maticových výpočtů. Umožňuje určit hodnost či normu matice, ortogonální
Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,
Úlohy k přednášce NMAG a : Lineární algebra a geometrie a Verze ze dne. května Toto je seznam přímočarých příkladů k přednášce. Úlohy z tohoto seznamu je nezbytně nutné umět řešit. Podobné typy úloh se
Lineární algebra : Skalární součin a ortogonalita
Lineární algebra : Skalární součin a ortogonalita (15. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních
Podobnostní transformace
Schurova věta 1 Podobnostní transformace a výpočet vlastních čísel Obecný princip: Úloha: Řešíme-li matematickou úlohu, je často velmi vhodné hledat její ekvivalentní formulaci tak, aby se řešení úlohy
stránkách přednášejícího.
Předmět: MA 4 Dnešní látka Iterační metoda Jacobiova iterační metoda Gaussova-Seidelova iterační metoda Superrelaxační metoda (metoda SOR) Metoda sdružených gradientů Četba: Text o lineární algebře v Příručce
Operace s maticemi. 19. února 2018
Operace s maticemi Přednáška druhá 19. února 2018 Obsah 1 Operace s maticemi 2 Hodnost matice (opakování) 3 Regulární matice 4 Inverzní matice 5 Determinant matice Matice Definice (Matice). Reálná matice
a vlastních vektorů Příklad: Stanovte taková čísla λ, pro která má homogenní soustava Av = λv nenulové (A λ i I) v = 0.
Výpočet vlastních čísel a vlastních vektorů S pojmem vlastního čísla jsme se již setkali například u iteračních metod pro řešení soustavy lineárních algebraických rovnic. Velikosti vlastních čísel iterační
Aplikovaná numerická matematika - ANM
Aplikovaná numerická matematika - ANM 3 Řešení soustav lineárních rovnic iterační metody doc Ing Róbert Lórencz, CSc České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových
Interpolace, ortogonální polynomy, Gaussova kvadratura
Interpolace, ortogonální polynomy, Gaussova kvadratura Petr Tichý 20. listopadu 2013 1 Úloha Lagrangeovy interpolace Dán omezený uzavřený interval [a, b] a v něm n + 1 různých bodů x 0, x 1,..., x n. Nechť
DEFINICE Z LINEÁRNÍ ALGEBRY
DEFINICE Z LINEÁRNÍ ALGEBRY Skripta Matematické metody pro statistiku a operační výzkum (Nešetřilová, H., Šařecová, P., 2009). 1. definice Vektorovým prostorem rozumíme neprázdnou množinu prvků V, na které
Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008
Učební texty k státní bakalářské zkoušce Matematika Skalární součin študenti MFF 15. augusta 2008 1 10 Skalární součin Požadavky Vlastnosti v reálném i komplexním případě Norma Cauchy-Schwarzova nerovnost
Připomenutí co je to soustava lineárních rovnic
Připomenutí co je to soustava lineárních rovnic Příklad 2x 3y + z = 5 3x + 5y + 2z = 4 x + 2y z = 1 Soustava lineárních rovnic obecně Maticový tvar: a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a
Základy maticového počtu Matice, determinant, definitnost
Základy maticového počtu Matice, determinant, definitnost Petr Liška Masarykova univerzita 18.9.2014 Matice a vektory Matice Matice typu m n je pravoúhlé (nebo obdélníkové) schéma, které má m řádků a n
Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29
Matematika 1 11. přednáška MA1 1 Opakování 2 Determinant 3 Adjungovaná matice 4 Cramerovo pravidlo 5 Vlastní čísla a vlastní vektory matic 6 Zkouška; konzultace; výběrová matematika;... 11. přednáška (15.12.2010
15 Maticový a vektorový počet II
M. Rokyta, MFF UK: Aplikovaná matematika III kap. 15: Maticový a vektorový počet II 1 15 Maticový a vektorový počet II 15.1 Úvod Opakování z 1. ročníku (z kapitoly 8) Označení. Množinu všech reálných resp.
Ortogonální transformace a QR rozklady
Ortogonální transformace a QR rozklady 1 Úvod Unitární (ortogonální) transformace, Gram-Schmidtova ortogonalizace Příklad Schurovy věty unitární transformace nezvětšují chyby ve vstupních datech. Tato
Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008
Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty študenti MFF 15. augusta 2008 1 14 Vlastní čísla a vlastní hodnoty Požadavky Vlastní čísla a vlastní hodnoty lineárního
Co je obsahem numerických metod?
Numerické metody Úvod Úvod Co je obsahem numerických metod? Numerické metody slouží k přibližnému výpočtu věcí, které se přesně vypočítat bud nedají vůbec, nebo by byl výpočet neúměrně pracný. Obsahem
Ortogonální transformace a QR rozklady
Ortogonální transformace a QR rozklady Petr Tichý 9. října 2013 1 Úvod Unitární (ortogonální) transformace, Gram-Schmidtova ortogonalizace Příklad Schurovy věty unitární transformace nezvětšují chyby ve
FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci
FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY Dana Černá http://www.fp.tul.cz/kmd/ Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci OBSAH A CÍLE SEMINÁŘE: Opakování a procvičení vybraných
EUKLIDOVSKÉ PROSTORY
EUKLIDOVSKÉ PROSTORY Necht L je lineární vektorový prostor nad tělesem reálných čísel R. Zobrazení (.,.) : L L R splňující vlastnosti 1. (x, x) 0 x L, (x, x) = 0 x = 0, 2. (x, y) = (y, x) x, y L, 3. (λx,
1 Linearní prostory nad komplexními čísly
1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)
MOORE-PENROSEOVA INVERZE MATICE A JEJÍ APLIKACE. 1. Úvod
Kvaternion 1/2013, 7 14 7 MOORE-PENROSEOVA INVERZE MATICE A JEJÍ APLIKACE LADISLAV SKULA Abstrakt V článku je uvedena definice pseudoinverzní matice, ukázána její existence a jednoznačnost a zmíněny dvě
VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY
VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY Jan Krejčí 31. srpna 2006 jkrejci@physics.ujep.cz http://physics.ujep.cz/~jkrejci Obsah 1 Přímé metody řešení soustav lineárních rovnic 3 1.1 Gaussova eliminace...............................
Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic
Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je
Úvod do lineární algebry
Úvod do lineární algebry 1 Aritmetické vektory Definice 11 Mějme n N a utvořme kartézský součin R n R R R Každou uspořádanou n tici x 1 x 2 x, x n budeme nazývat n rozměrným aritmetickým vektorem Prvky
PROSTORY SE SKALÁRNÍM SOUČINEM. Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti
PROSTORY SE SKALÁRNÍM SOUČINEM Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti 1. (x, x) 0 x L, (x, x) = 0 x = 0, 2. (x, y) = (y, x) x, y L, 3. (λx, y) = λ(x,
(Cramerovo pravidlo, determinanty, inverzní matice)
KMA/MAT1 Přednáška a cvičení, Lineární algebra 2 Řešení soustav lineárních rovnic se čtvercovou maticí soustavy (Cramerovo pravidlo, determinanty, inverzní matice) 16 a 21 října 2014 V dnešní přednášce
Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat
Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat Čtvercová matice n n, např. může reprezentovat: A = A A 2 A 3 A 2 A 22 A 23 A 3 A 32 A 33 matici koeficientů soustavy n lineárních
Numerické metody a programování
Projekt: Inovace výuky optiky se zaměřením na získání experimentálních dovedností Registrační číslo: CZ.1.7/2.2./28.157 Numerické metody a programování Lekce 4 Tento projekt je spolufinancován Evropským
1 Determinanty a inverzní matice
Determinanty a inverzní matice Definice Necht A = (a ij ) je matice typu (n, n), n 2 Subdeterminantem A ij matice A příslušným pozici (i, j) nazýváme determinant matice, která vznikne z A vypuštěním i-tého
1 Vektorové prostory.
1 Vektorové prostory DefiniceMnožinu V, jejíž prvky budeme označovat a, b, c, z, budeme nazývat vektorovým prostorem právě tehdy, když budou splněny následující podmínky: 1 Je dáno zobrazení V V V, které
VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku
VI Maticový počet VI1 Základní operace s maticemi Definice Tabulku a 11 a 12 a 1n a 21 a 22 a 2n, a m1 a m2 a mn kde a ij R, i = 1,, m, j = 1,, n, nazýváme maticí typu m n Zkráceně zapisujeme (a ij i=1m
0.1 Úvod do lineární algebry
Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání
0.1 Úvod do lineární algebry
Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde
Symetrické a kvadratické formy
Symetrické a kvadratické formy Aplikace: klasifikace kvadrik(r 2 ) a kvadratických ploch(r 3 ), optimalizace(mpi) BI-LIN (Symetrické a kvadratické formy) 1 / 20 V celé přednášce uvažujeme číselné těleso
Vlastní čísla a vlastní vektory
5 Vlastní čísla a vlastní vektor Poznámka: Je-li A : V V lineární zobrazení z prostoru V do prostoru V někd se takové zobrazení nazývá lineárním operátorem, pak je přirozeným požadavkem najít takovou bázi
Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s
Kapitola 13 Kvadratické formy Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru f(x 1,..., x n ) = a ij x i x j, kde koeficienty a ij T. j=i Kvadratická forma v n proměnných
Soustavy linea rnı ch rovnic
[1] Soustavy lineárních rovnic vlastnosti množin řešení metody hledání řešení nejednoznačnost zápisu řešení a) soustavy, 10, b) P. Olšák, FEL ČVUT, c) P. Olšák 2010, d) BI-LIN, e) L, f) 2009/2010, g)l.
1 Báze a dimenze vektorového prostoru 1
1 Báze a dimenze vektorového prostoru 1 Báze a dimenze vektorového prostoru 1 2 Aritmetické vektorové prostory 7 3 Eukleidovské vektorové prostory 9 Levá vnější operace Definice 5.1 Necht A B. Levou vnější
Operace s maticemi
Operace s maticemi Seminář druhý 17.10. 2018 Obsah 1 Operace s maticemi 2 Hodnost matice 3 Regulární matice 4 Inverzní matice Matice Definice (Matice). Reálná matice typu m n je obdélníkové schema A =
Zdrojem většiny příkladů je sbírka úloh 1. cvičení ( ) 2. cvičení ( )
Příklady řešené na cvičení LA II - LS 1/13 Zdrojem většiny příkladů je sbírka úloh http://kam.mff.cuni.cz/~sbirka/ 1. cvičení (..13) 1. Rozhodněte, které z následujících operací jsou skalárním součinem
VĚTY Z LINEÁRNÍ ALGEBRY
VĚTY Z LINEÁRNÍ ALGEBRY Skripta Matematické metody pro statistiku a operační výzkum (Nešetřilová, H., Šařecová, P., 2009). 1. věta Nechť M = {x 1, x 2,..., x k } je množina vektorů z vektorového prostoru
vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x).
Řešené příklady z lineární algebry - část 6 Typové příklady s řešením Příklad 6.: Kvadratickou formu κ(x) = x x 6x 6x x + 8x x 8x x vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých
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
[1] Základní pojmy [2] Matice mezi sebou sčítáme a násobíme konstantou (lineární prostor) měníme je na jiné matice eliminační metodou násobíme je mezi sebou... Matice je tabulka čísel s konečným počtem
Vlastní čísla a vlastní vektory
Kapitola 11 Vlastní čísla a vlastní vektory Základní motivace pro studium vlastních čísel a vektorů pochází z teorie řešení diferenciálních rovnic Tato teorie říká, že obecné řešení lineární diferenciální
Numerické řešení soustav lineárních rovnic
Numerické řešení soustav lineárních rovnic Mirko Navara http://cmpfelkcvutcz/~navara/ Centrum strojového vnímání, katedra kybernetiky FEL ČVUT Karlovo náměstí, budova G, místnost 04a http://mathfeldcvutcz/nemecek/nummethtml
11. Skalární součin a ortogonalita p. 1/16
11. Skalární součin a ortogonalita 11. Skalární součin a ortogonalita p. 1/16 11. Skalární součin a ortogonalita p. 2/16 Skalární součin a ortogonalita 1. Definice skalárního součinu 2. Norma vektoru 3.
Numerická stabilita algoritmů
Numerická stabilita algoritmů Petr Tichý 9. října 2013 1 Numerická stabilita algoritmů Pravidla v konečné aritmetice Pro počítání v konečné aritmetice počítače platí určitá pravidla, která jsou důležitá
z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.
KOMLEXNÍ ČÍSLA C = {a + bi; a, b R}, kde i 2 = 1 Číslo komplexně sdružené k z = a + bi je číslo z = a bi. Operace s komplexními čísly: z = a + bi, kde a, b R v = c + di, kde c, d R Sčítání Odčítání Násobení
1 0 0 u 22 u 23 l 31. l u11
LU dekompozice Jedná se o rozklad matice A na dvě trojúhelníkové matice L a U, A=LU. Matice L je dolní trojúhelníková s jedničkami na diagonále a matice U je horní trojúhelníková. a a2 a3 a 2 a 22 a 23
Vlastní číslo, vektor
[1] Vlastní číslo, vektor motivace: směr přímky, kterou lin. transformace nezmění invariantní podprostory charakteristický polynom báze, vzhledem ke které je matice transformace nejjednodušší podobnost
Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru
2. Systémy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních rovnic s koeficienty z pole reálných případně komplexních čísel. Uvádíme podmínku pro existenci řešení systému lineárních
2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC
.6. VLASTNÍ ČÍSLA A VEKTORY MATIC V této kapitole se dozvíte: jak jsou definována vlastní (charakteristická) čísla a vektory čtvercové matice; co je to charakteristická matice a charakteristický polynom
Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)
4 Lineární zobrazení Definice: Nechť V a W jsou vektorové prostory Zobrazení A : V W (zobrazení z V do W nazýváme lineárním zobrazením, pokud pro všechna x V, y V a α R platí 1 A(x y = A(x A(y (vlastnost
Požadavky k písemné přijímací zkoušce z matematiky do navazujícího magisterského studia pro neučitelské obory
Požadavky k písemné přijímací zkoušce z matematiky do navazujícího magisterského studia pro neučitelské obory Zkouška ověřuje znalost základních pojmů, porozumění teorii a schopnost aplikovat teorii při
7. Lineární vektorové prostory
7. Lineární vektorové prostory Tomáš Salač MÚ UK, MFF UK LS 2017/18 Tomáš Salač ( MÚ UK, MFF UK ) 7. Lineární vektorové prostory LS 2017/18 1 / 62 7.1 Definice a příklady Definice 7.1 Množina G s binární
Vlastní čísla a vlastní vektory
Vlastní čísla a vlastní vektory 1 Motivace Uvažujme lineární prostor všech vázaných vektorů v rovině, které procházejí počátkem, a lineární zobrazení tohoto prostoru do sebe(lineární transformaci, endomorfismus)
Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice
Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u
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
Úlohy k zamyšlení 1. Zdůvodněte, proč třetí řádek Hornerova schématu pro vyhodnocení polynomu p v bodě c obsahuje koeficienty polynomu r, pro který platí p(x) = (x c) r(x) + p(c). 2. Dokažte, že pokud
[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici
[1] Determinant je číslo jistým způsobem charakterizující čtvercovou matici det A = 0 pro singulární matici, det A 0 pro regulární matici používá se při řešení lineárních soustav... a v mnoha dalších aplikacích
Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA II, letní semestr 2000/2001 Michal Marvan. 14.
Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA II, letní semestr 2000/2001 Michal Marvan 14. Vlastní vektory Bud V vektorový prostor nad polem P. Lineární zobrazení f : V
Definice : Definice :
KAPITOLA 7: Spektrální analýza operátorů a matic [PAN16-K7-1] Definice : Necht H je komplexní Hilbertův prostor. Řekneme, že operátor T B(H) je normální, jestliže T T = T T. Operátor T B(H) je normální
Matematika B101MA1, B101MA2
Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet
1 Vektorové prostory a podprostory
Pro nahrazení účasti v jednotlivých cvičeních (resp. pro studenty kombinované formy) je dostačující vypracování a odevzdání tučně vyznačených příkladů. 1 Vektorové prostory a podprostory Definujte vektorový
Metoda sdružených gradientů
Metoda sdružených gradientů 1 Poznámka A-skalární součin, A-norma (energetická norma) Standardní euklidovský skalární součin vektorů n x, y = y T x = y i x i. i=1 A R n n je symetrická, pozitivně definitní,
SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC
SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC Pojm: Algebraická rovnice... rovnice obsahující pouze celé nezáporné mocnin neznámé, tj. a n n + a n 1 n 1 +... + a 2 2 + a 1 + a 0 = 0, kde n je přirozené číslo.
Necht L je lineární prostor nad R. Operaci : L L R nazýváme
Skalární součin axiomatická definice odvození velikosti vektorů a úhlu mezi vektory geometrická interpretace ortogonalita vlastnosti ortonormálních bázi [1] Definice skalárního součinu Necht L je lineární
6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2
6 Skalární součin Skalární součin 1 je operace, která dvěma vektorům (je to tedy binární operace) přiřazuje skalár (v našem případě jde o reálné číslo, obecně se jedná o prvek nějakého tělesa T ). Dovoluje
1 Řešení soustav lineárních rovnic
1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty
10 Funkce více proměnných
M. Rokyta, MFF UK: Aplikovaná matematika II kap. 10: Funkce více proměnných 16 10 Funkce více proměnných 10.1 Základní pojmy Definice. Eukleidovskou vzdáleností bodů x = (x 1,...,x n ), y = (y 1,...,y
Báze a dimenze vektorových prostorů
Báze a dimenze vektorových prostorů Buď (V, +, ) vektorový prostor nad tělesem (T, +, ). Nechť u 1, u 2,..., u n je konečná posloupnost vektorů z V. Existují-li prvky s 1, s 2,..., s n T, z nichž alespoň
Numerické řešení soustav lineárních rovnic
Numerické řešení soustav lineárních rovnic irko Navara Centrum strojového vnímání, katedra kybernetiky elektrotechnická fakulta ČVUT, Praha http://cmpfelkcvutcz/~navara 30 11 2016 Úloha: Hledáme řešení
Lineární algebra : Metrická geometrie
Lineární algebra : Metrická geometrie (16. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 6. května 2014, 10:42 1 2 Úvod Zatím jsme se lineární geometrii věnovali v kapitole o lineárních
12. Determinanty. 12. Determinanty p. 1/25
12. Determinanty 12. Determinanty p. 1/25 12. Determinanty p. 2/25 Determinanty 1. Induktivní definice determinantu 2. Determinant a antisymetrické formy 3. Výpočet hodnoty determinantu 4. Determinant
Skalární součin dovoluje zavedení metriky v afinním bodovém prostoru, tj. umožňuje nám určovat vzdálenosti, odchylky, obsahy a objemy.
6 Skalární součin Skalární součin dovoluje zavedení metriky v afinním bodovém prostoru, tj. umožňuje nám určovat vzdálenosti, odchylky, obsahy a objemy. Příklad: Určete odchylku přímek p, q : p : x =1+3t,
10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo
0. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo (PEF PaA) Petr Gurka aktualizováno 9. prosince 202 Obsah Základní pojmy. Motivace.................................2 Aritmetický vektorový
[1] Motivace. p = {t u ; t R}, A(p) = {A(t u ); t R} = {t A( u ); t R}
Vlastní číslo, vektor motivace: směr přímky, kterou lin. transformace nezmění invariantní podprostory charakteristický polynom báze, vzhledem ke které je matice transformace nejjednodušší podobnost s diagonální
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á.
[1] Terminologie [2] Soustavy lineárních rovnic vlastnosti množin řešení metody hledání řešení nejednoznačnost zápisu řešení Definice: Necht A = (a i,j ) R m,n je matice, b R m,1 je jednosloupcová matice.
Soustavy lineárních rovnic a determinanty
Soustavy lineárních rovnic a determinanty Petr Hasil Přednáška z matematiky Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na discipĺıny
Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice
Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice Jan Tomeček Tento stručný text si klade za cíl co nejrychlejší uvedení do teorie Greenových funkcí pro obyčejné diferenciální
V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti
Kapitola 5 Vektorové prostory V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti operací sčítání a násobení