négyzetes mátrixokhatványozása - elte
TRANSCRIPT
Eötvös Loránd Tudományegyetem
Természettudományi Kar
Négyzetes mátrixokhatványozása
BSc Szakdolgozat
Készítette: Bálint TímeaMatematika BSc, Matematikai elemz® szakirány
Témavezet®: Izsák FerencAlkalmazott Analízis és Számításmatematikai Tanszék
Budapest, 2014
Tartalomjegyzék
1. Bevezet® 2
2. Mátrixalgebra 32.1. Elnevezések és jelölések . . . . . . . . . . . . . . . . . . . . . . 32.2. Mátrixok szorzása . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1. Speciális mátrixszorzatok . . . . . . . . . . . . . . . . . 72.2.2. Speciális tulajdonságú mátrixok . . . . . . . . . . . . . 8
2.3. Mátrixok hatványozása és tárolása a MATLAB segítségével . . 122.3.1. Egészkitev®s mátrixhatványozás . . . . . . . . . . . . . 122.3.2. Törtkitev®s mátrixhatványozás . . . . . . . . . . . . . 132.3.3. Speciális eset: ritka mátrixok . . . . . . . . . . . . . . . 132.3.4. Példák . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3. Mátrixfüggvények elmélete 183.1. Sajátérték módszerek . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.1. Jordan-normálforma . . . . . . . . . . . . . . . . . . . 203.1.2. Taylor-sor reprezentáció . . . . . . . . . . . . . . . . . 203.1.3. Közelítés sajátvektorral . . . . . . . . . . . . . . . . . . 22
3.2. Közelít® módszerek . . . . . . . . . . . . . . . . . . . . . . . . 233.2.1. A Jordan Analízis . . . . . . . . . . . . . . . . . . . . . 233.2.2. Közelítés Taylor sorral . . . . . . . . . . . . . . . . . . 243.2.3. Mátrixpolinomok becslése . . . . . . . . . . . . . . . . 253.2.4. A mátrix hatványainak kiszámítása . . . . . . . . . . . 263.2.5. A mátrix négyzetgyöke . . . . . . . . . . . . . . . . . . 273.2.6. Összegzés . . . . . . . . . . . . . . . . . . . . . . . . . 28
Irodalomjegyzék29 Nyilatkozat30
1. Bevezet®
Dolgozatom egy általános bevezetést ad a négyzetes mátrixok hatványozá-sáról, ennek lehetséges módjairól. Az els® fejezetben bevezetem azokat a de-�níciókat és jelöléseket, amelyek el®fordulnak a szakdolgozat során. Az eztkövetkez® fejezetben pedig a mátrixfüggvényekr®l szóló alapde�níciókat, té-teleket foglalom össze és algoritmusokat is adok arra, hogyan lehetne eztmegvalósítani például a MATLAB segítségével. Ezt a témát nagyon izgal-masnak találom, mert nagy gyakorlati haszna van, hiszen az id®, pénz. Minélhatékonyabb egy algoritmus, annál több id®t spórol a felhasználónak illetvemegoldhatóvá válnak olyan feladatok is, amelyek el®tte nem. Bár ez egy olyantéma, ami viszonylag friss, remélem sikerült kompakt összefoglalót adnomróla.
2
2. Mátrixalgebra
Ebben a fejezetben bevezetem azokat az alapfogalmakat és jelöléseket, ame-lyek a dolgozat során újra és újra említésre kerülnek, majd a mátrixhatvá-nyozás bevezetéseként de�niálom a mátrixszorzást és annak feltételeit. Ezekután az egész- és törtkitev®s mátrixhatványozásról lesz szó illetve arról, hogyezt hogyan lehet hatékonyan elvégezni a MATLAB segítségével.
2.1. Elnevezések és jelölések
2.1. De�níció Tekintsük az aij komplex számoknak egy m sorból és n osz-
lopból álló sémáját: a11 a12 . . . a1n
a21 a22 . . . a2n...
.... . .
...
am1 am2 . . . amn
.Ezt a sémát m × n típusú vagy m × n-es mátrixnak nevezzük és a követke-
z®képpen jelöljük:
A = [aij] (i = 1, 2, . . . ,m; j = 1, 2, . . . , n).
Az aij számok a mátrix elemei. Annak feltüntetésére, hogy az A mátrix ijindex¶ eleme aij, gyakran a következ® jelölést alkalmazzuk:
(A)ij = aij.
Ha m = n, akkor a mátrixot n-edrend¶ kvadratikus mátrixnak nevezzük.Jelölése:
A = [aij] (i, j = 1, 2, . . . , n).
Mivel ezek szerint n-edrend¶ mátrix csak kvadratikus lehet, ezért a kvadrati-kus jelz®t ilyenkor elhagyhatjuk. Ugyanígy elhagyhatjuk annak feltüntetésétis, hogy milyen típusú mátrixról van szó, ha a tárgyalás során felírt m¶vele-tekb®l vagy összefüggésekb®l ez egyértelm¶en kiderül.
2.2. De�níció A sorok és oszlopk felcserélésével nyert mátrixot az eredeti
mátrix transzponáltjának nevezzük és T fels® indexszel jelöljük:
(A)T = [aTij] = aij.
3
Ebb®l következik, hogy egy m×n típusú mátrix transzponáltja n×m típusú.Ha egy (kvadratikus) mátrix megegyezik a transzponáltjával:
A = AT ,
akkor szimmetrikus, ha pedig
A = −AT ,
akkor ferdén szimmetrikus.
2.3. De�níció Az n-edrend¶ A = [aij] kvadratikus mátrix adjungáltján azt
a mátrixot értjük, amelyet az A mátrixból úgy nyerünk, hogy az aij elem
helyére azAT transzponált ugyanazon helyén álló aTij = aji elemének algebrai
komplementumát, vagyis az (n−1)-edrend¶ Aji el®jeles aldetermináns értékét
írjuk.
TehátadjA = [Aji].
2.4. De�níció Ha az A kvadratikus mátrixhoz hozzárendelhet® olyan X
mátrix, amely kielégíti mind az
AX = E,
mind pedig az
XA = E
egyenletet, akkor az A mátrixot invertálhatónak, az X mátrixot pedig A
inverzének nevezzük.
2.5. De�níció Az A kvadratikus mátrix ii index¶ elemei a mátrix f®átló-
jában (f®diagonálisában) helyezkednek el. Ha egy kvadratikus mátrixnak a
f®átlóján kívüli valamennyi eleme zérus, akkor ún., diagonálmátrixhoz ju-
tunk. Jelölése:
D = 〈d1, d2, . . . , dn〉 vagy D = 〈dk〉 (k = 1, 2, . . . , n),
4
ahol dk az akk elemet jelöli. A
δij =
{1 ha i = j,0 ha i 6= j
Kronecker-féle szimbólumot használva, a [δij] mátrix az E egységmátrix:
E =
1 0 . . . 00 1 . . . 0...
.... . .
...0 0 . . . 1
.Tehát az egységmátrix mindig kvadratikus. Ha rendjét is fel akarjuk tüntetni,akkor az En jelölést használjuk. Az olyan mátrixot, amelynek egyetlen eleme1, a többi pedig 0, mátrixegységnek nevezzük és ha az ij index¶ elem 1, akkoraz Eij jelölést alkalmazzuk. A csupa 0 elemb®l álló mátrixot zérusmátrixnaknevezzük és 0-val jelöljük.
A mátrixok körében kitüntetett szerepük van az egyoszlopos, ill. az egy-soros mátrixoknak. Ezeket oszlop-, ill. sorvektoroknak nevezzük és megkü-lönböztetésül kis bet¶kkel jelöljük:
a =
a1a2...an
; aT =[a1 a2 . . . an
]
Mivel a sorvektor a megfelel® oszlopvektor transzponáltja, megegyezés szerinta sorvektort a T fels® indexszel látjuk el. Az olyan oszlop-, ill. sorvektort,amelynek egyetlen eleme 1, a többi eleme pedig 0, egységvektornak, ha mindeneleme 0, nullvektornak nevezzük.
2.2. Mátrixok szorzása
2.6. De�níció Az m× p típusú A mátrix és a p× n típusú B mátrix szor-
zatán azt az m× n típusú mátrixot értjük, amelynek ij index¶ elemét az A
mátrix i-edik sorának és a B mátrix j-edik oszlopának kompozíciója 1 adja.
1Az a1, a2, . . . , an és b1, b2, . . . , bn szám-n-esek kopozícióján az a1b1 + a2b2 + · · ·+ anbn
szorzatösszeget értjük.
5
Legyen A = [aij] és B = [bij]; akkor az AB = C = [cij] szorzatmátrix elemei:
cij =
p∑k=1
aikbkj.
A mátrixok szorzása a legjellegzetesebb mátrixm¶velet; nyilvánvaló sajátos-sága, hogy nem kommutatív.
Az összeszorozhatóság feltétele: a bal oldali tényez® oszlopai számánakmeg kell egyeznie a jobb oldali tényez® sorainak számával. Márpedig a ténye-z®k sorrendjének felcserélése esetén nincs mindig biztosítva ez a feltétel, tehátaz egyik sorrendben esetleg elvégezhet® a szorzás, a másik sorrendben pedignem. Két azonos rend¶ kvadratikus mátrix vagy egy m× p és egy p×m tí-pusú mátrix mindkét sorrendben összeszorozható ugyan, de ez a szorzás nemkommutatív, mivel � pl. n-edrend¶ mátrixokra � általában
p∑k=1
aikbkj 6=p∑
k=1
bikakj.
A szorzás kommutativitásának hiánya a legtöbb probléma forrása, amelyet amátrixelmélet felvet; ez adja viszont az elmélet szépségét is. Természetesenvannak olyan speciális mátrixok, amelyekre a szorzás kommutatív. Az ilyenmátrixokat felcserélhet®knek nevezzük.
Könny¶ meggy®z®dni arról, hogy az eddig megismert mátrixokra a fel-cserélhet®ség a következ® esetekben érvényes:
1. Bármely kvadratikus mátrix felcserélhet® a vele azonos rend¶ zérus-mátrixszal és egységmátrixszal:
AE = EA = A,
A0 = 0A = 0
Ezekb®l az összefüggésekb®l látható, hogy az egységmátrix és a zérus-mátrix ugyanazt a szerepet tölti be a mátrixok körében, mint az 1, ill.0 a számok körében; ez az elnevezésüket is indokolja.
2. Diagonálmátrixok mindig felcserélhet®k:
D1D2 = D2D1 = 〈d(1)k d(2)k 〉
(Diagonálmátrixok szorzata szintén diagonálmátrix!) A szorzás de�ní-ciójából következik, hogy ha az A mátrixot balról szorozzuk a D diago-nálmátrixszal, akkor az A mátrix sorait kell szorozni a diagonálmátrixmegfelel® elemeivel, ha pedig jobbról szorozzuk, akkor az oszlopait.
6
2.2.1. Speciális mátrixszorzatok
Ha egyetlen sorvektornak egyetlen oszlopvektorral való szorzatát tekintjük,akkor ez egy �els®rend¶� mátrixot, azaz egyetlen elemet ad, ami a két vektorskaláris szorzatának felel meg. Részletesen:
aTb =n∑k=1
akbk.
2.7. Példa Határozzuk meg az a és b vektor skaláris szorzatát, ha aT =
[1 2 3],bT = [3 − 2 1]!
Megoldás. 3
−21
aTb = [1 2 3] [ 2 ].
Mivel a skaláris szorzat eredménye egy szám, amelynek a transzponáltja ön-maga, ezért a skaláris szorzat egyenl® a transzponáltjával: 1
23
(aTb)T = bTa = [3 -2 1] [ 2 ].
Fordított sorrendben véve a vektortényez®ket, a továbbiak szempontjábólalapvet® jelent®ség¶ szorzathoz, az ún. diadikus szorzathoz vagy röviden di-ádhoz jutunk. Az m elem¶ a oszlopvektornak az n elem¶ bT sorvektorralvaló szorzata ugyanis egy m×n típusú mátrixhoz vezet, amelynek elemei azegyes vektortényez®k egy-egy elemének páronként vett szorzatai.
abT = [aibj] =
a1b1 a1b2 . . . a1bna2b1 a2b2 . . . a2bn...
.... . .
...amb1 amb2 . . . ambn
.2.8. Példa Határozzuk meg az el®z® példában szerepl® vektorok abT diadi-
kus szorzatát!
7
Megoldás.
[3 − 2 1]
abT =
1
2
3
3 −2 1
6 −4 2
9 −6 3
.A diád fogalmának ismeretében lehet®vé válik két mátrix szorzatának egymásik el®állítása. Egy m×p és egy p×n típusú mátrix szorzatának az elemeiugyanis p tagú összegek, így a szorzatmátrix p mátrix összegeként írhatófel. Az összeadandók a bal oldali tényez® egy-egy sorából alkotott diádok.Részletesen kiírva:
AB = a szorzat
=
[ p∑k=1
aikbkj
]= mint olyan mátrix, melynek elemei p tagú összegek,
=
p∑k=1
[aikbkj] = ezt p számú mátrix összegeként felírva,
=
p∑k=1
akbk p számú diád összegéhez jutunk.
Tehát két (m × p és p × n típusú) mátrix mindig felírható (p tagú) diád-összegként.
2.2.2. Speciális tulajdonságú mátrixok
Ebben a pontban néhány olyan mátrixtípust ismertetek, amelyeket külön-
leges tulajdonságaik tüntetnek ki a kvadratikus mátrixok körében. Olyan
speciális szerkezet¶ mátrixokkal foglalkozom, amelyekben szabályosan elhe-
lyezked®, sok zérus elem található. Az irodalomban ezeket strukturált mát-
rixoknak is szokták nevezni. Ilyen �sok� zérus elemet tartalmazó ún. sparse
vagy ritka mátrixoknak a numerikus kezelés szempontjából számos el®nyük
van.
2.9. De�níció Az olyan [aij] mátrixot, amelyre
aij
{6= 0 ha |j − i| ≤ 1
= 0 ha |j − i| > 1
8
kontinuáns (tridiagonális) mátrixnak, másképpen Jacobi-féle mátrixnak ne-
vezzük. Általános alakja:
a1 b1 0 . . . 0
c1 a2 b2 0 . . 0
0 c2 a3 b3 0 . 0
. . . . . . 0
0 0 0 . . cn−1 an
,
ahol a f®átlóval �szomszédos� bi, ci elemek a mátrix ún. mellékátlójában he-
lyezkednek el.
2.10. De�níció Ha egy mátrixban nem csupán a f®átlóval szomszédos els®
elemek, hanem még a második, harmadik stb. elemek is különbözhetnek zé-
rustól, de a f®átlótól már bizonyos távolságra már valamennyi elem zérus,
akkor azt sávmátrixnak (vagy szalagmátrixnak) nevezzük.
Ilyenkor azt is meg szoktuk jelölni, hogy hány �ferde� sorban találhatók zérus-
tól különböz® elemek. Ilyen sávos (ill. szalag-) mátrixok jellemzésére vezetjük
be a sávszélesség fogalmát.
2.11. De�níció Az A = (aij) ∈ Rn×n mátrix fél sávszélességének hívjuk azt
az s számot, amelyre teljesül
|i− j| > s⇒ aij = 0, 1 ≤ |i, j| ≤ n
és létezik olyan k, l indexpár, hogy k − l = s és akl 6= 0.
2.12. De�níció Ha egy mátrixban minden �ferde� sor csupa megegyez® elem-
b®l áll, azaz a mátrix elemei csupán oszlop- és sorindexük különbségét®l függ-
nek, akkor azt Toeplitz-típusú mátrixnak nevezzük.
Tehát az A mátrix Toeplitz-típusú, ha
aij = aj−i.
9
Részletesen kiírva:
A =
a0 a1 a2 . . . an−1a−1 a0 a1 . . . an−2a−2 a−1 a0 . . . an−3. . . . . . .
a−n+1 a−n+2 . . . . a0
.Ha egy Toeplitz-típusú mátrix még szimmetrikus is, akkor elemeire az
aij = a|j−i|
összefüggés érvényes. Egy másik nevezetes speciális Toeplitz-típusú mátrix akövetkez®:
H =
0 1 0 . . . 00 0 1 0 . . 00 0 0 1 0 . 0. . . . . . .0 0 0 . . 0 10 0 0 . . 0 0
. (1)
Ismételt szorzással közvetlenül belátható, hogy
H2 =
0 0 1 . . . 00 0 0 1 . . 00 0 0 0 1 . 0. . . . . . .0 0 0 . . 0 00 0 0 . . 0 0
, . . . ,Hn−1
0 0 0 . . . 10 0 0 0 . . 00 0 0 0 0 . 0. . . . . . .0 0 0 . . 0 00 0 0 . . 0 0
, és végül Hn = 0.
2.13. De�níció Azokat a mátrixokat, amelyekre létezik olyan p természetes
szám, hogy
Ap−1 6= 0 ,de Ap = 0,
p index¶ nilpotens mátrixoknak nevezzük.
Az itt bemutatott H mátrix a �legegyszer¶bb szerkezet¶�, vagyis a legtöbbzérus elemet tartalmazó, n index¶ nilpotens mátrix. Tekintsük most a követ-kez® Toeplitz-típusú mátrixot:
A(a0, a1, . . . , an−1) =
a0 a1 a2 . . . an−10 a0 a1 . . . an−20 0 a0 . . . an−3. . . . . . .0 0 0 . . . a0
. (2)
10
Az (1) alattiH nilpotens mátrix hatványainak szerkezetéb®l közvetlenül adó-dik, hogy a (2) mátrix a H mátrix polinomjaként írható fel:
A(a0, a1, . . . , an−1) ≡ a0E+ a1H+ a2H2 + . . .+ an−1H
n−1.
A nilpotens mátrixok indexének fogalma kiterjeszthet® tetsz®leges kvadrati-
kus mátrixokra. Ha meggondoljuk, hogy p index¶ nilpotens mátrixok esetén
p az a legkisebb pozitív egész, amelyre Ap rangja 0 és ennél magasabb hat-
ványra emelve a rangja már nem változik, akkor az indexnek ezt a tulajdon-
ságát tetsz®leges mátrixra általánosítva, megadható a következ® de�níció.
2.14. De�níció AzAmátrix indexe az a legkisebb pozitív egész p, amelynél
magasabb hatványra emelve a mátrixot, a hatvány rangja nem változik, azaz
ρ(Ap+1) = ρ(Ap).
2.15. De�níció Az olyan mátrixokat, amelyeknek a f®átló alatti elemei mind
zérussal egyenl®k, fels® háromszögmátrixoknak, azokat pedig, amelyekben a
f®átló feletti elemek egyenl®k zérussal, alsó háromszögmátrixoknak (triangu-
láris mátrixoknak) nevezzük.
2.16. Példa Alsó háromszögmátrix2 0 0 0
−1 3 0 0
0 2 −1 0
4 1 3 2
2.17. Példa Fels® háromszögmátrix
3 3 −1 5
0 1 8 2
0 0 −6 0
0 0 0 3
11
2.3. Mátrixok hatványozása és tárolása a MATLAB se-
gítségével
2.3.1. Egészkitev®s mátrixhatványozás
Mivel kvadratikus mátrix szorzás szempontjából önmagával mindig felcse-rélhet®, a mátrixszorzás asszociativitása folytán egyértelm¶en de�niálható akvadratikus mátrixok pozitív egész kitev®j¶ hatványa:
Ap =
p︷ ︸︸ ︷A ·A · . . . ·A .
Innen adódik, hogy a számok hatványainak szorzatára vonatkozó szabály ér-telemszer¶en átvihet® mátrixokra is: közös alapú hatványokat úgy szorzunk,hogy a közös alapot a hatványkitev®k összegére emeljük, vagyis
ApAq = Ap+q.
A zérus kitev®j¶ hatványt egységmátrixként értelmezzük:
A0 = E.
Ezek alapján tehát egyértelm¶en de�niálhetó egy kvadratikus mátrix skaláregyütthetós polinomja. Ha ugyanis tekintjük a
pm(z) ≡ c0 + c1z + c2z2 + . . .+ cmz
m
m-edfokú polinomot (c0, c1, c2, . . . , komplex számok, cm 6= 0), akkor a z ska-lárváltozó helyére az A mátrixot helyettesítve, a
pm(A) ≡ c0E + c1A+ c2A2 + . . .+ cmA
m
mátrixpolinomot kapjuk. A mátrixpolinom értelmezéséb®l következik, hogyugyanazon A kvadratikus mátrix tetsz®leges polinomjaira a szorzás a kö-zönséges polinomokra szokásos módon végezhet® el és a mátrixpolinomokszorzásra nézve felcserélhet®k. Továbbá, hogy bármely egyváltozós racioná-lis egész skalár azonosság változatlanul érvényben marad, ha a skalár változóhelyébe egy kvadratikus mátrixot, az egység helyébe pedig az egységmátrixothelyettesítjük. Például (1 + x)(1− x) ≡ 1− x2 miatt tetsz®leges kvadratikusA mátrixra fennáll az (E+A)(E−A) ≡ E−A2 azonosság.
MATLAB-ban a hatványozást csak skalár kitev®vel végezhetjük el. Pozi-tív egész n esetén az A∧n kifejezést A önmagával vett n-szeres szorzásávalszámolja, A∧(-1) az inverzet jelenti. Ha pedig m negatív egész, akkor
A∧(m) ⇐⇒ (A∧(-1))∧(-m).
12
2.3.2. Törtkitev®s mátrixhatványozás
2.18. De�níció Az a pozitív szám mn-edik hatványa az a alap m-edik hat-
ványának n-edik gyöke:
amn = n
√am ,ahol a > 0;m ∈ Z;n ∈ N és n ≥ 2.
Ez az a de�níció, amellyel el®ször találkozik az ember, mikor el®ször halltörtkitev®j¶ hatványról. A fejezet végén megkísérlem egy adott mátrix tört-kitev®j¶ hatványozását, azonban a kés®bbekben megmutatom, hogy erre másmódszerek is vannak.
2.3.3. Speciális eset: ritka mátrixok
Legyen A mátrix rendje n. Ritka mátrixról beszélünk akkor, ha két tulajdon-sága van A-nak. Egyrészt a nemzérus elemek N száma kicsi n2-hez képest:N � n2. Másrészt az Ax = b egyenletrendszer megoldása során sikerülaz össztárigényt csökkenteni úgy, hogy az A nulla elemeit nem tároljuk - aszámítási id® csökkentése, ill. jelentéktelen növelése mellett. Az a cél, hogyelkerüljük az olyan m¶veleteket, amelyekben csak nullával szorzunk ill. nulláthozzáadunk valamihez. Ritka mátrixokkal írhatóak le a következ®k:
1. Gazdasági rendszerek: ezen rendszerek mátrixáról elmondható, hogya nemzérus elemek általában elég rendszertelenül helyzezkednek el,viszont telt oszlopok is el®fordulnak: az alapanyagok közül példáuláramra és vízre minden gyárnak szüksége van.
2. Hálózatok: a hálózatokat leíró mátrixoknál rendszerint nagyon kevés anemzérus elem; a f®átló foglalt, és ezenkívül számíthatunk arra, hogymég három nemzérus elem van ugyanabban a sorban (mert a tipikusáramköri vagy cs®elem az elágazás, amely három csomópontot köt összeaz adott csomóponttal).
3. Di�erenciálegyenletek közelít® megoldása során keletkez® egyenletek:itt a nemzérus elemek gyakran egy a f®átlóval párhuzamos sávban he-lyezkednek el.
A MATLAB a ritka mátrixot egy listával ábrázolja (ún. koordináta rep-rezentációban). Ez nem a klasszikus �kompakt tárolás�, de egyértelm¶ és ké-
13
nyelmes. Ekkor a következ®
A =
1 0 3 44 3 0 11 0 3 −40 0 −2 0
mátrix így jelenik meg:
A =
(1,1) 1.0
(1,3) 3.0
(1,4) 4.0
(2,1) 4.0
(2,2) 3.0
(2,4) 1.0
(3,1) 1.0
(3,3) 3.0
(3,4) -4.0
(4,3) -2.0
Egy már létez® A mátrix kényelmesen a ritka alakra átvihet® a sparse
utasítással:A = sparse(A);
Ezután ezt a típust megtartja akkor is, ha kib®vítjük (akár új név alatt),részmátrixot készítünk stb., egy kivétellel: ha a ritka A mátrix elemeit egydupla for-ciklussal hozzárendeljük az új B mátrix elemeihez, akkor B márnem lesz ritka. A fordított utat, a mátrix ritka ábrázolásától a telt mátrixúra afull(A) utasítás adja. A full(A) utasítás van, mikor szükséges. A következ®alfejezetben példának okáért a példamátrix rögzítése után ki kell adnom eztaz utasítást ahhoz, hogy törtkitev®n hatványozhassak. A következ® Példákrészben azt igyekszem bemutatni, hogy a MATLAB segítségével hogyan lehetmátrixokat ritka és nem ritka üzemmódban, egész és törtkitev®n hatványozni.
14
2.3.4. Példák
Tekintsük a következ® tridiagonális mátrixot:
A =
2 −1 0 . . 0−1 2 −1 0 . .0 −1 . . . .. . . . . 00 . . −1 2 −10 . . . −1 2
= tridiag(−1, 2,−1).
Nézzük meg, melyik módban tudjuk A-t hatékonyan tárolni a MATLABsegítségével! Els® lépésként el® kell állítanunk A-t. Sávos mátrixok hatékonyel®állítását leginkább a �spdiags� utasítás szolgáltatja. A = spdiags(B,d,m,n):Összeállítja az m×n méret¶ ritka A mátrix átlóit a B mátrix oszlopaiból; azátlószámokat a d vektor - egészérték¶ - komponensei adják. Tehát a mátrixota következ®képpen állítottam el®:
B=ones(n,1); B=[B,-2*B,B];
A=spdiags(B,[-1,0,1],n,n);
Egyébként az A=gallery('tridiag',n) utasítás ugyanezt eredményezi. Néz-zük meg, hogy ritka üzemmódban mennyi lesz a hatványozás m¶veletideje!Erre a következ® programot használtam:
clear all
close all
n=10000;
B = ones(n,1); B = [B,-2*B,B];
A = spdiags(B,[-1,0,1],n,n);
tic
A∧(m);
toc
A program hibája, hogy minél magasabb a hatványkitev®, annál többideig számít. A táblázatban is látható, hogy a 9. hatvány kiszámítási ideje3-szor annyi, mint a 4. hatványé, az ezt követ® példáknál pedig körülbelülkészerez®dik a m¶veletid®. Itt jegyezném meg azt, hogy a gyakorlatban nincs
15
szükség ilyen magas hatványokra, érdekesebbek lesznek azok a példahatvá-nyok, amelyek 0 és 1 között vannak. Sajnos ennél a programnál csak egészkitev®ket vizsgálhatunk, ugyanis ez a fajta mátrixmegadás automatikusanritkaüzemmódú tárolást von maga után. Ahhoz, hogy �érdekesebb� hatvá-nyokat is vizsgálni tudjunk, vissza kell állítanunk a telt mátrixot, amit afentebb is említett full(A) utasítással tehetünk meg. Hogyan változik ek-kor a hatványozás m¶veletideje? Ebben az esetben is hasonló programot kellírnunk, mint az el®bb.
clear all
close all
n=1000;
B = ones(n,1); B = [B,-2*B,B];
A = spdiags(B,[-1,0,1],n,n);
A = full(A);
tic
A∧(m);
toc
m m¶veleti id® ritka üzemmódban m¶veleti id® nem ritka üzemmódban
2 0.012 s 0.67 s
4 0.015 s 0.75 s
9 0.045 s 1.35 s
16 0.09 s 1.36 s
25 0.195 s 1.77 s
36 0.355 s 1.78 s
1. táblázat.
Az el®z® eredményekhez képest itt nyilván több ideig tart a m¶veletekkiszámításának ideje, azonban nincsenek olyan kiugró eredmények. Össze-hasonlítva azokkal az eredményekkel, amiket az el®z® program segítségével
16
kaptam, arra jutottam, hogy ha m = 2, akkor a kapott eredmények kö-zött 55-szörös a szorzó; addig m = 36 esetén az értékek közötti szorzó márcsak ötszörös. Ezek szerint, ha nem ritka üzemmódben tárolunk, akkor amagasabb hatványokat kevesebb id® alatt számítja ki a program, szembena ritka üzemmódban való tárolással. Mégis azt gondolom, hogy érdemesebbritka üzemmódban tárolni, ekkor ugyanis nagyobb méret¶ mátrixot is tudkezelni a program. A következ® táblázattal az �érdekes kitev®kre� adok pél-dát, amelyeknek�ahogy fentebb is írtam�az életben is gyakran el®kerülnek.A program ugyanaz, mint, amit az el®bb használtam.
m m¶veleti id®
0.05 7.83 s
0.5 7.85 s
0.7 7.83 s
3/2 7.85 s
exp(1) 7.82 s
1-exp(1) 7.85 s
2. táblázat.
A program ellen®rzésnél visszaadja kiindulási mátrixot. A táblázatban jóllátszik, hogy az eredmények szinte ugyanazok lettek. Az els® példa érdekeslehet. Az A mátrix kiíratása után majdnem az identitásmátrixot kaptam.Ezek után azt is megnéztem, hogy mit kapok, ha m helyébe 0-t írok, szintén azidentitásmátrixot eredményezte. Ekkor az eredményem 1.86s lett. Felmerüla kérdés, hogy lehetne-e olyan algoritmust adni, amellyel gyorsítani lehetnea hatványozás m¶veletidejét? Ebben a fejezetben nem teszek kísérletet arra,hogy erre programot írjak. A következ® fejezetben rávilágítok arra, miért.
17
3. Mátrixfüggvények elmélete
Ebben a fejezetben tömören összefoglalom azt, hogy mit kell tudni a mát-rixfüggvényekr®l. Arra törekszem, hogy olyan szemszögb®l közelítsem mega problémát, amely az algoritmusok fejlesztése szempontjából a leghaszno-sabb. Egy n × n-es A mátrix f(A) függvényének meghatározása általánosprobléma számos alkalmazási területen. Tisztázni akarjuk, hogy ha egy f va-lós függvény értelmezve vanA sajátértékeinek halmazán, akkor �A�-t hogyanhelyettesítjük be a valós változó helyébe.
f(z) =1 + z
1− zés 1 /∈ λ(A)⇒ f(A) = (I + A)(I − A)−1.
log(1 + x) = x− x2
2+x3
3− x4
4+ . . . , ha |x| < 1
⇒ log(I + A) = A− A2
2+A3
3− A4
4+ . . . , ha ρ(A) < 1.
A módszer olyan f -ekre m¶ködik, amelyek
1. polinomok,
2. vagy hatványsoruk konvergens.
3.1. Sajátérték módszerek
Mindenekel®tt bevezetem a sajátérték és a sajátvektor fogalmát.
3.1. De�níció Ha az
Ax = λx
egyenletnek valamely λ számérték mellett van megoldása, vagyis létezik olyan
x 6= 0 vektor, amelyet az A transzformáció λ-szorosába visz át, akkor a λ
számértéket az A lineáris transzformáció sajátértékének, az egyenletet ki-
elégít® x vektort pedig a lineáris transzformáció (λ sajátértékhez tartozó)
sajátvektorának nevezzük.
3.2. De�níció Bármely (n-edrend¶) A mátrixszal képzett
λE−A
18
mátrixot, ahol λ skalár paraméter, az A mátrixhoz tartozó karakterisztikus
mátrixnak nevezzük; a karakterisztikus mátrix
Dn(λ) = |λE−A|
determinánsát � amely a λ paraméter (n-edfokú) polinomja � az A mátrix
karakterisztikus polinomjának, a karakterisztikus polinomból nyert
Dn(λ) = |λE−A| = 0
egyenletet pedig az A mátrix karakterisztikus egyenletének nevezzük.
Ha a karakterisztikus polinom fokszámát is fel akarjuk tüntetni, Dn(λ) jelö-lést használunk. A karakterisztikus polinom λ hatványai szerint felírva:
Dn(λ) = λn − λn−1n∑k=1
akk + λn−2∣∣∣∣aii aikaki akk
∣∣∣∣− · · ·+ (−1)n|A|,
ahol az összegzést 1, . . . , n indexek minden megfelel® kombinációjára el kellvégezni, azaz a k-adik hatvány együtthatója a mátrix (n− k)-adrend¶ f®mi-norjainak az összege.
A következ®kben mutatok néhány példát mátrixfüggvényekre:
1. p(A) = I+A,
2. r(A) = (I− A2)−1(I+ A
2), 2 /∈ λ(A)
3. eA =∞∑k=0
Ak
k!.
Természetesen ezek a valós érték¶ függvényeknek a mátrix változatai
1. p(z) = 1 + z,
2. r(z) = (1− z2)−1(1 + z
2), 2 6= z
3. ez =∞∑k=0
zk
k!.
A következ®kben ki fog derülni, hogy több különböz® módon határozhatjukmeg a mátrixfüggvényeket. Az egyszer¶ség kedvéért ezeket a meghatározá-sokat �alap� de�nícióként kezeljük.
19
3.1.1. Jordan-normálforma
Tegyük fel, hogy A ∈ Cn×n és legyen
A = X · diag(J1, . . . , Jq) ·X−1, (3)
ahol Ji a következ®
Ji =
λi 1 . . . . . . 0
0 λi 1 . . ....
.... . . . . . . . .
......
.... . . . . . 1
0 . . . . . . 0 λi
∈ Cni×ni , i = 1, . . . , q. (4)
Ekkor f(A) mátrixfüggvény a következ®féleképpen de�niálható
f(A) = X · diag(F1, . . . , Fq) ·X−1, (5)
ahol Fi a következ®
Fi =
f(λi) f (1)(λi) . . . . . . f (ni−1)(λi)(ni−1)!
0 f(λi). . . . . .
......
.... . . . . .
......
......
. . . f (1)(λi)0 . . . . . . . . . f(λi)
, i = 1, . . . , q (6)
feltéve, hogy az összes derivált létezik.
3.1.2. Taylor-sor reprezentáció
Ha f Taylor-sorba fejthet® A környezetében, akkor f(A) is reprezentálhatóugyanazzal a Taylor-sorral A-n. Tegyük fel, hogy f analitikus z0 ∈ C kör-nyezetében, és létezik r > 0, amelyre
f(z) =∞∑k=0
f (k)(z0)
k!(z − z0)k, |z − z0| < r. (7)
3.3. Lemma Tegyük fel, hogy B ∈ Cm×m egy Jordan-blokk, és legyen
B = λIm+E, ahol E szigorú fels® háromszögmátrix. A (7)-es egyenlet akkor
teljesül, ha |z − z0| < r. Ekkor
f(B) =∞∑k=0
f (k)(z0)
k!(B− z0Im)k.
20
Bizonyítás. Jegyezzük meg, hogy E hatványai er®sen struktúráltak, például
E =
0 1 0 00 0 1 00 0 0 10 0 0 0
,E2 =
0 0 1 00 0 0 00 0 0 00 0 0 0
,E3 =
0 0 0 10 0 0 00 0 0 00 0 0 0
.A Kronecker-féle szimbólumot használva, ha 0 ≤ p ≤ m − 1, akkor [Ep]ij =(δi,j−p). (6)-ból következik
f(B) =m−1∑p=0
f (p)(λ)Ep
p!. (8)
Másrészt, ha p > m, akkor Ep = 0. Így, bármely k ≥ 0-ra igaz a következ®összefüggés
(B− z0I)k = ((λ− z0)I+ E)k =k∑p=0
k(k − 1) · · · (k − p+ 1)
p!· (λ− z0)k−p · Ep
=
min(k,m−1)∑p=0
[∂
∂(p)λ
(λ− z0)k]Ep
p!.
Ha N nemnegatív egész, akkor
N∑k=0
f (k)(z0)
k!(B− z0I)k =
min(k,m−1)∑p=0
∂(p)
∂(p)λ
( N∑k=0
f (k)(z0)
k!(λ− z0)k
)Ep
p!.
�
Hasonló eredményt kapunk általános mátrixok esetén.
3.4. Tétel Ha f -nek létezik Taylor-sorba fejtése és a (7)-es összefüggés tel-
jesül és az is igaz, hogy |λ − z0| < r minden λ ∈ λ(A), ahol A ∈ Cn×n,
akkor
f(A) =∞∑k=0
f (k)(z0)
k!(A− z0I)k.
Bizonyítás. Legyen A Jordan-normálformája (3) és (4) segítségével meg-adva. A 3.1.-es lemma alapján adódik, hogy
f(Ji) =∞∑k=0
αk(Ji − z0I)k, αk =f (k)(z0)
k!,
21
i=1,. . . ,q. (5) és (6) alkalmazásával könnyen látható a következ®
f(A) = X · diag( ∞∑k=0
αk(J1 − z0In1)k, . . . ,
∞∑k=0
αk(Jq − z0Inq)k
)·X−1
= X ·( ∞∑k=0
αk(J− z0In)k)·X−1
=∞∑k=0
αk
(X(J− z0In)X−1
)k=∞∑k=0
αk(A− z0In)k,
�A következ®kben mutatok néhány fontos mátrixfüggvényt, melyeknek van
Taylor-sorfejtésük
exp(A) =∞∑k=0
Ak
k!,
log(I−A) =∞∑k=1
Ak
k, |λ| < 1
sin(A) =∞∑k=0
(−1)k A2k+1
(2k + 1)!,
cos(A) =∞∑k=0
(−1)k A2k
(2k)!.
Ebben a fejezetben és az elkövetkez®kben csak olyan mátrixfüggvényekettekintünk, amelyeknek van Taylor-sorfejtése. Ebben az esetben könnyen iga-zolható, hogy
A · f(A) = f(A) ·A (9)
ésf(X−1AX) = X · f(A) ·X−1. (10)
3.1.3. Közelítés sajátvektorral
Ha A ∈ Cn×n diagonalizálható, akkor különösen könny¶vé válik f(A) meg-
határozása A sajátértékei és sajátvektorainak segítségével.
3.5. Következmény Ha A ∈ Cn×n, A = X ·diag(λ1, . . . , λn) ·X−1, és f(A)
de�niált, akkor
f(A) = X · diag(f(λ1), . . . , f(λn)) ·X−1.
22
Bizonyítás. Az eredmény egy egyszer¶ következménye a 3.4-es tételnek, haaz összes Jordan blokk 1× 1-es méret¶. �
3.2. Közelít® módszerek
A következ®kben tekintsünk néhány módszert arra, hogy hogyan számítsukki a mátrixfüggvényeket. Els® pillantásra úgy t¶nhet, ehhez nem lesz szükséga sajátértékekre. Ezek a technikák azon az elgondoláson alapszanak, hogy hag(z) közelíti f(z)-t λ(A)-n, akkor f(A) is közelíti g(A)-t. Például
eA ≈ I+A+A2
2!+ · · ·+ Aq
q!.
3.2.1. A Jordan Analízis
3.6. Tétel Tegyük fel, hogy
A = X · diag(Ji, . . . ,Jq) ·X−1
az A ∈ Cn×n mátrix Jordan felbontása, ahol
Ji =
λi 1 . . . . . . 0
0 λi 1...
......
.... . . . . .
......
......
. . . 1
0 . . . . . . . . . λi
, i = 1, . . . , q.
Ha f(z) és g(z) értelmezett λ(A) nyílt halmazán, akkor
∥∥∥f(A)− g(A)∥∥∥2≤ κ2(X) max
1≤i≤p,0≤r≤ni−1ni
∣∣∣f (r)(λi)− g(r)(λi)∣∣∣
r!
.
Bizonyítás. Legyen h(z) = f(z)− g(z). Ekkor∥∥f(A)− g(A)∥∥2=∥∥X · diag(h(Ji), . . . , h(Jq)) ·X−1
∥∥2≤ κ2(X) max
1≤i≤q
∥∥h(Ji)∥∥2.
Tehát ∥∥h(Ji)∥∥2≤ max
0≤r≤ni−1
∣∣h(r)(λi)∣∣r!
�
23
3.2.2. Közelítés Taylor sorral
A mátrixfüggvények közelítésének egy általános módszere ha Taylor-sorba
fejtjük. A következ® tétel arról szól, hogy milyen hibák keletkezhetnek akkor,
ha a mátrixfüggvényeket Taylor-sorral közelítjük.
3.7. Tétel Ha f(z)-nek létezik Taylor-sorba fejtése
f(z) =∞∑k=0
αkzk,
akkor igaz a következ®∥∥∥∥∥f(A)−q∑
k=0
αkAk
∥∥∥∥∥2
≤ n
(q + 1)!max0≤s≤1
∥∥∥Aq+1f (q+1)(As)∥∥∥2.
Bizonyítás. Vezessük be E(s) mátrixot:
f(As) =
q∑k=0
αk(As)k + E(s), 0 ≤ s ≤ 1. (11)
Ha f(As)-t az fij(s) függvény (i, j) intervallumán értelmezzük, akkor
fij(s) =
( q∑k=0
f(k)ij (0)
k!sk)+f(q+1)ij (εij)
(q + 1)!sq+1, (12)
ahol 0 ≤ εij ≤ s ≤ 1. Ha összehasonlítjuk s kitev®it az (11) és (12)-esösszefüggésekben, azt kapjuk, hogy ha E(s)-t az eij(s) függvény (i, j) inter-vallumán értelmezzük, akkor eij(s) felírható a következ® alakban
eij(s) =f(q+1)ij (εij)
(q + 1)!sq+1.
Most az f (q−1)ij (s) függvény (i, j) intervallumán értelmezzük Aq+1f (q+1)(As)
kifejezést. Ekkor
∣∣eij(s)∣∣ ≤ max0≤s≤1
f(q+1)ij (s)
(q + 1)!≤ max
0≤s≤1
∥∥Aq+1f (q+1)(As)∥∥2
(q + 1)!.
�
24
A gyakorlatban nem vezet pontosabb eredményhez, ha hosszab Taylorsorba fejtünk. Például ha
A =
[−49 24−64 31
],
akkor megmutatható, hogy
eA =
[−0.735 0.551−1.471 1.103
].
Ha q = 59, akkor az (11)-es összefüggés szerint∥∥∥∥∥eA −q∑
k=0
Ak
k!
∥∥∥∥∥2
≤ n
(q + 1)!max0≤s≤1
∥∥Aq+1eAs∥∥2≤ 10−60.
Habár u ≈ 10−7, azt kapjuk
fl
( 59∑k=0
Ak
k!
)=
[−22.258 −1.432−61.499 −3.474
].
3.2.3. Mátrixpolinomok becslése
A mátrixfüggvények közelítése rendszerint magában foglalja a polinomokbecslését is, amelyet érdemes részletezni.
p(A) = boI+ b1A+ · · ·+ bqAq,
ahol b0, . . . , bq ∈ R adott. A legkézenfekv®bb, ha Horner elrendezés segítsé-gével közelítünk. Adott az A mátrix és b0, . . . , bq. A következ® algoritmussegítségével kiszámíthatjuk az F = bqA
q + · · ·+ b1A+ b0I polinomot.
F = bqA + bq−1I
for k = q-2:-1:0
F = AF + bkI
end
Ez az algoritmus q − 1 szorzást követel. Azonban a skalár esetett®l eltér®en,ez összegzési eljárás nem optimális. Hogy miért, tegyük fel, hogy q = 9, és�gyeljük meg, hogy ekkor p(A), ra mi adódik!
p(A) = A3(A3(b9A3+(b8A
2+b7A+b6I))+(b5A2+b4A+b3I))b2A
2+b1A+b0I.
25
Így F = p(A) mindössze 4 mátrixszorzással becsülhet® meg:
A2 = A2,
A3 = AA2,
F1 = b9A3 + b8A2 + b7A+ b6I,
F2 = A3F1 + b5A2 + b4A+ b3I,
F = A3F2 + b2A2 + b1A+ b0I.
Ha 1 ≤ s ≤ √q, akkor
p(A) =r∑
k=0
Bk · (As)k, [r = (q/s)], (13)
ahol
Bk =
{bsk+s−1A
s−1 + · · ·+ bsk+1A+ bskI, ha k = 0, . . . , r − 1,bqA
q−sr + · · ·+ bsr+1A+ bsrI, ha k = r.
A2, . . . ,As kiszámítása után a Horner szabály alkalmazható az (13)-es össze-függésre. Végeredményben p(A) r + s− 1 mátrix összeszorzásával kiszámít-ható. s = [
√q], a mátrixszorzatok száma jelent®sen minimalizálódik.
3.2.4. A mátrix hatványainak kiszámítása
Tegyük fel, hogy a feladatA13 kiszámítása. Jegyezzük meg, hogyA4 = (A2)2,A8 = (A4)2, és A13 = A8A4A. Látható, hogy a m¶velet 5 mátrixszorzássalelvégezhet®. A következ® algoritmussal kiszámítható F = As, ahol s pozitív
egész és A ∈ Rn×n. Legyen s =t∑
k=0
βk2k s bináris kiterjesztése, ahol βt 6= 0.
26
Z = A; q = 0
while βq = 0
Z = Z2; q = q+1
end
F = Z
for k = q + 1:t
Z = Z2
if βk 6= 0
F = FZ
end
end
Ez az algoritmus 2[log2(s)] mátrixszorzást igényel. Ha s 2 hatványa, akkorcsak log2(s) mátrixszorzás szükséges.
3.2.5. A mátrix négyzetgyöke
f(A) meghatározása különösen bonyolulttá válik, ha az alapfüggvénynektöbb gyöke is lehet. Például, ha f(x) =
√x és
A =
[4 100 9
],
ekkor
A =
[2 20 3
]2=
[−2 100 3
]2=
[−2 −20 −3
]2=
[2 −100 −3
]2,
amely azt mutatja, hogy legalább 4megoldás létezik√A-ra. Ekkor azt mond-
juk, hogy F els®dleges négyzetgyöke A-nak, ha
1. F2 = A, és
2. ha F sajátértékei pozitív valós egészek.
27
F mátrixot A1/2-nel jelöljük. A Newton iteráció analógiájára a valós négy-zetgyökökre a következ® algoritmust használom: xk+1 = (xk + a/xk)/2,
X0=A
for k=0, 1, . . .
Xk+1=(Xk+X−1k A)/2
end
3.2.6. Összegzés
A felsorolt algoritmusok tanulmányozása során arra a következtetésre jutot-tam, hogy a mátrix Jordan alakra hozása utáni hatványozás a lehet® leg-költségesebb m¶velet. Ugyanis a MATLAB elemenként számítja a Jordanalakot, így nagy méret¶ mátrixokra nem is alkalmazható és ha alkalmaz-hatjuk is, sok id®t vesz igénybe, amíg lefut. A Horner elrendezést alkalmazóeljárás q−1mátrixszorzást igényel, ami kis hatvány esetén nem t¶nik soknak,de ha q < 1, akkor nem célszer¶ ezt alkalmazni. A következ® eljárás, ame-lyet bemutattam, amely kett® hatványaira emelve hatványoz, igazán gyorseljárásnak t¶nik, hiszen logaritmikus id®ben lefut, azonban ez a futási id®is csak pozitív egészek esetén értend®. Az els® fejezetben írtam arról, hogymegkísérlem a törtkitev®s hatványozást, azonban a fentiek alapján erre ne-héz stabil algoritmust adni, hiszen többszörös gyökök esetén erre sem lehetegyértelm¶ megoldást adni.
28
Irodalomjegyzék
[1] Rózsa Pál Bevezetés a mátrixelméletbe, Typotex könyvkiadó, Budapest,2009.
[2] Stoyan Gisbert � Takó Galina: Numerikus módszerek I., Typotex kiadó,Budapest, 2005.
[3] Stoyan Gisbert: Matlab, frissített kiadás, Typotex kiadó, Budapest,2005.
[4] Gene H. Golub � Charles F. Van Loan:Matrix computations, 4th edition,New York, 2012.
[5] Csordás M. � Kosztolányi J. � Kovács I. � Dr. Urbán J. � Pintér K. �Vincze I.: Sokszín¶ matematika 11., Mozaik kiadó, Szeged, 2008.
29
Nyilatkozat
Név: Bálint TímeaELTE Természettudományi Kar, szak: Matematika BscNEPTUN azonosító: YES4JDSzakdolgozat címe: Négyzetes mátrixok hatványozása
A szakdolgozat szerz®jeként fegyelmi felel®sségem tudatában kijelentem,hogy a dolgozatom önálló munkám eredménye, saját szellemi termékem, ab-ban a hivatkozások és idézések standard szabályait következetesen alkalmaz-tam, mások által írt részeket a megfelel® idézés nélkül nem használtam fel.
Budapest, 2014. december 31.
���������a hallgató aláírása
30