Matykání: Matice II

Matykání: Matice II

Matematika / článek / Matykání

Dnes bude opět řeč o maticích. Konečně se podíváme, jak se počítají vlastní čísla a vlastní vektory a k čemu jsou všechny tyhle vymyšlenosti vlastně dobré.

Znáte sinusoidu? No jasně, že znáte. Ale co to vlastně znamená, že známe nějakou funkci? Představte si, že jste nikdy o sinusoidě neslyšeli, ani jste žádnou nikdy neviděli, ale já vám prozradím její hodnoty pro pár čísel (úhly v argumentu jsou v radiánech).

sin(-0.5) = 0.4794
sin(0.2) = 0.1987...
sin(1.0) = 0.8415...
sin(9.9) = -0.4575

Tak co, už znáte sinusoidu? Zatím asi moc ne. Na to abychom nějakou funkci poznali, nestačí nabrnkat si pár hodnot a danou funkcí je zobrazit. Místo toho potřebujeme získat celkový přehled o jejím chování. Tedy v tomto případě, že je omezená (z geometrických důvodů se její hodnoty nemohou vyvléci z uzavřeného intervalu [-1,1]), že pravidelně střídá období růstu s obdobími poklesu, popřípadě že je periodická. Teprve kombinace těchto poznatků (a samozřejmě výsledný obrázek) nám umožní představit si sinusoidu v plné kráse a efektivně o ní přemýšlet.

Předminule jsme si řekli, že se na matice budeme dívat jako na zobrazení z jednoho vektorového prostoru do druhého. Pokud je matice čtvercová, zobrazuje se do toho samého prostoru a můžeme se na ni tedy dívat jako na jakousi funkci (či transformaci nebo operátor) na tomto prostoru.

Zatím jsme její vizualizaci pytlíkovali tak, že jsme matici předhodili pár náhodně vybraných vektorů a podívali se, kam je ta matice zobrazí. To nám pochopitelně příliš dobrý intuitivní vhled do příslušného zobrazení neposkytne (stejně jako nám výše uvedená tabulka hodnot neřekla nic moc o funkci sinus).

Na to abychom tyto maticové transformace u -> A.u (vektor u se transformuje či zobrazí na vektor A.u) pochopili, potřebujeme vidět, co v jednotlivých částech našeho prostoru s těmi vektory vlastně geometricky provádí. Musíme si ve vlastní mysli vytvořit globální model jejich akce. Abychom si ten geometrický náhled trochu procvičili, podíváme se nejprve na tzv. rotační matice, které popisují prostorové transformace důvěrně známé většině lidí (a všem krasobruslařům). Rotace jsou ale velmi speciální případ. Pro obecné matice je nutno jejich vnitřní strukturu osvětlit pomocí vlastních čísel a vlastních vektorů. A těm se budeme věnovat ve zbytku tohoto Matykání.

Rotace prostoru

Připoměňme si (viz toto Matykání), že 2D rotace o úhel φ kolem počátku se dají popsat buď komplexními čísly, anebo tzv. rotačními maticemi typu 2x2, které mají tvar R = ((cosφ, -sinφ),(sinφ,cosφ)).

Pokud náhodou nerotujeme kolem počátku, ale kolem nějakého obecného bodu z₀, pak prostě nejprve provedeme translaci z tohoto bodu do počátku, v něm zkušeně zarotujeme a následně bod vrátíme do původní polohy z₀ inverzní translací. Komplexně se to zapíše takto:

z' = exp(iφ)(z-z₀) + z₀ (kde z je komplexní číslo reprezentující bod před rotací a z' po rotaci)

Rozmyslete si, že tyto tři operace, tedy translace, rotace kolem počátku a inverzní translace, skutečně přesně zrekonstruují rotaci kolem bodu z₀. Tento typ sekvence patří k často používaným matematickým paradigmatům a v sekci Jauvajs se k němu vrátím.

