Maticová funkce

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Maticová funkce je matematické zobrazení, která zobrazuje matice na matice. Některé komplexní funkce f, nejčastěji se setkáme s funkcemi

: \sqrt{z},\quad \sin(z),\quad \cos(z),\quad \exp(z),\quad \log(z)\quad\text{a} \quad \mathrm{sgn}(z):=\frac{\mathrm{Re}(z)}

\mathrm{Re}(z)
,

je možné rozšířit přirozeným způsobem na maticové funkce. Tento proces se také nazývá funkční kalkulus.

Výraz maticová funkce se někdy používá pro libovolné zobrazení z nějaké množiny do množiny matic.

Definice

Nechť f(z),\,f:\mathbb{C}\rightarrow\mathbb{C} je funkce komplexní proměnné z, a nechť A je čtvercová matice. Pokud je funkce f(z) definovaná a analytická na otevřené množině obsahující spektrum matice matice A, lze funkci zobecnit na f(A),\,f:\mathbb{C}^{n\times n}\rightarrow\mathbb{C}^{n\times n}. +more Zobecnění lze provést několika různými avšak navzájem ekvivalentními způsoby: * pomocí Jordanova rozkladu matice, * pomocí Cauchyova integrálu a * pomocí polynomiální interpolace, užitím Hermiteova polynomu.

Definice pomocí Jordanova rozkladu

Uvažujme analytickou funkci :f(z) = \sum_{k=0}^\infty \phi_k z^k, kde suma na pravé straně je Taylorova řada funkce f(z) v bodě 0 (která je konvergentní). Pak lze funkci zobecnit na čtvercové matice jednoduše jako :f(A)=\sum_{k=0}^\infty \phi_k A^k. +more Je-li matice A diagonalizovatelná, existuje regulární matice X tak, že :X^{-1}AX=D=\mathrm{diag}(\lambda_1,\ldots,\lambda_n), pak :f(A)=\sum_{k=0}^\infty \phi_k (XDX^{-1})^k. Protože :(XDX^{-1})^2=(XDX^{-1})(XDX^{-1})=XD^2X^{-1}=X\,\mathrm{diag}(\lambda_1^2,\ldots,\lambda_n^2)X^{-1}, pro k=3,4,5,. platí :(XDX^{-1})^k=(XDX^{-1})(XDX^{-1})^{k-1}=(XDX^{-1})(XD^{k-1}X^{-1})=XD^kX^{-1}=X\,\mathrm{diag}(\lambda_1^k,\ldots,\lambda_n^k)X^{-1}, a tedy :f(A)=X\left(\sum_{k=0}^\infty \phi_k\, \mathrm{diag}(\lambda_1^k,\ldots,\lambda_n^k)\right)X^{-1}. Velká závorka uprostřed je diagonální matice, obsahující na diagonále shora uvedené Taylorovy řady se z=\lambda_1,\ldots,\lambda_n, tj. právě hodnoty f(\lambda_p),\,p=1,\ldots,n. Dostáváme tak vztah definující maticovou funkci diagonalizovatelné matice.

:f(A)=X\,\mathrm{diag}(f(\lambda_1),\ldots,f(\lambda_n))X^{-1}.

Pokud matice není diagonalizovatelná, můžeme použít Jordanův rozklad a situace je jen nepatrně složitější. Existuje regulární matice X tak, že :X^{-1}AX=J, kde matice :J=\mathrm{diag}(J_1,\ldots,J_m), \qquad J_p = \left(\begin{array}{ccccc}\lambda_p&1\\&\lambda_p&1\\&&\ddots&\ddots\\&&&\lambda_p&1\\&&&&\lambda_p\end{array}\right)\in\mathbb{C}^{n_p\times n_p}, \quad p=1,\ldots,m, je blokově diagonální, s Jordanovými bloky na diagonále (zřejmě \sum_{p=1}^m n_p = m). +more Analogicky jako v předchozím případě dostaneme vztah definující maticovou funkci.

:f(A)=X\mathrm{diag}(f(J_1),\ldots,f(J_m))X^{-1},

kde :f(J_p) = \begin{pmatrix} f(\lambda_p) & f'(\lambda_p) & \cdots & \displaystyle\frac{f^{(n_p-1)}(\lambda_p)}{(n_p-1)!}\\ 0 & f(\lambda_p) & \cdots & \vdots \\ \vdots & \ddots & \ddots & f'(\lambda_p) \\ 0 & \cdots & 0 & f(\lambda_p) \end{pmatrix}.

