31

Négyzetes mátrixokhatványozása - ELTE

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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