Ve 3D už jsou rotace podstatně obtížnější. Budeme se zabývat jen těmi kolem počátku, protože výše popsaný translační fígl se dá provést i zde pomocí 3D vektorů, takže s tímto zobecněním si nebudeme lámat hlavu.

S čím si však hlavu lámat budeme, je to, že na rozdíl od 2D případu zde musíme specifikovat osu otáčení. Není rotace jako rotace. Představte si tradiční obrázek souřadných os vyrobený z drátu (vpravo). Osy x, y a z odpovídají bázovým vektorům i, jk. Pokud popadnete vektor i a touto souřadnou „kostrou“ zakroutíte, dostanete úplně jiný typ transformace, než když ji pootočíte pomocí vektoru j nebo k. A to jsou stále jen speciální případy.

Klidně bychom k té černé „drátové“ soustavě os mohli připevnit červený obecný vektor o a pootočit celý prostor kolem něho (jako by to byla osa globusu). Všechna otočení ve 3D se dají reprezentovat pomocí matic 3x3, ale najít je není úplně snadné.

Pokud rotujeme kolem jedné ze souřadných os, pak se rotační matice dá odvodit z 2D rotace zafixováním osy, kolem které rotujeme, a přerozdělením sinů a kosinů do zbývajících dimenzí (formulky si můžete prohlédnout na wikipedii). Když takovou rotační matici pronásobíte obecným vektorem u = (x,y,z), pak jedna z těch souřadnic skutečně zůstane zachovaná (tam, kde je „1“) a ty zbylé se „pootočí“ přesně podle zákonů 2D rotace.

Jiným speciálním případem (byť v praxi ne zcela obvyklým) je situace, kdy znáte obrazy bázových vektorů i, j, k. To znamená, že víte přesně, kam se tyto vektory pootočí. Na předchozím obrázku jsou pootočené bázové vektory znázorněny zeleně. Minule jsme si řekli, že v takovém případě stačí obrazy bázových vektorů i', j'k' narovnat do sloupků a hledanou rotační matici R máme hned.

Mimochodem, rotace, která standardní bázové vektory pootočí do polohy i', j'k' (což jsou sloupce naší matice) jejich ortonormalitu nezničí (rotace zachovává jak délky, tak úhly). Tyto sloupce tedy musí splňovat podmínky:

i'.i' = j'.j' = k'.k' = 1 (jednotková délka)
i'.j' = j'.k' = k'.i' = 0 = j'.i' = k'.j' = i'.k' (pravý úhel)

