PSEUDOINVERZNÁ MATICA Jozef Fecenko, Michal Páleš Abstrakt Cieľom príspevku je podať základnú informácie o pseudoinverznej matici k danej matici. Ukázať, že bázický rozklad matice na súčin matíc je skeletným rozkladom matice a prezentovať možnosti výpočtu pseudoinverznej matice pomocou open-source systémov Maxima, R a MS Mathematics. Poukázať na možnosť jednoduchého použitia pseudoinverznej matice pre riešenie systémov lineárnych rovníc. Text príspevku má slúžiť ako podporný materiál pri výučbe lineárnej algebry na predmete Vybrané kapitoly z matematiky I vyučovanom na EU v Bratislave. Kľúčové slová lineárna algebra, pseudoinverzná matica, skeletný rozklad matice, bázický rozklad matice, systém lineárnych rovníc, Maxima, MS Mathematics, jazyk R 1 DEFINÍCIA POJMOV Definícia 1. Nech A je matica typu m n. Matica X, pre ktorú platí sa nazýva pseudoinverzná matica 1 k matici A. Pseudoinverznú maticu k matici A budeme značiť 1 tak A A. Z definície pseudoinverznaj matice k matici Príklad 1. Nájdime pseudoinverznu maticu k matici AXA A (1) A. Zrejme, ak matica A je regulárna, Am nvyplýva, že nm A. Riešenie. Označme 1 1 A 1 1 x X x x 11 12 x 21 22 1 V literatúre je známa definícia tzv. Moore-Penroseovej pseudoinverznej matice, ktorá okrem podmienky (1) vyžaduje splnenie ďalších troch podmienok, pozri napr. [4]. Má niektoré zaujímavé vlastnosti, ktoré sa využívajú v rôznych aplikáciách. 1
Po dosadení do vzťahu (1), roznásobení matíc a porovnaním ľavej a pravej strany rovnice, dostaneme systém lineárnych rovníc x x x x 1 11 12 21 22 x x x x 1 11 12 21 22 x x x x 1 11 12 21 22 x x x x 1 11 12 21 22 Vidíme, že tento systém lineárnych rovníc má nekonečne veľa riešení. Môžeme ho napríklad vyjadriť v tvare x 1 r s t x x 11 12 21 x t, r, s, t R 22 r s Napríklad, jedna z pseudoinverzných matíc k matici A je matica A 1 0 0 0. Veta 1. Nech h A m n m. Potom matica AA je regulárna matica typu m m. (Veta je dôsledkom vety o hodnosti súčinu navzájom transponovaných matíc, [4], str. 134.) Definícia 2. Ak k matici A existuje matica X, pre ktorú platí AX = E, [ X A = E] tak matica X sa nazýva pravá inverzná matica k matici A (označujeme ju inverzná matica k matici A (označujeme ju 1 A L )]. 1 A P ), [ľavá Poznámka 1. Ak matica A je regulárna, tak A A A 1 1 1 P L Veta 2 (o existencií pravej a ľavej inverznej matice). - Nech ha m n m, potom - Nech h A m n 1 1 1 AA AA E A A A A n, potom Tvrdenie je dôsledkom vety 1. 1 P 1 1 A A A A E A A A A. Veta 3 (o skeletnom rozklade matice). Nech h r. Potom existujú matice B m r, C r n také, že platí A B C (2) pričom hb hc r. A m n L. 2
Rozklad matice A na súčin (2) splňujúci podmienky vety 3 sa nazýva skeletný rozklad matice A. Poznámka 2. Bázický rozklad matice na súčin je skeletným rozkladom matice. Porovnaj definíciu skeletného rozkladu matice s definíciu bázického rozkladu matice na súčin [1], [2]. Veta 4 (o existencii pseudoinverznaj matice). Ku každej matici A existuje pseudoinverzná matica. Dôkaz. Ak matica A m n je nulová, potom pseudoinverznou maticou k tejto matici je každá matica typu n m. Nech matica A m n je nenulová matica a nech ha m n r. Potom podľa vety o skeletnom rozklade existujú matice, B m r, C r n také, že A B C, pričom hb hc r. Potom podľa vety 1 sú matice B B a C C regulárne štvorcové matice typu r r. Označme Počítajme Dokázali sme, že X A. 1 1 X C CC BΒ B (3) 1 1 A X A BC XBC BCC CC B BBC 1 1 B C CP BL B C B E E C B C A Pseudoinverzná matica k matici A určená vzťahom (3) sa nazýva Moore-Penroseova pseudoinverzná matica a samotný výpočet pseudoinverznej matice podľa vzťahu (3) sa nazýva Moore-Penroseova pseudoinverzia. Príklad 2. Určme pomocou elementárnej zmeny bázy bázický rozklad matice 1 2 1 0 A 3 5 2 1. (4) 1 1 4 1 Riešenie. Samotný výpočet môže čitateľ nájsť v učebnici [2], str. 107 118), kde boli vypočítané štyri bázické rozklady matice A, ktoré uvádzame. 1 2 1 0 9 2 A 3 5 BC, 0 1 5 1 1 1 1 0 1 2 1 0 A 3 1 BC, 0 1 5 1 1 1 2 1 0 1 5 1 A 5 3 BC 1 0 9 2 1 1 1 0 1 2 1 0 A 2 1 BC, 5 9 0 1 4 1 ktoré sú zároveň skeletnými rozkladmi matice A. 3
Následne prezentujeme postupný výpočet pseudoinverznej matice k matici A podľa vzťahu (3). Poznamenajme, že ak by sme vychádzali z akéhokoľvek bázického rozkladu matice A, tak pseudoinverznú maticu A k matici A, určenú vzťahom (3) dostaneme stále tú istú. Uvažujme napríklad prvý rozklad, kde Potom 1 3 1 B, 2 5 1 1 2 1 0 9 2 B 3 5, C. 1 1 0 1 5 1 1 0 1 0 0 1 1 0 9 2 0 1 86 47 C, CC 9 5 0 1 5 1 9 5 47 27 2 1 2 1 1 1 27 47 CC, 113 47 86 Potom 1 2 1 3 1 11 18 BΒ 3 5 2 5 1 18 30 1 1, 1 1 30 18 B Β 6 18 11 1 0 1 1 0 1 1 27 47 1 30 18 1 3 1 A CC C BΒ B 9 5 113 47 86 6 18 11 1 5 1 2 1 26 47 5 1 62 86 38. 678 76 7 145 10 8 28 Pre výpočet inverznej matice k štvorcovej matici druhého stupňa, ktorá je regulárna sme 1 a b 1 d b použili vzťah. c d ad bc c a Ako je vidieť z prezentovaného výpočtu pseudoinverznej matice, samotný priamy výpočet bez využitia bežne dostupných softvérových prostriedkov, ako napríklad MS Excel, Maxima, jazyk R a MS Mathematics je výpočtovo náročný. Práve posledné tri, z ktorých dva sú open-source systémy a posledný voľne stiahnuteľný, poskytujú jednoduchý spôsob výpočtu Moore-Penroseovej inverznej matice. 4
2 VÝPOČET PSEUDOINVERZNEJ MATICE V MATEMATICKÝCH OPEN- SOURCE SYSTÉMOCH 2.1 Výpočet pseudoinverznej matice v systéme Maxima Po spustení systému Maxima musíme najskôr aktivovať balík lineárna algebra príkazom load(linearalgebra)$. Zadáme inverznú maticu, ktorú označíme napr. A ; A: matrix(...). Príkazom X:moore_penrose_pseudoinverse(A)vypočítame pseudoinverznú maticu A k matici A, ktorá bude uložená v objekte X. Dostávame výstup ( ) 2.2 Výpočet pseudoinverznej matice v systéme R Pre výpočet Moore-Penroseova pseudoinverznej matice v jazyku R je potrebné nainštalovať a aktivovať balík MASS. Potom zdrojový kód pre výpočet matice A k matici A podľa príkladu 2, je nasledovný library(mass) a <- c(1,2,-1,0);b <- c(3,5,2,-1);c <- c(1,1,4,-1) A<-rbind(a,b,c) ginv(a, tol = sqrt(.machine$double.eps)) A dostávame výstup 2.3 Výpočet pseudoinverznej matice v systéme MS Mathematics Tento spôsob výpočtu, z metodického hľadiska, je výhodný v tom, že čitateľ má možnosť sledovať logiku celej procedúry výpočtu pseudoinverznaj matice podľa vzťahu (3). Zadáme maticu, ku ktorej chceme určiť pseudoinverznú maticu (nebuďme prekvapení, ak nám maticu systém zapíše do dvoch zátvoriek). Dostávame výstup ( ) 5
Následne je uvedená postupnosť príkazov, spojených inputov s outputmi pre výpočet pseudoinverznej matice. Význam príkazov čitateľ pochopí v ponuke Help systému MS Mathematics. ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ( )) ( ( ) ) ( ) ( ) ( ) Poznamenajme, že pre násobenie matíc nie je nutné v MS Mathematics používať znak *. 3 PRÍKLAD APLIKÁCIE PSEUDOINVERZNEJ MATICE Veta 5. Ak systém lineárnych rovníc Ax b má riešenie a A je nejaká pseudoinverzná matica k matici A, tak x A b (4) je riešením tohto systému lineárnych rovníc. Dôkaz. Keďže podľa predpokladu systém lineárnych rovníc Ax b je riešiteľný, musí existovať nejaký vektor y, pre ktorý platí Ay b Ukážeme, že vektor x v (4) je riešením príslušného systému lineárnych rovníc. Platí čo bolo treba dokázať. Ax A A b A A A y Ay b 6
Poznámka 3. Ak riešenie systému lineárnych rovníc Ax bje vyjadrené v tvare x A b a A je Moore-Penroseova pseudoinverzná matica, tak toto riešenie minimalizuje normu Ax b a zo všetkých n rozmerných vektorov x, ktoré minimalizujú túto normu, má najmenšiu normu. Takýto vektor riešenia systému lineárnych rovníc sa nazýva riešenie systému vzhľadom k najmenším štvorcom s minimálnou normou alebo najlepšie približné riešenie systému (the last squares solution of minimum norm). Normu vektora x definujeme ako odmocninu zo skalárneho súčinu vektorov x a x. Veta 6 (o riešení systému lineárnych rovníc pomocou pseudoinverznej matice). Nech je daný systém lineárnych rovníc Ax b, kde A m n a nech A je nejaká pseudoinverzná matica k matici A, tak všeobecné riešenie tohto systému lineárnych rovníc môžeme vyjadriť v tvare x A b ( AA E) t kde t je ľubovoľný n -zložkový vektor a E je jednotková matica typu n n. Príklad 3. Uvažujme systém lineárnych rovníc Ax b, kde matica systému lineárnych rovníc A, je maticou z príkladu 2. Nech pre vektor pravých strán systému lineárnych rovníc platí 1356 b 2034. 5424 Hodnosť matice A je 2, čo napríklad vyplýva z bázického rozkladu matice na súčin. Ľahko overíme výpočtom, alebo príkazmi rank(a)v Maxime; qr(a)$rank v jazyku R; reduce(a)v MS Mathematics, že h( A) 2. Podľa Frobeniovej vety teda príslušný systém lineárnych rovníc nemá riešenie, h( A) 2 3 h( A b ). x1 x2 Určme nejaký vektor x 0, ktorý bude najlepším približným riešením systému x3 x4 lineárnych rovníc Ax b, podľa predpokladov uvedených v časti 3, teda Dostávame x0 A b 26 47 5 153 1356 1 62 86 38 78 x0 A b. 2034 678 76 7 145 987 5424 10 8 28 228 7
Potom pre minimálnu normu platí Ax0 b 2491,13 a x0 1027,45 Pre najlepšie približné riešenie x 0 systému lineárnych rovníc je síce norma Ax b minimálna, ale vektor x 0 nemusí byť jediným vektorom x s tuto minimálnou normou. Zdroje [1] FECENKO, J. - SAKÁLOVÁ, K.: Matematika 2. Bratislava: IURA EDITION, 2004. ISBN 80-8044-062-X. [2] KLŮFA, J.: Kapitoly z algebry pro ekonomy, Praha: Vysoká škola ekonomická v Praze, 1997. ISBN 80-7079-512-3. [3] SAKÁLOVÁ, K. - SIMONKA, Zs. - STREŠŇÁKOVÁ, A.: MATEMATIKA. Lineárna algebra. (učebný text). Bratislava: Vydavateľstvo EKONÓM, 2010. ISBN 978-80-225-2906-8. [4] SKULA, L.: Moore-Penroseova inverse matice a jeji aplikace. Kvaternion č. 1/2013. ISSN 1805-1324. [5] VENABLES, W. N.- RIPLEY, B. D. Modern Applied Statistics with S. Fourth Edition. New York: Springer, 2002. ISBN 0-387-95457-0. Kontaktné údaje Fecenko, Jozef, doc. RNDr., CSc., Katedra matematiky a aktuárstva, Fakulta hospodárskej informatiky, Ekonomická univerzita v Bratislave, Dolnozemská cesta 1, 852 35 Bratislava, tel. +421 2/672 95 814, e-mail: fecenko.euba@gmail.com Páleš, Michal, Ing., PhD., Katedra matematiky a aktuárstva, Fakulta hospodárskej informatiky, Ekonomická univerzita v Bratislave, Dolnozemská cesta 1, 852 35 Bratislava, tel. +421 2/672 95 841, e-mail: pales.euba@gmail.com 8