Definice pomocí Cauchyho integrálu

Nechť je opět f(z),\,z\in\mathbb{C} je analytická na otevřené množině \Omega obsahující spektrum matice A. Nechť dále \Gamma je uzavřená křivka v \Omega oddělující od komplexní roviny nějakou část oblasti analyticity obsahující všechna vlastní čísla. +more Pak :f(\lambda_p) = \frac{1}{2\pi i} \oint_\Gamma {\frac{f(s)}{s-\lambda_p}}\, \mathrm{d}s , a.

:f(A) = \frac{1}{2\pi i} \oint_\Gamma {f(s)(sI-A)^{-1}}\, \mathrm{d}s.

Definice pomocí polynomiální interpolace

Definici pomocí Hermiteova interpolačního polynomu nalezneme například v knize.

Výpočet

Jordanův rozklad je užitečný nástroj pro porozumění pojmu funkce matice. Definice však, jak to obvykle bývá, není vhodný návod pro praktický výpočet. +more Nicméně pro velmi malé, školní příklady, lze maticovou funkci spočítat přímo z definice, nejsnáze právě pomocí Jordanova rozkladu. Numericky stabilní výpočet maticových funkcí velkých matic je předmětem intenzivního základního vývoje v oblasti maticových výpočtů.

Výpočet maticové funkce je navíc silně závislý na funkci f a na vlastnostech matice A. * Při výpočtu odmocniny z pozitivně definitní matice \sqrt{A} se používají algoritmy založené na Newtonově metodě. +more * Při výpočtu znaménkové funkce \mathrm{sgn}(A) matice, která nemá žádné ryze imaginární vlastní číslo se počítá pomocí algoritmu sign iteration.

V praxi, v mnoha případech není potřeba znát přímo matici f(A), ale stačí znát její akci na konkrétní vektor, tj. f(A)v, nebo dokonce c^Hf(A)b. +more Často tedy stačí určit vektor délky n, nebo dokonce jen jeden skalár (viz příklad řešení ljapunovské rovnice, případ kdy k\ll n). To je klíčové zejména u rozsáhlých úloh. Matice f(A) může být hustá i když původní matice A je řídká. Pokus o přímé vyčíslení funkce tak může vést na hustou matici, přičemž požadavky na uložení všech n^2 prvků matice (reálných čísel) mohou významně přesahovat paměťové prostředky dostupné na daném počítači. Pro výpočet f(A)v nebo c^Hf(A)b bez vyčíslování matice f(A) se používají speciální postupy a algoritmy.

Příklady aplikací

Největším zdrojem aplikací jsou maticové výpočty samy o sobě. Mimo to se s maticovými funkcemi často setkáváme v teorii řízení.

Řešení obyčejných diferenciálních rovnic

Obyčejná homogenní diferenciální rovnice s konstantními koeficienty, anebo systém rovnic s konstantními koeficienty, se dá přepsat na maticovou rovnici :\dot{x}=Ax, \qquad \text{kde} \qquad x=x(t) je vektor neznámých. Řešení je vektorový prostor generovaný sloupci matice :\exp(At).

Řešení ljapunovské rovnice

Při rozhodování zda je dynamický systém řiditelný nebo pozorovatelný řešíme tzv. ljapunovské rovnice :AX+XA^H = -BB^H, \qquad A,X\in\mathbb{C}^{n\times n}, \quad B\in\mathbb{C}^{n\times k}, kde matice A je stabilní (tedy \mathrm{Re}(\lambda)). +more Řešení lze formálně zapsat ve tvaru :X = \int_0^\infty \exp(At)BB^H\exp(A^Ht)\mathrm{d}t, kde se užívá maticová exponenciála.

Podobné problémy vyvstávají při úlohách redukce modelu.

Stabilizace matice