Kompaktněji se tyto vztahy dají zapsat pomocí transpozice matice R: (jejíž sloupce jsou i', j'k')

RT.R = I = R.RT

Když si tu maticovou rovnost rozepíšete, zjistíte, že přesně odpovídá předchozím vztahům pro obrazy bázových vektorů (při násobení matice a její transpozice v podstatě počítáme skalární součiny řádků – a v obráceném případě sloupků). Maticím, které tyto dva vztahy splňují, říkáme ortogonální (ty v podstatě reprezentují rotace a zrcadlení – rozlišit nám je pomůže determinant).

Obecná 3D rotace – o úhel φ kolem osy určené jednotkovým vektorem o – je překvapivě zapeklitý oříšek. Pokud známe rotační matici R, tak tu osu o najdeme jednoduše (například jako vlastní vektor matice R). Obráceně to jde podstatně hůř.

Matematici s nalezením obecné rotační matice poměrně dlouho zápolili a za účelem zkrocení zlé transformace si vymysleli spoustu vychytávek (například Eulerovy úhly). Dnes se pro tyto účely používá nejčastěji tzv. Rodriguezův vzorec, popřípadě jeho kvaternionová verze (mezi 3x3 rotačními maticemi a kvaterniony existuje poměrně úzký vztah v tom smyslu, ze každý jednotkový kvaternion odpovídá jedné rotační matici; jeho zkoumání by nás ale zavleklo příliš hluboko do pralesa abstraktní algebry).

Přestože formulka pro obecnou rotační matici R je poměrně zapařená, její akce na 3D vektorovém prostoru (tedy to, jak transformuje vektory: u -> R.u) je snadno pochopitelná. Představte si, že stojíte na ose parkového kolotoče a pro popis světa si zvolíte vztažnou soustavu, ve které jste v klidu. Pak to, co kolem sebe vidíte, je 3D rotace kolem osy kolotoče.

Z pohledu vlastních vektorů (viz předminulé Matykání) je osa o (přesněji vektor v ní ležící) vlastním vektorem matice R s vlastním číslem 1. Osový vektor je rotací nezměněn. Zbylé vlastní vektory matice R už jsou komplexní.

Dalším zobrazením na 3D vektorovém prostoru, které si lze geometricky poměrně snadno představit, je zrcadlení v rovině r. Zde bude obrazem vektoru u jeho promítnutí do roviny r a následná „rekonstrukce“ na „druhé straně“ roviny (na ilustračním 2D obrázku vidíme průmět celé situace).

Přesněji, vektor u rozložíme na modrou složku p, která leží v rovině r, a na černou složku t, která z ní trčí kolmo ven ve směru normály. A tu trčící složku t prostě prohodíme (tj. nahradíme ji opačným vektorem -t) a máme „zrcadlový“ obraz Z.u. I zde je matice Z popisující tuto transformaci poměrně komplikovaná – pro rovinu určenou jednotkovou normálou (a,b,c) ji najdete zde. Její globální geometrický efekt je ale celkem jasný: v rovině r zůstanou vektory beze změny, v normálovém směru t udělají „čelem vzad“ a zbytek si odvodíme z kombinací.

Celá rovina r je de facto vlastním podprostorem matice Z (s vlastním číslem 1). Všechny její vektory sedí při zrcadlení na místě. Lehce si ověříte, že pokud dva vlastní vektory sdílí stejné vlastní číslo, pak je i každá jejich lineární kombinace vlastním vektorem s tímto číslem (software vám ale pochopitelně vyhodí pouze nějakou bázi takového podprostoru – tedy dva konkrétní vektory). Normálový vektor t = (a,b,c) bude také vlastním vektorem, ale s vlastním číslem -1, protože jeho obraz je přesně opačný:

Z.t = -1*t

Pro pochopení geometrického fungování lineárních zobrazení (matic) je tedy důležité rozložit vektorový prostor na menší invariantní podprostory (nejlépe 1D), na kterých se to zobrazení chová mimořádně jednoduše.

Vlastní vektory jsou zobecněním tohoto programu, který umožňuje do celkové analýzy zahrnout i podprostory, kde se vektory trochu „natahují“ či „zkracují“ (ale nemění směr). Transformace, které vektory zachovávají natvrdo či přesně překlápí, jsou poměrně vzácné (a většinou odpovídají tzv. rigidním zobrazením).

Vlastní vektory představují pro geometrickou interpretaci matic jakousi základní transformační kostru, na kterou nabalíme zbytek prostoru pomocí linearity.

Matice na rentgenu

Podívejme se nejprve, jak tu kostru spočítáme. Definiční vztah je poměrně jednoduchý. Vlastní vektor u se maticí A zobrazí na určitý skalární násobek sebe sama (tradičně se pro něj používá řecké písmenko λ).

(*) A.u = λu

Protože jednotková matice I splňuje I.u = u, člen nalevo můžeme po převedení na druhou stranu přepsat jako λI.u a vytknutím u získáme rovnici:

(**) (A-λI).u = 0

Pro zadanou matici A typu nxn tedy hledáme nenulový vektor u a skalár λ, splňující rovnici (**). To je maticová rovnice, která se dá rozepsat na n běžných lineárních rovnic tím, že provedeme naznačený skalární součin. Na první pohled se zdá, že máme n rovnic pro n+1 neznámých (n složek vektoru u a číslo λ), takže s existencí řešení by mohly být potíže, ale musíme mít na paměti, že vektor u se dá libovolně přeškálovat, takže k jeho určení stačí pouze n-1 čísel (jednu souřadnici u si můžeme vybrat zcela libovolně).

Při vlastním výpočtu chytře využijeme vlastností singulárních matic a spočítáme nejprve vlastní čísla a potom pro každé nalezené λ najdeme příslušný vlastní vektor.

Pokud tedy existuje nenulový vektor u splňující rovnici (**), pak je jasné, že matice A-λI je singulární (pozor, tady nemluvíme o matici A, ale o matici A-λI, která zatím obsahuje jeden neznámý parametr λ). To byla de facto vlastnost 7 ze závěru minulého Matykání. Aby ta matice i s tím neznámým parametrem λ mohla být singulární, musí mít nulový determinant – to byla vlastnost 1 (a všimněte si, že v téhle podmínce už vektor u vůbec nefiguruje):

(***) det(A-λI) = 0
(matice v závorce je „skoro“ A, jen musíme na hlavní diagonále odečíst λ)

Výpočet determinantu není nic příjemného – tím spíš, pokud v něm plave neznámé číslo – ale v principu nás dovede k polynomiální rovnici n-tého řádu pro neznámou λ. Matice má rozměr nxn a každý člen na diagonále přispívá lineárním výrazem v λ.

V praxi to za nás samozřejmě odpracují polovodiče, protože rovnice vyšších řádů (kubické a výše) dělají problémy i ostříleným matematikům. Počítač nám vyplivne n řešení rovnice (***) a my pak jedno každé z nich vezmeme, dosadíme ho do rovnice (**) a dopočítáme z ní příslušný vektor u. Pro konkrétní λ je rovnice (**) už jen běžná lineární homogenní soustava a většina chytrých softwarů nám rovnou nabídne její řešení (tj. vlastní vektory).

Občas se ale vyskytnou komplikace – některá vlastní čísla mohou být komplexní (už kvadratická rovnice může chytnout imaginární řešení, pokud nenosí roušku), jiná mohou být stejná (a pak se může stát, že vlastní čísla sdílejí vlastní vektor a nedokáží vygenerovat bázi prostoru), ale s těmito patologiemi si nebudeme dělat hlavu a raději se podíváme na jeden konkrétní příklad.

Spočítáme si vlastní čísla matice A = ((2,3),(5,8)). Matice A-λI bude rovna ((2-λ,3),(5,8-λ)) a její determinant po vzoru rovnice (***) položíme roven nule:

0 = (2-λ)*(8-λ) - 3*5 = λ² - 10 λ + 1

To je kvadratická rovnice, která má 2 řešení:

λ1 = 5+2√6 ~ 9.9
λ2 = 5-2√6 ~ 0.1 (ta odmocnina je trochu nedotažená, ale lepší symbol pro ni nemám)

A teď pro každé vlastní číslo λ najdeme vlastní vektor u = (x,y) z rovnic (**) (2-λ)*x + 3*y = 0
5*x + (8-λ)*y = 0

Začneme s λ1.

Protože ta vlastní čísla jsme spočítali tak, aby matice byla singulární, je jasné, že její řádky reprezentují závislé vektory (vlastnost 3) a to v našem případě znamená, že jedna z obou rovnic je násobkem té druhé (můžete si to pro konkrétní λ ověřit), takže nám stačí uvažovat první rovnici:

0 = (2-λ1)*x1 + 3*y1 = (-3 - 2√6)*x1 + 3*y1

Protože máme jednu rovnici pro dvě neznámé (složky vlastního vektoru), jednu z nich si zvolíme, např. y1 = 1 a druhou z té rovnice dopočítáme:

x1 = 3 / (3+2√6) = 0.3798

Takže prvním vlastním vektorem je u1 = (0.3798,1) nebo jakýkoliv jeho nenulový násobek. Pokud ho chcete mít jednotkový, vydělte si ho jeho normou (většina softwarů počítá pro určitost jednotkové vlastní vektory).

Druhý vlastní vektor spočítáme obdobně, jen do rovnice (**) dosadíme λ2.

Vyjde nám u2 = (-1.5798,1)

Teď když víme, jak se ty vlastní potvůrky počítají, podívejme se, jak si pomocí nich můžeme „prosvítit“ danou matici.

Potíž s maticemi spočívá v tom, že „promíchávají“ souřadnice. Když například na vektor w = (x,y) aplikujeme předchozí matici A = ((2,3),(5,8)), dostaneme vektor (2x+3y,5x+8y). Jeho první i druhá souřadnice je kombinací obou vstupních souřadnic, a proto do „akce“ té matice není příliš vidět.

To se dá napravit lepší volbou báze. Připomeňme si, že souřadnice vektoru w vzhledem k nějaké bázi jsou koeficienty lineární kombinace bázových vektorů, ze které můžeme vektor w složit (tj. provedeme takový ten klasický rozklad vektoru w do směrů bázových vektorů a zaznamenáme si jeho koeficienty).

Dva nezávislé vlastní vektory u1u2 (s vlastními čísly λ1 a λ2) tvoří bázi prostoru R2 a daný vektor w tedy můžeme rozložit:

w = a1*u1 + a2*u2 (kde se koeficienty a1, a2 získají řešením příslušné lineární soustavy)

Souřadnice vektoru w vzhledem k této „vlastní“ bázi budu značit hranatými závorkami:

w = [a1,a2].

Když na vektor w vypustíme matici A, dostaneme (z linearity)

w' = A.w = A.(a1*u1+a2*u2) = a1*Au1 + a2*Au2 = a1*λ1*u1 + a2*λ2*u2

a to znamená, že vektor w = [a1,a2] se naší maticí A zobrazí na vektor w' = [a1*λ1,a2*λ2]. Tady už se souřadnice a1 a a2 nepromíchávají, jako tomu bylo u vyjádření se standardní bází. První souřadnici prostě vynásobíme prvním vlastním číslem a druhou druhým. Taková akce se představuje podstatně lépe.

Zatímco standardní (kanonická) báze musí obsluhovat všechny matice, takže její popis konkrétní lineární transformace je trochu těžkopádný, báze z vlastních vektorů je šitá matici A na míru a přesně nám ukazuje kostru jejího geometrického působení (tedy kde matice vektory natahuje, kde je zkracuje, popřípadě obrací – to vše se vyčte z charakteru vlastních čísel).

Díky linearitě se to, co matice provádí s vlastními vektory, promítá i do toho, co provádí s těmi ostatními (které jsou jejich lineárními kombinacemi).

Na dalším obrázku vlevo jsou kanonické vektory ij a libovolný vektor w, který se (působením matice A) přesune (transformuje) do vektoru w'. Protože kanonické vektory ij nemají s naší maticí nic společného, obrázek nám neříká nic o tom, co se bude dít s ostatními vektory (pro nějaký jiný vektor w se ta modrá vytečkovaná komponenta může klidně zkrátit a ta červená prodloužit).

Na obrázku vpravo je obdobná situace pro „vlastní“ bázi – ta už sice není ortonormální, ale příliš se od té standardní neliší. Prodloužení modré komponenty zde není výsledkem náhody, ale toho, co matice provádí s vlastními vektory (naznačeno modrou a červenou šipkou). Ve směru u1 se vektory natahují (λ1>1) a ve směru u2 zkracují (0<λ2<1). U standardní báze jsem žádné šipečky udělat nemohl, protože matice A tyto vektory nezachovává.

Důležité je, že tato geometrická intuice funguje univerzálně. Kdykoliv si nějaký jiný vektor w rozložíme, tak se jeho modrá složka prodlouží (dokonce ve stejném poměru – určeném hodnotou λ1) a červená zkrátí. Zkuste si to pro nějakou jinou polohu vektoru w představit. Dospějete k poznání, že naše matice s vektory šíbuje ve směru oranžové šipky. A podobnou analýzu bychom si mohli provést i v ostatních kvadrantech.

Těch „oranžových šipek“ se zhusta využívá při studiu ekvilibrií dynamických systémů. V okolí pevného bodu je dynamika určena linearizací systému (tedy nějakou maticí) a přesný rozbor jejího chování je základem kvalitativní analýzy (viz třeba zde). Fenomenologie maticových zobrazení je nesmírně bohatá a přesný tvar výsledného diagramu závisí na konkrétních hodnotách.

Vlastní čísla a vektory nám tedy rozparcelovaly vektorový prostor na regiony, ve kterých si lze o transformaci prostoru pomocí matice A udělat poměrně solidní obrázek. Přechodem k vlastní bázi se nám podařilo „rozplést“ provázanost jednotlivých proměnných, což vede k jasnějšímu náhledu a mnohdy i ke snazšímu výpočtu. To je vidět už u lineárních rovnic.

Kterou soustavu byste řešili raději,

„spletenou“: 2x-3y=7, -x+2y=5,

nebo „rozpletenou“: 3x=2, 2y=1?

A výhody určité „autonomie“ proměnných (které si vzájemně nekecají do života) jsou ještě patrnější u komplexnějších problémů, například při řešení soustav diferenciálních rovnic.

Jiným důsledkem té „rozpletenosti“ je, že z pohledu „vlastní“ báze má matice A diagonální strukturu.

První vlastní vektor u1 odpovídá kombinaci 1*u1+0*u2 a má tedy „vlastní“ souřadnice [1,0]. Matice A ho zobrazí na vektor λ1*u1, který bude mít souřadnice [λ1,0]. Druhý vlastní vektor [0,1] se zobrazí na vektor λ2*u2, jehož „vlastní“ souřadnice jsou [0,λ2].

Když teď oba obrazy vložíme do sloupců, zjistíme, že ve světě popsaném vlastními bázovými vektory u1u2 bude mít matice A diagonální formu A = ((λ1,0),(0,λ2)).

Takový tvar je nadmíru žádoucí, a tak si v závěru na diagonalizaci matic trochu posvítíme.

Sekce Jauvajs: Konjugace
(jen pro mimořádně otrlé povahy)

Abychom při počítání nových souřadnic nemuseli pracně přehazovat koeficientíky vidlema, používáme při převodu souřadnic od jedné báze ke druhé tzv. transformační matice.

Nejprve jednoduchý 2D příklad. Mějme bázi složenou z vektorů u1=(-1,3) a u2=(1,2). Souřadnice vzhledem k této bázi budu opět značit hranatými závorkami [...]. Pro vektor w=[X,Y] získáme jeho standardní souřadnice (x,y) přímo z příslušné lineární kombinace.

(x,y) = X (-1,3) + Y (1,2) = (-X+Y,3X+2Y)

a tuto formulku můžeme přepsat maticově:

(x,y) = P.[X,Y], kde P = ((-1,1),(3,2))
(za zmínku stojí, že tato matice má za sloupce oba bázové vektory u1u2)

Pokud potřebujeme naopak spočítat nové souřadnice z těch kanonických, použijeme inverzní matici:
[X,Y] = P-1.(x,y)

Transformační matice jsou kompaktnější a elegantnější metodou převodu souřadnic. Nemusíme zápasit s lineárními rovnicemi a vektor nových souřadnic W dostaneme z vektoru starých souřadnic w prostým maticovým násobením:

W = P-1.w a naopak w = P.W
(pokud si chcete transformační matice procvičit, mrkněte sem nebo sem)

Ve světle přechodu od jedné báze ke druhé bychom mohli závěr předchozí sekce přeformulovat takto. Dá se pro danou matici A najít nová báze (s přechodovou maticí P) tak, aby matice A měla v nových souřadnicích diagonální tvar? Jinými slovy, existuje regulární matice P tak, že matice D = P-1.A.P bude diagonální?

Obecně říkáme, že dvě matice A a A' jsou si podobné, pokud existuje regulární matice P tak, že A = P.A'.P-1 (matice A a A' tedy reprezentují stejnou geometrickou akci, jen vyjádřenou v jiných souřadnicích – s přechodovou maticí P). Diagonalizace matice A je tedy v podstatě proces hledání diagonální matice D, která by matici A byla podobná. Všechny matice se ovšem diagonalizovat nedají, protože ne vždy se dá najít báze složená z vlastních vektorů (to je ale poměrně obtížný problém).

A ještě malou technickou: dvě podobné matice mají vždy stejné spektrum (tedy kolekci vlastních čísel) a jejich vlastní vektory na sebe převedeme pomocí matice P (resp P-1). Relativně jednoduchý důkaz naleznete zde.

Předpokládejme nyní, že naše matice A typu nxn má n vlastních čísel a n vlastních vektorů. Na základě poznatků z předešlé sekce si ty „kouzelné“ matice P a D lehce sestavíme. Do matice P naskládáme vlastní vektory, sloupek po sloupku, a na diagonálu matice D umístíme (přesně ve stejném pořadí) vlastní čísla. Zbytek D ponecháme nulový.

Lehce se pak přesvědčíme, že

A.P = P.D
(vlevo si tu matici P rozřežte na jednotlivé sloupce a místo součinu dvou matic uvažujte součin matice A s každým sloupcem P – výsledná matice bude mít ve sloupcích vlastní vektory pronásobené příslušným vlastním číslem; vpravo – když si ten součin s diagonální maticí D rozepíšete – dostanete totéž)

Ten poslední vztah můžeme přepsat v kýženém tvaru

D = P-1.A.P

(anebo ekvivalentně – pokud vynásobíme zleva maticí P a zprava maticí P-1)

A = P.D.P-1

Z tohoto zápisu přímo „prosvítá“ mechanika matice A: sekvence matic (a budeme ji číst zprava doleva) nejprve převede standardní souřadnice do nových, matice D pak ty nové souřadnice přeškáluje vlastními čísly (jak jsme viděli v minulé sekci), a matice P nás vrátí zpět do standardních souřadnic.

Tento rozklad nám mimo jiné umožní efektivnější počítání mocnin matic – tedy A, A2, A3 atd. Pro vyšší a vyšší exponenty musíme provádět více a více maticových součinů, což jsou (pro velké matice) výpočetně náročné operace. Pokud ale matici diagonalizujeme (tedy sestavíme si matice P a D), můžeme třeba třetí mocninu spočítat takto (všimněte si, jak se uprostřed P a P-1 požerou):

A3= A.A.A = (P.D.P-1).(P.D.P-1).(P.D.P-1) = P.D.D.D.P-1 = P.D3.P-1

Matici D3 lehce vyčíslíme tak, že členy na diagonále prostě umocníme na třetí (a nakonec ještě přidáme dva maticové součiny s přechodovými maticemi) – to je výrazně jednodušší než několikrát násobit celou obrovitou matici A. Já vím, pro třetí mocninu ta úspora není zase až tak velká, ale pro desátou mocninu už byste ji pocítili.

Mimochodem, podobný trik se používá při definici a výpočtu exponenciály dané matice (ano, exponenciála je tak důležitá funkce, že má nejen svou komplexní, ale i maticovou verzi). A protože maticová exponenciála je také definována pomocí řady mocnin, stačí nám „exponenciolovat“ pouze vlastní čísla na diagonále a pak to z obou stran pronásobit přechodovými maticemi.

Podobnost matic je speciálním případem důležitého algebraického principu, kterému říkáme konjugace. Nebudu vás zatahovat do džungle abstraktní teorie grup, takže se spokojím jen s vágním tvrzením, že dva prvky x a y jsou konjugované, pokud splňují rovnici y = p-1.x.p pro nějaký vhodně zvolený prvek z té samé džungle (grupy se zabývají vlastnostmi množin, kde je rozumně definována pouze jedna algebraická operace).

To, co je důležité, je formální tvar rovnice. Je v ní opět nějaký přechodový prvek p, na který se můžeme dívat jako na určitou transformaci kontextu, který je po provedení „akce“ x nutno vrátit do původního stavu (provedením „inverzní“ transformace).

Mimochodem, ta úvodní formulka pro komplexní rotaci kolem obecného bodu je také určitým typem konjugace (spojuje dvě podobné „akce“ – rotaci kolem počátku a rotaci kolem bodu z0)

z' = exp(iφ)(z-z0) + z0

Nejprve jsme provedli translaci do počátku (odečetli z0), pak akci (zde rotaci pomocí komplexní exponenciály) a nakonec inverzní translaci, aby se pootočená rovina vrátila na své původní místo.

Konjugace se obvykle používá na rozparcelování dané džungle na skupiny prvků, které jsou navzájem konjugované (tedy sdílejí stejnou akci), což obvykle přispěje – stejně jako u matic – k vyjasnění problému a jeho zjednodušení. Technicky se těm parcelám říká třídy ekvivalence. V našem případě by všechny rotace v rovině o úhel φ byly konjugované (tj. v jistém smyslu ekvivalentní).

A když už mluvíme o translaci... Princip konjugace se dá dobře pochopit na příkladu překladu (což je vlastně určitá forma jazykové translace).

Představte si, že jste v Čechách a potřebujete zjistit vlastnosti své vlasti. Brnkačka. Zajdete si na nejbližší demonstraci a začnete se poptávat, jakéže má tato země vlastnosti (to se panečku dozvíte věci).

V Anglii byste charakteristiky hrdého Albionu museli jeho lidu vyvlastnit ve třech fázích. Nejprve byste otázku přeložili do angličtiny: „What are the properties of this country?“ Pak byste se chvíli poptávali v Hyde Parku a zapisovali si různé názory na lístečky. A nakonec by vám ty odpovědi musel někdo přeložit zpět do češtiny (viz schematický obrázek).

Všimněte si, že ta poptávání A a A' jsou ve smyslu předchozí diskuse také jakési konjugované „akce“. Řeší ten samý problém, jen každá v jiném jazyce. Proto musíme použít překlad P a inverzní překlad P-1.

Dvě podobné (konjugované) matice jsou na tom stejně. Popisují tu samou transformaci vektorového prostoru, jen každá v jiných souřadnicích. Proto musíme použít přechodové matice.

Tahle jazyková analogie se docela hodí, když se člověk sžívá s tím, že vektory mohou mít také jiné souřadnice než jen ty standardní, co známe ze školy. Poprvé je člověk trochu zmaten z toho, že starý dobrý vektor [1,1,1] si najednou trčí úplně jinam, než jsme zvyklí. A to jen proto, že jsme jeho souřadnice (ta tři čísílka) vyždímali z jiné báze. Samozřejmě ve většině praktických situací používáme ty standardní (stejně jako většinou používáme češtinu). Ale občas je výhodnější pro popis použít jiný jazyk (souřadnice) a pak se nesmíme divit, že slovo „police“ neznamená kus nábytku, ale policejní sbor.

Zkrátka, dokážete-li překousnout, že „kámen“ je občas „stone“ a jindy třeba „stein“, měli byste se lehce vyrovnat i s tím, že daný vektor má někdy souřadnice (1,2,3) a jindy zase [2,-1,1].

Článek je redakčně upravenou verzí blogového příspěvku na serveru iDNES.cz. Publikováno s laskavým svolením autora. Další díly a původní texty jsou dostupné na blogu Jana Řeháčka.

Další články k tématu