V předchozí aplikaci byla zmíněna stabilní matice. Pokud matice dynamikého systému není stabilní, což se často stává, je třeba systém stabilizovat, tj. +more eliminovat vliv vlastních čísel s kladnou reálnou složkou ve zpětnovazební smyčce. To lze formálně realizovat znaménkovou funkcí. Nechť matice A nemá žádné ryze imaginární vlastní číslo. Uvažujme dále, pro jednoduchost, že matice je normální, tj. A=XDX^H. Protože znaménková funkce je v celé komplexní rovině, kromě imaginární osy, analytická, platí :\mathrm{sgn}(A)=X\,\mathrm{diag}(\mathrm{sgn}(\mathrm{Re}(\lambda_1)),\ldots,\mathrm{sgn}(\mathrm{Re}(\lambda_n)))X^H. Tedy matice :P_{-}= \frac12(I-\mathrm{sgn}(A)), \qquad P_{+}=\frac12(I+\mathrm{sgn}(A)) jsou ortogonální projektory na podprostory generované vlastními vektory matice A odpovídajícími vlastním číslům se zápornou, resp. kladnou reálnou složkou.

Je-li A nenormální, pak P_{-},\,P_{+} jsou šikmé projektory. Protože znaménková funkce má v celé komplexní rovině, kromě imaginární osy, nulové derivace, defektní matice (tj. +more s netriviálními Jordanovými bloky) nepřináší oproti diagonalizovatelným nenormálním maticím, alespoň v teorii, žádné komplikace navíc, jako tomu je u obecné funkce f.

Příklad výpočtu

Nechť f(z)=\exp(z), a nechť :A= \begin{pmatrix} 3 & 0 & -1\\1 & 2 & -1 \\ 1 & 0 & 1\\\end{pmatrix}= \begin{pmatrix}1 & 0 & 0\\1 & 0 & 1 \\1 & -1 & 0\\\end{pmatrix} \begin{pmatrix}2 & 1 & 0\\0 & 2 & 0 \\0 & 0 & 2\\\end{pmatrix} \begin{pmatrix}1 & 0 & 0\\1 & 0 & 1 \\1 & -1 & 0\\\end{pmatrix}^{-1} je zadaná matice a její Jordanův rozklad. Exponenciála této matice je :\exp(A)= \begin{pmatrix}1 & 0 & 0\\1 & 0 & 1 \\1 & -1 & 0\\\end{pmatrix} \begin{pmatrix}e^2 & e^2 & 0\\0 & e^2 & 0 \\0 & 0 & e^2\\\end{pmatrix} \begin{pmatrix}1 & 0 & 0\\1 & 0 & -1 \\-1 & 1 & 0\\\end{pmatrix}= \begin{pmatrix}2e^2 & 0 & -e^2\\e^2 & e^2 & -e^2 \\e^2 & 0 & 0\\\end{pmatrix}.

Nechť f(z)=\sin(z), a nechť :A= \begin{pmatrix} \frac{\pi}{6} +2 & 4 \\ -1 & \frac{\pi}{6} -2 \end{pmatrix} = \begin{pmatrix} 2 & 1 \\ -1 & 0 \end{pmatrix} \begin{pmatrix} \frac{\pi}{6} & 1 \\ 0 & \frac{\pi}{6} \end{pmatrix} \begin{pmatrix} 2 & 1 \\ -1 & 0 \end{pmatrix}^{-1}, je zadaná matice a její Jordanův rozklad. Sinus této matice je :\sin(A)= \begin{pmatrix} 2 & 1 \\ -1 & 0 \end{pmatrix} \sin \begin{pmatrix} \frac{\pi}{6} & 1 \\ 0 & \frac{\pi}{6} \end{pmatrix} \begin{pmatrix} 0 & -1 \\ 1 & 2 \end{pmatrix} = \begin{pmatrix} 2 & 1 \\ -1 & 0 \end{pmatrix} \begin{pmatrix}\sin \frac{\pi}{6} & \cos \frac{\pi}{6} \\ 0 &\sin \frac{\pi}{6} \end{pmatrix} \begin{pmatrix} 0 & -1 \\ 1 & 2 \end{pmatrix} = \begin{pmatrix} \frac{1}{2}+\sqrt{3} & 2\sqrt{3} \\ -\frac{1}{2}\sqrt{3} & \frac{1}{2}-\sqrt{3} \end{pmatrix}.

Reference

Literatura

J. Duintjer Tebbens, I. +more Hnětynková, M. Plešinger, Z. Strakoš, P. Tichý: Analýza metod pro maticové výpočty, základní metody. Matfyzpress 2012. . (Kapitola 2. 4, Funkce matic, str. 47-49. ) * G. H. Golub, C. F. Van Loan: Matrix Computations, Third Edition. The Johns Hopkins University Press, Baltimore a Londýn 1992. . (Kapitola 11, Functions of Matrices, str. 555-578. ).

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top