Numerikus módszerek. Galántai Aurél-Jeney András

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Numerikus módszerek. Galántai Aurél-Jeney András"

Átírás

1 Numerikus módszerek Galántai Aurél-Jeney András 2005

2 2

3 Tartalomjegyzék BEVEZETÉS 7 1 A MÁTRIXSZÁMÍTÁS ELEMEI 9 11 Mátrixok és mátrixmýuveletek 9 12 Mátrixokinverzeésdeterminánsa Vektorokésmátrixoknormája Gyorsmátrixalgoritmusok MátrixokésvektorokaMATLABnyelvben Feladatok 22 2 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA Lineárisegyenletrendszerek Háromszögmátrixúegyenletrendszerek AGauss-módszer A Gauss-módszer mýuveletigénye A fýoelemkiválasztásos Gauss-módszer AzLU-felbontás AzLU-felbontásésaGauss-módszerkapcsolata AzLU-ésCholesky-módszerek AzLU-módszeralgoritmusapointerestechnikával Utasítások, függvények és eljárások a MATLABnyelvben Utasítások Függvények M-adatállományok,eljárások Feladatok 47 3 MÁTRIXOK TÁROLÁSI FORMÁI Mátrixok és vektorok tárolása hagyományosmódon Mátrixoktárolásavektorformában 50 3

4 33 Szabályos szerkezetýu speciálismátrixoktárolása Háromszögmátrixoktárolása Szimmetrikusmátrixoktárolása Sávmátrixoktárolása Ritkamátrixok Aháromsorosmódszer RitkamátrixokaMATLABrendszerben Feladatok 57 4 A GAUSS-MÓDSZER SÁVMÁTRIXOKON AzLU-módszersávmátrixokon ACholesky-módszersávmátrixokon Pivotálássávmátrixokon Feladatok 63 5 SZABVÁNYOS LINEÁRIS ALGEBRAI SZUBRUTINOK BLAS1rutinok BLAS2rutinok BLAS3rutinok 67 6 A KLASSZIKUS HIBASZÁMÍTÁS ELEMEI Az aritmetikai mýuveletek abszolút hibái Függvényértékekhibája Az aritmetikai mýuveletek relatív hibái Függvényértékekrelatívhibájaésakondíciószám Direktésinverzhibák Feladatok 76 7 A LEBEG ýopontos HIBAANALÍZIS A lebegýopontos aritmetikaiszabvány Feladatok 83 8 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE Érzékenységvizsgálat Wilkinsontétele Skálázásésprekondicionálás Utólagoshibabecslések A direkt hiba becslése a reziduális segítségével Az A 1 LINPACKbecslése AzinverzhibaOettli-Práger-félebecslése A közelítýo megoldásiteratívjavítása Feladatok 98 4 TARTALOMJEGYZÉK

5 9 A SAJÁTÉRTÉK-PROBLÉMA Feladatok SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA Ahatványmódszer Ortogonalizálásieljárások AQR-módszer Aszingulárisértékfelbontás Feladatok INTERPOLÁCIÓ Alineárisinterpoláció ALagrange-féleinterpolációsfeladat Harmadfokúszplájninterpoláció Feladatok NUMERIKUS DERIVÁLÁS ALagrange-interpolációesete Közelítés differenciahányadosokkal Numerikus differenciálásszplájnokkal Feladatok NUMERIKUS INTEGRÁLÁS Interpolációseljárások Atrapézformula ASimpsonformula Kvadraturaformulák hibáinak utólagos becslése Numerikus integrálás természetes szplájnokkal Adaptívkvadraturaeljárások Feladatok FÜGGVÉNYEK LEGJOBB EGYENLETES KÖZELÍTÉSE Legjobb egyenletes approximáció polinomokkal Legjobb egyenletes approximáció racionális törtfüggvényekkel APadé-approximáció Elemifüggvényekkiszámításimódjai Feladatok FÜGGVÉNYEK LEGKISEBB NÉGYZETES KÖZELÍTÉSE Feladatok 165 TARTALOMJEGYZÉK 5

6 16 A LINEÁRIS LEGKISEBB NÉGYZETEK MÓDSZERE Feladatok NEMLINEÁRIS EGYENLETEK Egyváltozósegyenletekmegoldása Az intervallumfelezýo eljárás A Þxpontiterációsmódszer ANewton-módszer Nemlineárisegyenletrendszerekmegoldása Fixpontiterációseljárás ANewton-módszer Utólagoshibabecslések Feladatok DIFFERENCIÁLEGYENLETEK KÖZELÍT ýo MEGOLDÁSA A kezdetiérték feladat megoldása Runge-Kutta típusúmódszerekkel AzexplicitEuler-módszer Explicitegylépésesmódszerek Peremérték feladatok megoldása differencia módszerekkel Feladatok IRODALOM TARTALOMJEGYZÉK

7 BEVEZETÉS A numerikus módszerekre többféle irányból és többféle célból tekinthetünk Az egyik szélen a tiszta matematika tudósa áll Az ýo nézýopontjából a numerikus analízis nem más, mint tudományos kutatások tárgya, amelynek mýuvelése, fejlesztése maga a cél A másik szélrýol viszont a numerikus módszerekben csupán a konkrét gyakorlati feladatok megoldását segítýo eszközöket láthatunk Az a tankönyv, amit most az Olvasó a kezében tart, elsýosorban mýuszaki egyetemi képzésben résztvevýok számára készült Megírásakor a különbözýo célok között a hangsúlyt a gyakorlati alkalmazhatóság irányában helyeztük el, azt is szem elýott tartva, hogy fýoiskolai hallgatók is haszonnal forgathassák Ugyanakkor nem mondhattunk le teljesen az elméleti megalapozásról, deþníciók, tételek pontos kimondásáról sem Egykét egészen új eredményt is beiktattunk, különösen a modern hibaanalízis területérýol Nem bizonyítottunk minden tételt, néhány helyen csupán a motivációt adtuk meg, de egyes helyeken teljes matematikai szigorúsággal igazoltuk az állítást A közölt bizonyításokkal egyrészt ízelítýot kívántunk adni egyéb matematikai apparátusoknak a numerikus módszereken belüli alkalmazásaiból, másrészt a tétel szýuken vett jelentését meghaladó mondanivalóra igyekeztünk a Þgyelmet felhívni Mindezekkel együtt tudományegyetemi hallgatóknak sem lesz talán érdektelen a könyv lapozgatása A könyv anyagának oktatása elýott mintegy két féléves analízisbeli tanulmányokat tételezünk fel A kifejtés terjedelme fejezetenként eltérýo A klasszikus hibaszámítás mellett külön Þgyelmet fordítottunk a lebegýopontos hibaanalízisre Legrészletesebben a lineáris algebra numerikus eljárásait tárgyaltuk, tekintettel azok elterjedt mýuszaki alkalmazásaira A gyakorlati, sokszor nagyméretýu feladatok numerikus megoldása manapság szinte kizárólag számítógéppel történik Éppen ezért kitértünk a tárolási módokra is és minden eljárást a számítástechnikai megvalósítás szempontjai szerint fogalmaztunk meg Annak érdekében, hogy az algoritmusokat tömören, közérthetýoen, szó szerinti (vagy majdnem szó szerinti) program formájában is leírhassuk, a könyv tartalmazza a MATLAB programozási nyelv legfontosabb elemeit A szövegközi, kidolgozott példákkal a tárgyalt probléma mélyebb megértését céloztuk meg, a fejezetek végén felsorolt néhány feladat pedig, szándékunk szerint, önálló munkára serkenti az Olvasót A forrásmunkákon kívül széles szakmai látókörrel és gyakorlati tapasztalattal ren- 7

8 delkezýo kollégák észrevételei is segítették a könyv elkészülését Köszönetünket fejezzük ki Balla Katalinnak, Demendy Zoltánnak és Stoyan Gisbertnek a sok-sok értékes megjegyzésért és tanácsért, amellyel hozzájárultak e tankönyv végleges formába öntéséhez A jelen kiadás a 2002-es kiadás módosított változata A kisebb tipográþai változásokon kívüli tartalmi módosítást elsýosorban az újabb processzorok és a MATLAB újabb változatainak megjelenése, valamint az oktatás során szerzett tapasztalatok indokolták 8 TARTALOMJEGYZÉK

9 1 A MÁTRIXSZÁMÍTÁS ELEMEI 11 Mátrixok és mátrixmýuveletek Röviden összefoglaljuk azokat a mátrixokkal és vektorokkal kapcsolatos ismereteket, amelyekre szükségünk van 11 DeÞníció Legyenek n és m pozitív egész számok Egy A m n típusú (valós) mátrixon valós a ij számok alábbi táblázatát értjük: a 11 a 12 a 1j a 1n A = a i1 a i2 a ij a in a m1 a m2 a mj a mn Az a ij az A mátrix i-edik sorában és j-edik oszlopában álló mátrixelemet jelöli Mátrixok szokásos jelölése még a következýo: a 11 a 12 a 1j a 1n A = a i1 a i2 a ij a in Néhány tömörebb mátrixmegadási mód: a m1 a m2 a mj a mn A =[a ij ] m,n i,j=1, A =(a ij) m,n i,j=1 Az m n típusú valós mátrixok halmazát R m n jelöli Az A mátrixot négyzetesnek nevezzük, ha m = n Ekkor a tömör megadási módok a következýoképpen egyszerýusödnek: A =[a ij ] n i,j=1, A =(a ij) n i,j=1 A mátrixok közti fontosabb mýuveleteket az alábbiak szerint deþniáljuk 1 Összeadás: A, B R m n, C = A + B R m n c ij = a ij + b ij (i =1,,m, j =1,,n) 9

10 Az összeadásra fennáll, hogy A + B = B + A, (A + B)+C = A +(B + C) 2 Számmal való szorzás: A R m n, λ valós szám, C = λa R m n c ij = λa ij (i =1,,m, j =1,,n) A számmal való szorzásra fennáll, hogy λ(µa) =(λµ)a, (λ + µ)a = λa + µa Jegyezzük meg, hogy megállapodás szerint λa = Aλ 3 Transzponálás (tükrözés): A R m n, C = A T R n m c ij = a ji (i =1,,n, j =1,,m) A transzponálásra fennáll, hogy (A T ) T = A, (A + B) T = A T + B T Az A mátrixot szimmetrikusnak nevezzük, ha A T = A 4 Szorzás: A R m k, B R k n, kx C = AB R m n c ij = a it b tj t=1 (i =1,,m, j =1,,n) Vegyük észre, hogy a szorzatmátrix (i, j) indexýu elemét úgy kapjuk, hogy az i-edik sort szorozzuk a j-edik oszloppal, azaz c ij =[a i1,,a ik ] b 1j b kj A mátrixszorzás fontos tulajdonságai a következýok: (AB)C = A(BC), A(B + C) = AB + AC, (A + B)C = AC + BC, (AB) T = B T A T Fontos megjegyezni, hogy a szorzás nem kommutatív, tehát általában AB 6= BA (11) 10 AMÁTRIXSZÁMÍTÁSELEMEI

11 A továbbiakban a mátrix és mátrix-vektor mýuveletek felírásánál feltesszük, hogy az ott szereplýo mátrixok, ill vektorok méretei olyanok, amelyek lehetýové teszik az adott mýuveletet 12 DeÞníció Az egyetlen sorból, vagy egyetlen oszlopból álló mátrixot vektornak nevezzük A sorvektor szokásos megadási módja: x =[x 1,,x n ]Azoszlopvektorokataz x = x 1 x n R n formában szoktuk megadni, ahol R n az n komponensýu oszlopvektorok halmaza (tulajdonképpen R n R n 1 ) Az oszlopvektorokat meg lehet még adni x =[x 1,,x n ] T, a sorvektorokat pedig az x = x 1 x n T R n formában is Az i-edik egységvektornak nevezzük azt a vektort, amelynek i-edik komponense 1, a többi pedig 0 Oszlopvektornak tekintve tehát: e i =[0,,0, 1, 0,,0] T R n 13 DeÞníció x, y R n skaláris szorzata a x T y = nx x i y i i=1 képlettel deþniált valós szám Akövetkezýokben mátrixok részekre bontásával (particionálásával) foglalkozunk Az Am k típusú mátrixot sorok szerint particionáljuk, ha a T 1 A = a T ị, a T m ahol a T i =[a i1,,a ik ] az i-edik (k-dimenziós) sorvektort jelöli A Bk n típusú mátrixot oszlopok szerint particionáljuk, ha B =[b 1,,b n ], MÁTRIXOK ÉS MÁTRIXMýUVELETEK 11

12 ahol b i = az i-edik (k-dimenziós) oszlopvektort jelöli A fenti particionálások felhasználásával az A és B mátrixok szorzata felírható AB = a T m,n i b j i,j=1 alakban is Tehát AB a sorok és oszlopok skalárszorzataiból álló mátrix mátrixszorzatot felírhatjuk még a következýo alakokban is a T 1 B AB =[Ab 1,,Ab n ], AB = a T mb b 1i b ki Az AB Megjegyezzük, hogy más típusú particionálások is lehetségesek Ezek közös alakja az A R m n mátrix esetén A 11 A 1j A 1r A = A i1 A ij A ir, A p1 A pj A pr ahol A ij R m i n j (i =1,,p, j =1,,r) Az azonos sorban álló blokkok sorainak száma azonos Hasonlóképpen, az azonos oszlopban álló blokkok oszlopainak száma azonos Fennáll még az értelemszerýu px rx m i = m, n j = n i=1 összefüggés Azonosan particionált mátrixok összegzését és skalárral való szorzását blokkonként végezhetjük, úgy mintha a blokkok számok lennének Particionált mátrixok blokkonkénti szorzásánál az elsýo mátrix oszlopok szerinti particionálása meg kell, hogy egyezzen a második tényezýo sorok szerinti particionálásával Például az A11 A A = 12 R A 21 A m n B11 B, B = 12 R 22 B 21 B n p 22 particionált mátrixok szorzata a particionálás megtartásával akkor lehetséges, ha A 11 R r s és B 11 R s σ Ekkor A11 A C = 12 B11 B 12 A11 B = 11 + A 12 B 21 A 11 B 12 + A 12 B 22 A 21 A 22 B 21 B 22 A 21 B 11 + A 22 B 21 A 21 B 12 + A 22 B 22 j=1 12 AMÁTRIXSZÁMÍTÁSELEMEI

13 A következýokben speciális tulajdonságú mátrixokat vezetünk be 14 DeÞníció Az I R n n mátrix egységmátrix, ha I = Az egységmátrixra fennáll, hogy minden A R n n esetén AI = IA = A 15 DeÞníció A D R n n diagonálmátrix, ha D = d d 2 d n d n A diagonálmátrixra fennáll, hogy minden A R n m és B R m n esetén a T DA = D 1 a T n = d 1 a T 1 d n a T n, BD =[b 1,,b n ] D =[d 1 b 1,,d n b n ] A D diagonálmátrixot diag(d 1,,d n ),vagydiag(d i ) (i =1,n)isjelölheti 16 DeÞníció Az 0 R m n mátrix zérusmátrix, ha minden eleme 0, azaz 0 0 0= 0 0 A zérusmátrixra fennáll, hogy minden A mátrix esetén A +0=A, A0 =0 MÁTRIXOK ÉS MÁTRIXMýUVELETEK 13

14 12 Mátrixok inverze és determinánsa 17 DeÞníció Az X R n n mátrixot az A R n n mátrix inverzének nevezzük, ha AX = XA = I Ha az inverz mátrix létezik, akkor egyértelmýu Az inverz mátrix jelölése A 1 = X Az inverz mátrixra fennállnak az alábbi tulajdonságok: A 1 1 = A, (AB) 1 = B 1 A 1, A T 1 = A 1 T := A T Jelölje A(i) azt az (n 1) (n 1)-es mátrixot, amelyet az a 11 a 12 a 1n A = a i1 a i2 a in a n1 a n2 a nn mátrixból az elsýo oszlop és az i-edik sor elhagyásával kapunk 18 DeÞníció Az A R n n ( n 2) négyzetes mátrix determinánsát a det (A) = det (A) =a 11 a 22 a 12 a 21, n =2 nx ( 1) i+1 a i1 det(a (i)), n 3 i=1 elýoírások deþniálják Megjegyezzük, hogy az egy elemýu [a 11 ] mátrix determinánsán az a 11 értéket értjük 11 Tétel Az A R n n mátrixnak akkor és csak akkor van inverze, ha det(a) 6= 0 13 Vektorok és mátrixok normája 19 DeÞníció Az f : R n R függvényt vektornormának nevezzük, ha f (x) 0 ( x R n ), f (x) =0 x =0, (12) f (λx) = λ f(x) ( x R n, λ R), (13) f (x + y) f (x)+f (y) ( x, y R n ) (14) A vektornorma szokásos jelölése: kxk A fontosabb vektornormák a következýok: kxk 1 = nx x i, (15) i=1 14 AMÁTRIXSZÁMÍTÁSELEMEI

15 kxk 2 = Ã X n! 12 x 2 i (euklideszi norma), (16) i=1 kxk = max 1 i n x i (maximum norma) (17) 110 DeÞníció Az x, y R n (x, y 6= 0) vektorok szöge θ, amelynek koszinuszát a x T y cos(θ) = kxk 2 kyk 2 összefüggés deþniálja 111 DeÞníció Az f : R n n R függvényt mátrixnormának nevezzük, ha f (A) 0 A R n n, f (A) =0 A =0, (18) f (λa) = λ f(a) A R n n, λ R, (19) f (A + B) f (A)+f (B) A, B R n n (110) A mátrixnorma szokásos jelölése: kak A leggyakrabban használt mátrixnormák akövetkezýok: kak 1 = max 1 j n i=1 nx a ij (oszlopösszeg norma), (111) kak 2 = {A T A legnagyobb sajátértéke} 1 2 (spektrálnorma), (112) kak = max 1 i n j=1 nx nx kak F = a 2 ij i=1 j=1 nx a ij (sorösszeg norma), (113) 1 2 (Frobenius norma) (114) A mátrixnormáknak két fontos osztályát emeljük ki 112 DeÞníció A kk M : R n n R mátrixnormát a kk V : R n R vektornorma által indukált mátrixnormának nevezzük, ha kak M =max{kaxk V : kxk V =1} (115) Az indukált mátrixnorma jelentése: az egységnormájú x vektorok megnyújtásának (Ax) maximális mértéke Másképpen fogalmazva az indukált mátrixnorma az egységgömb képének (ellipszoidnak) az origótól vett legtávolabbi pontjába mutató helyvektor normája VEKTOROK ÉS MÁTRIXOK NORMÁJA 15

16 Összehasonlításként megjegyezzük, hogy a determináns abszolút értéke az ellipszoid és az egységgömb térfogatának hányadosával egyenlýo Könnyen igazolható, hogy kak 1 az kxk 1, kak 2 az kxk 2, kak pedig az kxk vektornorma által indukált mátrixnorma Példa Felhasználva az indukált mátrixnorma deþnícióját, igazoljuk, hogy a, b R n esetén ab T 2 = kak 2 kbk 2! ab T 2 = max ab T x 2 = kak 2 max b T x kxk 2 =1 kxk 2 =1 Ezek szerint a P n i=1 b ix i max, P n i=1 x2 i =1feltételes szélsýoérték feladatot kell megoldanunk (b 6= 0) Analitikus eszközökkel könnyen elýoállítható a megoldás: x = ±b/ kbk 2 Eredményünket az egyenlýoséglánc jobboldalába helyettesítve megkapjuk a példa állítását 12 Tétel Indukált mátrixnormában kabk kakkbk ( A, B R n n ) Bizonyítás Elýoször igazoljuk, hogy indukált mátrixnormában kaxk kakkxk (x R n ) Ha x 6= 0, az indukált mátrixnorma deþníciója alapján kaxk = A kxk x kxk = kxk A x kxk kxkkak, ahonnan kabxk kakkbxk kakkbkkxk és a tétel állítása következik Megjegyezzük, hogy az állítás nem minden mátrixnormára igaz (lásd 16 Feladatokban a 2 számút) Az indukált normákhoz hasonló (de velük nem azonos) fogalom akövetkezýo 113 DeÞníció A kk M : R n n R mátrixnorma kompatibilis a kk V : R n R vektornormával, ha kaxk V kak M kxk V 16 AMÁTRIXSZÁMÍTÁSELEMEI

17 Az kak F Frobenius norma kompatibilis a kxk 2 vektornormával Az 112 DeÞníció alapján világos, hogy az indukált mátrixnormák az ýoket indukáló vektornormákkal kompatibilisek 14 Gyors mátrixalgoritmusok Egy A R m k és B R k n mátrix összeszorzása a deþníció alapján összesen mnk szorzást és mn (k 1) összeadást igényel Minthogy a szorzás gépideje a hagyományos számítógépeken jelentýosen több mint az összeadásé, a nagyméretýu mátrixokeseténa szorzások száma határozza meg a szükséges gépidýot A mátrixok hagyományos mátrixszorzása az oszlop- és sorvektorok skaláris szorzatán alapul Winograd vette észre, hogy vektorok skaláris szorzásánál a szorzások felét ki lehet cserélni additív mýuveletekre Legyen ugyanis x, y R n és n páros szám Ekkor igaz, hogy n/2 X X X x T y = (x 2i 1 + y 2i )(x 2i + y 2i 1 ) x 2i 1 x 2i y 2i 1 y 2i (116) i=1 A második összeg csak x-týol, a harmadik összeg pedig csak y-tólfügg Haafenti azonosságot mátrixok szorzására alkalmazzuk, akkor a szorzatmátrix adott sora esetén a második, adott oszlopa esetén pedig a harmadik összeg ismételten újra felhasználható Két n-ed rendýu négyzetes mátrix szorzásának mýuveletigénye Winograd fenti módszerével n 3 +2n 2 /2 szorzás és 3n 3 +6n 2 4n /2 additív mýuvelet Winograd ezen eredménye óta számos gyorsszorzó mátrixalgoritmust fejlesztettek ki A következýokben bemutatjuk a két legismertebb eljárást 2 2-es mátrixok szorzására, amikor is a deþníció alapján történýo számításmýuveletigénye 8 szorzás és 4 összeadás Legyen a11 a A = 12 b11 b, B = 12 c11 c, C = 12 a 21 a 22 b 21 b 22 c 21 c 22 STRASSEN ALGORITMUSA C = AB KISZÁMÍTÁSÁRA: m 1 =(a 12 a 22 )(b 21 + b 22 ), c 11 = m 1 + m 2 m 4 + m 6, m 2 =(a 11 + a 22 )(b 11 + b 22 ), c 12 = m 4 + m 5, m 3 =(a 11 a 21 )(b 11 + b 12 ), c 21 = m 6 + m 7, m 4 =(a 11 + a 12 ) b 22, c 22 = m 2 m 3 + m 5 m 7 m 5 = a 11 (b 12 b 22 ), m 6 = a 22 (b 21 b 11 ), m 7 =(a 21 + a 22 ) b 11, n/2 i=1 Az algoritmus 7 szorzást és 18 összeadást/kivonást igényel n/2 i=1 GYORS MÁTRIXALGORITMUSOK 17

18 WINOGRAD ALGORITMUSA C = AB KISZÁMÍTÁSÁRA: S 1 = a 21 + a 22, S 2 = S 1 a 11, S 3 = a 11 a 21, S 4 = a 12 S 2, S 5 = b 12 b 11, S 6 = b 22 S 5, S 7 = b 22 b 12, S 8 = S 6 b 21, P 1 = S 2 S 6, P 2 = a 11 b 11, P 3 = a 12 b 21, P 4 = S 3 S 7, P 5 = S 1 S 5, P 6 = S 4 b 22, P 7 = a 22 S 8, S 9 = P 2 + P 3, S 10 = P 1 + P 2, S 11 = S 10 + P 4, S 12 = S 10 + P 5, S 13 = S 12 + P 6, S 14 = S 11 P 7, S 15 = S 11 + P 5 S9 S C = 13 S 14 S 15 Az algoritmus 7 szorzást és 15 összeadást igényel Vegyük észre, hogy mindkét algoritmus esetén a szorzások számának csökkenésével egyidejýuleg jelentýosen megnýott az additív mýuveletek száma Ezért az algoritmusoknak csak nagy méretek esetén lehet és van tényleges elýonye Nagyméretýu mátrixok gazdaságos szorzása a következýo észrevételen alapul Legyen n =2 k és A, B R n n és particionáljuk az A és B mátrixokat úgy, hogy A11 A A = 12 B11 B, B = 12 A 21 A 22 B 21 B 22 A11,B 11 R n 2 n 2 Ekkor az összes itt szereplýo mátrix mérete n 2 n 2 A hagyományos szorzási algoritmust alkalmazva a C11 C C = AB = 12 C 21 C 22 mátrixszorzat felírható a C 11 = A 11 B 11 + A 12 B 21, C 12 = A 11 B 12 + A 12 B 22, C 21 = A 21 B 11 + A 22 B 21, C 22 = A 21 B 12 + A 22 B 22 alakban A particionálás alkalmazása a két n n típusú mátrix szorzását 8 darab n 2 n 2 típusú mátrix összeszorzására és 4 darab n 2 n 2 típusú mátrix összeadására vezeti vissza Ha azonban a most megismert két szorzási algoritmus bármelyikét alkalmazzuk, a helyzet megváltozik Ha például a Strassen módszert alkalmazzuk, akkor a 2 2-es blokkmátrixok szorzatát felírhatjuk a következýo alakban: M 1 =(A 12 A 22 )(B 21 + B 22 ), C 11 = M 1 + M 2 M 4 + M 6, M 2 =(A 11 + A 22 )(B 11 + B 22 ), C 12 = M 4 + M 5, M 3 =(A 11 A 21 )(B 11 + B 12 ), C 21 = M 6 + M 7, M 4 =(A 11 + A 12 ) B 22, C 22 = M 2 M 3 + M 5 M 7 M 5 = A 11 (B 12 B 22 ), M 6 = A 22 (B 21 B 11 ), M 7 =(A 21 + A 22 ) B 11, 18 AMÁTRIXSZÁMÍTÁSELEMEI

19 Láthatjuk, hogy a szorzáshoz 7 darab n 2 n 2 típusú mátrix összeszorzását és 18 darab n 2 n 2 típusú mátrix összeadását kell elvégeznünk A kisebb n 2 n 2 típusú mátrixok szorzását 2 2-es particionálással visszavezethetjük n 4 n 4 típusú mátrixok szorzására és az eljárást folytatva végül 2 2 típusú mátrixok szorzatára, amelyet ugyancsak Strassen módszerével végzünk el Ha T A (n) és T M (n) jelöli az additív és a multiplikatív mýuveletek teljes számát a most vázolt rekurzív algoritmusban, akkor fennáll, hogy ³ n T M (n) =7T M, 2 ahol T M (2) = 7 Innen kapjuk, hogy T M (n) =7 k = n log27 n 2808 Az additív mýuveletek meghatározásához vegyük észre, hogy a 18 darab n 2 n 2 típusú mátrix összeadásán túlmenýoen az n 2 n 2 típusú mátrixok szorzásai is tartalmaznak additív mýuveleteket Tehát ³ n ³ n 2 T A (n) =7T A +18, 2 2 ahol T A (2) = 18 Ennek megoldása zárt alakban T A (n) =6 7 k 4 k, amelyre fennáll, hogy T A (n) 6 7 k =6n 2808 Hasonló eredmény igaz, ha a fenti rekurzív algoritmusban Strassen módszere helyett Winograd módszerét használjuk a 2 2-es blokkmátrixok szorzására 114 DeÞníció Az f(n) mennyiség O(n γ ) nagyságrendýu, ha van olyan K>0szám, hogy kf(n)k Kn γ ( n N) A most bevezetett jelöléssel a Strassen és a Winograd-féle gyors mátrixszorzási algoritmusok aritmetikai mýuveletigénye O n 2808 Ez az eredmény nem változik, ha amátrixokn rendje nem kettýohatvány Ekkor ugyanis az algoritmust a A 0 B 0 Â =, ˆB = mátrixokra alkalmazzuk, ahol a mátrixok rendje 2 k és 2 k 1 <n<2 k A jelenleg ismert leggyorsabb mátrixszorzó algoritmus Coppersmith és Winograd nevéhez fýuzýodik Ennek aritmetikai mýuveletigénye O n 2376 A bemutatott két gyors mátrixszorzó eljárás numerikus stabilitásáról megoszlanak a vélemények Mindazonáltal számos speciális mátrixosztály esetén ismerünk a gyakorlatban is jól használható gyors szorzási algoritmust GYORS MÁTRIXALGORITMUSOK 19

20 15 Mátrixok és vektorok a MATLAB nyelvben A MATLAB matematikai szoftver a nevét a MATrix LABoratory kifejezésbýol kapta A neve is arra utal, hogy benne a mátrixszámítások rendkívül egyszerýuen programozhatók Ennek megfelelýoen a MATLAB legfontosabb adattípusa a valós vagy komplex elemýu mátrix Mindazonáltal a skalárokra és vektorokra nem kell (bár lehet) két indexszel hivatkozni, továbbá az újabb verziókban a többindexes tömbök és egyéb objektumok is megjelentek A mátrixokat legegyszerýubben elemeik sorfolytonos felsorolásával adhatjuk meg A sorokat pontosvesszýovel vagy enter-rel választjuk el, ugyanazon mátrixsorban álló elemeket pedig helyközzel vagy vesszýovel Az egész felsorolást szögletes zárójelbe tesszük Pl az A = mátrixot megadhatjuk a következýoképpen: À A=[1 0 3; ,5,6] Mindjárt az értékadásra is láttunk példát A mátrixok deklarációja a rájuk, vagy egy elemükre vonatkozó elsýo értékadó utasítással automatikusan megtörténik Azonosítót a szokásos módon választhatunk Vannak foglalt azonosítók, ezek a HELP parancs segítségével megismerhetýok Most csak az eps foglalt azonosítót említjük ami a konkrét számábrázolástól függýo, ún gépi epszilon (rendszerint ² ) értékét jelenti Nehezen kideríthetýo hibát okozhat a jelentésétýol eltérýo használata Egy mátrixot kisebb mátrixokból (blokkokból) is felépíthetünk Pl a À B=[A,[-1-2;-1-2;-1-2];7,7,7,-7,-7] utasítás az elýobbi A-val a B = mátrixot adja A mátrix valamelyik elemére kerek zárójelek segítségével hivatkozunk: A(2,3), B(1,4) Példáinknál maradva elýobbi értéke 2, utóbbié -1 Sor- vagy oszlopvektor (azaz 1 n vagy n 1 méretýu mátrix) elemére egyetlen indexszel is hivatkozhatunk Bizonyos esetekben nincs jelentýosége annak, hogy egy vektor sor- vagy oszlopvektor-e, sokszor viszont igen Ha a vektor egyindexes elemeit külön-külön adjuk meg, akkor az sorvektor lesz Skalár adatot pedig más programnyelvben megismert módon írhatunk, egy legáltalánosabb példa: -123e-2 Ha k,h,m már deþniált számértékek, akkor a vektorok felépítésére egy speciális lehetýoség is rendelkezésünkre áll: 20 AMÁTRIXSZÁMÍTÁSELEMEI

21 À c=k:h:m Itt egy sorvektort deþniáltunk: c elemei rendre k, k + h, k +2h,,k+ th lesznek Az utolsó elem a k + th m<k+(t +1)h, vagyak +(t +1)h<m k + th relációkból adódik, attól függýoen, hogy h pozitívvagynegatív Ah elhagyható, ha értéke 1 A vektor (vagy mátrix) üres is lehet Láttuk, hogy egy mátrixot részmátrixok segítségével is megadhatunk A fordítottját is megtehetjük: egy mátrixból kiemelhetünk egy-egy blokkot (részmátrixot) A következýo À C=A(p:q,r:s) utasítás a C = a pr a ps a qr a qs mátrixot hozza létre Ha p = q vagy r = s, akkor elég az egyiket megadni Teljes sort vagy oszlopot pedig elég a : (kettýospont)-tal jelölni Fontos alkalmazása a részmátrixoknak az À A(i,:)=A(i,:)+t A(k, :) utasítás, amely az A mátrix i-edik sorához hozzáadja a k-adik sor t-szeresét A részmátrixot még általánosabban is deþniálja a MATLAB: ha u egy r elemýu, v pedig egy s elemýu vektor (mindegy, hogy sor-, vagy oszlopvektor), akkor a À H=A(u,v) utasítás azt az r s méretýu H mátrixot hozza létre, amelynek elemeire H(i, j) = A(u i,v j ) teljesül Pl egyetlen utasítással felcserélhetjük A két sorát: À A([j,k],:)=A([k,j],:) Megjegyezzük, hogy ha u vagy v elemei nem szigorúan növekedýo sorozatot alkotnak, akkor A(u,v)-re már nem mondhatjuk, hogy részmátrixa A-nak Speciális mátrixokat beépített függvényekkel is létrehozhatunk Néhány függvényhívás: À eye(m,n), ones(m,n), zeros(m,n), rand(m,n) Ezek a függvények rendre az m n méretýu egységmátrixot, a csupa 1-esekbýol álló mátrixot, a zérusmátrixot, illetve véletlenmátrixot adnak (Akármilyen méretýu egységmátrixot a következýoképpen értelmezünk: az azonos indexýu elemei1-esek,a többi eleme 0) A RAND a (0, 1)-be esýo (itt most egyenletes eloszlású) véletlenszámokat állít elýo Ha m = n, akkor elég egy argumentumot írni, pl: ones(4) Logikailag ide (kis erýoltetéssel akár a részmátrixokhoz is) tartozik további három függvény A TRIL(A) alsó háromszög-, a TRIU(A) pedig felsýo háromszögmátrixot képez az A mátrix megfelelýo pozíciójában lévýo elemeibýol (A háromszögmátrixok deþnícióját a következýo fejezetben adjuk meg) A DIAG tárgyalása elýott meg kell említeni, hogy a mátrixok diagonálisaira sorszámukkal is hivatkozhatunk Az m n- es A mátrix fýodiagonálisának sorszáma 0, a fölötte lévýoké rendre 1,,(n 1), az alatta lévýoké pedig 1,, (m 1) Precízebben szólva a k-adik diagonálist azon a ij elemek alkotják, amelyekre k = j i Legyen v egy t hosszúságú vektor A MÁTRIXOK ÉS VEKTOROK A MATLAB NYELVBEN 21

22 DIAG(v,k) azt a D R (t+ k ) (t+ k ) mátrixot hozza létre, melynek k-adik diagonálisa a v elemeit tartalmazza, többi eleme pedig 0 DIAG(A,k) pedig azt a h oszlopvektort adja, amelynek elemei az A mátrix k-adik diagonálisában találhatók Ha k =0, akkor feltüntetése elmaradhat Mátrixok, vektorok, skalárok között a +,, jelekkel az algebrában megismert mýuveleteket végezhetjük el és a várt eredményt kapjuk Van egy kivétel: skalárt bármilyen méretýu mátrixhoz hozzáadhatunk (kivonhatunk) Ilyenkor a skalár a mátrix minden eleméhez hozzáadódik A ^ a hatványozás jeleaz Aˆk mýuvelet k-szor összeszorozza A-t, ha k pozitív egész, illetve k = 1 esetén az inverzet adja, ha az létezik A + és mýuveletekhez hasonlóan a szorzás és a hatványozás is elemenként történik, ha a mýuveleti jelet a (pont) elýozi meg Pl: [2,-2] [2,3] eredménye [4,-6] lesz, míg a [-2,3]^3 eredménye [-8,27] Speciális mátrixmýuvelet a transzponálás: A Alkalmas méretýu mátrixok között / és \ jelýu mýuveleteket is használhatunk Itt csak a legfontosabb esetet említjük Az À x=a\b eredménye az Ax = b lineáris egyenletrendszer megoldása (ha az egyenletrendszer konzisztens) 16 Feladatok 1 Melyik mátrix szimmetrikus bármely A, B R m n mellett a következýok közül? (i) A T A + B T B, (ii) (A T A)(B T B) 2 Igazoljuk, hogy kak =max 1 i,j n a ij mátrixnorma! Mutassuk meg továbbá, 1 1 hogy az A = B = mátrixokra kabk 1 1 > kak kbk! 3 Igazoljuk a Strassen és Winograd algoritmusok helyességét! 22 AMÁTRIXSZÁMÍTÁSELEMEI

23 2 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA 21 Lineáris egyenletrendszerek A lineáris egyenletrendszerek általános alakja m egyenlet és n ismeretlen esetén: a 11 x a 1j x j + + a 1n x n = b 1 a i1 x a ij x j + + a in x n = b i a m1 x a mj x j + + a mn x n = b m Az egyenletrendszert megadhatjuk a tömörebb (21) Ax = b (22) formában, ahol A =[a ij ] m,n i,j=1 Rm n,x R n,b R m Ha m<n, akkor az egyenletrendszert alulhatározottnak nevezzük Ha m>n, akkor túlhatározott egyenletrendszerrýol beszélünk Az m = n esetben az egyenletrendszert négyzetesnek nevezzük Az egyenletrendszerek geometriai tartalmát a következýoképpen írhatjuk le 21 DeÞníció Az R n euklideszi tér d ( d R n ) normálvektorú és x 0 R n ponton átmenýo hipersíkját az (x x 0 ) T d =0 (23) egyenletet kielégítýo x R n pontok határozzák meg A hipersík egyenlete más formában kifejezve: Felhasználva az A mátrix sorok szerinti a T 1 A = a T ị x T d = x T 0 d (24) a T m 23

24 felbontását, ahol a T i =[a i1,,a in ],azax = b egyenletrendszert felírhatjuk az ekvivalens a T 1 x = b 1 (25) a T mx = b m alakban Innen jól láthatjuk, hogy a lineáris egyenletrendszer megoldása m hipersík közös része Ennek megfelelýoen három eset lehetséges: (i) az egyenletrendszernek nincs megoldása, (ii) az egyenletrendszernek pontosan egy megoldása van, (iii) az egyenletrendszernek végtelen sok megoldása van 22 DeÞníció Ha az Ax = b lineáris egyenletrendszernek legalább egy megoldása van, akkor az egyenletrendszert konzisztensnek nevezzük Ha az egyenletrendszernek nincs megoldása, akkor az egyenletrendszert inkonzisztensnek nevezzük Például az x +2y =1, x +2y =4egyenletrendszer inkonzisztens Az Ax = b egyenletrendszert felírhatjuk az ekvivalens nx x i a i = x 1 a x n a n = b i=1 alakban is, ahol a i az A mátrix i-edik oszlopát jelöli A P n i=1 x ia i összeget az {a i } n i=1 vektorok lineáris kombinációjának nevezzük Az egyenletrendszer akkor és csak akkor oldható meg, ha b kifejezhetýo aza oszlopvektorainak lineáris kombinációjaként 23 DeÞníció Az {a i } k i=1 Rm vektorok lineárisan összefüggýok, ha létezik x R k ( x 6= 0), hogy kx x i a i =0 (26) i=1 Ha nincs ilyen x 6= 0vektor, akkor az {a i } k i=1 vektorokat lineárisan függetlennek nevezzük A megoldhatóság egy másik jellemzését adhatjuk a rang fogalmával: rank(a) =lineárisan független oszlop- vagy sorvektorok (27) maximális száma A mátrix rangjával megfogalmazva az Ax = b egyenletrendszer akkor és csak akkor megoldható, ha rank(a) =rank([a, b]) Harank(A) =rank([a, b]) = n, akkor az Ax = b egyenletrendszernek pontosan egy megoldása van A továbbiakban csak négyzetes egyenletrendszerekkel foglalkozunk Feltesszük tehát, hogy m = n Ismert a következýo 21 Tétel Az Ax = b ( A R n n, b R n ) egyenletrendszernek akkor és csak akkor van pontosan egy megoldása, ha létezik A 1 Ekkor a megoldás x = A 1 b 22 Tétel Az Ax =0( A R n n ) homogén lineáris egyenletrendszernek akkor és csak akkor van x 6= 0nemtriviális megoldása, ha det (A) = 0 24 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

25 22 Háromszögmátrixú egyenletrendszerek 24 DeÞníció Az A =[a ij ] n i,j=1 mátrix alsó háromszög alakú, ha minden i<j esetén a ij =0 Az alsó háromszögmátrixok alakja sematikusan a következýo DeÞníció Az A =[a ij ] n i,j=1 mátrix felsýo háromszög alakú, ha minden i>j esetén a ij =0 Afelsýo háromszögmátrixok alakja: Megjegyzés Egyidejýuleg alsó és felsýo háromszögmátrixok a diagonálmátrixok (köztük a zérusmátrix) Igazolható, hogy alsó vagy felsýo háromszögmátrixok esetén det(a) =a 11 a 22 a nn A háromszögmátrixú egyenletrendszerek megoldása igen egyszerýu Tekintsük az a 11 x 1 = b 1 a i1 x 1 + +a ii x i = b i a n1 x 1 + +a ni x i +a nn x n = b n alsó háromszögmátrixú egyenletrendszert! Az egyenletrendszer akkor és csak akkor oldható meg egyértelmýuen, ha a 11 6= 0,,a nn 6= 0 Az alsó háromszögmátrixú egyenletrendszer megoldását adja a következýo algoritmus: x 1 = b 1 /a 11 for i =2:n x i =(b i P i 1 j=1 a ijx j )/a ii end (28) HÁROMSZÖGMÁTRIXÚ EGYENLETRENDSZEREK 25

26 Tekintsük most az a 11 x 1 + +a 1i x i + +a 1n x n = b 1 a ii x i + +a in x n = b i a nn x n = b n felsýo háromszögmátrixú egyenletrendszert! Az egyenletrendszer akkor és csak akkor oldható meg egyértelmýuen, ha a 11 6=0,,a nn 6=0Afelsýo háromszögmátrixú egyenletrendszer megoldását a következýo, ún visszahelyettesítýo algoritmus adja: x n = b n /a nn for i = n 1: 1 :1 x i =(b i P n j=i+1 a ijx j )/a ii end (29) 23 A Gauss-módszer A Gauss-féle eliminációs módszer két fázisból áll: I Azonos átalakításokkal az Ax = b egyenletrendszert felsýo háromszög alakúra hozzuk: II A kapott felsýo háromszögmátrixú egyenletrendszert a (29) Algoritmussal megoldjuk A felsýo háromszög alakra hozás a következýoképpen történik Ha a 11 6=0,akkoraza 11 alatti x 1 együtthatókat nullává tesszük (kinullázzuk) úgy, hogy az i-edik sorból kivonjuk (i =2,,n) az elsýo sor γ-szorosát: (a i1 γa 11 )x 1 +(a i2 γa 12 )x 2 + +(a in γa 1n )x n = b i γb 1 (210) Az a i1 γa 11 =0feltételbýol kapjuk, hogy γ = ai1 a 11 Így az elsýo oszlopa 11 alatti kinullázását a γ = a i1 /a 11 a ij = a ij γa 1j (j =2,,n) (i =2,,n) (211) b i = b i γb 1 26 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

27 algoritmussal végezhetjük el Vegyük észre, hogy az algoritmus felülírja az A mátrix 2 i, j n indexýu ésab vektor 2 i n indexýu elemeit (a 0-kat viszont feleslegesen nem írja be az alsó háromszög részbe) A felülírt elemeknél is megtartva az eredeti jelölést, a kapott ekvivalens egyenletrendszer alakja: a 11 x 1 + a 12 x a 1n x n = b 1 a 22 x a 2n x n = b 2 (212) a n2 x a nn x n = b n Ezt szétbonthatjuk az n ismeretlent tartalmazó elsýo egyenletre és az n 1 ismeretlent tartalmazó kisebb (n 1) (n 1)-es egyenletrendszerre Ha a 22 6=0,akkorakisebb egyenletrendszeren megismételjük az elýozýo lépést és így tovább Tegyük fel, hogy a (k 1)-edik oszlopban a kinullázást már elvégeztük és az a 11 x 1 + +a 1k x k + + a 1n x n = b 1 a kk x k + + a kn x n = b k a ik x k + + a in x n = b i a nk x k + + a nn x n = b n egyenletrendszert kaptuk Ha a kk 6=0, akkor kinullázzuk az a kk alatti x k együtthatókat Az i-edik sorból a k-adik sort γ-szorosát kivonva az (a ik γa kk )x k +(a i,k+1 γa k,k+1 )x k+1 + +(a in γa kn )x n = b i γb k (213) egyenlet adódik Az a ik γa kk =0feltételbýol kapjuk, hogy γ = a ik a kk Ak-adik oszlop a kk alatti kinullázását tehát a γ = a ik /a kk a ij = a ij γa kj b i = b i γb k (j = k +1,,n) (i = k +1,,n) algoritmussal végezhetjük el A kinullázást mindaddig folytathatjuk, amíg az a kk 6=0és k n 1 feltételek fennállnak Ha sikerül az A mátrixot felsýo háromszög alakra hozni, akkor a (29) Algoritmust alkalmazzuk (visszahelyettesítünk) A következýokben A (i, j) az A mátrix a ij elemét jelöli A GAUSS-MÓDSZER 27

28 A GAUSS-MÓDSZER: I (eliminációs) fázis: for k =1:n 1 for i = k +1:n γ = A (i, k) /A (k, k) A (i, k +1:n) =A (i, k +1:n) γ A (k, k +1:n) b i = b i γb k end end II (visszahelyettesítýo) fázis: x n = b n /a nn for i = n 1: 1 :1 x i =(b i P n j=i+1 a ijx j )/a ii end 24 A Gauss-módszer mýuveletigénye A Gauss-módszer véges sok lépésben, véges sok aritmetikai alapmýuvelet (+,,,/) elvégzése után megadja az Ax = b (A R n n ) egyenletrendszer megoldását A szükséges aritmetikai mýuveletszám (mýuveletigény) az egyenletrendszer megoldó eljárások fontos minýoségi jellemzýoje, mert az ilyen algoritmusok számítógépideje nagyjából arányos az aritmetikai mýuveletigénnyel A Gauss-módszer mýuveletigényét az alábbiak szerint tudjuk meghatározni A szorzás és az osztás nagyjából azonos idýoigényýuek Ezért ezeket összevonva, azonos multiplikatív mýuveletként (jele M) számoljuk A kivonás és összeadás mýuveleteknél hasonló a helyzet Itt a közös alapegység az additív mýuvelet (jele A) Az I fázis k-adik lépésében a mýuveletek és mýuveletszámok a következýok: for i = k +1:n γ = A (i, k) /A (k, k) M A (i, k +1:n) =A (i, k +1:n) γ A (k, k +1:n) (n k)(m + A) b i = b i γb k M + A end A ciklus mýuveletigénye összesen (n k)(m +(n k)(m + A)+M + A), azaz ³ ³ (n k) 2 +2(n k) M + (n k) 2 +(n k) A 28 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

29 Ezt összegezve a k =1,,n 1 lépésekre kapjuk, hogy az I fázis mýuveletigénye Felhasználva, hogy kapjuk, hogy µ (n 1)n(2n 1) 6 n 1 X n 1 X (i 2 +2i)M + (i 2 + i)a i=1 kx i 2 = i=1 illetve µ n n n AIIfázismýuveletigénye: i=1 k(k +1)(2k +1) 6 µ (n 1)n(2n 1) +(n 1)n M µ n 3 M + 3 n A 3 (n 1)n A, 2 x n = b n /a nn M for i = n 1: 1 :1 x i =(b i P n j=i+1 a ijx j )/a ii (n i +1)M +(n i)a end Összegezve az i = n 1: 1 :1lépések mýuveletigényét kapjuk, hogy a II fázis összköltsége M + nx j=2 n 1 X jm + ja = j=1 µ n n 2 M +( n2 2 n 2 )A Az I és II fázis költségét összeadva kapjuk a Gauss-módszer számítási összköltségét: µ n n2 n µ n 3 M n n A Nagy n értékekre az n3 3 együttható válik dominánssá mindkét zárójeles kifejezésben 23a Tétel A Gauss-módszer mýuveletigénye n3 3 + O(n2 ) multiplikatív és ugyanennyi n O(n2 ) additív mýuvelet Véges befejezésýu aritmetikaimýuveleteket használó algoritmusok esetén az algoritmusok lényeges minýoségi jellemzýoje az algoritmus végrehajtásához szükséges aritmetikai mýuveletek száma a feladatok paramétereinek (pl ismeretlenek száma, együttható mátrix mérete, stb) függvényében A régebbi számítógépek esetén a multiplikatív mýuveletek végrehajtási ideje lényegesen nagyobb volt, mint az additívaké A GAUSS-MÓDSZER MýUVELETIGÉNYE 29

30 Ezért ezeket külön határozták meg Késýobb megþgyelték, hogy a lineáris algebra számítási eljárásaiban az additív és a multiplikatív mýuveletek száma nagyon gyakran közel azonos Ezért CB Moler a számítási igény mérésére bevezette az 1 ßop fogalmát 26a DeÞníció 1(régi)ßop az a számítási munka, amely az s = s + x y mýuvelet (1 összeadás + 1 szorzás) elvégzéséhez kell Például az x T y skalárszorzat (x, y R n )kiszámításaaz s =0, s = s + x i y i (i =1,,n) algoritmussal n ßop mýuveletigényýu Az újabb számítógépeken a multiplikatív és az additív mýuveletek ideje azonosnak tekinthetýo Ezért a régi ßop fogalmát a következýoképpen módosították 26b DeÞníció 1(új)ßop az a számítási munka, amely egy +,,,/ aritmetikai mýuvelet elvégzéséhez kell Tehát egy régi ßop 2 új ßoppal azonos a mai számítógépeken Az algoritmusok ßop igényét a MATLAB rendszer régi változatai mérték Az új MATLAB változatok azonban a fent említett okok miatt már nem Ugyanakkor a ßop fogalmának erýos elterjedtsége miatt a könyvben még a régi ßop értelmezést használjuk 23b Tétel A Gauss-módszer mýuveletigénye n3 3 + O(n2 ) régi ßop Klyuyev és Kokovkin-Shcherbak igazolta, hogy ha csak sor- és oszlopmýuveleteket (sor, vagy oszlop számmal való szorzása; sorok, vagy oszlopok cseréje; sorok, vagy oszlopok számszorosának sorokhoz, vagy oszlopokhoz való hozzáadása) engedünk meg, akkor nem lehet n3 3 + O(n2 ) régi ßopnál kevesebb mýuvelettel az Ax = b lineáris egyenletrendszert megoldani Az Ax = b alakú n n-es egyenletrendszerek megoldásához szükséges mýuveletigény gyors mátrixinvertáló eljárásokkal O(n 2808 ) régi ßopra leszorítható A jelenleg ismert eljárásokat numerikus instabilitásuk miatt gyakorlatilag nem használják 25 A fýoelemkiválasztásos Gauss-módszer A Gauss-módszer I fázisában elýofordulhat, mondjuk a k-adik lépésben, hogy az a kk elem zérus Például a 4x 2 + x 3 = 9 x 1 + x 2 + 3x 3 = 6 2x 1 2x 2 + x 3 = 1 rendszernél a 11 =0 Ilyen esetekben a sorok, vagy az oszlopok felcserélésével megkísérelhetjük elérni, hogy az a kk helyére zérustól különbözýo elem kerüljön A fenti esetben 30 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

31 például az elsýo és harmadik sor felcserélésével kapjuk, hogy 2x 1 2x 2 + x 3 = 1 x 1 + x 2 + 3x 3 = 6 4x 2 + x 3 = 9 Az elsýo és második oszlop oszlop cseréjével pedig azt kapjuk, hogy 4x 2 + x 3 = 9 x 2 + x 1 + 3x 3 = 6 2x 2 2x 1 + x 3 = 1 A sorok cseréjénél az egyenletek (és b megfelelýo komponenseinek) sorrendje, az oszlopok cseréjénél pedig a változók sorrendje változik meg Általában, így az elýozýo példában is, több választási lehetýoségünk is van sor-, vagy oszlopcserére Ha azonban az a kk elem alatt minden együttható zérus, akkor az [a ij ] n,k i,j=1 részmátrix oszlopai lineárisan összefüggýok, A szinguláris és az eliminációs eljárás sorcserével sem folytatható Hasonló a helyzet, ha a kk sorában, týole jobbra, minden együttható zérus, mert ekkor A ismét szinguláris Az a kk elemet k-adik pivot, vagy fýoelemnek nevezzük A sorok felcserélését úgy, hogy az új pivot elem zérustól különbözýo legyen,pivotálási, vagyfýoelemkiválasztá- si eljárásnak nevezzük A pivot elem megválasztása nagymértékben befolyásolja az eredmények megbízhatóságát Példaként említjük a következýo egyenletrendszert: x + y = 1 x + y = 2 Ha ezt a pivotálás nélküli Gauss-módszerrel számítógépen megoldjuk, akkor (15 tizedesjegy pontosságú MATLAB számítások esetén) az x =0, y =1közelítýo eredményt 1 kapjuk A helyes eredmény: x = 1 10, y = Az elsýo ésamásodik 17 egyenlet felcserélésével kapott x + y = x + y = 1 egyenletrendszeren ugyanaz a módszer az x =1, y =1közelítýo megoldást adja Ez utóbbi közel van a pontos megoldáshoz, míg az elsýo eredmény katasztrófálisan eltér Általában is igaz, hogy a közelítýo megoldás pontosságát nagymértékben javítja a helyesen megválasztott pivotálás Pivot elemnek nagy abszolút értékýu elemet kell választani Két alapvetýo pivotálási stratégiát használunk Részleges fýoelemkiválasztás: A k-adik lépésben a k-adik oszlop a jk (k j n) elemei közül kiválasztjuk a maximális abszolút értékýut Ha ennek indexe i, akkor a k-adik és az i-edik sort felcseréljük A pivotálás után teljesül, hogy a kk = max k i n a ik AFýOELEMKIVÁLASZTÁSOS GAUSS-MÓDSZER 31

32 Teljes fýoelemkiválasztás: A k-adik lépésben az a ij (k i, j n) mátrixelemek közül kiválasztjuk a maximális abszolút értékýut Ha ennek indexe (i, j), akkor a k- adik és az i-edik sort, valamint a k-adik oszlopot és j-edik oszlopot felcseréljük A pivotálás után teljesül, hogy a kk = max a ij k i,j n Megjegyezzük, hogy oszlopcsere esetén változócsere is történik Afýoelemkiválasztásos Gauss-módszer esetén az I fázis minden lépésében pivotálást hajtunk végre A teljes fýoelemkiválasztást biztonságos stratégiának tekinthetjük A részleges fýoelemkiválasztás egyéb technikákkal kiegészítve ugyancsak biztonságosnak tekinthetýo A részleges fýoelemkiválasztás lényegesen kevesebb extra aritmetikai mýuveletet igényel mint a teljes fýoelemkiválasztás Ezért a gyakorlatban inkább ezt használjuk Az I fázis alakja algoritmikus formában for k =1:n 1 Határozzuk meg a t indexet, hogy A (t, k) =max k i n A (i, k) if k 6= t Cseréljük fel a k-adik és t-edik sort! end for i = k +1:n γ = A (i, k) /A (k, k) A (i, k +1:n) =A (i, k +1:n) γ A (k, k +1:n) b i = b i γb k end end Nemkellvégrehajtanifýoelemkiválasztást a következýo esetekben: 1 A szimmetrikus és pozitív deþnit (A R n n pozitív deþnit x T Ax > 0, x R n, x 6= 0) 2 A diagonálisan domináns a következýo értelemben: a ii > X a ij (1 i n) j6=i Szimmetrikus és pozitív deþnit A mátrix esetén a Gauss-eliminiáció egy késýobb bemutatásra kerülýo speciális alakját, a Cholesky-módszert használjuk az egyenletrendszer megoldására A Gauss-elimináció további vizsgálatához szükségünk van az eljárás következýo leírására: Legyen A (0) = A és b (0) = b A Gauss-elimináció elsýo fázisában egy A (0) x = b (0) A (1) x = b (1) A (n 1) x = b (n 1) ekvivalens egyenletrendszerekbýol álló sorozatot képezünk, ahol h i n A (k) = a (k) ij i,j=1 32 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

33 Fennáll, hogy A (n 1) = a (0) 11 a (0) 12 a (0) 1n 0 a (1) 22 a (1) 2n 0 a (n 1) nn, ahol a (k 1) kk a k-adik fýo-, vagy pivotelem A pivotelemek növekedési tényezýoje: ρ = ρ n = max a (k 1) 1 k n kk /a (0) 11 Igen fontos kérdés a ρ növekedési tényezýo nagyságrendje, mert ez összefüggésben áll az eljárás numerikus stabilitásával Wilkinson igazolta, hogy a közelítýo megoldáshibája arányos a ρ növekedési tényezýovel, amelyre teljes fýoelemkiválasztás esetén a ρ ³ n n n 1 cn n 4 log(n), részleges fýoelemkiválasztás esetén pedig a ρ 2 n 1 korlát teljesül Wilkinson azt sejtette, hogy teljes fýoelemkiválasztás esetén ρ n Ezt kis n értékekre többen is igazolták Véletlen mátrixokon végzett statisztikai vizsgálatok (n 1024) azt mutatják, hogy ρ nagyságrendje átlagosan O n 2/3 a részleges és O n 1/2 ateljesfýoelemkiválasztás esetén Tehát a ρ >neset statisztikai értelemben ritkán fordulhat elýo A részleges fýoelemkiválasztás ρ =2 n 1 korlátja pontos és teljesül például a Wilkinson által konstruált n n-es A = mátrix esetén Ekkor nem kell a pivotálásnál sorcseréket végrehajtani és az utolsó oszlop elemei exponenciálisan növekednek Újabban találtak néhány, a gyakorlatban is (differenciál- és integrálegyenletek közelítýo megoldásánál) elýoforduló esetet, amikor a részleges fýoelemkiválasztáson alapuló Gauss-módszer ρ növekedési tényezýoje exponenciálisan nýo és a módszer csýodöt mond AFýOELEMKIVÁLASZTÁSOS GAUSS-MÓDSZER 33

34 A fýoelemkiválasztás nélküli Gauss elimináció esetén a növekedési tényezýo nagyon nagy lehet Például az A = mátrix esetén a növekedési tényezýo ρ = ρ 4 (A) = Az LU-felbontás A Gauss-módszer, amely egy egyszerýu eljárást ad egyenletrendszerek megoldására, az I fázisban egy felsýo háromszögmátrixot állít elýo Most azt a kérdést vizsgáljuk meg, hogy mi ez a felsýo háromszögmátrix és milyen kapcsolatban áll az eredeti A együttható mátrixszal Szükségünk van a következýo észrevételekre és fogalmakra: (i) Háromszögmátrixok inverze azonos típusú háromszögmátrix; (ii) Alsó háromszögmátrixok szorzata alsó, felsýo háromszögmátrixok szorzata pedig felsýo háromszögmátrix 27 DeÞníció Az A R n n mátrix LU-felbontásán a mátrix A = LU szorzatalakban történýo felbontását értjük, ahol L R n n alsó, U R n n pedig felsýo háromszögmátrix Ha egy nemszinguláris A mátrixnak létezik két LU-felbontása, A = L 1 U 1 és A = L 2 U 2, akkor van olyan D diagonális mátrix, hogy L 1 = L 2 D, U 1 = D 1 U 2 Az észrevétel igazolásához tegyük fel, hogy van két LU-felbontásunk Az L 1 U 1 = L 2 U 2 egyenlýoségbýol L 1 2 L 1 = U 2 U1 1 következik A baloldal alsó, a jobboldal pedig felsýo háromszögmátrix Ezek csak akkor lehetnek egyenlýok, ha diagonálisak, azaz L 1 2 L 1 = U 2 U1 1 = D Innen az állítás már következik Ha L egység alsó háromszögmátrix (azaz fýodiagonálisában minden elem 1), akkor az LU felbontás a fenti bizonyítás alapján egyértelmýu Legyen A (r) = a 11 a 1r a r1 a rr (r =1,,n 1) Az A (r) mátrixot az A mátrix r-edik fýominor mátrixának nevezzük 24 Tétel Egy A R n n nemszinguláris mátrixnak akkor és csak akkor létezik LU-felbontása, ha det ³A (r) 6= 0 (r =1,,n 1) (214) 34 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

35 Bizonyítás Feltehetjük, hogy L egység alsó háromszögmátrix Az n =1esetben az állítás triviális Tegyük fel, hogy az állítás n k esetén igaz Legyen A R k k és A c ea = b T R α (k+1) (k+1) b, c R k, α R Keressük az ea mátrix LU -felbontását az utolsó sor és oszlop szerint particionált formában: A c L 0 U y ea = b T = b, c, x, y R α x T 1 0 γ k, α, γ R, {z } {z } el eu ahol L egység alsó, U pedig felsýo háromszögmátrix Ez pontosan akkor állhat fenn, ha A = LU, Ly = c, x T U = b T, x T y + γ = α Ha ea-nak van LU -felbontása, akkor szükségképpen A-nak is van Az L nemszinguláris, mert egység alsó háromszögmátrix Ha ea nem szinguláris, akkor eu sem lehet ³ szinguláris, mert eu = L 1 e AEkkortehátazU e nemszinguláris és α b T A 1 c 6= 0 Tehát A = LU szükségképpen nemszinguláris Az ea mátrix LU -felbontásának alakja pedig L 0 U L ea = 1 c b T U α b T A 1 c {z } {z } el Fordítva, ha A-nak van LU -felbontása, akkor ea-nek is van Az A mátrixnak az indukciós feltevés miatt akkor és csak akkor van LU -felbontása, ha fýominor mátrixai nemszingulárisak A pozitív deþnit mátrixok összes fýominor mátrixa is pozitív deþnit és ezért nemszinguláris Pozitív deþnit mátrixoknak tehát van LU -felbontásuk Ha a mátrix még szimmetrikus is, akkor az LU -felbontás speciális szerkezetýu Tegyük fel, hogy A szimmetrikus és pozitív deþnit Legyen az A = LU felbontásban L egység alsó háromszögmátrix Minthogy A T = A, fennáll U T L T = LU is Ezt balról szorozva az L 1, jobbról pedig az L T mátrixszal az L 1 U T = UL T egyenlýoséget kapjuk A baloldal alsó, a jobboldal pedig felsýo háromszögmátrix Ezért egyenlýoség csak akkor lehetséges, ha létezik egy D diagonális mátrix, hogy L 1 U T = UL T = D eu AZ LU-FELBONTÁS 35

36 Innen az U = DL T összefüggés azonnal adódik Kaptuk tehát, hogy szimmetrikus pozitív deþnit mátrixoknak létezik az A = LDL T (215) felbontásuk, ahol L egység alsó háromszögmátrix A D =diag(d i ) mátrix minden diagonális eleme pozitív Legyen ui x = L T e i Minthogy x T Ax > 0, azx T Ax = e T i L 1 LDL T L T e i = d i > 0 is igaz Legyen bd =diag d i és bl = L bd Akkor fennáll, hogy A = blbl T, (216) ahol bl alsó háromszögmátrix, amelynek fýodiagonálisában pozitív számok vannak Ezt a felbontást a szimmetrikus pozitív deþnit A mátrix Cholesky-féle felbontásának nevezzük Vannak esetek, amikor egy mátrix nemszinguláris és mégsincs LU -felbontása Példa A nemszinguláris mátrixnak nincs LU-felbontása 28 DeÞníció A Pn nmátrix permutációmátrix, ha minden sorában és oszlopában pontosan egy darab 1-es van és a többi elem zérus Példa Legyen e i =[0,,0, 1, 0,,0] T R n az i-edik egységvektor Egy permutációmátrixot felírhatunk a következýo formábanis e T i 1 e T i 2 P =, e T i n ahol i 1,i 2,,i n az 1, 2,,n számok valamelyik permutációja A fenti példa esetében P =[e 1,e 3,e 4,e 2 ] T Vizsgáljuk most meg a permutációmátrixszal való szorzás eredményét Az e T i A = at i összefüggést felhasználva kapjuk, hogy e T i 1 e T e T i 1 A a T i 2 PA = A = e T i 1 i 2 A = a T i 2 e T i n A e T i n a T i n 36 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

37 Ez azt jelenti, hogy a PA szorzás felcseréli az A mátrix sorait Ezzel szemben az AP szorzás az A mátrix oszlopait cseréli fel Legyen a P permutációmátrix oszlopvektorok szerint particionálva, azaz legyen P =[e j1,,e jn ], ahol j 1,j 2,,j n az 1, 2,,n számok valamelyik permutációja Az A mátrix oszlopok szerinti particiója legyen A =[a 1,,a n ] (a i R n ) Mármost Ae i = a i miatt AP = A [e j1,,e jn ]=[Ae j1,,ae jn ]=[a j1,,a jn ] Könnyen belátható, hogy tetszýoleges permutációmátrix esetén P T P = I Amikor a részleges fýoelemkiválasztáson alapuló Gauss-módszer k-adik lépésében az A (k 1) mátrix k-adik és i-edik sorát (i >k) felcseréljük, akkor ez ekvivalens a P k A (k 1) x = P k b (k 1) átalakítással, ahol P k = e T 1 e T k 1 e T i e T k+1 e T i 1 e T k e T i+1 e T n R n n Itt a k-adik sorban e T i, az i-edik sorban pedig et k áll A teljes fýoelemkiválasztás esetén, amikor oszlopcserét is végezhetünk, az P k A (k 1) Q k Q T k x = P k b (k 1),ahol Q k az oszlopcserének megfelelýo permutációmátrix Igaz a következýo 25 Tétel Ha az An n-es mátrix nemszinguláris, akkor létezik olyan P permutációmátrix, hogy a PA mátrixnak van LU-felbontása 27 Az LU-felbontás és a Gauss-módszer kapcsolata Particionáljuk az A mátrixot az a r T A = c B a R, a6= 0,c,r R n 1 AZ LU-FELBONTÁS ÉS A GAUSS-MÓDSZER KAPCSOLATA 37

38 formában A Gauss-módszer elsýo lépése megfelel az a r T L 1 A = = A 0 B 1 1 szorzásnak, ahol L 1 = 1 0 T c/a I Az L 1 particionált alsó háromszögmátrix inverze L T 1 = c/a I, B 1 = B cr T /a és 1 0 T a r T A = c/a I 0 B 1 Ha a B 1 mátrixnak létezik LU -felbontása B 1 = L 1 U 1,akkorA nak is van: 1 0 T a r T A = = LU c/a L 1 0 U 1 Azt még nem tudjuk, hogy mi a B 1 mátrix LU -felbontása, de azt már tudjuk, hogy az A mátrix LU -felbontásában az elsýo oszlop, ill sor micsoda Ez ugyanis nem más mint 1 0 T a r T A = c/a? 0? Ha megismételjük az eliminációs lépést a B 1 mátrixon, akkor megkapjuk az L 1 elsýo oszlopát, valamint U 1 elsýo sorát Az eljárást így folytatva eljutunk az U mátrixhoz Ha a c/a vektort egy L mátrixba (a gyakorlatban A alsó háromszög részébe) beírjuk, akkor az LU -felbontást teljes egészében megkapjuk Összegezve: a Gauss-módszer az I fázisban elýoállítja az A mátrix LU -felbontását, pontosabban az ekvivalens Ux = L 1 b (217) egyenletrendszert Tehát a Gauss-módszer az A = LU speciális szorzatfelbontáson (faktorizáción) alapul Ha az eljárás során fýoelemkiválasztást kell végrehajtani, akkor a Gauss-módszer a PA mátrix LU-felbontását adja meg, ahol P permutációmátrix Konstruktívan igazoljuk az 25 Tételt Ha a 11 =0,akkorvanolyanP 1 permutációmátrix, hogy a r T P 1 A = (a 6= 0) c B Ekkor 1 0 T a r T P 1 A = c/a I 0 B 1 38 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

39 Ha B 1 nemszinguláris, akkor feltevésünk szerint létezik bp 2 R (n 1) (n 1) permutációmátrix, hogy bp 2 B 1 = L 1 U 1 Tehát 1 0 a r T 1 0 a r T P 1 A = c/a I 0 bp 2 T = L 1 U 1 c/a bp 2 T, L 1 0 U 1 amelyet az (n 1) n méretýu alsó részmátrix sorait felcserélýo 1 0 T P 2 = 0 bp 2 permutációmátrixszal szorozva a P 2 P 1 A = 1 0 a r T bp 2 (c/a) L 1 0 U 1 összefüggést kapjuk Ezzel az 25 Tételt igazoltuk Vegyük észre, hogy a síma Gauss-módszerrel ellentétben a P 2 permutációmátrixszal való szorzás a c/a sorait is felcseréli Ez azt is jelenti, hogy a fýoelemkiválasztásos Gauss-módszer esetén, ahol P 2 elýore ismeretlen, a további sorcserék a c/a oszlopvektor elemeit is megcserélik A síma Gauss-módszer esetében az L alsó háromszögmátrixot úgy kaphatjuk meg, hogy a c/a vektorokat beírjuk A fýodiagonálisa alá Ezek az elemek lesznek L diagonális alatti elemei Eszerint a 21 /a 11 L = a 31 /a 11 1 a k+1,k /a kk 1 0 a n1 /a 11 a nk /a kk a n,n 1 /a n 1,n 1 1 A fýoelemkiválasztás esetén ugyanezt tesszük, de a diagonális alatti elemeken is végrehajtjuk a sorcseréket 28 Az LU- és Cholesky-módszerek Legyen A = LU és vizsgáljuk az Ax = b megoldását Ez az Ax = LUx = L(Ux)=b összefüggés miatt felbontható az Ly = b alsó háromszögmátrixú és az Ux = y felsýo háromszögmátrixú egyenletrendszerek megoldására AZ LU- ÉS CHOLESKY-MÓDSZEREK 39

40 AZ LU-MÓDSZER ALGORITMUSA (I): 1 Határozzuk meg az A = LU felbontást! 2 Oldjuk meg az Ly = b egyenletrendszert! 3 Oldjuk meg az Ux = y egyenletrendszert! Az eredeti Gauss-módszer I fázisában az A = LU felbontást és az Ux = L 1 b felsýo háromszögmátrixú egyenletrendszert állítjuk elýo A II fázisban ezt az egyenletrendszert oldjuk meg Az LU -módszerben a Gauss-módszer I fázisát két lépésre bontjuk fel Az elsýo lépésben az A = LU felbontást állítjuk elýo és értelemszerýuen nem végzünk számításokat a b oszlopvektoron Az eljárás második lépésében az y = L 1 b vektort állítjuk elýo Az eljárás harmadik lépése megegyezik az eredeti Gauss-módszer II fázisával Az LU -módszer különösen elýonyös, ha ugyanazon együtthatómátrixszal egynél több Ax = b 1,Ax= b 2,, Ax= b k alakú egyenletrendszert kell megoldani Ekkor elég az A mátrix LU-felbontását egyszer meghatározni, majd rendre az Ly i = b i, Ux i = y i (i =1,,k) háromszögmátrixú egyenletrendszereket megoldani Az eljárás összköltsége: n 3 /3+kn 2 /2+ O (kn) régi ßop Ezen észrevétel alapján egy A R n n mátrix invertálását az LU -módszer segítségével a következýoképpen végezhetjük: 1 Meghatározzuk az A = LU felbontást 2 Sorra meghatározzuk az Ly i = e i, Ux i = y i (i =1,,n) egyenletrendszerek x i megoldásait Az A inverze A 1 =[x 1,,x n ] Az eljárás mýuveletigénye O n 3 régi ßop Ha a PA = LU felbontást tudjuk csak meghatározni, akkor az I algoritmus értelemszerýuen a következýoképpen módosul AZ LU-MÓDSZER ALGORITMUSA (II): 1 Határozzuk meg a PA = LU felbontást! 2 Oldjuk meg az Ly = Pb egyenletrendszert! 3 Oldjuk meg az Ux = y egyenletrendszert! Példa Oldjuk meg az 12x x 2 32x 3 = x x 3 = x 1 31x x 3 = 328 egyenletrendszert LU-módszerrel! Az LU-felbontást gyakorlatilag ugyanúgy végezzük, mint a Gauss-eliminációt, csak afýoátló alatti számokat változtatás nélkül hagyjuk (nem írjuk be a 0-kat) A számítás során ezeket a számokat gömbölyýu zárójellel jelöltük, a pivot elemeket pedig bekere- 40 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

41 teztük A = Ã = A (2) = L = (23) (12) (12) (23) (12509) , P (0) = , 1 0 0,P (1) = , 0 1 0, U =,P= P (1) P (0) = A (0) = P (0) A A (1) = P (1) Ã Emlékeztetýoül: az L az A (2) alsó háromszög részébýol úgy keletkezett, hogy az oszlopokat osztottuk a fýoátlóban lévýo elemekkel(azaza (2) bekeretezett elemeivel), U pedig az A (2) felsýo háromszög része LU = PA, b (2) = Pb = P = A PAx = Pb egyenletet megoldva: 328 Ly = Pb y = és Ux = y x = Láttuk, hogy ha az A R n n mátrix szimmetrikus és pozitív deþnit, akkor felbontható A = LL T alakban, ahol L alsó háromszögmátrix Ekkor nem kell tárolni az A mátrix felét és az LU-felbontás (LL T -felbontás) kiszámításának a fele is megtakarítható Legyen a 11 a 1n l l 11 l 21 l n1 a 21 a 2n = l 21 l 22 0 l 22 l n2 0, a n1 a nn l n1 l n2 l nn 0 0 l nn ahonnan kapjuk, hogy a 11 = l 2 11, a 21 = l 21 l 11,,a n1 = l n1 l 11 Innen l 11 = a 11 és l i1 = a i1 /l 11 = a i1 / a 11 (i =2,,n) Tegyük fel, hogy az L elsýo k 1 oszlopát már meghatároztuk Figyelembevéve, hogy az L T mátrix k-adik AZ LU- ÉS CHOLESKY-MÓDSZEREK 41

42 oszlopában csak az elsýo k elem nem zérus, kapjuk, hogy a ik = l i1 l k1 + l i2 l k2 + + l i,k 1 l k,k 1 + l ik l kk (i = k +1,,n) és a kk = l 2 k1 + l 2 k2 + + l 2 k,k 1 + l 2 kk, ahonnan l kk =(a kk P k 1 j=1 l2 kj )1/2 Ennek Þgyelembevételével k 1 X l ik =(a ik l ij l kj )/l kk (i = k +1,,n) j=1 Ennek alapján az eljárás algoritmusa a következýo A CHOLESKY-MÓDSZER ALGORITMUSA: for k =1:n a kk =(a kk P k 1 j=1 a2 kj )1/2 for i = k +1:n a ik =(a ik P k 1 j=1 a ija kj )/a kk end end Az A mátrix alsó háromszög része fogja tartalmazni L-et Az eljárás számítási költsége n3 6 + O(n2 ) régi ßop Az eljárás, amely a Gauss-elimináció speciális esetének tekinthetýo, nem igényel pivotálást Megjegyezzük, hogy az algoritmus leírásában felhasználtuk, hogy megállapodás szerint P k j=i s j =0,hak<i 29 Az LU-módszer algoritmusa pointeres technikával Az algoritmus ezen formája lényegében a 60-as évek eleje óta ismert A P vektor tartalmazza a sorok indexeit Induláskor P (i) = i (1 i n) Sorcserék esetén ténylegesen csak a P vektor megfelelýo indexýu elemeit cseréljük ki A program a következýo: for k =1:n 1 Határozzuk meg azt t indexet, amelyre A (P (t),k) =max k i n A (P (i),k)! if k<t Cseréljük fel a P (k) és P (t) vektorkomponensek értékét! end for i = k +1:n A (P (i),k)=a(p (i),k)/a (P (k),k) A (P (i),k+1:n) =A (P (i),k+1:n) A (P (i),k) A (P (k),k+1:n) end end 42 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

43 for i =1:n s =0 for j =1:i 1 s = s + A (P (i),j) x (j) end x (i) =b P (i) s end for i = n : 1 :1 s =0 for j = i +1:n s = s + A (P (i),j) x (j) end x (i) =(x (i) s) /A (P (i),i) end 210 Utasítások, függvények és eljárások a MATLAB nyelvben A MATLAB rendszerben nagyon sok beépített függvény és eljárás segíti a programozói munkát (Eljáráson itt a hagyományos függvénykiértékelésnek nem tekinthetýo mýuveletsort pl képernyýore rajzolás értünk) Mindezen alprogramok körét maga a programozó is býovítheti, így aztán egy MATLAB program általában kevés utasításból és sok-sok függvény, illetve eljárás behívásából áll 2101 Utasítások Konkrét utasításból csak néhány fajta van A már látott egyszerýu értékadó utasításon kívül tulajdonképpen csak három további utasítást említhetünk: az IF utasítást, és két ciklusutasítást Ezek más programnyelvbýol is jól ismert összetett, ún blokkutasítások Az IF utasítás általános alakja: if feltétel utasítások {elseif utasítások} <else utasítások > end A{ } akárhányszor ismétlýodhet (el is maradhat), < > elmaradhat UTASÍTÁSOK, FÜGGVÉNYEK ÉS ELJÁRÁSOK A MATLAB NYELVBEN 43

44 A külön sorba írt részek egy sorba is írhatók Ilyenkor vesszýot, vagy pontosvesszýot kell közéjük tenni (Minden önálló utasítással is így kell eljárni) Az IF utasítás szemantikája magyarázatot nem igényel, minimális programnyelvi ismerettel rá lehet jönni Feltételként logikai kifejezéseket használunk Túlnyomórészt egyetlen reláció a kifejezés, de logikai mýuveletekkel össze is kapcsolhatjuk ýoket Relációjelek: <, <=, >, >=, = =, ~= Az utolsó kettýoaz egyenlýo, illetve nemegyenlýo jel A logikai összeadás, szorzás és a negáció jelei rendre:, &, ~ A taxatív ciklusutasítás legáltalánosabb alakja: for i = v utasítások end Az i a ciklusváltozó, v pedig általában egy vektor amely leggyakrabban k:h:m (vagy k:m) alakú Szemantika (legyen pl v elemszáma n): az i ciklusváltozó rendre felveszi a v 1,v 2,,v n értékeket és mindegyik mellett lefut a ciklusmag (Ha történetesen v mátrix, akkor v 1,v 2,,v n rendre a mátrix oszlopvektorait jelenti) Az iteratív ciklus általános alakja: while feltétel utasítások end A szemantika itt is ismerýos 2102 Függvények A MATLAB-ban való programozáshoz sokféle függvényt használhatunk Egy-két függvénnyel már találkoztunk, amelyek mátrixot közvetlenül (a semmibýol ) hoznak létre, vagy egy mátrixot egyszerýuen alakítanak át Most néhány olyan függvényt sorolunk fel, amelyek már létezýo mátrixokból állítanak elýo egy vagy több output értéket Ezek inputjai is lehetnek természetesen skalárok Bizonyos függvények alapjában véve csak skalárokra vannak értelmezve, ezeknél a függvény elemenként értendýo Pl sin(pi/4*ones(2,3)) azt a 2 3-as mátrixot jelenti, amelynek minden eleme 2/2 A függvények gazdag tárházából csak a legfontosabbakat említjük meg (a HELP segít a többit is megismerni) Elemi matematikai függvények: SIN, COS, stb Ezek a szokásos értelmezésýuek, a ROUND szabályosan kerekít DET(A) az A determinánsát, COND(A) a mátrix kondíciószámát ( 2 -es normában), RANK(A) pedig a rangját adja Néhány további fontos függvény hívását mutatja a következýo példa: 44 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

45 À[m,n]=size(A), h2=norm(a), hinf=norm(a,inf) Itt az elsýo utasításaza mátrix (vagy vektor) méretét (sorainak és oszlopainak számát) adja (a kettýo közülanemkisebbetlength(a)-val közvetlenül megkaphatjuk), a következýo kettýo pediga 2 -esés normáját Az 1 -es és a Frobenius norma is számolható a NORM(A,1), illetveanorm(a, fro ) hívással Akövetkezýo függvények outputjai sorvektorok (adott esetben persze skalárak): MAX, MIN, SUM, PROD Ha az input argumentum mátrix, de nem sorvektor, az eredményvektor az input oszlopainak a legnagyobb elemét, legkisebb elemét, összegét, szorzatát tartalmazza Ha az input egy sorvektor, akkor a vektornak veszi a legnagyobb elemét, legkisebb elemét, összegét, és a szorzatát (az eredmény tehát itt mindenképpen skalár) Fontos tudni, hogy a MAX, ésamin függvények két outputtal is hívhatók Ilyenkor a második output a megfelelýo elemek sorindexét tartalmazza A MAX, MIN függvények egy fontos alkalmazását érdemes példán bemutatni Legyen A = max(a) csak a [2, 3, 4, 5, 15] vektort adná, míg a À [c, d]=max(a), [c1,d1]=max(abs(a(3:4,2:4))) utasításokkal a c = [2, 3, 4, 5, 15] d = [2, 1, 4, 4, 2] c1 = [2, 4, 9] d1 = [1, 2, 1] eredményeket kapjuk A À [p,j]=max(max(a)) eredménye pedig a p =15, j =5, azaz A legnagyobb eleme és annak oszlopindexe Az A maximális elemének sorindexét ezek után d(j) adja, ami most természetesen 2 A beépített függvények között találunk néhány olyat is, amelyek a lineáris algebra egy-egy bonyolult algoritmusát hajtják végre Ezek közül megemlítjük a legfontosabbakat À [L,U,P]=lu(A), [T,F]=lu(A), H=chol(C) Az elsýo kettýo az LU-felbontás két verziója, az utolsó a C mátrix (aminek szimmetrikus, pozitív deþnitnek kell lennie) Cholesky-felbontását adja Az eredményekre igaz a következýo: L, P T, H alsó háromszögmátrixok, U, F felsýo háromszögmátrixok, P permutációmátrix, továbbá L = PT, U = F, LU = PA, TF = A, HH T = C À X=inv(A), [Q,R]=qr(A) UTASÍTÁSOK, FÜGGVÉNYEK ÉS ELJÁRÁSOK A MATLAB NYELVBEN 45

46 Itt X az A inverze (ha az létezik), Q ortogonális, R felsýo háromszögmátrix és QR = A À s=eig(a), [V,D]=eig(A) Az elsýo utasítása sajátértékeit helyezi az s vektorba A második után a sajátértékek a diagonális D mátrixban jelennek meg, a V mátrix i-edik oszlopa pedig a d ii -hez tartozó sajátvektor (aminek "2"-es normája 1) lesz Bár nem a beépített függvények közé tartoznak, de itt említjük meg a numerikus módszerek nemlineáris eljárásaira készült függvényeket Néhány közülük: az FSOLVE nemlineáris egyenletrendszerek megoldását végzi, a QUAD integrált számol adaptív Simpson-formulával, a SPLINE természetes spline interpolációt végez 2103 M-adatállományok, eljárások MATLAB utasítások sorozata egy MATLAB programot alkot A programot M kiterjesztésýu adatállományban (M-adatállomány) kell elhelyeznünk A behívása egyszerýuen a nevével történik Pl a À prog utasítás betölti és lefuttatja a progm adatállományban lévýo programot Az egyszerýu program (script-þle) változói globális változók Lehetýoségünk van egy M-adatállományban a beépített függvényekkel egyezýo módon hívható saját függvények deþniálására Ekkor az utasítássorozatot function [k 1,,k t ]=fnév(b 1,,b s ) sorral kell kezdenünk A k 1,,k t kimenýo ésab 1,,b s bemenýo paraméterek száma (elvben) tetszýoleges A függvény azonosítóját és az adatállomány nevét érdemes egyeztetni, azaz a függvényt az fnévm állományban elhelyezni Az állományban (script-þle-ban is) bárhol elhelyezhetünk RETURN utasítást, ennek hatása a szokásos A függvény deþníciós programjában szereplýo, nem paraméter változók lokálisak Egy-egy változó globálissá tehetýo aglobal utasítással Bemenýo paraméterként szerepelhet függvénynév is Ilyenkor a function programban a FEVAL eljárást kell hívni Pl ha az f paraméter egy kétváltozós függvény, akkor z = f(x, y) hibás, helyette a z = feval(f, x, y) ahelyesutasítás Ismerkedjünk meg néhány további lehetýoséggel is A DISP(változó) vagy DISP( szöveg ) eljárás a képernyýon megjeleníti az argumentumát A DIARY oda utasítás kiadása után minden képernyýoüzenet oda (tetszýoleges adatállomány lehet) is kiíródik Ezen naplózást a diary off utasítással fejezhetjük be, diary on ott folytatja, ahol elýozýoleg abbahagyta Ha x és y egy-egy azonos hosszúságú vektor, akkor a plot(x,y) hatására a képernyýon egy görbét kapunk az (x i,y i ) pontokból A PLOT eljárást más formában is hívhatjuk Az idýomérést egy példán keresztül mutatjuk be: À t=clock %vagy t=cputime 46 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

47 À {utasítások} Àtt=etime(clock,t) %vagy tt=cputime-t A CLOCK egy 6 elemýu vektorban a dátum és idýo adatokat tárolja, az ETIME az argumentumainak különbségét adja másodpercekben (század pontossággal), a CPUTIME pedig a MATLAB indítása óta eltelt idýot méri 211 Feladatok 1 Mekkora a lehetséges legnagyobb aritmetikai mýuveletigénye a részleges és a teljes fýoelemkiválasztásnak? 2 Állítson elýo a MATLAB-ban egy véletlen 4 4-es A mátrixot és egy csupa 1-es, 4elemýu y vektort, majd a b vektort, melyre b = Ay Program és az LU függvény használata nélkül, egyszerre csak egy-egy utasítást adva ki, lépésrýol-lépésre hajtva végre az algoritmusokat, számítsa ki az Ax = b egyenletrendszer megoldását Gaussmódszerrel (i) pivotálás nélkül, (ii) részleges fýoelemkiválasztással, (iii) teljes fýoelemkiválasztással, (iv) valamint LU -módszerrel is! (v) Határozza meg a pivot elemek növekedési tényezýojét az elsýo három esetben! (vi) Hasonlítsa össze a megoldásokat az x =[1, 1, 1, 1] T pontos megoldással! 3 Az elýozýo feladat A mátrixával számítsa ki a B = A T A mátrixot, majd (i) határozza meg a B = LU felbontást Gauss-módszerrel! (ii) Adja meg azt a D diagonál mátrixot, melyre L 1 = LD és D 1 U = L T 1 teljesül! (iii) A CHOL függvénnyel számítsa ki B Cholesky-felbontását és hasonlítsa össze az elýobb kapott L 1 illetve L T 1 -vel! FELADATOK 47

48 48 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

49 3 MÁTRIXOK TÁROLÁSI FORMÁI Mátrixalgoritmusok esetében két fontos kérdés azonnal felvetýodik: - a mátrixok (vektorok) tárolása, - az algoritmus számítógépideje (mýuveletigény) A következýokben mátrixok speciális tárolási módjaival foglalkozunk, amelyek célja a programkód hatékonyabbá tétele és a lehetýo legkevesebb számítógép-memória használata A programnyelvtýol és a mátrixok speciális tulajdonságaitól függýo speciális tárolási technikák általános szabályai a következýok: (a) A tárolási séma felhasználói szempontból legyen a lehetýo legegyszerýubb; (b) Tegye lehetýové az alapvetýo mátrix-vektor mýuveletek hatékony megvalósítását A bemutatásra kerülýo technikák csak egy részét képezik a gyakorlatban használt lehetýoségeknek 31 Mátrixok és vektorok tárolása hagyományos módon Magasszintýu programnyelvekben vektorok tárolása egydimenziós tömb, mátrixok tárolása pedig kétdimenziós tömb formájában történik Eszerint az x R n vektornak az X (1),,X(N) egydimenziós tömb felel meg (jelölés:x (1 : N)) Az x vektor és az X(1 : N) tömb elemei között a kölcsönösen egyértelmýu megfeleltetési szabály: x i X (i) Az A R m n mátrixnak az A (i, j) (i =1,,m, j =1,,n) kétdimenziós tömb felel meg (Jelölés: A (1 : M,1 :N)) Az A mátrix elemei és az A(1 : M, 1:N) kétdimenziós tömb elemei közötti megfeleltetési szabály: a ij A (i, j) A fenti közvetlen megfeleltetés miatt a vektor és mátrixmýuveletek nyelvi megvalósítása elvileg problémamentes Fontos megjegyezni, hogy FORTRAN nyelvben az egydimenziós tömb elemei egymást követýoen, folytonosan helyezkednek el a memóriában Eszerint addr (X (i)) = addr (X (1)) + i 1 (i =1,,N) A FORTRAN a kétdimenziós tömbök elemeit szintén hézagmentesen és oszlopfolytonosan helyezi el egy M N méretýu vektorban (egydimenziós tömbben), ahol M és N 49

50 a tömb legnagyobb deklarált mérete Ez azt jelenti, hogy az A (i, j) elemek tárolási sorrendje: A (1, 1),,A(M,1),A(1, 2),,A(M,2),,A(1,N),,A(M,N) {z } {z } {z } 1 oszlop 2 oszlop N oszlop Az A (i, j) elem címét az addr (A (i, j)) = addr (A (1, 1)) + (j 1) M + i 1 összefüggés adja meg A cím számításánál használt M (sorok száma) a programban rögzített (deklarált) legnagyobb érték Ha a deklarált legnagyobbnál kisebb méretýu mátrixot használunk, akkor ennek elemei hézagosan helyezkednek el a fenti vektorban 32 Mátrixok tárolása vektorformában Elsýosorban a FORTRAN nyelv és fordítók speciális tulajdonságai és az optimális kódok iránti törekvés miatt került bevezetésre és széleskörýu használatra a mátrixok vektorformájú tárolása Itt az A R m n mátrixnak egy X(1 : M N) tömb felel meg Az elemek közti megfeleltetés oszlopfolytonos leképezés esetén sorfolytonos leképezés esetén a ij X ((j 1) M + i), a ij X ((i 1) N + j) Ennél a tárolási módnál a multiplikatív mátrix-vektor mýuveletek algoritmizálása már komoly Þgyelmet igényel Legyen A R m l és B R l n és vizsgáljuk a C = AB R m n mátrixszorzatot Ha az A, B és C mátrixokat sorfolytonosan az A (1 : ML), B (1 : LN), ill C (1 : MN) tömbben tároljuk (ML = M L, LN = L N, MN = M N), akkor a lx c ij = a it b tj mátrixelemnek a C((i 1) N + j)= {z } KC t=1 lx A((i 1) L + t)b((t 1) N + j) {z } {z } KA KB t=1 50 MÁTRIXOK TÁROLÁSI FORMÁI

51 hozzárendelés felel meg Az alábbi algoritmus a C = AB mátrixszorzást valósítja meg: KC =1 KAU =0 for i =1:M KAL = KAU +1 KAU = KAU + L for j =1:N KB = j X =00 for KA = KAL : KAU X = X + A (KA) B (KB) KB = KB + N end C (KC)=X KC = KC +1 end end 33 Szabályos szerkezetýu speciális mátrixok tárolása 331 Háromszögmátrixok tárolása Ha A R n n alsó vagy felsýo háromszögmátrix alakú, akkor n (n 1) /2 zéruselemet tartalmaz Ezek tárolása felesleges Háromszögmátrixok tárolása leggyakrabban a nemzérus elemek oszlop-, ill sorfolytonos felsorolásával történik Az oszlopfolytonos esetben, ha A alakja A = akkor a megfelelýo tárolási leképezés a 11 a 12 a 13 a 1n 0 a 22 a 23 a 2n 0 a a nn, Array A = {a 11 a 12,a 22 a 13,a 23,a 33 a 1n,a 2n,,a nn }, azaz a ij A (i + j (j 1) /2) (i j) SZABÁLYOS SZERKEZETýU SPECIÁLIS MÁTRIXOK TÁROLÁSA 51

52 Ha A alakja A = akkor a megfelelýo tárolási leképezés a a 21, a n 1,1 a n 1,n 1 0 a n1 a n,n 1 a nn Array A = {a 11,a 21,,a n1 a n 1,n 1,a n,n 1 a nn }, azaz a ij A (i +(2n j)(j 1) /2) (j i) A most tárgyalt tárolási forma, amelyet csomagolt tárolásnak (packed storage) nevezzük, a programkönyvtárakban általánosan elterjedt 332 Szimmetrikus mátrixok tárolása Ha A R n n szimmetrikus mátrix, akkor a szimmetria miatt elég csak az alsó, vagy felsýo háromszög részét tárolni Ezt leggyakrabban a csomagolt tárolási formában teszik Szimmetrikus mátrixok esetén használatos még az ún diagonális tárolási forma Ha A alakja a 11 a 21 a 31 a n1 a 21 a 22 a 32 a n2 a 31 a 32 a 33 a n3 A =, a n 1,n 1 a n,n 1 a n1 a n2 a n3 a n,n 1 a nn akkor a megfelelýo tárolási leképezés azaz Array A = {a 11,,a nn a 21,,a n,n 1 a n 1,1,a n2 a n1 }, a i+k,i = A (i + kn k (k 1) /2) (k 0) Példa Legyen A = Ekkor Array A = {5, 4, 7 3, 2 9} 52 MÁTRIXOK TÁROLÁSI FORMÁI

53 333 Sávmátrixok tárolása 31 DeÞníció Az A R n n mátrix sávmátrix p alsó sávszélességgel és q felsýo sávszélességgel, ha teljesül, hogy a ij =0, ha i>j+ p, vagyi + q<j A sávot, amelynek elemeit nemzérus elemként kezeljük, azon a ij elemek deþniálják, amelynek indexeire teljesül, hogy i p j i + q, vagy ekvivalens módon j q i j + p Sematikusan ábrázolva a 11 a 12 a 1,1+q 0 0 a 21 a 22 a 1+p,1 0 A = 0 a n q,n an 1,n 0 0 a n,n p a n,n 1 a nn A sávmátrixok akkor érdekesek, ha p és q jóval kisebb mint n Leggyakoribb tárolási módjuk a sávba esýo elemek oszlopfolytonos tárolása egy (p + q + 1) n méretýu mátrixban a következýok szerint a 1,q+1 a n q,n A band = a 12 a 11 a 22 a nn a 21 a p+1,1 a p+2,2 a p+q+1,q+1 a n,n p A szimbólummal jelölt elemek nincsenek használva Ha (i, j) a sávba esik, akkor a megfelelýo index leképezés a ij A band (i j + q +1,j) SZABÁLYOS SZERKEZETýU SPECIÁLIS MÁTRIXOK TÁROLÁSA 53

54 Példa MATLAB program az y = Ax szorzat kiszámítására, ha A afentimódon tárolt sávmátrix: function: y = savszorx(a, x) n = length(x); y = zeros(n, 1); for i =1:n for j =max(1,i p) :min(i + q, n); y(i) =y(i)+a (i j + q +1,j) x(j); end end A most megismert tárolási módot használja a LAPACK programcsomag Sávmátrixok tárolása természetesen más módokon is történhet Az elýobbi technikával tárolhatjuk ýoket soronként is Ha a sávmátrix szimmetrikus, akkor megspórolhatjuk az alsó vagy a felsýo rész tárolását Végezetül a kapott téglalapmátrixot átírhatjuk vektoralakba is Szokásos még használni a diagonális tárolást is 34 Ritka mátrixok 32 DeÞníció (heurisztikus): Egy A R n n mátrixot ritkának nevezünk, ha a nemzérus elemek száma nnz lényegesen kisebb mint n 2 A lényegesen kisebb kifejezésen egy O (n) nagyságrendýu, de legfeljebb O n 1+ε nagyságrendýu elemszámot értünk, ahol 0 < ε < 1 egy a 0-hoz közeli szám Megjegyezzük, hogy a korábban látott sávmátrixok is ritka mátrixok, azonban ritkasági mintájuk szabályos Lényegesen nagyobb problémát jelentenek azok a ritka mátrixok, amelyek nemzérus elemei szabálytalanul helyezkednek el Ritkasági mintának nevezzük a nemzérus elemek elhelyezkedésének geometriáját A ritka mátrixokon végzett mýuveletek gyakran eredményeznek olyan mátrixokat, amelyek ritkasági mintája és e- lemszáma az eredetitýol eltér, esetleg tömör mátrix Ezért a ritka mátrixok tárolása, a ritka mátrixokkal végzett mýuveletek hatékony végrehajtása, az eredmények tárolása komoly Þgyelmet és fejlesztýomunkát igényel Az elmondottak illusztrálásaként vizsgáljuk a Gauss-elimináció elsýo fázisát a 28 nemzérus elemet tartalmazó A = MÁTRIXOK TÁROLÁSI FORMÁI

55 mátrixon, ahol jelöli a nemzérus elemeket Feltesszük, hogy a Gauss-elimináció végrehajtható A Gauss-elimináció elsýo lépésében kinullázunk 3 nemzérus elemet A lépés eredményeként kapott mátrix azonban 31 nemzérus elemet tartalmaz A belépýo 6 új nemzérus elemet jelöli Az elsýo fázis végén kapott felsýo háromszögmátrix az eredetihez képest 7 új nemzérus elemet tartalmaz Ezt a jelenséget feltöltýodésnek (Þll in) nevezzük 341 A háromsoros módszer A következýokben egy általánosan elterjedt módszert ismertetünk ritka mátrixok tárolására A módszer lényege az, hogy a nemzérus elemeket, valamint sor és oszlopindexüket három nnz hosszúságú vektorban (listában) tároljuk oszlopfolytonosan vagy sorfolytonosan Tekintsük a következýo példát: A = (n =5, nnz =12) RITKA MÁTRIXOK 55

56 Ekkor a megfelelýo (oszlopfolytonos) háromsoros reprezentáció a következýo: val = ª row_ind = ª col_ind = ª Valójában az oszlop- vagy sorfolytonos tárolás nem igazi megszorítás Szokás véletlen sorrendben is tárolni a nemzérus elemeket, vagy a mátrix-vektor mýuveletek szervezésénél elhelyezkedésüket ilyennek tekinteni A lista végére könnyýu új nemzérus elemeket beilleszteni A mátrix-vektor mýuveletek ennél a tárolási módnál valójában listamýuveletek A teljesség igénye nélkül felsorolunk még néhány gyakran használt ritka mátrix tárolási formát: - összenyomott soros tárolás (CRS, Compressed Row Storage), - összenyomott oszlop tárolás (CCS, Compressed Column Storage), - változó sávmátrix (SKS, Skyline Storage) 342 Ritka mátrixok a MATLAB rendszerben A ritka mátrix kezelés a MATLAB rendszerben a 40 verziótól kezdve létezik Ritka mátrixokkal kapcsolatos eljárásokat és beépített függvényeket (ill ezek leírását) a SPARFUN könyvtár tartalmazza A MATLAB a ritka mátrixokat háromsoros formában fogadja el, ill írja ki A ritkaság az adat attributuma A ritka mátrixokat a SPARSE utasítással lehet deþniálni, amelyet több variánsban is meg lehet hívni Ezek közül a három legfontosabb hívásmód: 1 S = SPARSE(X) Teljes mátrixot ritka formára konvertál 2 S = SPARSE(i, j, s, m, n, nzmax) Egy m n ritka mátrixot deþniál, amelyben a nemzérus elemek száma maximálisan nzmax és a nemzérus elemeket háromsoros formában az [i, j, s] mátrix sorai deþniálják, ahol i, j és s azonos hosszúságú vektorok A SPARSE utasítás használatának módját a HELP SPARSE utasítás adja meg 3 S = SPDIAGS(A, d, m, n) Egy m n méretýu ritka (sáv)mátrixot ad, melynek d i -edik diagonálisába az A mátrix i-edik oszlopának elemei kerülnek, a feltöltést elölrýol kezdve Az oszlop hossza nem lehet rövidebb, mint a diagonálisé Hosszabb viszont lehet, ilyenkor az oszlop nem minden eleme kerül az S szóbanforgó diagonálisába A SPDIAGS más formában is hívható Sparse mátrixok átkonvertálását végzi teljes formára a FULL utasítás, amelynek alakja A = FULL(X) A FIND utasítás egy mátrix nemzérus elemeit adja meg Az NNZ utasítás adott mátrix nemzérus elemeinek számát adja meg A SPY utasítás graþkusan ábrázolja a nemzérus elemek elhelyezkedését 56 MÁTRIXOK TÁROLÁSI FORMÁI

57 Hasznos utasítások a SPEY E és a SPRAND, amelyek ritka formában tárolt egységmátrixot, ill (itt most egyenletes eloszlású) véletlen mátrixokat generálnak A MATLAB a ritka mátrixos mýuveleteket automatikusan kezeli Általános szabályok a következýok: - Teljes mátrixokkal végzett mýuveletek eredményei teljesek - Ritka mátrixokkal végzett mýuveletek eredményei ritkák - Vegyes mýuveletek eredményei teljesek, kivéve, ha az eredmény várhatóan ritka lesz A MATLAB rendszerben megvalósított ritka mátrix kezelési technika lehetýové teszi például, hogy a Gauss-eljárás általunk készített programjait átalakítás nélkül alkalmazzuk ritka mátrixokra Ha A ritka mátrix, akkor a MATLAB a számítást is ritka mátrix formában fogja elvégezni Megjegyezzük, hogy egy sor beépített függvény ritka mátrix esetén ritka mátrix eredményt ad vissza és a beépített megoldó is automatikusan kezeli a ritka mátrixokat 35 Feladatok 1 Írjon programot (algoritmust) kétdimenziós tömb formában megadott felsýo háromszögmátrixok szorzására! 2 Írjon programot az y = Ax mátrixszorzat kiszámítására, ahol A diagonális formában adott háromszögmátrix! 3 Vizsgálja véletlen és szabályos mintájú ritka mátrixok esetén az A (k) Gausseliminációs mátrixok ritkaságát! FELADATOK 57

58 58 MÁTRIXOK TÁROLÁSI FORMÁI

59 4 A GAUSS-MÓDSZER SÁVMÁTRIXOKON Sávmátrixú egyenletrendszereken a Gauss-elimináció alakja speciális, ugyanis az I fázis k-adik lépését a a 11 a 1,1+q a kk a k,k+q a k+p,k a k+p,k+p a k+p,k+p+q 0 0 an q,n a n,n p a nn speciális mátrixú egyenletrendszeren kell elvégezni Világos, hogy az a kk alatti együtthatók kinullázását csak az i = k +1,,k+ p sorokban kell elvégezni feltéve, hogy k + p n Az is világos, hogy ezekben az aktív sorokban az új a ij együtthatók transzformációs képletét csak a k + q-adik oszloppal bezárólag kell kiszámolni Értelemszerýuen kell módosítani a II visszahelyettesítýo fázist is, ahol a felsýo háromszögmátrix q felsýo sávszélességýu A Gauss-módszer fenti módosításából következik, hogy az A = LU felbontásban U egy q felsýo sávszélességýu sávmátrix, azl pedig p alsó sávszélességýu Formálisan is megfogalmazva, igaz a következýo 31 Tétel Legyen A R n n p alsó és q felsýo sávszélességýu sávmátrix Tegyük fel, hogy A-nak létezik A = LU alakú LU-felbontása Ekkor L sávmátrix p alsó sávszélességgel és U sávmátrix q felsýo sávszélességgel Bizonyítás Teljes indukcióval történik Tegyük fel, hogy az A mátrix k k típusú, p alsó és q felsýo sávszélességgel rendelkezýo sávmátrix, amelyre igaz a tétel állítása Legyen ea = A b c T α, b,c R k, α R 59

60 és tegyük fel, hogy a b vektor utolsó q komponense és a c vektor utolsó p komponense nemzérus Az ea mátrix LU-felbontása L 0 U L ea = 1 b c T U α c T A 1 b Mármost L 1 b = = miatt az L 1 b mátrixnak csak az utolsó q sora nem zérus Hasonlóan, vagy a c T U 1 T = U T c összefüggésre való hivatkozással láthatjuk be, hogy a c T U 1 mátrixnak csak az utolsó p eleme nem zérus Ezzel állításunkat igazoltuk A tétel elvi jelentýosége az, hogy az L és U faktorok tárolását az A sávmátrix helyén elvégezhetjük q 41 Az LU-módszer sávmátrixokon Akövetkezýokben 3 részletben megadjuk az LU-módszer sávos változatát Legyen A R n n sávmátrix p alsó és q felsýo sávszélességgel Az 1 Algoritmus az A sávmátrix LU-felbontását adja meg 1 ALGORITMUS: for k =1:n 1 for i = k +1:min{k + p, n} a ik = a ik /a kk for j = k +1:min{k + q, n} a ij = a ij a ik a kj end end end Az a ij fogja tartalmazni l ij -t, ha i>jés u ij -t, ha i j Az 1 Algoritmus mýuveletigénye c (p, q) régi ßop, ahol ½ npq 1 c (p, q) = 2 pq2 1 6 p3 + pn, p q npq 1 2 qp2 1 6 q3 + qn, p > q Legyen L R n n sávos alsó háromszögmátrix p alsó sávszélességgel Adott b R n esetén a 2 Algoritmus felülírja a b vektort az Ly = b egyenletrendszer megoldásával 60 A GAUSS-MÓDSZER SÁVMÁTRIXOKON

61 2 ALGORITMUS: for i =1:n b i = b i P i 1 j=max{1,i p} l ijb j end A 2 Algoritmus mýuveletigénye np p 2 /2 régi ßop Legyen U R n n sávos felsýo háromszögmátrix q felsýo sávszélességgel Adott b R n esetén, a 3 Algoritmus felülírja a b vektort az Ux = b egyenletrendszer megoldásával 3 ALGORITMUS: for i = n : 1 :1 b i = ³ b i P min{i+q,n} j=i+1 u ij b j /u ii end A 3 Algoritmus mýuveletigénye n (q +1) q 2 /2 régi ßop 42 A Cholesky-módszer sávmátrixokon Az eljárás alapja a következýo eredmény 32 Tétel Legyen A R n n szimmetrikus sávmátrix, amelynek közös alsó és felsýo sávszélessége p Ha A pozitív deþnit, akkor felbontható A = GG T alakban, ahol G sávos alsó háromszögmátrix p alsó sávszélességgel Legyen A R n n szimmetrikus, pozitív deþnit p alsó sávszélességgel ALGORITMUS (sávmátrixok Cholesky-felbontása): for i =1:n for j =max{1,i ³ p} : i 1 a ij = a ij P j 1 k=max{1,i p} a ika jk /a jj end ³ a ii = a ii P 1/2 i 1 k=max{1,i p} a2 ik end Az a ij elemek tartalmazzák a g ij elemeket (i j) Az eljárás mýuveletigénye np 2 /2 p 3 /3 +(3/2) np p 2 régi ßop és n négyzetgyökvonás 43 Pivotálás sávmátrixokon Ha az A R n n p alsó és q felsýo sávszélességýu sávmátrixon részleges fýoelemkiválasztást kell végrehajtani, akkor az U sávos felsýo háromszögmátrix sávszélessége q helyett maximálisan p + q lesz Ennek okát mutatja az alábbi ábra A CHOLESKY-MÓDSZER SÁVMÁTRIXOKON 61

62 Ha ugyanis a k-adik eliminációs lépésben a pivot elem a k+p,k,akkorak-adik és a p + k-adik sort kell felcserélnünk Ekkor a k-adik sorban a felsýo sávszélesség (q + p)-re nýo Pivotálás esetén is a LAPACK tárolási módot használjuk a következýo módosítással Induláskor az A mátrixot oszlopfolytonosan elhelyezzük egy (2p + q + 1) n típusú mátrixban a következýoképpen a 1,q+1 a n q,n a 12 a 11 a 22 a nn a 21 a p+1,1 a p+2,2 a p+q+1,q+1 a n,n p Az induláskor üres felsýo p sor a pivotálás során töltýodik fel 62 A GAUSS-MÓDSZER SÁVMÁTRIXOKON

63 44 Feladatok 1 Írjuk át a fýoelemkiválasztás nélküli, síma Gauss-elimináció algoritmusát sávmátrixú egyenletrendszerre (a) feltételezve, hogy An n-es formában adott; (b) feltételezve, hogy A LAPACK formában adott 2 Adjuk meg a részleges fýoelemkiválasztásos Gauss-elimináció algoritmusát sávmátrixok esetére 3 Írjon teljes algoritmust a sávos Cholesky-eljárásra FELADATOK 63

64 64 A GAUSS-MÓDSZER SÁVMÁTRIXOKON

65 5 SZABVÁNYOS LINEÁRIS ALGEBRAI SZUBRUTINOK A BLAS (Basic Linear Algebra Subprograms) programcsomagok alapgondolata a gyakran elýoforduló mátrix-vektor mýuveletek hatékony implementálása és szabványosítása A BLAS rutinokat eredetileg FORTRAN nyelven publikálták, de szabványos jellegük miatt számos számítógépen és programkönyvtárban optimalizált gépi kódú rutinként is elérhetýok A BLAS rutinoknak három szintje létezik: - BLAS 1 (1979), - BLAS 2 (1988), - BLAS 3 (1989) Az egyes szintek az implementált mátrixmýuveletek mýuveletigény nagyságrendjének felelnek meg A BLAS 1-3 rutinok az adott mýuveletek legjobb, vagy legjobbnak tartott algoritmikus megvalósításait tartalmazzák Az egyes algoritmusok és szintek helyes megválasztása nagymértékben befolyásolja adott program hatékonyságát A BLAS rutinoknak létezik ún sparse-blas változata is ritka mátrixok kezelésére Megjegyezzük, hogy a BLAS 3 rutinokat fýoként blokkosított párhuzamos algoritmusokhoz fejlesztették ki A BLAS rutinokkal épülnek fel a LINPACK, EISPACK és LAPACK szabványosított lineáris algebrai programcsomagok Az említett programok megtalálhatók a NETLIB nyilvános programkönyvtárban, amelynek címe: ftp://ftpnetliborg 51 BLAS 1 rutinok Legyen α R, x, y R n A BLAS 1 rutinok a legfontosabb vektormýuveleteket (z = αx, z = x + y, dot = x T y), az kxk 2 kiszámítását, változócseréket, forgatásokat, valamint a rendkívül gyakran elýoforduló ún saxpy mýuveletet tartalmazzák, amelyet z = αx + y deþniál A saxpy betýuszó jelentése: scalar alpha x plus y A saxpy mýuveletet a következýo algoritmus valósítja meg: function: z = saxpy (α,x,y) n = length (x) for i =1:n z (i) =αx (i)+y(i) end 65

66 A saxpy szoftver eredetýu mýuvelet A BLAS 1 rutinok mýuveletigénye O (n) régi ßop 52 BLAS 2 rutinok ABLAS2szintmátrix-vektormýuveletei O n 2 régi ßop igényýuek Az idetartozó mýuveletek y = αax+βy, y = Ax, y = A 1 x, y = A T x, A A+xy T és ezek variánsai Bizonyos mýuveletekben csak háromszögmátrixok szerepelhetnek Két mýuvelettel kell részletesen foglalkoznunk A külsýo v diadikusszorzatmódosításimýuvelet (outer product update) A A + xy T A R m n, x R m, y R n kétféleképpen is megvalósítható Soronkénti, vagy ij változat: for i =1:m A (i, :) = A (i, :) + x (i) y T end A : jelölés az összes megengedett indexet jelöli Esetünkben az 1 j n indexhalmazt, azaz az A mátrix teljes sorát Oszloponkénti, vagy ji változat: for j =1:n A (:,j)=a(:,j)+y(j) x end Itt A (:,j) az A j-edik oszlopát jelöli Vegyük észre, hogy mindkét változat saxpy alapú A gaxpy mýuvelet a z = y + Ax x R n, y R m, A R m n mýuvelet elnevezése A szintén szoftver eredetýu gaxpy mýuvelet a general Axplus y kifejezés rövidítése A helyesen programozott gaxpy mýuvelet általában elýonyösebb a külsýo szorzat módosítási mýuveletnél, ezért ennek használatára kell törekedni A gaxpy mýuveletet megvalósító algoritmus sémája a következýo: function: z = gaxpy (A, x, y) z = y for j =1:n z = z + x (j) A (:,j) end Vegyük észre, hogy oszloponként történik a számítás és a gaxpy mýuvelet tulajdonképpen általánosított saxpy 66 SZABVÁNYOS LINEÁRIS ALGEBRAI SZUBRUTINOK

67 53 BLAS 3 rutinok Ide tartoznak az O n 3 mýuveletigényýu mátrix-mátrix, mátrix-vektor mýuveletek, úgymint az C αab + βc, C αab T + βc, B αt 1 B (T háromszögmátrix), valamint ezek különféle variánsai A BLAS 3 szint mýuveleteit számos formában lehet algoritmizálni Például a C = AB mátrixszorzást legalább háromféleképpen tudjuk elvégezni Legyen A R m r, B R r n A mátrixszorzás dot (skalárszorzat) változata: function: C = matmatijk (A, B) C (1 : m, 1:n) =0 for i =1:m for j =1:n for k =1:r C (i, j) =C (i, j)+a (i, k) B (k, j) end end end Az algoritmus c ij -t az A mátrix i-edik sorának és a B mátrix j-edik oszlopának skalárszorzataként számítja ki (tulajdonképpen a deþníciónak megfelelýoen) Legyen most A, B, C oszloponként particionálva, azaz Ekkor fennáll, hogy A =[a 1,,a r ] (a i R m ), B =[b 1,,b n ] (b i R r ), C =[c 1,,c n ] (c i R m ) c j = rx b kj a k (j =1,,n) k=1 Tehát c j az A oszlopainak lineáris kombinációja A szorzat pedig felépíthetýo saxpy mýuveletek sorozatával A mátrixszorzás gaxpy változata: function: C = matmatjki (A, B) C (1 : m, 1:n) =0 for j =1:n for k =1:r for i =1:m C (i, j) =C (i, j)+a (i, k) B (k, j) end end end BLAS 3 RUTINOK 67

68 A jki-algoritmus következýo ekvivalens formája mutatja, hogy ténylegesen gaxpy alapú eljárás: C (1 : m, 1:n) =0 for j =1:n C (:,j)=gaxpy (A, B (:,j),c(:,j)) end Tekintsük most az A =[a 1,,a r ] (a i R m )és B = b T 1 b T r (b i R n ) particionálásokat Ekkor C = AB = P r k=1 a kb T k A mátrixszorzat külsýo szorzat változata: function: C = matmatkji (A, B) C (1 : m, 1:n) =0 for k =1:r for j =1:n for i =1:m C (i, j) =C (i, j)+a (i, k) B (k, j) end end end Abelsýo ciklus egy saxpy mýuveletet valósít meg, amennyiben a k többszörösét a C mátrix j-edik oszlopához adja 68 SZABVÁNYOS LINEÁRIS ALGEBRAI SZUBRUTINOK

69 6 A KLASSZIKUS HIBASZÁMÍTÁS ELEMEI A klasszikus hibaszámítás alapmodellje a következýo A pontos értékeket nem ismerjük, csak adott hibakorlátú közelítéseiket A közelítýo értékekkel pontosan végzett mýuveletek eredményét az ismeretlen elméleti eredmény közelítésének tekintjük és azt vizsgáljuk, hogy mekkora a közelítés hibája Például a közelítés hibája legfeljebb 001 Akövetkezýo jelöléseket és elnevezéseket használjuk: x pontos érték, a az x közelítése (a x), a = x a a közelítés hibája, δa az a közelítýo érték abszolút hibakorlátja, ha fennáll x a = a δa 61 Az aritmetikai mýuveletek abszolút hibái Legyen x és y két pontos érték, a az x, b pedig az y közelítése Tegyük fel, hogy az a és b közelítések abszolút hibakorlátai δa, ill δb Ezekre fennáll, hogy x a = a δa, y b = b δb Jelölje a +,,,/ mýuveletek bármelyikét elméleti eredmény közelítésének tekintjük és a Az a b mýuvelet eredményét az x y (a b) = (x y) (a b) δ (a b) mennyiségre keresünk becsléseket, ahol (a b) a mýuvelet hibáját, δ(a b) pedig abszolút hibakorlátját jelöli 61 Tétel Igazak a következýo becslések: Bizonyítás Az összeg esetében fennáll, hogy δ (a + b) δa + δb, (61) δ (a b) δa + δb (62) (x + y) (a + b) = (x a)+(y b) x a + y b = a + b δa + δb, amibýol a fenti állítás következik A különbség esetében hasonlóan kapjuk, hogy (x y) (a b) = (x a) (y b) x a + y b = a + b δa + δb, 69

70 ami bizonyítandó volt A szorzat abszolút hibakorlátjára kapjuk, hogy xy ab = (a + a)(b + b) ab = a b + b a + a b a δb + b δa + δaδb Ha a Àδa és b Àδb, akkor a δaδb másodrendýu hibatagot elhanyagolhatjuk és a közelítýo becslést kapjuk Az osztás esetén azt kapjuk, hogy x y a b = a + a b + b a b = a b + b a b(b + b) δ(ab) a δb + b δa (63) a b + b a b 2 (1 b b ) a δb + b δa b 2 (1 δb b ) Ha b Àδb, akkor a nevezýoben lévýo δb b tagot elhanyagolhatjuk és a δ(a/b) közelítýo becslést kapjuk 62 Tétel Fennállnak az alábbi közelítýo egyenlýoségek: a δb + b δa b 2 (64) δ(ab) a δb + b δa ( a Àδa, b Àδb), (65) δ(a/b) a δb + b δa b 2 (b 6= 0, b Àδb) (66) Figyeljük meg, hogy osztás abszolút hibakorlátja 0-hoz közeli b esetén rendkívül nagy lehet! 62 Függvényértékek hibája Külön foglalkozunk az egy- és a többváltozós esetekkel Legyen f : R R legalább kétszer folyonosan differenciálható függvény, x a Azf(x) helyett f(a)-t számoljuk Az f(x) =f(a)+f 0 (a)(x a)+ f 00 (ξ) (x a) 2 (ξ (a δa, a + δa)) 2 70 A KLASSZIKUS HIBASZÁMÍTÁS ELEMEI

71 másodrendýu Taylor-formulából kapjuk, hogy f(x) f(a) = f 0 (a)(x a)+ f 00 (ξ) (x a) 2 f 0 (a) δa + M(δa) 2, 2 ahol M 1 2 f 00 (x) (x [a δa, a + δa]) A másodrendýu M(δa) 2 tagot elhanyagolva kapjuk, hogy a függvénybehelyettesítés abszolút hibája δ (f (a)) f 0 (a) δa (67) Legyen f : R n R legalább kétszer folytonosan differenciálható függvény, x, a R n és x a Legyen a = x a, x i a i = a i δa i (i =1,,n)ésδa = [δa 1,,δa n ] T Azf(x) helyett az f(a) függvényértéket számoljuk A többváltozós f(x) =f(a)+ f(a) T (x a)+ 1 2 (x a)t H(a + ξ(x a))(x a) (0 < ξ < 1), Taylor-formulát használjuk, ahol f (x) = h f(x) x 1 H(x) = 2 f(x) x i x j n i T,, f(x) x n és i,j=1 az ún Hesse-mátrix Tegyük fel, hogy kh(a + ξ(x a))k M Ekkor az x T y kxk 2 kyk 2 és kaxk 2 kak F kxk 2 egyenlýotlenségek alapján (x a) T H(a + ξ(x a))(x a) kx akkh(a + ξ(x a))(x a)k kh(a + ξ(x a))kkx ak 2 Ezt felhasználva kapjuk, hogy f(x) f(a) f(a) T (x a) + 1 M kx ak2 2 nx f(a) x i δa i + 1 M kx ak2 2 i=1 ahonnan a másodrendýu M kx ak 2 = M k ak 2 M P n i=1 (δa i) 2 tagot elhanyagolva kapjuk a becslést δ (f (a)) nx i=1 f(a) x i δa i (68) FÜGGVÉNYÉRTÉKEK HIBÁJA 71

72 63 Az aritmetikai mýuveletek relatív hibái Az abszolút hiba sok esetben semmitmondó Például egy 0001 nagyságrendýu elméleti mennyiség 005 abszolút hibakorlátú közelítése nem sokat ér A π 22/7 közelítés sok esetben jó lehet, de például a csillagászatban már bizonyosan nem 61 DeÞníció Az x szám valamely a közelítýo értékének relatív hibája a δa x menynyiség Az x pontos érték általában nem ismeretes, ezért a δa x használjuk Ennek hibájára fennáll, hogy δa x δa a = δa a x a x helyett a δa a közelítést a x δa (δa)2 a x a x (69) A hiba elhanyagolható, ha x és a lényegesen nagyobb a másodrendýu (δa) 2 menynyiségnél Ennek Þgyelembe vételével kaphatjuk a következýo eredményeket: ½ δ(a + b) δa =max a + b a, δb ¾ (ab > 0), (610) b δ(a b) a b = δ(ab) ab δ( a b ) a b δa + δb a b (ab > 0), (611) δa a + δb b, (612) δa a + δb b (613) Figyeljük meg, hogy egymáshoz közeli a és b esetén a kivonás relatív hibája rendkívül nagy lehet! Példa Számítsuk ki a mennyiséget, ha ismertek a és közelítýo értékek, amelyek közös abszolút hibakorlátja 001, a közös relatív hibakorlát pedig 0022% A kivonás elvégzésével kapjuk, hogy , amelynek relatív hibakorlátja az általános formulából =2, 001 azaz 200% Most lehetýoségünk van az elméleti relatív hiba kiszámolására is, ami csak 1066% Ez a valóságos hiba is jelentýos mértékýu, a kiinduló adatok hibájához képest kb szoros A különbség képzését elkerülhetjük a = = A KLASSZIKUS HIBASZÁMÍTÁS ELEMEI

73 átalakítással A számláló pontos érték A nevezýo abszolút hibája 002, a hányados relatív hibája pedig 002/ = 0022% Ez összhangban van a kiinduló adatok relatív hibáival és lényegesen kisebb, mint amit a közvetlen kivonásnál kaptunk Hasonló fogásokat lehet alkalmazni más esetekben is 64 Függvényértékek relatív hibája és a kondíciószám Legyen ismét f : R R kétszer folytonosan differenciálható és x a Az f(x) pontos érték helyett számított f(a) érték relatív hibája δ(f(a)) f(a) f 0 (a) δa (614) f(a) Érdekesebb ez a mennyiség az a közelítýo érték relatív hibájával való összehasonlításban A f(a + a) f(a) f(a) : a a mennyiség, amely a relatív hibák hányadosa, azt méri, hogy az a adatban fellépýo bizonytalanságot az f(a) függvénybe való behelyettesítés mennyire nagyítja meg Egyszerýu átalakításokkal adódik, hogy f(a + a) f(a) f(a) : a a f 0 (a) a f(a) a a = f 0 (a) a f(a) 62 DeÞníció A c(f,a) = f 0 (a) a (615) f(a) mennyiséget az f : R R függvény a pontbeli kondíciószámának nevezzük Egy függvényt numerikusan instabilnak, vagy rosszul kondicionáltnak nevezünk, ha nagy a kondíciószáma A függvény stabil, vagy jól kondicionált, ha a kondíciószám kicsi Természetesen a kicsi és nagy jelzýo relatív Mint késýobb látni fogjuk, ezek a relatív jelzýok adott feladat esetén a rendelkezésre álló számítógép aritmetikájától és a közelítés megkövetelt pontosságától függenek Példa Az f(x) =1+ x 1 és x>1 Ekkor c(f,x) = x 2 x 1+(x 1), ami tetszýolegesen nagy lehet, ha x elég közel van 1-hez Ezért a példa függvénye numerikusan instabil Ha bevezetjük az új x =1+t változót, akkor kapjuk, hogy FÜGGVÉNYÉRTÉKEK RELATíV HIBÁJA ÉS A KONDíCIÓSZÁM 73

74 g (t) =f (1 + t) =1+ t Ennek a függvénynek a t>0 helyen vett kondíciószáma t c (g, t) = 2+2 t Ha t 0, azazx 1, akkor a kondíciószám kicsi marad Tehát stabilizáltuk a számítást egy egyszerýu átalakítással 63 DeÞníció Egy f (x) mennyiség O (g (x) γ ) nagyságrendýu, ha alkalmas K>0 számmal fennáll f (x) K g (x) γ minden szóbajövýo x értékre Egy h(x) mennyiség o(g(x)) nagyságrendýu, ha kh(x)k g(x) 0 ( x x 0 ) Tekintsük az F =[f 1,f n ] T : R m R n többváltozós függvényt Az F 0 -t a következýoképpen értelmezzük: n,m F 0 fi (x) = x j Legyen most F olyan, amelyre fennáll, hogy i,j=1 F (x) =F (a)+f 0 (a)(x a)+o(kx ak), (x a) Az F(x) helyett F (a)-t számoljuk Az F (a) relatív hibája az a vektor relatív hibájához viszonyítvaakövetkezýo kf (x) F (a)k kx ak : kf (a)k kak A nagyítási szám korlátja az a pont egy ε > 0 sugarú nyílt környezetében a mennyiség Az ½ kf(x) F (a)k c(f, a, ε) =sup : kf (a)k kx ak kak ¾ kx ak < ε, x6= a kf (x) F(a)k kf (a)k : kx ak kak = (kf 0 (a)(x a)k + o(kx ak)) kx ak kak kf (a)k és kf 0 (a)(x a)k kf 0 (a)k kx ak összefüggések miatt 0 lim c(f, a, ε) =kakkf (a)k ε 0 kf (a)k 64 DeÞníció Az F : R m R n függvény valamely a pontbeli kondíciószáma a c(f, a) = kakkf 0 (a)k kf (a)k (616) 74 A KLASSZIKUS HIBASZÁMÍTÁS ELEMEI

75 mennyiség DeÞniáljuk az F : R n R n leképezést az Ay = x egyenletrendszer megoldásával, azaz legyen F (x) =A 1 x (A R n n, det(a) 6= 0) Ekkor F 0 A 1 és c(a 1,a)= kak A 1 ka 1 ak = kayk A 1 kyk kak A 1 (Ay = a) A jobboldali felsýo korlátot az A mátrix kondíciószámának hívjuk Ez a korlát pontos, mert létezik olyan a R n,hogyc(a 1,a)=kAk A 1 65 Direkt és inverz hibák Vizsgáljuk egy f (x) függvényérték kiszámítását Ha az ŷ közelítést számoljuk a pontos y = f (x) érték helyett, akkor a direkt (forward) hiba y =ŷ y Haegyx + x értékre fennáll, hogy ŷ = f (x + x), azazŷ a perturbált (megváltoztatott) x + x értékhez tartozó pontos függvényérték, akkor a x értéket inverz (backward) hibának nevezzük A kétfajta hibát mutatja a következýo ábra: A folytonos vonal az elméleti értéket, a szaggatott pedig a számított értéket jelöli Az inverz hiba elemzését és becslését inverz hibaanalízisnek nevezzük Ha több inverz hiba is létezik, akkor a legkisebb inverz hiba meghatározása az érdekes Az y = f (x) értéket számító algoritmust inverz stabilnak nevezzük, ha bármely x értékre olyan ŷ számított értéket ad, amelyre a x inverz hiba kicsi A kicsi jelzýo környezetfüggýo Vizsgáljuk most a direkt és az inverz hiba kapcsolatát Tegyük fel, hogy ŷ = f (x + x) és f kétszer folytonosan differenciálható Ekkor ŷ y = f (x + x) f (x) =f 0 (x) x + f 00 (x + ϑ x) 2! és a számított megoldás relatív hibája ( x) 2 (ϑ (0, 1)) ŷ y y = µ xf 0 (x) x ³ 2 f (x) x + O ( x) DIREKT ÉS INVERZ HIBÁK 75

76 Innen kapjuk az alábbi, hibaszámítási ökölszabálynak is nevezett δ (ŷ) y c (f,x) δ (x) x (617) közelítýo egyenlýotlenséget, amely szóban kifejezve a következýo: relatív direkt hiba kondíciószám relatív inverz hiba (618) Az egyenlýotlenség azt mutatja, hogy egy rosszul kondicionált probléma számított megoldásának nagy lehet a (relatív) direkt hibája Egy algoritmust direkt stabilnak nevezünk, ha a direkt hiba kicsi Egy direkt stabil módszer nem feltétlenül inverz stabil Ha az inverz hiba és a kondíciószám kicsi, akkor az algoritmus direkt stabil Példa Vizsgáljukazf (x) =logx függvényt! Ennek kondíciószáma c (f,x) =c (x) = 1/ log x, amelyx 1 esetén nagy Tehát az x 1 értékekre a relatív direkt hiba nagy lesz 66 Feladatok 1 Vizsgáljuk meg x 2 y 2 kiszámításának alábbi módjait: F = x x y y, G =(x y) (x + y), H1 =(x + y) x, H2 =(x + y) y, H = H1 H2 Legyen x a és y b, valamintr a és r b a hozzájuk tartozó relatív hibakorlátok! Adjuk meg az F, G és H relatív hibakorlátait r a és r b függvényében! Melyik eljárás mikor jó? 2 Mutassuk meg, hogy a következýo kifejezések numerikusan instabilak x 0 esetén: (1) 1 cos x sin 2 x, (2) sin(100π + x) sin(x), (3) 2 sin x cos x e x Számítsuk ki a fenti kifejezések értékét x =10 3, 10 5, 10 7 esetén és becsüljük a hibát! Alakítsuk át a kifejezéseket numerikusan stabillá! 3 Mutassuk meg, hogy a következýo kifejezések numerikusan instabilak nagyon nagy x értékek esetén: (1) x x 3 1, (2) e 2 x x 1+x, (3) sin( 100x5 π 3+x 5 ) Számítsuk ki a fenti kifejezések értékét x =10 3, 10 5, 10 7 esetén és becsüljük a hibát! Alakítsuk át a kifejezéseket numerikusan stabillá! 76 A KLASSZIKUS HIBASZÁMÍTÁS ELEMEI

77 7 A LEBEGýOPONTOS HIBAANALÍZIS A digitális számítógépek egy F véges számhalmazt ábrázolnak és az aritmetikai mýuveleteket ezekkel a számokkal végzik Ha a mýuvelet eredménye az F halmazbeli szám, akkor a mýuvelet eredményét pontosan kapjuk meg Egyébként pedig három eset léphet fel: - kerekítés ábrázolható (nemzérus) számhoz, - alulcsordulás (kerekítés 0-hoz), - túlcsordulás A tudományos-mýuszaki számítások zömét ún lebegýopontos aritmetikában végezzük Ennek legáltalánosabban elfogadott modellje a következýo 71 DeÞníció A lebegýopontos számok halmaza = n F (β,t,l,u)= o ±m β e 1 β m<1, m=0d 1d 2 d t,l e U {0}, (71) ahol - β a számrendszer alapja, - m a lebegýopontos szám mantisszája a β alapú számrendszerben, - e az ábrázolt szám kitevýoje (karakterisztikája, exponense), - t a mantissza hossza (az aritmetika pontossága), - L a legkisebb kitevýo (alulcsordulási határ kitevýoje), - U a legnagyobb kitevýo (túlcsordulási határ kitevýoje) A három leggyakrabban használt számrendszer a következýo: A mantisszát felírhatjuk az elnevezés β felhasználás bináris 2 legtöbb számítógép decimális 10 legtöbb számológép hexadecimális 16 IBM és hasonló nagyszámítógépek m =0d 1 d 2 d t = d 1 β + d 2 β d t β t (72) alakban is Innen látható, hogy az 1 β m<1 feltétel miatt az elsýo jegyre teljesülnie kell az 1 d 1 β 1 egyenlýotlenségnek A többi számjegyre fennáll, hogy 0 d i β 1 (i =2,,t) Az ilyen számrendszereket normalizáltaknak nevezzük A 0 jegyet és a tizedespontot értelemszerýuen nem szokás ábrázolni Ha β = 2, akkoraz 77

78 elsýo jegycsakaz1 lehet, amelyet szintén nem ábrázolnak A (72) felírást használva a F = F (β,t,l,u) halmazt megadhatjuk az ½ µ d1 F = ± β + d 2 β d ¾ t β t β e L e U {0} (73) alakban is, ahol 0 d i β 1(i =1,,t) és 1 d 1 Példa Határozzuk meg az F (β,t,l,u) halmaz elemeinek számát! A mantissza t számjegye közül az elsýo β 1 féle lehet (0 nem!), a többi viszont a 0, 1,,β 1 bármelyike Elýojeltýol eltekintve tehát (β 1)β t 1 különbözýo mantissza állítható össze Az L e U miatt U L +1különbözýo kitevýonk van Könnyýu belátni, hogy ha két szám akár a mantisszában, akár a kitevýoben (vagy mindkettýoben) különbözik, akkor nem egyenlýoek Mostmár az elýojelet, valamint a zérust is beszámítva, kapjuk az elemek számát: 2(β 1)β t 1 (U L +1)+1 Az F halmaz elemei nem egyenletesen helyezkednek el a számegyenesen! Például β =2, t =3, L = 1 és U =2esetén a 33 elemýu F halmaz pozitív része ½ 1 4, 5 16, 6 16, 7 16, 1 2, 5 8, 6 8, 7 10, 1, 8 8, 12 8, 14 8, 2, 20 8, 3, 28 8 Általában, a β alapú számrendszerben az m mantisszára fennáll, hogy 1 β m = d 1 β + d 2 β d t β t β 1 + β 1 β β β 1 β t =1 1 β t h i 1 Az β, 1 intervallumba esýo F -beli szomszédos számok távolsága β t MinthogyazF halmaz elemeit a ±m β e számok alkotják, a szomszédos F -beli számok távolsága az exponens értékének megfelelýoen változik A szomszédos elemek legnagyobb távolsága β U t, a legkisebb pedig β L t Az ábrázolható számok nagyságrendjét adja meg a következýo 71 Tétel Ha a F, a 6= 0, akkor M L a M U,ahol M L = β L 1, M U = β U (1 β t ) Bizonyítás Tetszýoleges a F, a 6= 0számra fennáll, hogy 1 a = mβ µm e β, 1 1 β t, ahonnan L e U miatt Ezzel az állitást igazoltuk β L 1 1 β βe mβ e β e 1 β t β U 1 β t ¾ 78 A LEBEGýOPONTOS HIBAANALÍZIS

79 Legyen a, b F és jelölje a négy aritmetikai mýuvelet (+,,,/) bármelyikét A következýo esetek lehetségesek: (1) a b F (pontos eredmény), (2) a b >M U (aritmetikai túlcsordulás), (3) 0 < a b <M L (aritmetikai alulcsordulás), (4) a b / F, M L < a b <M U (nem ábrázolható eredmény) Az utolsó két esetben a lebegýopontos aritmetika az a b eredményhez hozzárendeli a legközelebbi F -beli számot Ha két szomszédos F -beli szám az a b eredménytýol egyformán távol van, akkor általában a nagyobbik számhoz kerekítünk Például ötjegyýu decimális aritmetika esetén a számot a számhoz kerekítjük Legyen G =[ M U,M U ] Világos, hogy F G Legyen x G A kerekítéssel x-hez rendelt F -beli számot jelölje fl(x) Azx fl(x) leképezést kerekítésnek nevezzük Legyen u = 1 2 β1 t az egységnyi kerekítés mértéke Igaza 72 Tétel Ha x G, akkor fl(x) =x(1 + ε), ε u Bizonyítás Az általánosság megszorítása nélkül feltehetjük, hogy x>0 Tegyük fel, hogy az x számot közrefogó szomszédos F -beli számok m 1 β e és m 2 β e Ekkor fennáll, hogy m 1 β e x m 2 β e, 1 ahol β m 1 <m 2 1 β t és m 2 m 1 = β t Mármost fl(x) =m 1 β e,vagy fl(x) =m 2 β e Bármelyik választás esetében igaz, hogy fl(x) x m 2 m 1 β e = βe t 2 2 Ezért a kerekítés relatív hibájára fennáll, hogy fl(x) x x fl(x) x m 1 β e βe t 2m 1 β e = β t 2m β1 t = u Fennáll tehát, hogy fl(x) x = λxu, ahol λ 1 Ezt átrendezve kapjuk, hogy fl(x) =x(1 + λu), ahol az ε = λu számra teljesül, hogy ε = λu u Ha 1 β t β e x β e,akkor abizonyításazm 2 =1választással érvényben marad Ezzel a tételt maradéktalanul igazoltuk A tétel tulajdonképpen azt mondja ki, hogy a lebegýopontos aritmetikában a kerekítés relatív hibája korlátos és ez a korlát u, az egységnyi kerekítés mértéke A ² M =2u = β 1 t értéket szokás gépi epszilonnak is nevezni Az ² M az 1 és a hozzá legközelebbi 1-nél nagyobb szám távolsága Bináris alap esetén az A LEBEGýOPONTOS HIBAANALÍZIS 79

80 x =1 while 1+x>1 x = x/2 end algoritmussal határozhatjuk meg ² M /2 értékét A MATLAB rendszerben ² M A lebegýopontos aritmetikai mýuveletek eredményére vonatkozóan a következýo feltevéssel élünk (szabvány modell): fl(a b) =(a b)(1+ε), ε u (a, b F ) (74) Az IEEE aritmetikai szabvány, amelyet késýobb ismertetünk, kielégíti ezt a feltevést A feltevés fontos következménye, hogy a b 6= 0esetén a mýuveletek relatív hibájára ugyancsak teljesül, hogy fl(a b) (a b) u a b Tehát az aritmetikai mýuveletek relatív hibája kicsi Vannak bizonyos lebegýopontos aritmetikák, amelyek nem elégítik ki a (74) feltevést Ennek az az oka, hogy a kivonásnál nincs egy ún ellenýorzýo jegyük Az egyszerýuség kedvéért vizsgáljuk az különbséget háromjegyýu bináris aritmetikában Az elsýo lépésben a kitevýoket azonos értékre hozzuk Ha a számítást négy értékes jegyre végezzük, akkor az eredmény amelybýol a normalizált eredmény Vegyükészre,hogyakivonásrakerült szám nem normalizált, mert elsýo jegye0 A felhasznált ideiglenes negyedik mantisszajegyet, ellenýorzýo jegynek nevezzük Ha nincs ilyen ellenýorzýo jegy, akkor a megfelelýo számítások amelybýol a normalizált eredmény Ennek relatív hibája 100% Nincs ellenýorzýo jegye a CRAY szuperszámítógépeknek, valamint egy sor zsebkalkulátornak Ha nincs ellenýorzýo jegy,akkoramýuveletek eredményeire az fl(x ± y) = x (1 + α) ± y (1 + β), α, β u, (75) fl(x y) = (x y)(1+δ), δ u, =,/ (76) 80 A LEBEGýOPONTOS HIBAANALÍZIS

81 összefüggések teljesülnek Tegyük fel a továbbiakban, hogy van ellenýorzýo jegy a kivonásnál és teljesül a (74) feltevés Vezessük be a következýo jelöléseket: z =[ z 1,, z n ] T (z R n ), (77) A =[ a ij ] m,n i,j=1 A R m n, (78) A B a ij b ij A, B R m n (79) Igazolhatók az alábbi eredmények, ahol E az aktuális mýuvelet hibáját (hibamátrixát) jelöli: fl x T y x T y 101nu x T y (nu 001), (710) fl(αa) =αa + E ( E u αa ), (711) fl(a + B) =(A + B)+E ( E u A + B ), (712) fl(ab) =AB + E E nu A B + O u 2 (713) A szabvány modellnek eleget tevýo lebegýopontos aritmetikáknak számos sajátos tulajdonsága van Fontos tulajdonságuk, hogy az összeadás a kerekítés miatt nem asszociatív Ezt mutatják a következýo MATLAB példák, amelyeket a format long e utasítás kiadása után ellenýorízhetünk Példa MATLAB rendszerben fl fl =0, fl fl(1 1) =10 16 Példa Ha a =1, b = c = , akkor a MATLAB 61 rendszerben Pentium 4 processzorú számítógépen (a + b)+c 6= a +(b + c), amelyet az ((a + b)+ c) (a +(b + c)) utasítás segítségével ellenýorizhetünk Nagyszámú adat összegzésénél a kommutativitással (tulajdonképpen asszociativitással) is probléma lehet Vizsgáljuk most a P n i=1 x i összeg kiszámítását! A természetes algoritmus az ún rekurzív összegzés: s =0 for i =1:n s = s + x i end Példa Számítsuk ki az s n =1+ nx i=1 1 i 2 + i összeget n =4999esetén A rekurzív összegzéssel kapott MATLAB eredmény e +000 A LEBEGýOPONTOS HIBAANALÍZIS 81

82 Ha az összegzést fordított (azaz nagyság szerint növekedýo) sorrendben végezzük, akkor az eredmény e +000 Ha a kétféle képpen kapott értékeket összevetjük az elméleti s n =2 1 n+1 összeggel, akkor láthatjuk, hogy a második összegzés adott pontos eredményt Ennek magyarázata az, hogy amikor a kisebb tagokkal kezdjük, akkor ezek összegei értékes jegyeket érnek a végsýo eredményben Nagy mennyiségýu, elýojelben és nagyságrendben eltérýo szám nagy pontosságú összeadása nem egyszerýu feladat A következýo algoritmus, amely az egyik legérdekesebb ilyen célra kifejlesztett eljárás, W Kahantól származik A KOMPENZÁLT ÖSSZEGZÉS ALGORITMUSA: s =0 e =0 for j =1:n temp = s y = x (j)+e s = temp + y e =(temp s)+y end Példa Kahan algoritmusát az s 4999 = 4999 X j=1 1 j 2 + j összegre az x (j) =1/ j 2 + j szereposztással alkalmazva a MATLAB 61 a pontos e-001 értéket adja 71 A lebegýopontos aritmetikai szabvány Az ANSI/IEEE Std bináris (β =2) lebegýopontos aritmetikai szabványt 1985-ben hozták nyilvánosságra A szabvány speciþkálja az alapvetýo lebegýopontos mýuveleteket, összehasonlításokat, kerekítési módokat, az aritmetikai kivételeket és kezelésüket, valamint a különbözýo aritmetikai formák közti konverziót A négyzetgyökvonás az alapvetýo mýuveletek közé tartozik A szabvány nem mond semmit az exponenciális és transzcendens függvényekrýol Aszabványkétfýo lebegýopontos formátumot ismer: az egyszeres és a dupla pontosságút típus méret mantissza e u [M L,M U ] egyszeres 32 bit 23+1 bit 8bit ±38 dupla 64 bit 52+1 bit 11 bit ± A LEBEGýOPONTOS HIBAANALÍZIS

83 Mindkét formátumban egy bitet az elýojelnek tartanak fenn Minthogy a lebegýopontos számok normalizálva vannak és az elsýo jegy mindig 1, ez a jegy nincs tárolva A mantisszában szereplýo +1 ezt a rejtett bitet jelzi Az aritmetikai kivételek kezelése a következýo: kivétel típusa példa elýoírt eredmény érvénytelen mýuvelet 0/0, 0, 1 NaN (Not a Number) túlcsordulás ± osztás zérussal véges nemzérus/0 ± alulcsordulás szubnormális számok 1 nem F -beli eredmény fl(x y) 6= x y kerekített eredmény Az IEEE aritmetika zárt rendszer Minden aritmetikai mýuveletnek van matematikailag értelmes vagy értelmetlen eredménye A kivételes mýuveletek esetén jelzést ad ki, amely után a számításokat elýoírásszerýuen folytatja Az IEEE aritmetikai szabvány kielégíti a (74) modellt Az IEEE szabvány korai hardver megvalósításai közül ki kell emelni az Intel 80x87 matematikai koprocesszorokat, a DEC Alpha, a HP (Precision Architecture), az IBM RS/6000, az INMOS T800 és T900 processzorokat, a Motorola (680x0) és Sun (SPARCstation) processzorokat, valamint a HP tudományos kalkulátorait Végül megjegyezzük a következýoket Egyszeres pontosság esetén a mantissza hossza kb 7 értékes jegyet enged meg a tizes számrendszerbe átszámolva Ugyanez dupla pontosság esetén kb 16 értékes jegyet jelent Létezik még egy 80 biten ábrázolt, ún kiterjesztett pontosság is, ahol t = 63, akitevýo pedig15 bites 72 Feladatok 1 Ábrázoljuk az r (x) = 622 x (751 x (324 x (59 4x))) 112 x (151 x (72 x (14 x))) függvényt az x = (k 1) 2 52 pontokban (k =1,361)! Mit tapasztalunk és mi a magyarázatuk? 2 Számítsuk ki x 75 értékét, ha x i+2 = 13 6 x i x i (i =1,)ésx 1 =30, x 2 =25 Hasonlítsuk össze a kapott eredményt az elméleti x i =36 5 i 6 (i =1,) megoldással! Ábrázoljuk graþkusan is a számított és elméleti sorozatokat! Mi lehet az eredmények magyarázata? 1 y = ±m β L t, 0 <m<β t 1 alakú számok FELADATOK 83

84 3 Írjunk egy olyan programot, amely kísérleti úton becsli a következýo függvények kondíciószámait a megadott pontokban: f(x) = 11Y i=1 (x i) 10 7 x 9 (x =0, 15, 3, 7, 10, 11) (i) f(x) =128x 8 256x x 4 32x 2 +1 (x =0, 05, 10, 25) (ii) 3 x sin (x +1)e 02(x+1) cos (x +1)e 03(x+1) f(x) = h1+(x 2) 4ih³ p ³ x +1 / 1+3 p i x +log (1 + x 2 ) / 1+sin 2 x, (iii) ahol x = 1, 0, 1, 2, 26, A LEBEGýOPONTOS HIBAANALÍZIS

85 8 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE A vizsgálatban a direkt és az inverz hibákat elemezzük Az Ax = b egyenletrendszer megoldásával kapcsolatban a következýo jelöléseket és fogalmakat használjuk Az elméleti megoldást x, aközelítýo megoldásokatpedigˆx jelöli A közelítýo megoldás direkt hibája x =ˆx x Az r = r (y) =Ay b mennyiséget reziduális hibának nevezzük Az elméleti megoldás esetén r (x) =0, a közelítýo megoldáseseténpedig r (ˆx) =Aˆx b = A (ˆx x) =A x Az inverz hiba meghatározásához különféle modelleket használunk A legáltalánosabb esetben feltesszük, hogy az ˆx számított megoldás kielégíti az ˆx = ˆb egyenletrendszert, ahol  = A+ A és ˆb = b+ b A A és b mennyiségeket inverz hibáknak nevezzük Meg kell különböztetnünk a probléma érzékenységét és a megoldó algoritmusok stabilitását Egy adott probléma érzékenységén a megoldás változásának mértékét értjük a probléma (input) paramétereinek függvényében Egy algoritmus érzékenységén, vagy stabilitásán a számítási hibák végeredményre gyakorolt hatásának mértékét értjük Egy problémát, vagy algoritmust annál stabilabbnak tekintünk mennél kisebb az input paraméterek, ill számítási hibák megoldásra (számított megoldásra) gyakorolt hatása Az érzékenység, ill stabilitás fogalmának egyik jellemzési formája a korábban látott kondíciószám, amely az eltérések relatív hibáit hasonlítja össze Algoritmusok felhasználásának a következýo általános elveit lehet megfogalmazni: - A gyakorlatban csak stabil (jól kondicionált) algoritmusokat használunk - Instabil (inkorrekt kitýuzésýu), vagy rosszul kondicionált feladatot általános célú algoritmusokkal általában nem tudunk megoldani 81 Érzékenységvizsgálat Tegyük fel, hogy az Ax = b egyenlet helyett a perturbált Aˆx = b + b (81) egyenletrendszert oldjuk meg Legyen bx = x + x és vizsgáljuk a két megoldás eltérését! 81 Tétel Ha A nemszinguláris és b 6= 0, akkor k xk kxk cond(a)k bk kbk, (82) 85

86 ahol cond(a) =kak A 1 az A mátrix ún kondíciószáma Bizonyítás Az Aˆx = A(x + x) =b + b egyenlýoségbýol x = A 1 b, ahonnan k xk A 1 k bk következik Másrészt kbk kakkxk, ahonnan 1 kxk kak kbk A két egyenlýotlenséget összeszorozva kapjuk, hogy k xk kxk kak A 1 k bk kbk, ami éppen a bizonyítandó állítás A tételbýol látható, hogy az A mátrix kondíciószáma erýosen befolyásolhatja az bx perturbált megoldás relatív hibáját Egy rendszert jól kondicionáltnak nevezünk, ha cond(a) kicsi és rosszul kondicionáltnak nevezünk, ha cond(a) nagy Értelemszerýuen a nagy és kicsi jelzýok relatívak és környezetfüggýok A kondíciószám függ a normától Ha a normától való függés lényeges, akkor ezt külön jelöljük Ennek megfelelýoen például cond (A) =kak A 1 A kondicionáltság egy lehetséges geometriai jellemzését adja a következýo példa Példa A 1000x x 2 = b 1 999x x 2 = b 2 egyenletrendszer rosszul kondicionált (cond (A) = ) A két egyenes majdnem párhuzamos Ezért, ha perturbáljuk a jobboldalt, az új metszéspont messze lesz az elýozýotýol A most vizsgált modellben az inverz hiba b, a 81 Tétel pedig a relatív direkt hibára ad becslést Ez teljes összhangban van a hibaszámítási ökölszabállyal A tétel állítása az r (ˆx) =Aˆx b = ˆb b = b összefüggés miatt átírható az ekvivalens kˆx xk kxk kr (ˆx)k cond(a) kbk (83) alakba Az egyenlýotlenség jelentése az, hogy az ˆx perturbált megoldás relatív hibája kicsi, ha A kondíciószáma kicsi és az kr (ˆx)k / kbk relatív reziduális hiba kicsi Ha azonban a rendszer rosszul kondicionált, akkor ez nem szükségképpen igaz Példa Vizsgáljuk az Ax = b egyenletrendszert, ahol Legyen ˆx = A = 1+² ² Ekkorr = 0, b = 1 1, x = 0 1 és krk / kbk =2², de 2 1 kˆx xk / kxk =2 Tegyük most fel, hogy az Ax = b egyenletrendszer helyett a perturbált (A + A)ˆx = b (84) 86 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE

87 egyenletrendszert oldjuk meg Legyen ismét ˆx = x+ x és r (ˆx) = Aˆx b! Felmerül a kérdés, hogy adott ˆx esetén van-e egyáltalán A inverz hiba úgy, hogy (A + A)ˆx = b Igaz a következýo 82 Tétel (Rigal-Gaches) Tegyük fel, hogy bx, r (bx) 6= 0 Ekkor A = r (bx) bx T /bx T bx minimális spektrálnormájú inverz hiba Bizonyítás Behelyettesítéssel kapjuk, hogy (A + A) bx = A r (bx) bx T /bx T bx bx = Abx r (bx) =b Tehát A inverz hiba A spektrálnorma deþníciója alapján igazolható, hogy k Ak 2 = kr (bx)k 2 / kbxk 2 Ha E tetszýoleges inverz hiba, azaz (A + E) bx = b, akkorkr (bx)k 2 = kebxk 2 kek 2 kbxk 2 miatt kek 2 kr (bx)k 2 / kbxk 2 Tehát A valóban minimális spektrálnormájú inverz hiba Megjegyezzük, hogy r (bx) T bx 6= 0esetén A = r (bx) r (bx) T /r (bx) T bx is inverz hiba, amely azonban már nem minimális normájú A következýo tétel azt mondja ki, hogy kis relatív reziduális hiba esetén a relatív inverz hiba is kicsi 83 Tétel Tegyük fel, hogy ˆx 6= 0 az Ax = b egyenletrendszer közelítýo megoldása, det (A) 6= 0és b 6= 0 Ha kr (ˆx)k 2 / kbk 2 = α < 1, akkor a A = r (ˆx)ˆx T /ˆx T ˆx mátrixra fennáll, hogy (A + A)ˆx = b és k Ak 2 / kak 2 α/ (1 α) Bizonyítás Csak az elýozýo tételben nem szereplýo állításrészt igazoljuk Az r+b = Aˆx egyenlýoségbýol és az α < 1 feltételbýol kapjuk, hogy ahonnan illetve k Ak 2 kak 2 = 0 < kbk 2 krk 2 kr + bk 2 kak 2 kˆxk 2, 1 1, kak 2 kˆxk 2 kbk 2 krk 2 krk 2 kak 2 kˆxk 2 krk 2 kbk 2 krk 2 = krk 2 kbk 2 1 krk = α 2 1 α kbk 2 Ha a relatív inverz hiba kicsi és A kondíciószáma kicsi, akkor a relatív reziduális hiba is kicsi Erre mutat rá a következýo tétel 84 Tétel Ha r (ˆx)=Aˆx b, (A + A)ˆx=b, A 6= 0, b 6= 0és cond(a) k Ak kak <1, akkor kr (ˆx)k kbk k Ak cond(a) kak 1 cond(a) k Ak kak (85) Ha A rosszul kondicionált, akkor a 84 Tétel nem igaz 1+² Példa Legyen A =, A = 1 1 ² 0 ² 2 és b =,(0 <² 1) 1 Ekkor cond (A) = (2+²) 2 /² 2 4/² 2 és k Ak / kak = ² 2 / (2 + ²) ² 2 /2 ÉRZÉKENYSÉGVIZSGÁLAT 87

88 Legyen most ˆx =(A + A) 1 b = 1 2 ² + ² 2 ² 3 2 ² 0 Ekkor r (ˆx) =Aˆx b = 2 ² +1 Tegyük fel, hogy az Ax = b egyenlet helyett a perturbált k xk kxk 2/² 3 2/² 3 Ezért kr (ˆx)k / kbk = 2 ² +1,aminemkicsi (A + A)ˆx = b + b (86) egyenletrendszert oldjuk meg Legyen bx = x + x Igaz a következýo 85 Tétel Ha A nemszinguláris, cond(a) k Ak kak < 1 és b 6= 0, akkor ³ cond(a) k Ak kak + k bk kbk 1 cond(a) k Ak kak (87) A tételt nem igazoljuk A tételbýol következik a következýo ökölszabály Ökölszabály Tegyük fel, hogy Ax = b Ha A és b elemeit s decimális jegyre pontosak és cond(a) 10 t,aholt<s, akkor a számított megoldás kb s t jegyre lesz pontos Az ökölszabály következýo heurisztikus levezetését adjuk A feltevések miatt és k Ak kak 10 s, Ezért feltehetjük, hogy 1 cond(a) k Ak kak k xk kxk k bk kbk 10 s cond(a) k Ak kak 10t s 1 µ k Ak cond(a) kak 1 A 85 Tétel alapján + k bk 10 t s, kbk amibýol az ökölszabály következik A85Tételcond(A) k Ak kak < 1 feltételének jelentése szemléletes: azt biztosítja, hogy az A + A mátrix ne legyen szinguláris A cond(a) k Ak kak < 1 egyenlýotlenség ugyanis ekvivalens a k Ak < 1 ka 1 k feltétellel és az A nemszinguláris mátrix 1 legközelebbi szinguláris mátrixtól való távolsága éppen ka 1 k Ennek igazolásához szükségünk van a következýo eredményre 81 Lemma Legyen F R n n olyan, hogy kf k < 1 Akkor I F nemszinguláris, (I F ) 1 = X F k (88) k=0 88 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE

89 és (I F ) kf k (89) 86 Tétel (Eckart-Young-Gastinel) Legyen A R n n nemszinguláris, P R n n pedig tetszýoleges szinguláris mátrix Akkor fennáll, hogy ka P k 1 ka 1 k (810) Létezik továbbá olyan P szinguláris mátrix, amelyre egyenlýoség áll fenn Bizonyítás Az állítást csak spektrálnormában igazoljuk Legyen P = A + A Ha k Ak < 1/ A 1,akkorA + A a fenti lemma miatt invertálható, ui (A + A) 1 = I + A 1 A 1 A 1, A 1 A A 1 k Ak < 1 Következésképpen k Ak 1/ A 1 teljesül Megmutatjuk, hogy alkalmas A választással egyenlýoség is fennáll Legyen y R n olyan, hogy kyk 2 =1és A 1 y 2 = A 1 2 Legyentovábbáx = 1 A 1 y Ekkor igaz, hogy x T A 1 y =1,ui ka 1 k 2 2 x T A 1 1 A 1 y = ka 1 k 2 y T A T A 1 y 2 2 y= {z } {z } 2 ka 1 k 2 =1 2 z T Legyen A = yx T Minthogy (A + A) A 1 y = y y x T A 1 y =0,azA + A mátrix szinguláris Felhasználva a korábban megmutatott yx T 2 = kxk 2 kyk 2, egyenlýoséget, egyszerýu számítással 1 k Ak 2 = A 1 ka 1 k 2 y 1 2 = ka 1 k 2 2 adódik Ezzel állításunkat igazoltuk A 86 Tétel segítségével a kondíciószám egy újabb jellemzését adhatjuk: 1 cond (A) = min kek A+E szinguláris kak (811) Eszerint, ha egy mátrix rosszul kondicionált, akkor közel van egy szinguláris mátrixhoz Megjegyezzük, hogy mátrixok kondíciószámát az F (x) =A 1 x leképezés kondíciószámának felsýo becsléseként már korábban is megkaptuk Vezessük be a következýo deþníciót 81 DeÞníció Egy lineáris egyenletrendszer megoldó eljárást gyengén stabilnak nevezünk egy H mátrixosztályon, ha minden jólkondicionált A H mátrix és minden z ÉRZÉKENYSÉGVIZSGÁLAT 89

90 b esetén az Ax = b egyenletrendszer ˆx számított megoldásának kˆx xk / kxk relatív hibája kicsi Ha a Tételeket összerakjuk, akkor a következýo eredményt kapjuk 87 Tétel (Bunch) Egy lineáris egyenletrendszer megoldó algoritmus gyengén stabil a H mátrixosztályon, ha minden jólkondicionált A H mátrix és minden b esetén az Ax = b egyenletrendszer ˆx számított megoldására fennáll az alábbi feltételek bármelyike: (1) kˆx xk / kxk kicsi; (2) kr (ˆx)k / kbk kicsi; (3) Létezik A úgy, hogy (A + A)ˆx = b és k Ak / kak kicsi A 85 Tétel becslését a gyakorlatban akkor tudjuk jól használni, ha ismert b, A és cond(a), vagy ezek egy becslése Ezek hiányában a közelítýo megoldás hibáját csak utólagosan (a posteriori) lehet becsülni Akövetkezýokben komponensenkénti hibabecslésekkel foglalkozunk Elsýoként a közelítýo megoldás abszolút hibájára adunk becslést az inverz hibák komponenseinek segítségével 88 Tétel (Bauer-Skeel) Legyen A R n nemszinguláris és tegyük fel, hogy az Ax = b egyenletrendszer bx közelítýo megoldása kielégíti az (A + E) bx = b + e egyenletrendszert Ha S R n n, s R n és ε > 0 olyanok, hogy S 0, s 0, E εs, e εs, valamintε A 1 S < 1, akkor kbx xk ε A 1 (S x + s) 1 ε k A 1 Sk (812) Bizonyítás Az (A + E) bx = b + e egyenlýoséget balról megszorozva az A 1 mátrixszal kapjuk, hogy bx + A 1 Ebx = A 1 b + A 1 e = x + A 1 e Innen bx x = A 1 e A 1 Ebx = A 1 Ex + A 1 e A 1 E (bx x) adódik Mindkét oldalon a vektor abszolút értékét véve kapjuk, hogy bx x ε A 1 S x + ε A 1 s + ε A 1 S bx x Figyelembevéve, hogy k y k = kyk (y R n ), az kbx xk ε A 1 (S x + s) + ε A 1 S kbx xk egyenlýotlenséget kapjuk, ahonnan a tétel állítása már átrendezéssel adódik Ha e =0(s =0), S = A és akkor a k r (A) = A 1 A < 1, (813) kbx xk εk r (A) 1 εk r (A) (814) 90 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE

91 becslést kapjuk A k r (A) mennyiséget Skeel-féle normának nevezzük, noha a korábban deþniált értelemben nem norma A Skeel-féle norma kielégíti a k r (A) cond (A) =kak A 1 (815) egyenlýotlenséget Tehát a fenti becslés nem rosszabb mint a hagyományos kondíciószámot használó becslés Az inverz hiba komponensenkénti becslését teszi lehetýové Oettli és Práger következýo eredménye Legyenek adottak az A, δa R n n mátrixok és a b, δb R n vektorok Tegyük fel, hogy δa 0 és δb 0 Legyen továbbá D = A R n n : A δa ª, G = { b R n : b δb} 89 Tétel (Oettli-Práger) Egy ˆx számított megoldás akkor és csak akkor megoldása egy (A + A)ˆx = b + b perturbált egyenletrendszernek, ahol A D és b G, ha r (ˆx) = Aˆx b δa ˆx + δb (816) Bizonyítás Tegyük fel, hogy létezik A D és b G úgy, hogy (A + A)ˆx = b + b Ekkor Aˆx b = (A + A)ˆx Aˆx (b + b)+ b (A + A)ˆx (b + b) + Aˆx + b δa ˆx + δb Fordítva tegyük fel, hogy ˆx kielégíti az (816) egyenlýotlenséget Legyen r = Aˆx b, s = δa ˆx + δb és ½ ri t i = s i, ha s i 6=0 0, ha s i =0 Fennáll, hogy t i 1 és az s i =0feltételbýol következik, hogy r i =0Tehát nx nx r i = s i t i = δb i + δa ij ˆx j t i = δb i t i + δa ij sign (ˆx j ) t iˆx j j=1 Legyen ε i = δb i t i és e ij = δa ij sign (ˆx j ) t i,akkorazr deþníciója alapján nx nx r i = a ij ˆx j b i = e ij ˆx j + ε i, vagy ekvivalens formában j=1 j=1 j=1 nx (a ij + e ij )ˆx j = b i + ε i j=1 A A =[e ij ] n i,j=1 mátrixra komponensenként fennáll, hogy e ij δa ij,a b = [ε 1,,ε n ] T vektorra pedig fennáll, hogy b δb Ezzel a tételt igazoltuk A tétel alkalmazásához nem kell a kondíciószám ismerete A gyakorlatban δa és δb elemei a gépi epszilonnal arányosak ÉRZÉKENYSÉGVIZSGÁLAT 91

92 82 Wilkinson tétele Wilkinson igazolta, hogy az Ax = b egyenletrendszer Gauss-módszerrel lebegýopontos aritmetikában kapott ˆx közelítýo megoldása kielégíti az (A + A) bx = b (817) egyenletrendszert, ahol k Ak 8n 3 ρ n kak u + O(u 2 ) (818) A ρ n a pivot elemek növekedési tényezýoje Minthogy a gyakorlatban ρ n kicsi, a k Ak 8n 3 ρ kak n u + O(u 2 ) relatív inverz hiba is az Ezért a Bunch tétel (86 Tétel) alapján a Gauss-elimináció gyengén stabil mind a teljes, mind pedig a parciális fýoelemválasztás esetén A Wilkinson tételbýol kapjuk, hogy cond (A) k Ak 8n 3 ρ kak n cond (A) u + O u 2 Kis kondíciószám esetén feltehetjük, hogy 1 cond (A) k Ak kak 1 A 85 Tétel felhasználásával ( b =0eset) a direkt hibára az alábbi közelítýo becslést kapjuk: k xk 8n 3 ρ kxk n cond (A) u (819) Ez az ökölszabály helyességét támasztja alá a Gauss-módszer esetén Tekintsük a következýo példát, amelynek együtthatóit pontosan tudjuk ábrázolni: x x 2 =1, x x 2 =0 Itt cond(a) ugyan nagy, de cond (A) k Ak kak elhanyagolható az 1 mellett A feladat pontos megoldása x 1 = , x 2 = A MATLAB által adott közelítýo megoldás ˆx 1 = , ˆx 2 = , amelynek relatív hibája kx ˆxk = kxk Minthogy s 16 és cond(a) az eredmény lényegében megfelel a Wilkinson tételnek, ill az ökölszabálynak A Wilkinson tétel az inverz hiba mértékére a k Ak becslést adja Az Oettli-Práger tételt a δa = ² M A és δb = ² M b választással alkalmazva kapjuk, hogy r (ˆx) δa ˆx + δb Minthogy kδak = ,ez jobb becslést ad a k Ak inverz hibára, mint a Wilkinson-féle eredmény 92 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE

93 83 Skálázásésprekondicionálás Számos, gyakorlati alkalmazásban felmerülýo mátrix rosszul kondicionált, ha n rendszáma nagy Ilyen például a 1 H n =[ i + j 1 ]n i,j=1 (820) Hilbert mátrix, amelyre cond 2 (H n ) e 35n,han A V n = V (x 1,,x n )= 1 1 x 1 x n x n 1 1 x n 1 n (x i 6= x j, i 6= j) (821) Vandermonde-féle mátrix esetén cond 2 (V n ) 2n 2 n,han Léteznek olyan egész elemýu 2n 2n mátrixok is, amelyek a szabványos IEEE754 lebegýopontos aritmetikában pontosan ábrázolhatók és amelyek kondíciószáma közelítýoleg n A nagy kondíciószámú egyenletrendszerek megoldásának két fýo módjaismeretes: többszörös pontosságú aritmetika használata, vagy a kondíciószám csökkentése A kondíciószám csökkentésének két formája is ismert 1 Skálázás Az Ax = b egyenletrendszert helyettesítjük az (RAC) y =(Rb) (822) egyenletrendszerrel, ahol R és C diagonális mátrixok Erre a skálázott egyenletrendszerre alkalmazzuk a Gauss-eliminációt Ennek y megoldásával kapjuk vissza az x = Cy megoldást Ha az RAC mátrix kondíciószáma kisebb, akkor y hibája is vélhetýoen kisebb lesz, így összességében az x pontosabb közelítését is megkaphatjuk Számos stratégia ismeretes az R és C skálázó mátrixok megválasztására Az egyik legismertebb stratégia az ún kiegyensúlyozás, amelynek eredményeként az RAC mátrix valamennyi sora és oszlopa valamilyen normában mérve közel ugyanakkora lesz Például a Ã! 1 1 ˆD = diag a T 2,, 1 ka T n k 2 választás esetén, ahol a T i az A mátrix i-edik sorvektorát jelöli, a ˆDA skálázott mátrix sorainak euklideszi normája azonosan 1 lesz Erre a skálázásra fennáll, hogy cond 2 ³ ˆDA n min D D + cond 2 (DA), SKÁLÁZÁS ÉS PREKONDICIONÁLÁS 93

94 ahol D + = {diag (d 1,,d n ) d 1,,d n > 0} Ez azt jelenti, hogy ˆD közelítýoleg optimálisan skálázza az A mátrix sorait Tekintettel arra, hogy a skálázás és a fýoelemkiválasztás együttes hatása esetenként igen rossz eredményekre vezet, az eljárást újabban ritkán használják A következýo példák ilyen eseteket mutatnak be Példa Tekintsük az A = ²/ mátrixot az 0 <² 1 esetben Igazolható, hogy cond (A) =12Legyen R = C = 2/ ² ²/ ²/2 Ekkor a skálázott mátrix RAR = ²/4 ²/4, 1 ²/4 ²/2 amelynek kondíciószáma cond (RAR) =32/² Ez kis ² esetén nagyon nagy érték Tehát a skálázás elrontja a példabeli mátrixot Példa Tekintsük az A = ²/ ²/2 mátrixot és az Ax = 0 homogén egyenletrendszert Az A mátrix determinánsa 0 és rangja 2 Az Ax =0homogén egyenletrendszer általános megoldása x = 1 1 ²/2 1 t, t R Legyen A skálázott mátrix R = C = 2 ² ²/ ²/2 RAR = ²/4 1 ²/4 ² 2 /8 94 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE

95 Elég kis ² értékekre lebegýopontos aritmetikában fennáll, hogy RAR ²/4 1 ²/4 0 Ez a mátrix már invertálható, tehát az egyenletrendszer megoldása csak a triviális x =0vektor lesz ² =2 40 és spektrálnorma esetén a kondíciószám Prekondicionálás A prekondicionálás tulajdonképpen a skálázással rokon A szimmetrikus és pozitív deþnit mátrixú Ax = b egyenletrendszert átírjuk az ekvivalens Ãx =(MA) x = Mb = b (823) alakba, ahol M olyan, hogy cond M 1 A a lehetýo legkisebb és könnyýu megoldani az Mz = y alakú egyenletrendszereket A prekondicionálást általában iteratív módszerekkel együtt használjuk, módszerenként specializált formában 84 Utólagos hibabecslések A valamilyen módszerrel kapott közelítýo megoldás hibájának utólagos becslésére azért van szükség, hogy valamilyen adatunk legyen az eredmény megbizhatóságáról A következýokben három ilyen módszert ismertetünk 841 A direkt hiba becslése a reziduális segítségével 810 Tétel (Auchmuty) Jelölje bx az Ax = b egyenletrendszer valamilyen módon kiszámított közelítýo megoldását Ekkor igaz, hogy kx ˆxk 2 = c kr(ˆx)k2 2 ka T r(ˆx)k 2, ahol c 1 konstans, amely A-tól függ Bizonyítás Tegyük fel, hogy A nemszinguláris, ˆx 6= x = A 1 b és legyen C 2 (A) = max A T y A 1 2 y 2 Azt igazoljuk, hogy kyk 2 =1 kr(ˆx)k 2 2 kr(ˆx)k 2 2 ka T kx ˆxk r(ˆx)k 2 C 2 (A) 2 ka T, r(ˆx)k 2 UTÓLAGOS HIBABECSLÉSEK 95

96 amibýol az állítás már következik DeÞníció szerint r(ˆx) =Aˆx b = A(ˆx x) és kr(ˆx)k 2 2 = r(ˆx) T r(ˆx) =r(ˆx) T A(ˆx x) = A T r (ˆx) T (ˆx x) A T r (ˆx) 2 kˆx xk 2 Ezt osztva az A T r(ˆx) 2 mennyiséggel kapjuk az egyenlýotlenség baloldalát A C 2 (A) mennyiség felírható az ekvivalens A T y C 2 (A) =max 2 A 1 y 2 y6=0 kyk 2 2 alakban is Mármost az y = r(ˆx) 6= 0helyettesítéssel kapjuk, hogy A T r(ˆx) c = 2 A 1 r(ˆx) 2 kr(ˆx)k 2 C 2 (A) 2 Átrendezéssel és az A 1 r(ˆx) =ˆx x összefüggés Þgyelembevételével kapjuk a bizonyítandó egyenlýotlenség jobboldalát Megemlítjük, hogy a c hibakonstans értékét nem befolyásolja az ˆx x hibavektor nagysága, csak az iránya Igaz továbbá, hogy C 2 (A) = 1 µ 1 cond 2 (A)+ cond 2 (A) 2 cond 2 (A) A számítógépes tapasztalatok azt mutatják, hogy c nem túl nagy szám, gyakran c 100 Az összefüggés alapján a reziduális és az kr(ˆx)k 2 2 / A T r(ˆx) 2 hányados meghatározásával nagyságrendileg helyesen becsülhetjük a közelítýo megoldás abszolút hibáját 842 Az ka 1 k LINPACK becslése A LINPACK programcsomagban használják a következýo eljárást A 1 becslésére Oldjuk meg rendre az A T y = d, Aw = y egyenletrendszereket! Az A 1 becslése: A 1 kwk kyk A 1 (824) Minthogy kwk kyk = A 1 A T d ka T, dk az eljárás felfogható a sajátértékszámítási fejezetben ismertetésre kerülýo hatványmódszer alkalmazásának A becslés az 1, 2 és normák esetén alkalmazható A d vektor 96 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE

97 javasolt komponensei ±1 értékýuek Az elýojeleket lehet véletlenszerýuen választani A LINPACK rendszerben az elýojelek megválasztása egy adaptív stratégiával történik Ha az Ax = b egyenletrendszert az LU-módszerreloldottukmeg,akkoratovábbi egyenletrendszerek megoldása O(n 2 ) régi ßop rendszerenként Így a LINPACK becslýo eljárás költsége kicsi marad Az A 1 becslés segítségével cond(a) és a közelítýo megoldás hibája már könnyen becsülhetýo (vö a 85 Tétellel, vagy az ökölszabállyal) Megjegyezzük, hogy más hasonló eljárások is ismertek 843 Az inverz hiba Oettli-Práger-féle becslése Az inverz hiba becsléséhez az Oettli-Práger eredményt a következýo formában szokás használni Legyen r (ˆx) =Aˆx b a reziduális hiba, E R n n és f R n adottak úgy, hogy E 0 és f 0 Legyen ω =max i r (ˆx) i (E ˆx + f) i, ahol 0/0-át 0-nak, ρ/0-át pedig -nek deþniáljuk, ha ρ 6= 0 Az (y) i jelölés az y vektor i-edik komponensét jelöli Ha ω 6=, akkor van egy A mátrix és egy b vektor, amelyekkel fennáll A ωe, b ωf és (A + A)ˆx = b + b Továbbá ω a legkisebb olyan szám, amelyre a fenti tulajdonságú A és b létezik Az ω mennyiség az E és f mennyiségekben kifejezett relatív inverz hibát méri Ha egy adott E, f és ˆx esetén ω kicsi, akkor a perturbált probléma is (és ennek megoldása is) közel van az eredetihez (és ennek megoldásához) A gyakorlatban az E = A, f = b választást preferálják 85 A közelítýo megoldás iteratív javítása Az eljárás elsýo ismert alkalmazása Fox, Goodwin, Turing és Wilkinson nevéhez fýuzýodik (1946) Jelölje ˆx az Ax = b egyenletrendszer közelítýo megoldását Legyen r(y) = Ay b az y pontbeli reziduális hiba Az ˆx közelítýo megoldás pontosságát a következýo iteratív eljárással lehet javítani AZ ITERATÍV JAVÍTÁS ALGORITMUSA: i =1, x 1 =ˆx for i =1, r = Ax i b AKÖZELíTýO MEGOLDÁSITERATíVJAVíTÁSA 97

98 Számítsuk ki az Ad = r egyenletrendszer ˆd közelítýo megoldásátazlu- módszer segítségével! x i+1 = x i ˆd Ha ˆd / kx i k <tol,akkorvége end Az eljárás különféle változatai ismertek Az LU-módszer helyett más módszer is használható Legyen η az a legkisebb relatív inverz hibakorlát, amelyre Legyen továbbá (A + A)ˆx = b + b, A η A, b η b σ (A, x) =max( A x ) i i / min ( A x ) i i, min ( A x ) i i > 0 Igaz a következýo 811 Tétel (Skeel) Ha k r A 1 σ (A, x) c 1 < 1/² M, akkor elég nagy i esetén fennáll, hogy (A + A) x i = b + b, A 4η² M A, b 4η² M b (825) Ez az eredmény gyakran az elsýo iterációután, azi =2értékre teljesül Jankowski és Wozniakowski az iteratív javitást a Gauss-elimináció helyett tetszýoleges olyan φ módszerre vizsgálták, amely az Ax = b egyenletrendszer 1-nél kisebb relatív hibájú ˆx közelítését állítja elýo, azaz amelyre kˆx xk q kxk (q < 1) Igazolták, hogy az iteratív javítás még egyszeres pontosságú lebegýopontos aritmetikában is javítja a közelítýo megoldás pontosságát és a φ módszert gyengén stabillá teszi 86 Feladatok 1 Oldjuk meg az x 1 x 2 = x 3 0 egyenletrendszert és vizsgáljuk a megoldás hibáját 2 Oldjuk meg az Ax = b egyenletrendszereket a síma és a részleges fýoelemkiválasztásos Gauss módszerrel az alábbi adatok esetén Határozzuk meg a kondíciószámokat és vizsgáljuk meg a kapott megoldások hibáját a fejezet módszereivel iteratív javítással és anélkül A = 3² , b = 3+3² 6, ² 1 (826) LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE

99 A = , b = 3+3² 6, (827) A = , b = (828) Mi a kapcsolata az egyes egyenletrendszereknek? 3 Legyen A es mátrix és válasszuk prekondicionáló mátrixnak az A fýoátlójából és két mellékátlójából álló sávmátrixot Mennyit javul a rendszer kondíciószáma, ha (i) A véletlen mátrix; (ii) A Hilbert-mátrix? FELADATOK 99

100 100 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE

101 9 A SAJÁTÉRTÉK-PROBLÉMA A mátrixok sajátérték-feladatának megfogalmazásához szükségünk van a komplex elemýu mátrixok és vektorok bevezetésére A komplex elemýu n-dimenziós oszlopvektorok halmazát C n -el jelöljük Hasonlóképpen az m n típusú komplex elemýu mátrixok halmazát C m n jelöli Nyilvánvalóan fennáll, hogy R n C n és R m n C m n A valós elemýu vektorokra és mátrixokra bevezetett mýuveletek és a determináns értelemszerýuen ugyanazok maradnak a komplex esetben is Ezekhez jön még két mýuvelet: a konjugálás és a hermitikus transzponálás Egy A C m n mátrix konjugáltján az A =[a ij ] m,n i,j=1 Cm n mátrixot értjük Egy A C m n hermitikus (vagy konjugált) transzponáltján az A H = A T C n m mátrixot értjük A valós mátrixok esetén a konjugálás a mátrixot nem változtatja meg Ezért valós mátrixok esetén a hermitikus transzponált egybeesik a közönséges transzponálással AkomplexvektorokésmátrixoknormájánakdeÞníciója az R n, illetve R n n halmazok C n -re, ill C n n -re történýo cseréjétýol eltekintve változatlan marad Az 1 Fejezetben bevezetett konkrét normák esetén a valós szám abszolút értéke helyett a komplex szám abszolút értékét kell érteni Az euklideszi és a Frobenius norma deþníciója azonban az alábbiak szerint módosul kxk 2 = Ã n X i=1 i=1 j=1 x i 2! 1 2, (91) 1 2 nx nx kak F = a ij 2, (92) ahol a deþníciókban szereplýo abszolút értéken a komplex számok abszolút értékét kell érteni Vegyük észre, hogy x C n esetén kxk 2 = x H x 1/2 91 DeÞníció Legyen A C n n tetszýoleges mátrix A λ C számot az A mátrix sajátértékének, az x C n ( x 6= 0) vektort pedig a λ sajátértékhez tartozó (jobboldali) sajátvektornak nevezzük, ha Ax = λx (93) A sajátvektor egy olyan vektor, amelyet az x Ax leképezés a saját hatásvonalán hagy (irányítás, nagyság változhat) A sajátérték-feladat megoldása a sajátértékek és a hozzájuk tartozó sajátvektorok meghatározását jelenti Egy x sajátvektor t-szerese is sajátvektor t 6= 0esetén, ui A(tx) = tax = tλx = λ(tx) AzAx = λx egyenletrendszer átrendezéssel az ekvivalens (A λi)x = 0alakra 101

102 hozható Ennek a homogén egyenletrendszernek akkor és csak akkor van zérustól különbözýo megoldása,hadet(a λi) =0A a 11 λ a 12 a 1n a 21 a 22 λ a 2n φ(λ) =det(a λi) =det =0 (94) a n1 a n2 a nn λ egyenletet az A mátrix karakterisztikus egyenletének nevezzük A determinánst kifejtve a λ változó n-ed fokú polinomját, azaz a φ(λ) =( 1) n (λ n p 1 λ n 1 p n 1 λ p n ) (95) polinomot kapjuk Az algebra alaptétele miatt az An n mátrixnak a multiplicitásokat is beleszámítva pontosan n sajátértéke van Egy λ k sajátértékhez tartozó lineárisan független sajátvektorok száma legfeljebb annyi, mint λ k multiplicitása a φ(λ) =0karakterisztikus egyenletben Különbözýo sajátértékekhez tartozó sajátvektorok lineárisan függetlenek Legyen A C n n tetszýoleges Megmutatható, hogy A H sajátértékei A sajátértékeinek konjugáltjai Legyen λ az A H tetszýoleges sajátértéke és y C n egy ehhez tartozó sajátvektor: A H y = λy Mindkét oldal hermitikus transzponáltját véve kapjuk, hogy y H A = λy H Az y H C 1 n sorvektort az A mátrix λ sajátértékhez tartozó baloldali sajátvektorának nevezzük Ha λ az A mátrix egyszeres sajátértéke, x és y a hozzátartozó jobb- és baloldali sajátvektorok, akkor y H x 6= 0 Legyen A valósmátrixésvegyükazax = λx (A R n n, λ C, x C n ) egyenlet mindkét oldalának komplex konjugáltját: Ax = λx Aztkapjuk, hogyha λ az A komplex sajátértéke (és x a hozzátartozó komplex sajátvektor), akkor λ az A-nak szintén sajátértéke (és x a hozzátartozó sajátvektor) Tehát valós mátrixok sajátértékei vagy valósak, vagy komplex konjugált sajátértékpárok lehetnek Valós mátrixok komplex sajátértékeit és sajátvektorait valós aritmetika használata esetén csak speciális technikákkal kaphatjuk meg 91 Tétel Legyen λ az A mátrix tetszýoleges sajátértéke Tetszýoleges indukált mátrixnormában fennáll, hogy λ kak Bizonyítás kλxk = λ kxk = kaxk kakkxk, ahonnan x 6= 0miatt λ kak adódik 92 Tétel Legyen p(z) =b k z k + + b 1 z + b 0 tetszýoleges polinom Ha az A mátrix sajátértékei λ 1, λ 2,,λ n, akkor a p(a) =b k A k ++b 1 A+b 0 I mátrix sajátértékei: p(λ 1 ),p(λ 2 ),,p(λ n ) Következmény Az A k mátrix sajátértékei λ k 1, λ k 2,,λ k n 93 Tétel Tegyük fel, hogy a T n n mátrixra det(t ) 6= 0teljesül Ekkor az A és B = T 1 AT mátrix sajátértékei megegyeznek Ha x az A sajátvektora, akkor y = T 1 x a B sajátvektora 102 ASAJÁTÉRTÉK-PROBLÉMA

103 Bizonyítás DeÞníció szerint Ax = λx T 1 Ax = λt 1 x T 1 AT (T 1 x)=λ(t 1 x) By = λy, ami bizonyítandó volt Az A T 1 AT leképezést hasonlósági transzformációnak nevezzük Az A és B mátrix hasonló, havanegyt mátrix úgy, hogy B = T 1 AT A 93 Tétel tartalma az, hogy hasonló mátrixok sajátértékei megegyeznek 92 DeÞníció Egy A mátrix diagonalizálható, ha van olyan T mátrix ( det(t ) 6= 0), hogy a T 1 AT hasonló mátrix diagonális A diagonalizálhatóság pontos feltételét meglehetýosen bonyolult ellenýorizni 93 DeÞníció Azt a legalacsonyabb fokú p(x) polinomot, amelyet A kielégít, azaz p(a) =0,azA mátrix minimálpolinomjának nevezzük A minimálpolinom konstans szorzótól eltekintve egyértelmýu Igaz a következýo 94 Tétel Egy A mátrix akkor és csak akkor diagonalizálható, ha minimálpolinomjának minden gyöke egyszeres A tételnek csak elméleti jelentýosége van Általános esetben a következýo fontos eredmény igaz 95 Tétel (Jordan) Legyen A tetszýoleges n n mátrix Létezik olyan nemszinguláris X mátrix és m természetes szám, hogy J X 1 AX = diag(j 1,,J m )= 0 0, (96) 0 0 J m ahol λ k λ k 1 0 J i = 0 0 λ k λ k (97) ún Jordan blokk n i n i méretýu és P m i=1 n i = n A blokkok száma és mérete sorrendjüktýol eltekintve egyértelmýu Az X 1 AX =diag(j 1,,J m ) elýoállítást Jordan-féle normálalaknak nevezzük Az n i blokkméret nem feltétlenül azonos λ k multiplicitásával Minden sajátérték szerepel legalább egy blokkban, de egy λ k sajátértékhez több különbözýo méretýu Jordan blokk is tartozhat A blokkok mérete csak bonyolult vizsgálatokkal határozható meg Diagonalizálható mátrixok esetén a J i Jordan blokkok természetesen 1 1 mátrixok és m = n ASAJÁTÉRTÉK-PROBLÉMA 103

104 Az összes sajátérték és sajátvektor meghatározása elvileg sem könnyýu feladat A nehézségeket tovább fokozza az a tény, hogy a sajátértékek és sajátvektorok a mátrixelemek megváltozására erýosen érzékenyek Az eredeti A mátrix és a perturbált A+δA mátrix sajátértékei jelentýosen eltérhetnek egymástól és a sajátértékek multiplicitása is megváltozhat A sajátérték-feladat érzékenységét a következýo tételekkel és példákkal jellemezhetjük 96 Tétel (Ostrowski-Elsner) Az A C n n mátrix minden λ i sajátértékhez létezik aperturbálta + δa mátrix egy olyan µ k sajátértéke, hogy λ i µ k (2n 1) (kak 2 + ka + δak 2 ) 1 1 n kδak 1 n 2 (98) A tétel azt mutatja, hogy a sajátértékek folytonosan változnak és azt, hogy a megváltozás mértéke arányos a δa perturbáció mértékének n-edik gyökével Példa Vizsgáljuk meg egy µ sajátértékhez tartozó r r méretýu Jordan mátrix alábbi perturbációját: µ µ µ 1 ² 0 0 µ A perturbált mátrixhoz tartozó karakterisztikus egyenlet (λ µ) r = ², ahonnan az eredeti Jordan mátrix r-szeres µ sajátértéke helyett az r különbözýo λ s = µ + ² 1/r (cos (2sπ/r)+i sin (2sπ/r)) (s =0,,r 1) sajátértéket kapjuk A sajátértékek megváltozásának mértéke ² 1/r, amely megfelel a 96 Tétel állításának Ha például µ 1, r =16és ² = ² M értékeket vesszük, akkor a sajátértékek eltérése Ez pedig a mátrix perturbációjához képest a sajátértékek egy igen jelentýos mértékýu megváltozását jelenti Speciális tulajdonságú mátrixok és perturbációk esetén a sajátértékek megváltozása az Ostrowski-Elsner tételben látottnál jóval kisebb is lehet 97 Tétel (Bauer-Fike) Legyen A C n n diagonalizálható mátrix, X 1 AX = diag(λ 1,,λ n ) és jelölje µ az A + δa mátrix sajátértékét Ekkor min 1 i n λ i µ cond 2 (X) kδak 2 (99) Tehát diagonalizálható mátrix perturbációja esetén a sajátértékek megváltozásának mértéke arányos az általában ismeretlen X mátrix kondíciószámával és kδak 2 -val Ez aszimptotikusan lényegesen jobb eredmény mint az Ostrowski-Elsner tétel, azonban ne felejtsük, hogy cond 2 (X) igen nagy is lehet 104 ASAJÁTÉRTÉK-PROBLÉMA

105 Az A mátrix sajátértékei folytonos függvényei a mátrix elemeinek Ez a normált sajátvektorokra is igaz, ha a sajátértékek egyszeresek A következýo példa is mutatja, hogy az utóbbi állítás többszörös sajátértékek esetén már nem igaz Példa Legyen 1+tcos 2 t t sin 2 A (t) = t sin 2 t t 1 t cos 2 t (t 6= 0) Az A (t) mátrix sajátértékei λ 1 =1+t és λ 2 =1 t A λ 1 sajátértékhez tartozó sajátvektor [sin (1/t), cos (1/t)] T,aλ 2 -höz tartozó pedig [cos (1/t), sin (1/t)] T Ha t 0, akkor A (t) I = , λ 1, λ 2 1, míg a sajátvektorok sehova sem tartanak Legyen λ az A C n n mátrix egyszeres sajátértéke, x és y pedig a hozzátartozó jobb- és baloldali sajátvektorok Az ea = A+E perturbált mátrixnak létezik pontosan egy λ e sajátértéke, hogy eλ = λ + yh Ex ³kEk y H x + O 2 2 (910) Innen könnyen kapjuk, hogy eλ λ kyk 2 kxk 2 y H kek x 2 A ν = ν (λ) = kyk 2 kxk 2 y H x mennyiséget a λ egyszeres sajátérték kondíciószámának nevezzük Többszörös sajátértékek kondíciószáma nem véges Igaz a következýo 98 Tétel (Bauer-Fike) Legyenek A C n n sajátértékei egyszeresek és X 1 AX = X 1 AX =diag(λ 1,,λ n ) Ekkor igaz, hogy 1 ν (λ i ) 1 µ 1 cond 2 (X)+ (911) 2 cond 2 (X) A sajátértékek elhelyezkedésének geometriáját jellemzi a következýo 99 Tétel (Gersgorin) Legyen A C n n, nx r i = a ij (i =1,,n) (912) és j=1,j6=i D i = {z C z a ii r i } (i =1,,n) (913) ASAJÁTÉRTÉK-PROBLÉMA 105

106 Ekkor az A mátrix minden λ sajátértékére fennáll, hogy λ n i=1d i (914) Bizonyítás Legyen v =[v 1,,v n ] T a λ-hoz tartozó sajátvektor, i pedig az az index, amelyre fennáll, hogy kvk = v i > 0 Az Av = λv egyenletrendszer i-edik egyenlete nx λv i = a ii v i + a ij v j, ahonnan átrendezéssel λv i a ii v i = λ a ii v i j=1,j6=i nx j=1,j6=i adódik Mindkét oldalt v i -vel elosztva kapjuk, hogy λ a ii r i a ij v j nx j=1,j6=i a ij v i Minthogy minden λ sajátérték benne van valamelyik D i körlemezben, az összes sajátérték benne van az egyesítésükben A sajátértékeket tartalmazó körök egy részének sugarát sok esetben csökkenthetjük, ha a Gersgorin tételt az A-hoz hasonló S 1 AS mátrixra alkalmazzuk, ahol S egy alkalmasan megválasztott diagonális mátrix Példa Az A = 1+i 2i i/2 1/2 4 i/2 1/2 1/2 6+i mátrix esetén r 1 =25, r 2 = r 3 =1LegyenS =diag(1, 1/2, 1/2) AzS 1 AS mátrix esetén a megfelelýo körsugarak: r 1 =125, r 2 = r 3 =15 Tehát egy körsugár csökkent, míg a többiek növekedtek Tekintsük a D =diag(λ 1,,λ n ) diagonális mátrix D+E alakú perturbációját A Gersgorin tétel miatt a D + E mátrix tetszýoleges µ sajátértéke benne van valamelyik körlemezben Ha ez az i-edik, akkor µ λ i e ii nx j=1, j6=i e ij Az a b a + b egyenlýotlenség miatt ebbýol következik, hogy nx nx µ λ i e ij max e ij = kek i j=1 j=1 106 ASAJÁTÉRTÉK-PROBLÉMA

107 Kimondhatjuk tehát, hogy min 1 i n µ λ i kek LegyenazA C n n mátrix diagonalizálható, azaz X 1 AX = D =diag(λ 1,,λ n ) Az A mátrix A + E perturbációjára fennáll, hogy A + E = XDX 1 + E = X D + X 1 EX X 1 Minthogy A+E és D+X 1 EX hasonlóak, sajátértékeik is megegyeznek D+X 1 EX a D diagonális mátrix perturbációja Ezért az elýozýo okfejtésalapjána+e tetszýoleges µ sajátértékére fennáll, hogy min µ λ i X 1 EX 1 i n cond (X) kek (915) A kapott egyenlýotlenség pedig nem más mint a Bauer-Fike tétel -normában Végül a közelítýo sajátérték-sajátvektor párok jóságának megítélésével foglalkozunk Legyen µ az A mátrix közelítýo sajátértéke és x a hozzá tartozó közelítýo sajátvektor, amelyre fennáll, hogy kxk 2 =1 Azt vizsgáljuk, hogy mennyire teljesül az Ax = µx egyenlet Jelölje r = Ax µx a közelítés reziduális hibáját Ha r =0,akkorµ és x pontos sajátérték, ill sajátvektor Ha r 6= 0,akkorkérdés,hogykrk 2 kicsinysége mond-e valamit a közelítés pontosságáról Sajnos, általában semmire sem lehet következtetni Tekintsük az 1 1 A (²) = ² 1 mátrixot, ahol ² 0 kicsi Az A (²) mátrix sajátértékei 1 ± ² Legyen µ =1és x =[1, 0] T Ekkor a közelítýo sajátérték hibája ± ² és krk 2 = 0 = ² ² Ha most például ² =10 10, akkor a reziduális öt nagyságrenddel alulbecsli a tényleges 10 5 hibát Legyen x 6= 0és µ C tetszýoleges, r = Ax µx Ekkor az E = rxh x H (916) x mátrix olyan, hogy (A + E) x = µx és kek 2 = krk 2 / kxk 2 TehátE a (µ, x) sajátérték-sajátvektor közelítés inverz hibája Ha µ a λ egyszeres sajátérték közelítése, akkor még az is fennáll, hogy λ µ = ν (λ) kek 2 (917) Az elýozýo számpéldában valójában a ν (1 ± ²) kondíciószám nagy és ez okozta az öt nagyságrendýu alulbecslést Az 1 ± ² sajátértékhez tartozó bal-, illetve jobboldali sajátvektorok [1, ±1/ ²] T, ill [1, ± ²] T Ennek megfelelýoen ν (1 ± q ²) = 2+² + 1 ² Az ² =10 10 érték esetén ν (λ 1,2 ) Ez nagyjából megfelel ASAJÁTÉRTÉK-PROBLÉMA 107

108 az alulbecslés mértékének Vegyük még észre, hogy ² 0 esetén a ν (1 ± ²) kondíciószám végtelenhez tart A határértékként kapott A (0) mátrixnak az 1 kétszeres sajátértéke Legyen az A C n n mátrix közelítýo sajátvektorax 6= 0 Azt vizsgáljuk, hogy milyen µ közelítýo sajátérték minimalizálja az krk 2 = kax µxk 2 reziduális hibát és ennek következtében az E = rx H / x H x inverz hibát Fennáll, hogy krk 2 2 = kaxk2 2 + µ kxk 2 xh Ax kxk 2 2 x H Ax 2 kxk 2 2 x kaxk 2 H Ax 2 2 kxk 2 2 Az egyenlýoség pontosan akkor teljesül, ha µ kxk 2 xh Ax kxk =0 Tehát a reziduális 2 hibát a µ = R (x) = xh Ax x H (918) x érték minimalizálja Az R (x) értéket Rayleigh-féle hányadosnak nevezük Ha x a λ sajátértékhez tartozó pontos sajátvektor, akkor R (x) =λ 91 Feladatok 1 Tekintsük a következýo es mátrixot A(ε) = 2 10 ε 1 Vizsgáljuk meg a sajátértékek megváltozását ε =0, 10 5, 10 6, 10 7 esetén! 2 Vizsgáljuk meg a Bauer-Fike tétel becslését az 1 Feladat A = A(0) mátrixához képest! 3 Legyen a, b R n Az kak 2 = λ max (A T A) 1/2 deþníció alapján igazoljuk, hogy ab T 2 = kak 2 kbk 2! (Az állítást az 13 fejezet egyik példájaként más módon már beláttuk) 108 ASAJÁTÉRTÉK-PROBLÉMA

109 10 SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA Csak valós elemýu mátrixok valós sajátértékeit és sajátvektorait vizsgáljuk A módszerek értelemszerýu módosításokkal kiterjeszthetýok a komplex esetre is 101 A hatványmódszer A von Mieses-týol származó módszer alapgondolata a következýo Tegyük fel, hogy az A n n típusú valós mátrixnak pontosan n különbözýo valós sajátértéke van Ekkor a λ 1,,λ n sajátértékekhez tartozó x 1,,x n sajátvektorok lineárisan függetlenek Tegyük fel, hogy a sajátértékek kielégítik a λ 1 > λ 2 λ n feltételt és legyen v (0) R n adott! A sajátvektorok lineáris függetlensége miatt v (0) egyértelmýuen elýoáll v (0) = α 1 x 1 +α 2 x 2 ++α n x n alakban Tegyük fel, hogy α 1 6=0 Képezzük a v (k) = Av (k 1) = A k v (0) (k =1, 2,) sorozatot! A kiinduló feltevések miatt illetve v (1) = Av (0) = A(α 1 x 1 + α 2 x α n x n ) = α 1 λ 1 x 1 + α 2 λ 2 x α n λ n x n, v (k) = Av (k 1) = A(α 1 λ k 1 1 x 1 + α 2 λ k 1 2 x α n λ k 1 n x n ) = α 1 λµ k 1x 1 + α 2 λ k 2x α n λ k nx n ³ = λ k k ³ k 1 α 1 x 1 + α λ2 2 λ x α λn n λ1 xn Legyen y R n tetszýoleges olyan vektor, amelyre y T x 1 6=0Ekkor y T Av (k) y T v (k) = yt v (k+1) y T v (k) = µ λ k+1 1 λ k 1 α 1 y T x 1 + P n i=2 α i µ α 1 y T x 1 + P n i=2 α i ³ k+1 λ i λ 1 y T x i ³ λ k 1, λi λ yt 1 x i 109

110 ha k Minthogy λ k /λ 1 λ 2 /λ 1 < 1 (k 2) miatt v (k) λ k 1 α 1 x 1 és v (k) /( λ k 1 kα 1 x 1 k ) 1, aλ 1 sajátértékhez tartozó sajátvektort is megkaphatjuk Ha ugyanis az v (k) vektor helyett az egységnormájú v (k) / v (k) vektort képezzük, akkor fennáll, hogy v (k) v (k) λ k 1 λ k 1α 1 x 1 = sign (λ 1 ) k x 1 sign (α 1 ) = z k kα 1 x 1 k kx 1 k A z k vektor sorozat minden eleme A sajátvektora Negatív λ 1 esetén azonban a z k és az ýot megközelítýo v (k) / v (k) vektorsorozatok irányítása váltakozó lesz Legyen h i T v (k) = v (k) 1,,v(k) n Ekkor az algoritmus alakja a következýo AHATVÁNYMÓDSZERALGORITMUSA(v (0) R n input adat): for k =1, 2, z (k) = Av (k 1) γ k = y T z (k) /y T v (k 1), (y T R n, lépésenként változhat, y T v (k 1) 6=0) v (k) = z (k) / z (k) end A fentiek alapján fennáll, hogy v (k) x 1, γ k λ 1 (101) A v (k) x 1 konvergencián itt azt értjük, hogy v (k) hatásvonala tart x 1 hatásvonalához Az y vektort általában egységvektornak választjuk úgy, hogy ha v (k) = i v (k), akkor legyen y = e i Ha az y = v (k 1) választást használjuk, akkor γ k = v (k 1)T Av (k 1) / v (k 1)T v (k 1) a v (k) vektorhoz tartozó R v (k 1) Rayleigh hányadossal azonos Az elýozýo szakaszban már láttuk, hogy ez a választás adja a λ 1 sajátérték minimális reziduális hibájú közelítését Az eljárás a λ 2 /λ 1 nagyságrendtýol függýo konvergencia sebességgel rendelkezik A módszer erýosen érzékeny a v (0) kezdýovektor megválasztására is Ha α 1 =0,akkor az eljárás nem konvergál a λ 1 domináns sajátértékhez Bizonyos mátrixosztályok esetén igazolták, hogy véletlenül választott v (0) kezdýovektorok esetén 1 valószínýuséggel konvergál az eljárás Komplex sajátértékek, illetve többszörös λ 1 esetén az eljárást módosítani kell Az eljárás konvergenciáját gyorsítani lehet, ha az A σi ún eltolt mátrixra alkalmazzuk, ahol σ alkalmasan megválasztott szám Az A σi mátrix sajátértékei ui λ 1 σ, λ 2 σ,,λ n σ és a megfelelýo konvergencia tényezýo: λ 2 σ / λ 1 σ Ezutóbbiσ ügyes megválasztásával kisebbé tehetýo mint λ 2 /λ SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA

111 A hatványmódszert az ke k k 2 = kr kk 2 Av (k) γ k v (k) v (k) = 2 2 v (k) ² 2 kilépési feltétellel szokás leállítani Ha a hatványmódszert szimultán alkalmazzuk az A T mátrixra és w k = A T k w0,akkor ν (λ 1 ) w (k) 2 v (k) 2 w T k v k a λ 1 kondíciószámának egy becslését adja Ekkor értelemszerýuen a ν (λ 1 ) ke k k 2 ² kilépési feltételt használjuk A hatványmódszert, amely igen elýonyös lehet nagyméretýu ritka mátrixok esetén, leginkább a legnagyobb, ill a legkisebb abszolút értékýu sajátértékek meghatározására használjuk Ez utóbbi a következýoképpen történhet Az A 1 sajátértékei: 1 λ 1,, 1 Ezek közül a legnagyobb abszolút értékýu sajátérték 1 λ n lesz Alkalmazzuk a hatványmódszert A 1 -re a következýo formában: AZ INVERZ HATVÁNYMÓDSZER (v (0) R n, y R n ): for k =1, 2, Oldjuk meg az Az (k) = v (k 1) egyenletrendszert z (k) -ra! γ k = y T z (k) /y T v (k 1) v (k) = z (k) / z (k) end Nyilvánvaló, hogy alkalmas feltételek mellett γ k 1/λ n és v (k) x n Az Az (k) = v (k 1) egyenletrendszer megoldásához az LU-módszert célszerýu használni Az algoritmus szembetýunýo elýonye, hogy nem kell A 1 -et meghatározni Ha az inverz hatványmódszert az eltolt A µi mátrixra alkalmazzuk, akkor (A µi) 1 sajátértékei (λ i µ) 1 Ha µ közelít, mondjuk λ t -hez, akkor λ i µ λ i λ t Ezért az eltolt mátrix sajátértékeire teljesül, hogy A konvergencia sebességét pedig a λ t µ 1 > λ i µ 1 (i 6= t) q = λ t µ / {max λ i µ } hányados határozza meg Ha µ elég közel van λ t -hez, akkor q kicsinysége miatt az inverz hatványiteráció rendkívül sebesen fog konvergálni Ezt a tulajdonságot használhatjuk ki közelítýo sajátvektorok meghatározásánál, ha egy sajátérték µ közelítése λ n AHATVÁNYMÓDSZER 111

112 ismert Ekkor feltéve, hogy det (A µi) 6= 0,azA µi mátrixra alkalmazzuk az inverz hatványmódszert Annak ellenére, hogy A µi közel szinguláris mátrix és ezért (A µi) z (k) = v (k) nem oldható meg nagy pontossággal, az eljárás sok esetben igen jó sajátvektor közelítést ad Végül megjegyezzük, hogy rangszámcsökkentýo eljárásokkal és egyéb módosításokkal a Mieses eljárás alkalmassá tehetýo az összes sajátérték-sajátvektor meghatározására is 102 Ortogonalizálási eljárások Szükségünk van a következýo deþnícióra 101 DeÞnició Egy Qn n mátrix ortogonális, ha Q T Q = I 101 Tétel kxk 2 = kqxk 2 Bizonyítás kxk 2 2 = xt x = x T Q T Qx =(Qx) T Qx = kqxk 2 2 Tehát ortogonális mátrixszal való szorzás nem változtatja meg a vektor euklideszi hosszát 102 Tétel ( QR-felbontás) Minden An n mátrix felbontható A = QR alakban, ahol Q ortogonális mátrix, azaz Q T Q = I és R felsýo háromszögmátrix A QR-felbontás az LU-módszerhez hasonló eljárást tesz lehetýové Ha ismert az A nemszinguláris mátrix QR-felbontása, akkor az Ax = b lineáris egyenletrendszert megoldhatjuk a következýoképpen is: Ax = QRx = b Rx = Q T b Ekkor tehát elég megoldani a felsýo háromszögmátrixú Rx = Q T b egyenletrendszert Egy mátrix QR-felbontására több módszer is létezik Ezek közül a Gauss-elimináción alapuló módszert és a Gram-Schmidt eljárást ismertetjük Legyen A nemszinguláris mátrix és tekintsük a B = A T A = R T R Choleskyfelbontást, ahol R felsýo háromszögmátrix Ekkor a Q = AR 1 mátrix ortogonális, az A = QR pedig az A mátrix QR-felbontása A Q mátrix ortogonális, mert Q T Q = R 1 T A T AR 1 = R 1 T R T RR 1 = I Az észrevétel alapján a QR-felbontást a következýoképpen lehet végrehajtani: (1) Számítsuk ki az A T A = R T R Cholesky-felbontást! (2) Invertáljuk az R mátrixot az RX = I egyenletrendszer megoldásával! (3) Számítsuk ki az Q = AR 1 mátrixot! A kapott Q és R mátrixok az A mátrix QR-felbontását adják 112 SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA

113 A most bemutatott eljárásnak elsýosorban elvi jelentýosége van A gyakorlatban a Givens- és Householder-módszereket, valamint az MGS módszert használják Az MGS vagy módosított Gram-Schmidt eljárás az önmagában is rendkívül fontos klasszikus Gram-Schmidt (CGS) ortogonalizációs eljárás numerikusan stabilizált ekvivalens változata Legyen mx R{a 1,,a m } = λ j a j λ j R, j=1,,m j=1 az a 1,,a m R n (m n) vektorok által kifeszített lineáris altér Az ortogonalizációs feladat a következýo: Legyen a 1,,a m lineárisan független Keressük azon lineárisan független q 1,,q m vektorokat, amelyekre fennáll: qi T q j =0 (i 6= j), kq i k 2 =1 (i =1,,m) és R{a 1,,a m } = R{q 1,,q m } A {q i } m i=1 vektorrendszert ortonormált rendszernek mondjuk A Gram-Schmidt eljárás alapgondolata a következýo Adjuk meg a q 1,q 2 vektorokat a következýoképpen: q 1 = a 1 / ka 1 k 2 és q 2 = a 2 r 12 q 1 Az r 12 -t pedig válasszuk meg úgy, hogy q 2 q 1 legyen: q 2 q 1 (a 2 r 12 q 1 ) T q 1 = a T 2 q 1 r 12 =0 r 12 = a T 2 q 1 Legyen r 22 = k q 2 k 2 = a 2 a T 2 q 1 q1 2, és q 2 = q 2 /r 22 Eddig kaptuk a q 1 és q 2 vektorokat, amelyek ortonormáltak Igazolnunk kell, hogy R{a 1,a 2 } = R{q 1,q 2 } Világos, hogy q 1,q 2 R{a 1,a 2 } és így R{q 1,q 2 } R{a 1,a 2 }Minthogya 1 R{q 1 } és a 2 = r 22 q 2 + r 12 q 1 R{q 1,q 2 }, igazoltuk az R{a 1,a 2 } = R{q 1,q 2 } állítást ORTOGONALIZÁLÁSI ELJÁRÁSOK 113

114 Tegyük most fel, hogy elýoállítottuk a q 1,,q k 1 ortonormált vektorokat, amelyekre teljesül, hogy R{a 1,,a k 1 } = R{q 1,,q k 1 } Keressük a q k vektort k 1 X q k = a k r jk q j alakban úgy, hogy q k q j (j =1,,k 1) Ez akkor és csak akkor teljesül, ha k 1 X q k T q i = a T k q i r jk qj T q i =0 (i =1,,k 1) j=1 j=1 Mivel i 6= j esetén q T j q i =0és q T i q i =1, kapjuk, hogy r ik = a T k q i (i =1,,k 1) A kiinduló vektorok lineárisan függetlenek, ezért q k 6=0és r kk = k q k k 2 6=0Legyen q k = q k /r kk Igazoljuk, hogy R{a 1,,a k } = R{q 1,,q k } Tekintve, hogy R{a 1,,a k 1 } = R{q 1,,q k 1 },aq k R{a 1,,a k } tulajdonság is igaz Fordítva k 1 X a k = r jk q j + r kk q k j=1 miatt a k R{q 1,,q k } Következésképpen R{a 1,,a k } = R{q 1,,q k } Az eljárást a következýo formában algoritmizálhatjuk CGS (klasszikus Gram-Schmidt) ELJÁRÁS: Adottak az a 1,,a m R n lineárisan független vektorok, m n for k =1:m for i =1:k 1 r ik = a T k a i a k = a k r ik a i end r kk = ka k k 2 a k = a k /r kk end Az eljárás felülírja az a i vektorokat az ortonormalizált q i vektorokkal A QRfelbontással való kapcsolatot a a k = P k 1 j=1 r jkq j +r kk q k összefüggés adja meg Ugyanis fennáll, hogy a 1 = q 1 r 11 a 2 = q 1 r 12 + q 2 r 22 a 3 = q 1 r 13 + q 2 r 23 + q 3 r 33 a m = q 1 r 1m + q 2 r 2m + + q m r mm 114 SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA

115 Ez felírható a tömörebb [a 1,,a m ]=[q 1,,q m ] {z } Q r 11 r 12 r 13 r 1m 0 r 22 r 23 r 2m 0 0 r 33 r 3m {z r mm } R alakban is Kaptuk tehát a következýo eredményt 103 Tétel ( QR-felbontás) Minden A R n m mátrix, amelynek rangja m, elýoáll A = QR alakban, ahol Q R n m oszlopai ortonormáltak, rangja m és R R m m nemszinguláris felsýo háromszögmátrix Ha m = n, akkoraqr-felbontásra vonatkozó 102 Tételt kapjuk nemszinguláris A esetén Ekkor ugyanis Q T Q = qi T n q j i,j=1 = I A numerikusan stabilizált MGS módszer a következýoképpen adható meg MGS (módosított Gram-Schmidt) ALGORITMUS: Adottak az a 1,,a m R n lineárisan független vektorok for k =1:m r kk = ka k k 2 a k = a k /r kk for j = k +1:m r kj = a T j a k a j = a j r kj a k end end Az eljárás felülírja az a i vektorokat az ortonormalizált q i vektorokkal Az MGS eljárás ekvivalens a CGS eljárással Ugyanakkor numerikusan lényegesen stabilabb Björck igazolta, hogy m = n esetén a számított ˆQ mátrixra fennáll, hogy ˆQ T ˆQ = I + E, kek 2 = cond (A) u, (102) ahol u az egységnyi kerekítés mértéke 103 A QR-módszer A ma használt legfontosabb általános eljárás az összes sajátérték meghatározására Megmutatható, hogy a hatványmódszer általánosítása Legyen A 1 = A és A 1 = Q 1 R 1 Képezzük az A 2 = R 1 Q 1 mátrixot! Az A 2 mátrix hasonló az A 1 mátrixhoz, ui R 1 = Q 1 1 A 1 és A 2 = R 1 Q 1 = Q 1 1 AQ 1 Hasonlóképpen az A k = R k 1 Q k 1 = Q k R k (k =2, 3,) AQR-MÓDSZER 115

116 mátrixsorozat minden mátrixa hasonló az A mátrixhoz A QR-módszer a fenti sorozat képzésébýol áll A QR-MÓDSZER ALGORITMUSA: for i =1, Számítsuk ki az A i = Q i R i felbontást! A i+1 = R i Q i end Igaz a következýo tétel 104 Tétel (Parlett) Ha az A mátrix diagonalizálható, sajátértékeire fennáll λ 1 > λ 2 >> λ n > 0 és az X 1 AX =diag(λ 1, λ 2,,λ n ) hasonlósági transzformáció X mátrixának létezik LU-felbontása, akkor az A k mátrixok alsó háromszög része konvergál egy diagonális mátrixhoz, amelynek diagonális elemei az A sajátértékei lesznek A 104 Tételnél lényegesen jobb konvergencia eredmények is ismertek Az A k mátrixok felsýo része nem feltétlenül konvergál egy meghatározott mátrixhoz Ha az A mátrixnak p számú azonos abszolút értékýu sajátértéke van, akkor az A k mátrixok sorozata egy alakú mátrixhoz közelít, ahol a elemekkel jelölt részmátrixok elemei nem konvergálnak, sajátértékeik viszont igen Ezt a részmátrixot lehet azonosítani és alkalmas módon kezelni Ha valós mátrixunk van, akkor a karakterisztikus egyenletnek valós vagy komplex konjugált gyökei lehetnek Komplex konjugált gyökpárok esetén p legalább kettýo Tehát az A k sorozat a most vázolt jelenséget fogja mutatni A QR-felbontás nagyon számításigényes, költsége O(n 3 ) régi ßop Ugyanakkor a QR-módszert rendkívül gazdaságosan lehet alkalmazni, ha a kiinduló A mátrix felsýo Hessenberg-alakú 116 SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA

117 102 DeÞníció Egy A n n mátrix felsýo Hessenberg-alakú, ha A = a 11 a 1n a 21 0 a 32 0 an 1,n 2 a n 1,n 1 a n 1,n 0 0 a n,n 1 a nn Ekvivalens megfogalmazásban: A felsýo Hessenberg-alakú, ha a ij =0, i j +2 Hessenberg-alakú mátrixok QR-felbontása O(n 2 ) régi ßop számítási költséget igényel 105 Tétel Ha A felsýo Hessenberg-alakú és A = QR, akkor RQ is felsýo Hessenbergalakú Bizonyítás Felhasználjuk a következýo észrevételt Ha egyb mátrix felsýohessenberg-alakú és R felsýo háromszög alakú, akkor F = BR és G = RB is felsýo Hessenberg-alakú Ha i j +2,akkor f ij =[0,,0,b {z } i,i 1,,b in ] j r 1j r jj 0 0 =0, illetve g ij =[0,,0,r {z } ii,,r in ] j+1 b 1j b j+1,j 0 0 =0, amivel az észrevételt igazoltuk Minthogy R 1 szintén felsýo háromszögmátrix alakú, ezért Q = AR 1 is felsýo Hessenberg-alakú Ebbýol az RQ Hessenberg-alakja is következik Következésképpen a Hessenberg-alakú mátrixok alakja invariáns a QR-módszerrel szemben Ha tehát a QR módszer egy nulladik lépéseként az A mátrixot hasonlósági transzformációval egy felsýo Hessenberg-alakú mátrixba visszük át, jelentýos számítási költség megtakarítást érhetünk el AQR-MÓDSZER 117

118 Egy A mátrixot felsýo Hessenberg-alakra sokféleképpen hozhatunk Az egyik legolcsóbb ( 5n 3 /6 régi ßop) eljárás a Gauss-eliminációs eljáráson alapul Legyen N k = I β (k) e T k+1, ahol e k+1 R n a (k +1)-edik egységvektort jelöli és 0 β (k) = 0 a k+2,k /a k+1,k a nk /a k+1,k Tehát 1 N k = 1 1 a k+2,k /a k+1,k a n,k /a k+1,k 1 Feltéve, hogy az A mátrix soronként van particionálva a T 1 N k A = A β (k) a T k+1 = a T k+1 a T k+2 (a k+2,k/a k+1,k ) a T k+1 a T n (a nk /a k+1,k ) a T k+1 A transzformáció tehát kinullázza a k-adik oszlopban az a k+1,k alatti mátrixelemeket és változatlanul hagyja az elsýo k +1sort Ha a T k+1,,at n elsýo k 1 eleme 0, akkor ez változatlanul marad és csak az A (k +2:n, k : n) részmátrix elemei változnak Vegyük észre, hogy N 1 k = I + β (k) e T k+1 és tetszýoleges B Rn n esetén BN 1 k = B+ Bβ (k) {z } e T k+1 = B + ce T k+1 = B +[0,,0, {z} c, 0,,0] c R n k+1 Ez azt jelenti, hogy a B BN 1 k transzformáció csak a B mátrix (k +1)-edik oszlopát módosítja Legyen tehát A (1) = A és képezzük az A (k+1) = N k A (k) N 1 k (k =1,,n 2) 118 SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA

119 mátrixsorozatot Tegyük fel, hogy A (k) elsýo k 1 oszlopában az a i+1,i alatti mátrixelemek már ki vannak nullázva (1 i k 1) Ekkor N k A (k) kinullázza az a k+1,k alatti oszlopelemeket Minthogy az N k A (k) N 1 k szorzat csak a (k +1)-edik oszlopot módosítja, az A (k+1) mátrixban az a k+1,k alatti oszlopelemek zérusok Végül kapjuk, hogy H = A (n 1) =N n 2 N 1 AN1 1 N 1 1 n 2= NAN {z } {z } N N 1 felsýo Hessenberg-alakú, amely hasonlósági transzformációval állt elýo Megmutatható, hogy 1 1 N 1 a 31 /a 21 1 = a n 1,1 /a 21 a n 1,2 /a 32 1 a n1 /a 21 a n2 /a 32 a n,n 2 /a n 1,n 2 1 Az a k+1,k elem pivotelemként viselkedik Ha a k+1,k kis abszolút értékýu, vagy zérus, akkor sor- és oszlopcsere alkalmazásával itt is pivotálhatunk Ekkor az eljárást értelemszerýuen módosítani kell A QR-módszer konvergenciája a hatványmódszerhez hasonlóan a sajátértékek λ i+1 /λ i hányadosaitól függ Minthogy az A σi mátrix sajátértékei λ 1 σ, λ 2 σ,,λ n σ, az ehhez kapcsolódó sajátérték hányadosok: (λ i+1 σ) / (λ i σ) Aσ ügyes megválasztásával ezek a hányadosok kicsivé tehetýok, meggyorsítva ezáltal a konvergenciát A Hessenberg-alakra hozást és az eltolást is alkalmazó QR-módszer algoritmusa a következýo: AZ ELTOLÁSOS QR-MÓDSZER ALGORITMUSA: H 1 = U 1 AU (H 1 felsýo Hessenberg-alakú) for i =1, 2, Számítsuk ki a H i σ i I = Q i R i felbontást! H i+1 = R i Q i + σ i I end A H i+1 mátrix hasonló H i -hez, ui R i Q i + σ i I = Q T i (H i σ i I)Q i + σ i I = Q T i H i Q i A σ i paraméterek megválasztására különféle stratégiák léteznek A leggyakrabban javasolt választás a következýo: µ h i n σ k = h (k) nn H k = h (k) ij i,j=1 A gyakorlatban a QR-módszert csak eltolásos formában használjuk AQR-MÓDSZER 119

120 Az A sajátvektorai a QR módszer segítségével többféleképpen is könnyen meghatározhatók Ezek részletezése az irodalomban megtalálható Példa Legyen A = Oldjuk meg a sajátérték-sajátvektor feladatot! Ellenýorízzük a kapott eredményeket a hatványmódszerrel, QR-módszerrel és az eltolásos QR-módszerrel is! A karakterisztikus polinom: p(λ) =det(a λe) =λ 3 2λ 2 5λ +6 A polinom gyökei, tehát A sajátértékei: λ 1 =3, λ 2 = 2, λ 3 =1 Amegfelelýo sajátvektorok: s 1 =[05, 0, 5, 1] T, s 2 =[ 1 3, 2 9, 1]T, s 3 =[0, 1, 0] T A hatványmódszert a v (0) =[1, 1, 1] T -býol indítva kapott sorozat néhány eleme: k z v 1 [20000, 30000, ] T [03333, 05000, 10000] T 5 [15667, 16583, ] T [04608, 04877, 10000] T 10 [14919, 14812, ] T [05055, 05018, 10000] T 20 [14999, 14997, ] T [05001, 05000, 10000] T A λ 1 =3-hoz konvergáló γ k sorozat elemeit bekereteztük A következýotáblázataqrmódszerrel kapott A i és a σ i 1 értékkel történt eltolásos QR-módszerrel kapott à i sorozat néhány elemét tartalmazza Többféle eltolást próbáltunk ki, ezek közül a σ i 1 gyorsította meg a legnagyobb mértékben a konvergenciát A sajátértékek a fýoátlóbeli, bekeretezett elemek határértékeként adódnak i =4 i = 9 i =12 A i ,,, à i SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA

121 104 A szinguláris érték felbontás A lineáris algebra számos eljárásában a Jordan-féle normálalak helyett lényegesen fontosabb a szerepe van az ún szinguláris érték felbontásnak (SVD) 106 Tétel Minden A R n n mátrix felbontható A = UΣV (103) alakban, ahol U és V ortogonális mátrixok (azaz U T U = I, V T V = I), σ Σ = 0 σ σ n (104) diagonálmátrix és σ 1 σ 2 σ n 0 A σ 1,,σ n számokat szinguláris értékeknek nevezzük A zérusmátrixra σ 1 =0, nemszinguláris mátrixra σ n > 0, egyébként az A mátrix rangja akkor és csak akkor r, ha σ r > 0 és σ r+1 =0 Könnyen látható, hogy σ 2 1,,σ 2 n az AA T mátrix sajátértékei A szinguláris értékek jóval kevésbé érzékenyek mint a sajátértékek 107 Tétel Legyen A, B R n n, amelyek szinguláris értékei rendre σ 1 σ 2 σ n 0, illetve τ 1 τ 2 τ n 0 Ekkor max σ i τ i ka Bk 1 i n 2 (105) A tétel a szinguláris értékek numerikus stabilitását mondja ki Ha B = A + δa, akkor max 1 i n σ i τ i kδak 2,tehátazA kismértékýu megváltozása a szinguláris értékek kismértékýu megváltozását vonja maga után Ha Þgyelembevesszük, hogy σ 2 i az AA T szimmetrikus (és pozitív szemideþnit) mátrix sajátértéke, akkor a tételbýol azt a következtetést is levonhatjuk, hogy szimmetrikus pozitív szemideþnit mátrixok szimmetrikusságot és pozitív szemideþnitséget megýorzýo perturbációi esetén a sajátértékek csak kicsit változnak A szinguláris érték felbontás általánosítható téglalapmátrixok esetére is 108 Tétel Legyen A R m n és rank(a) =r Ekkor léteznek U R m m és V R n n ortogonális mátrixok úgy, hogy A = UΣV T Σr 0, Σ = R 0 0 m n, ahol Σ r =diag(σ 1,,σ r ) és σ 1 σ 2 σ r > 0 A következýokben egy robusztus eljárást adunk meg a szinguláris érték felbontás meghatározására Ehhez szükségünk van a következýokre A SZINGULÁRIS ÉRTÉK FELBONTÁS 121

122 A 103 Tételben kimondtuk, hogy minden A R n m mátrix, amelyre rank(a) = m (m n), elýoáll A = QR alakban, ahol Q R n m oszlopai ortonormáltak, rangja m és R R m m nemszinguláris felsýo háromszögmátrix Ez a QR-felbontás nem egyértelmýu Legyen A = Q 1 R 1 és A = Q 2 R 2 két különbözýo QR-felbontás A Q 1 R 1 = Q 2 R 2 egyenlýoségbýol azonos átalakítással kapjuk, hogy Q T 2 Q 1 = R 2 R 1 1 Minthogy Q T 2 Q 1 R m m ortogonális mátrix, a transzponáltja az inverze Ugyanakkor R 2 R1 1 felsýo háromszögmátrix, aminek az inverze is felsýo háromszögmátrix, viszont a transzponáltja alsó háromszögmátrix Egy alsó és egy felsýo háromszögmátrix csak akkor egyezhet meg, ha diagonálisak Tehát Q T 2 Q 1 = R 2 R 1 1 = D, ahol D diagonális mátrix Innen adódik, hogy Q 2 = Q 1 D, R 2 = DR 1 A Q T 2 Q 1 mátrix ortogonalitása miatt D is ortogonális, azaz D T D = D 2 = I Ezért a D mátrix diagonális elemei csak ±1-ek lehetnek Ha kikötjük, hogy R minden diagonális eleme pozitív legyen, azaz r ii > 0 (i =1,,m), akkor a QR-felbontás egyértelmýu lesz Ekkor ugyanis D diagonális elemei csak (+1)-ek lehetnek Legyen A = QR egy tetszýoleges felbontás, ahol R diagonálisában van negatív elem DeÞniáljuk a D mátrixot a következýoképpen Legyen d ii =1,har ii > 0 és d ii = 1, har ii < 0 A Q 1 = QD és R 1 = DR mátrixok A egyetlen olyan QR felbontását deþniálják, amelyben a felsýo háromszögmátrix diagonális elemei pozitívak Természetesen a Q 1 és R 1 mátrixokat úgy kaphatjuk meg legkönnyebben, hogy r ii < 0 esetén Qi-edik oszlopát és Ri-edik sorát ( 1)-el megszorozzuk Akövetkezýokben feltesszük, hogy a QR-felbontás minden esetben olyan R felsýo háromszögmátrixot állít elýo, amelynek diagonálisában csupa pozitív elem van A következýo algoritmus A szinguláris érték felbontását állítja elýo, ha A R n m, rank(a) =m és m n TRANSZPONÁLT QR-ALGORITMUS: A = Q 0 R 1 for i =1, Számítsuk ki az Ri T = Q i R i+1 felbontást! end Legyen U j = Q 2 Q 4 Q 2j és V j = Q 1 Q 3 Q 2j 1 Ekkor R 2j = Vj T RT 1 U j 1 és R 2j+1 = Uj T R 1V j Igazolható, hogy U j Ũ, V j V és R j S, ahols diagonális mátrix Minthogy R 1 = U j R 2j+1 Vj T, határátmenettel kapjuk, hogy R 1 = Q T 0 A = ŨSV T, ahonnan az U = Q 0 Ũ bevezetésével az A = USV T szinguláris érték felbontás adódik Az eljárással kapcsolatban a következýoket jegyezzük meg Vegyük észre, hogy R i R T i = R T i+1r i+1 Megmutatható, hogy a B i = R i R T i mátrixok egymáshoz, illetve B 1 = Q T 0 AA T Q 0 miatt AA T -hez hasonlóak Ha csak a szinguláris értékekre van szükségünk, akkor a Cholesky-felbontás segítségével az eljárást a következýoképpen írhatjuk át: 122 SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA

123 A = Q 0 R 1 for i =1, Számítsuk ki az R i Ri T = R T i+1 R i+1 Cholesky-felbontást! end Példa Azelýozýo fejezetben szereplýo A = mátrix szinguláris érték felbontása a transzponált QR-algoritmussal a következýo sorozatokat eredményezi: j = 2 j = 5 j =10 Q 0 U j ,,, V j j = , Az s =(σ 1, σ 2, σ 3 ) szinguláris értékeket közelítýo, az R j diagonális elemeibýol álló s j sorozat: s 4 = (64126, 09553, 09774), s 10 = (64128, 0, 9653, 09693), s 20 = (64128, 09863, 09486) A három, 4 tizedesjegyre pontos szinguláris érték: s =(64128, 10000, 09356) Megjegyezzük, hogy a 64-ik iteráció után állt be minden közelítýo szinguláris érték 4 tizedesjegy pontossággal, de ilyen pontossággal már az A (Q 0 U 6 )S 6 V5 T is teljesült A SZINGULÁRIS ÉRTÉK FELBONTÁS 123

124 105 Feladatok 1 Alkalmazzuk a hatványmódszert az A = mátrixra a v (0) = kezdýoértékkel! Mi a 20-ik lépés eredménye? 2 Alkalmazzuk a hatványmódszert, az inverz hatványmódszert, illetve a QR-módszert a mátrixra! 3 Alkalmazzuk az eltolásos QR-módszerta2 feladatmátrixáraegyrögzítettσ i = σ értékkel! SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA

125 11 INTERPOLÁCIÓ Az interpoláció feladatát a következýoképpen fogalmazhatjuk meg Ismerjük egy y = f (x) (f : R R) függvény pontokban felvett értékeit, az a x 1 <x 2 <<x n b (111) y i = f(x i ) (i =1,,n) (112) függvényértékeket Az f (x) függvényt, amely lehet ismert, vagy akár ismeretlen is, egy olyan, általában könnyen számítható h (x) függvénnyel közelítjük (vagy helyettesítjük), amelyre fennáll, hogy y i = h (x i ) (i =1,,n) (113) Az {x i } n i=1 pontokat interpolációs alappontoknak, az (113) feltételt interpolációs feltételnek nevezzük Az interpolációs feltétel teljesülése esetén azt reméljük, hogy a h (x) =h (x; {x i } n i=1, {y i} n i=1 ) interpoláló függvény az (x i,x i+1 ) intervallumokban jól közelíti az f(x) függvényt A h(x) függvény megválasztásától függýoen beszélünk különbözýo típusú interpolációkról Ha a h(x) függvénnyel f(x)-et az (x 1,x n ) intervallumon kívül közelítjük, akkor extrapolációról beszélünk 111 A lineáris interpoláció A lineáris interpoláció esetén a h (x) függvény alakja h(x) =a 1 φ 1 (x)+a 2 φ 2 (x)++ a n φ n (x) = nx a i φ i (x), (114) ahol a φ i :[a, b] R (i =1,,n) bázisfüggvények adottak Az ismeretlen a 1,,a n együtthatókat az interpolációs feltételbýol határozhatjuk meg Ekkor teljesülnie kell az alábbi n feltételnek a 1 φ 1 (x 1 )+a 2 φ 2 (x 1 )++ a n φ n (x 1 ) = f(x 1 ), i=1 a 1 φ 1 (x n )+a 2 φ 2 (x n )++ a n φ n (x n ) = f(x n ), (115) 125

126 amely lineáris egyenletrendszer az ismeretlen a 1,,a n együtthatókra nézve Legyen B = B =[φ j (x i )] n i,j=1 (116) és a =[a 1,,a n ] T, c =[f (x 1 ),,f(x n )] T (117) A fenti feltétel tömör alakban Ba = c (118) Ha det(b) 6= 0, akkor az egyenletrendszernek pontosan egy megoldása van: a = B 1 c A gyakorlatban sokféle {φ i (x)} n i=1 bázisfüggvényt alkalmaznak Az egyik legfontosabb a φ 1 (x) =1, φ 2 (x) =x,, φ n (x) =x n 1 (119) függvényrendszer, amely a Lagrange-féle interpolációs feladatot deþniálja Ekkor az interpolációs feladat mátrixa 1 x 1 x n x n x n 1 n (1110) az ún Vandermonde-féle mátrix, amely a det(b) = Q 1 i<j n (x j x i ) összefüggés miatt nemszinguláris Tehát a Lagrange-féle interpolációs feladatnak egyértelmýumegoldása van További fontos esetek a következýok A trigonometrikus interpolációt a µ φ 1 (x) =1, φ 2k (x) =sin(kx), φ 2k+1 (x) =cos(kx) k =1,, n 1 (1111) 2 függvényrendszer (n =2k +1, [a, b] =[ π, π]), az exponenciális interpolációt pedig a φ i (x) =e λix (i =1,,n, λ 1 < λ 2 <<λ n ) (1112) függvényrendszer deþniálja Racionális törtfüggvényeket használ a φ i (x) = 1 (i =1,,n, 0 <a 1 <<a n ) (1113) a i + x függvényrendszer Itt fel kell tennünk, hogy x + a 1 > 0 Ez könnyen teljesül, ha x [a, b] és a + a 1 > 0 Nem minden {φ i (x)} n i=1 függvényrendszer és x 1 <x 2 <<x n alappontrendszer esetén van megoldása a lineáris interpolációs feladatnak Példa Legyen φ 1 (x) =1, φ 2 (x) =x 2, x 1 = 1, x 2 =1Ekkor 1 ( 1) 2 B =, det(b) =0 1 1 A lineáris interpolációs feladat mátrixa sok esetben rosszul kondicionált Ilyenkor speciális technikákat vagy más típusú interpolációt kell használni 126 INTERPOLÁCIÓ

127 112 A Lagrange-féle interpolációs feladat A feladat szokásos megfogalmazása a következýo Adottak az x 1 <x 2 < < x n alappontok és az y i = f(x i ) (i =1,,n) függvényértékek Határozzuk meg azt a legfeljebb (n 1)-edfokú polinomot, amelyre teljesül a p(x) =a 0 + a 1 x + + a n 1 x n 1 (1114) y i = p(x i ) (i =1,,n) (1115) interpolációs feltétel A Lagrange-féle interpolációs polinom létezését és egyértelmýuségét már beláttuk A polinom többféle ekvivalens alakban is felírható Különösen fontos azonban a Lagrange-féle elýoállítás Legyen l i (x) = ny k=1,k6=i x x k x i x k (i =1,,n) (1116) az i-edik Lagrange-féle alappolinom Ekkor az interpolációs polinom elýoáll p(x) = nx y i l i (x) (1117) i=1 alakban Ennek igazolására vegyük észre, hogy ½ 1, i = j l i (x j )= 0, i 6= j (1118) és p(x j )= nx y i l i (x j )=y j l j (x j )=y j (j =1,,n) (1119) i=1 A Lagrange-féle interpolációs polinom hibájára vonatkozik a következýo 111 Tétel (Cauchy) Ha f C n [a, b], [x 1,x n ] [a, b] és x [a, b], akkor f(x) p(x) = f (n) (ξ x ) (x x 1 )(x x 2 ) (x x n ), n! ahol ξ x = ξ(x) az x és az x 1,x n pontok által kifeszített intervallumban van Bizonyítás Ha van i, hogy x = x i, akkor állításunk triviális Egyébként legyen ω(x) =(x x 1 )(x x 2 ) (x x n ) és tekintsük a következýo segédfüggvényt: W (t) =f(t) p(t) [f(x) p(x)] ω(t) ω(x) (1120) A LAGRANGE-FÉLE INTERPOLÁCIÓS FELADAT 127

128 A W (t) C n [a, b] függvénynek van n +1 gyökhelye: x, x 1,,x n A Rolle tétel miatt W (t) bármely két gyökhelye között a W 0 (t) deriváltfüggvénynek zérushelye van Ezért W 0 (t)-nek legalább n zérushelye van Hasonlóképpen okoskodva belátható, hogy W 00 (t)-nek legalább n 1, W (3) (t)-nek legalább n 2 zérushelye van, és így tovább Végül W (n) (t)-nek is van legalább egy zérushelye, amit jelöljön ξ x Minthogy p (n) (t) 0 és ω (n) (t) n!, azért W (n) (ξ x )=f (n) n! (ξ x ) [f(x) p(x)] =0, (1121) ω(x) ahonnan átrendezéssel kapjuk a tétel állítását Következmény Ha f (n) (x) M n ( x [a, b]), akkor f(x) p(x) M n n! (b a)n (1122) Konkrét n esetén szélsýoértékszámítással élesebb becslés is levezethetýo Példa Hány ekvidisztáns alappontban kell megadnunk a sin x függvény táblázatát a 0, π 2 intervallumon ahhoz, hogy a közbülsýo pontokban lineáris Lagrangeinterpolációt használva az elkövetett hiba legfeljebb ε =10 4 legyen? Vezessük be a h = x i+1 x i jelölést A Cauchy-tétel következménye alapján olyan h-t keresünk, melyre M 2 h 2 / Mivel (sin x) 00 = sin x, választhatjuk az M 2 =1értéket Ezzel h 2/100, n π 2h miatt n 112 adódik Ha viszont a hibakorlátot az f(x) p(x) M 2 2 max (x x i)(x x i+1 ) becslésbýol közvetlenül vezetjük le szélsýoértékszámítással, akkor az élesebb, f(x) p(x) M 2h 2 8 eredményt kapjuk Ez alapján kiderül, hogy n =28pont is elég Az interpolációs eljárásoktól elvárjuk, hogy a pontok számának növelése esetén a közelítés hibája csökken Ez azonban nem minden esetben van így, amint azt a feladatok között szereplýo Runge-féle példa is mutatja Nagy n-ek esetén numerikus instabilitás is felléphet Ennek illusztrálására tegyük fel, hogy az y i = f(x i ) függvényértékeket ε i hibával ismerjük (i =1,,n) Ekkor az elméleti p(x) = nx f(x i )l i (x) i=1 Lagrange-interpolációs polinom helyett a perturbált p(x) = nx (f(x i )+ε i )l i (x) i=1 128 INTERPOLÁCIÓ

129 polinommal számolunk A kettýo eltérésére teljesül, hogy nx nx µ δ (p (x)) = p(x) p(x) = ε i l i (x) ε i l i (x) max ε X n i l i (x) 1 i n i=1 Ez a becslés pontos Igazolható, hogy i=1 i=1 nx l i (x) > 2 log n + c, (1123) π i=1 ahol c konstans Ha n elég nagy, akkor a δ (p (x)) perturbációs hiba is nagy lesz A divergencia és numerikus instabilitás miatt sok esetben más típusú interpolációs technikákat használunk Példa Közelítsük másodfokú függvénnyel az f(x) =cos( π 2 x) függvényt a[ 1, 1]-ben az x 1 = 1,x 2 =0,x 3 =1pontokra támaszkodva! f(x) p(x) =A 1 + A 2 x + A 3 x 2 Az együtthatókra felírható az A 1 A 2 + A 3 = 0 A 1 = 1 A 1 + A 2 + A 3 = 0 egyenletrendszer Innen p(x) = 1 x 2 Természetesen ugyanezt kapjuk az l i (x) Lagrange-függvényekkel is f(x 1 )=f(x 3 )=0miatt elég az l 2 (x)-t meghatározni, ez 1 x 2,amijelenesetbenap(x) polinommal megegyezik A közelítés hibáját h M 3 3! max (x +1)x(x 1) 1 x 1 becsli, ahol M 3 az f 000 (x) maximuma, jelen esetben π 3 /8 Szélsýoértékszámítással adódik, hogy 8 max (x +1)x(x 1) = 1 x 1 27, azaz h π 3 /216 ' Harmadfokú szplájn interpoláció A szplájn interpoláció is a lineáris interpolációk közé tartozik alkalmasan megválasztott {φ i } bázisfüggvény-rendszerrel Bevezetése és tárgyalása viszont más alapokon szokásos A szplájn interpoláció esetén a h(x) interpoláló függvényt szakaszonként adjuk meg speciális csatlakozási feltételekkel Az a = x 1 <x 2 < < x n = b HARMADFOKÚ SZPLÁJN INTERPOLÁCIÓ 129

130 alappontokhoz, illetve az y i = f (x i ) (i =1,,n) függvényértékekhez olyan S(x) függvényt keresünk, amely kielégíti a következýo feltételeket: (i) S(x) = S i (x) (x [x i,x i+1 ]), ahol S i (x) legfeljebb harmadfokú polinom (i =1,,n 1), (ii) S(x i )=y i (i =1,,n), (iii) S i (x i+1 )=S i+1 (x i+1 ) (i =1,,n 2), (iv) Si 0 (x i+1) =Si+1 0 (x i+1) (i =1,,n 2), (v) Si 00 (x i+1 )=Si+1 00 (x i+1 ) (i =1,,n 2), (vi) S 00 (x 1 )=A n, S 00 (x n )=B n Az (ii)-(iii) feltételek együttesen azt jelentik, hogy az S (x) függvény folytonos az [a, b] intervallumon Az (iv)-(v) feltételek azt mondják ki, hogy S 0 (x) és S 00 (x) folytonos Ha A n = B n =0, akkor az S(x) függvényt természetes szplájnnak nevezzük Legyen h i = x i+1 x i az i-edik részintervallum hossza (i =1,,n 1) A S(x) szplájnt az [x i,x i+1 ] intervallumon a S(x) =S i (x) =a i + b i (x x i )+c i (x x i ) 2 + d i (x x i ) 3 (1124) alakban keressük (i = 1,,n 1) Az (ii)-(vi) feltételek felhasználásával az ismeretlen a i,b i,c i és d i együtthatókat a következýoképpen határozhatjuk meg Az (ii), azaz az S(x i ) = S i (x i ) = y i interpolációs feltétel miatt a i = y i (i =1,,n 1) Az (iii) csatlakozási feltétel alakja S i (x i+1 )=y i + b i h i + c i h 2 i + d i h 3 i = y i+1 (i =1,,n 1), (1125) Az (iv) csatlakozási feltétel alakja S 0 i(x i+1 )=b i +2c i h i +3d i h 2 i = b i+1 = S 0 i+1(x i+1 ) (i =1,,n 2) (1126) Hasonlóképpen kapjuk, hogy a (v) feltétel alakja S 00 i (x i+1) =2c i +6d i h i =2c i+1 = S 00 i+1 (x i+1) (i =1,,n 2) Ebbýol az egyenlýoség-láncból a c i+1 = c i +3d i h i (i =1,,n 2) összefüggéseket kapjuk A (vi) végpont-feltétel alakja Így kapjuk, hogy S 00 (x 1 )=2c 1 = A n, S 00 (x n )=2c n 1 +6d n 1 h n 1 = B n (1127) d i = c i+1 c i 3h i (i =1,,n 2), d n 1 = B n 2c n 1 6h n 1 (1128) 130 INTERPOLÁCIÓ

131 Mindent összevetve a 3(n 1) ismeretlenre az (1125)-(1128) összefüggések összesen 3(n 1) egyenletet adnak Az (1125) egyenletbýol b i -t kifejezhetjük a következýoképpen: b i = y i+1 y i h i c i h i d i h 2 i (i =1,,n 1) (1129) A (1127)-(1129) összefüggéseket felhasználva a szplájn elýoállítható a c 1,c 2,, c n 1 együtthatók ismeretében A (1128) összefüggést a (1129) ba beírva kapjuk, hogy i =1,,n 2 esetén b i = y i+1 y i h i Hasonlóképpen kapjuk, hogy c i h i c i+1 c i h 2 i = y i+1 y i 2c i + c i+1 3h i h i 3 b n 1 = y n y n 1 h n 1 = y n y n 1 h n 1 c n 1 h n 1 B n 2c n 1 h 2 n 1 6h n 1 h i (1130) 4c n 1 B n h n 1 (1131) 6 Legyen i = (y i+1 y i ) /h i és helyettesítsük a b i és d i együtthatókra vonatkozó összefüggéseket a (1126) egyenlýoségbe: i+1 2c i+1 + c i+2 3 h i+1 = i 2c i + c i+1 3 (i = 1,,n 3), h i +2c i h i +3 c i+1 c i h 2 i 3h i n 1 4c n 1 B n 6 h n 1 = n 2 2c n 2 + c n 1 h n c n 2 h n 2 +3 c n 1 c n 2 h 2 3h n 2 n 2 Az összefüggések átrendezésével kapjuk, hogy (i =1,,n 3) és h i c i +2(h i + h i+1 )c i+1 + h i+1 c i+2 =3( i+1 i ), (1132) h n 2 c n 2 +2(h n 2 + h n 1 )c n 1 =3 µ n 1 n 2 + h n 1 6 B n (1133) Figyelembevéve, hogy c 1 = A n /2, azelsýo egyenlet(i =1)átmegya µ 2(h 1 + h 2 ) c 2 + h 2 c 3 =3 2 1 h 1 2 A n (1134) HARMADFOKÚ SZPLÁJN INTERPOLÁCIÓ 131

132 alakba Az i-edik egyenletet (h i + h i+1 )-el osztva kapjuk, hogy µ 3 2c 2 + λ 1 c 3 = 2 1 h 1 h 1 + h 2 2 A n, (1135) 3 µ i c i +2c i+1 + λ i c i+2 = ( i+1 i ) (i =2,,n 3), (1136) h i + h i+1 µ 3 µ n 2 c n 2 +2c n 1 = n 1 n 2 + h n 1 h n 2 + h n 1 6 B n, (1137) ahol λ i = h i+1 / (h i + h i+1 ), µ i = 1 λ i (i = 1,,n 2) Ez egy n 2 ismeretlenes lineáris egyenletrendszer a c 2,c 3,,c n 1 ismeretlenekre Az egyenletrendszer mátrixa n>4 esetén tehát 2 λ µ 2 2 λ 2 A = 0 0 µ n 3 2 λ n µ n 2 2 egy három átlóból álló sávmátrix, n = 3 esetén A = µ 1 2, n = 4 esetén 2 λ1 pedig A = A Gersgorin tétel miatt A összes sajátértéke benne van µ 2 2 a z 2 1 körlemezben Következésképpen A nemszinguláris Minthogy az A mátrix diagonálisan domináns is, az egyenletrendszer fýoelemkiválasztás nélkül és numerikusan stabilan megoldható a sávos Gauss-eliminációval O(n) régi ßop mýuvelettel Igaz a következýo 112 Tétel Az (i)-(vi) feltételekkel meghatározott S(x) szplájn létezik és egyértelmýu Ha f C 2 [a, b], akkor létezik K>0 konstans, hogy µ 2 f(x) S(x) K max h i (x [a, b]) (1138) 1 i n 1 Ha f C 3 [a, b], A n = f 00 (x 1 ) és B n = f 00 (x n ),akkorlétezik K>0 e konstans, hogy µ 3 f(x) S(x) K e max h i (x [a, b]) (1139) 1 i n 1 Ha az f 00 (x 1 ) és f 00 (x n ) információk nem állnak rendelkezésre, akkor a természetes szplájnt deþniáló A n = B n =0választással élünk A közelítés hibájára ekkor a (1138) becslés érvényes A természetes szplájn az Z b a [s 00 (x)] 2 dx min (s(x i )=y i,i=1,,n) (1140) 132 INTERPOLÁCIÓ

133 feltételes szélsýoértékfeladat megoldása A természetes szplájn mechanikai tartalma akövetkezýo Legyen adott egy rugalmas rúd (szplájn), amely átmegy az (x i,y i ) pontokon (tengelyeken) A legkisebb deformációs energia mechanikai elve miatt a szplájn azt az alakot veszi fel, amely a fenti (közelítýo) kifejezést minimalizálja A (vi) végpont-feltétel helyett más kikötések is lehetségesek Ilyenek például az S 0 (x 1 )=a 1, S 0 (x n )=b 1, (1141) ill az S (i) (x 1 )=S (i) (x n ) (i =1, 2) (1142) végpont-feltételek Az elýobbi feltételek az ún teljes szplájnt, mígazutóbbiakazún periodikus szplájntdeþniálják Ezek tárgyalása hasonló a most látotthoz és részletesen megtalálható a szakirodalomban A szplájn függvények elýonyei: gyors és numerikusan stabil kiszámítás, nagyon jó közelítési tulajdonságok Hátrányuk a bonyolult megadás, amely számítógépek használata esetén nem jelent komoly problémát 114 Feladatok 1 Legyen x =[x 1,,x n ] és y =[y 1,,y n ]! Oldjukmegakövetkezýo lineáris interpolációs problémákat! (A) x =[0, 1, 2,,7], y =[0, 1, 0, 1, 0, 1, 0, 1], φ i (x) =sin(ix) (i =1,,8) (B) x =[1, 2, 4, 8], y =[05, 03, 01, 005], φ i (x) =e λix, λ i {0, 1, 2, 3} 2, yi = 1 (C) x i = i i, φ 2 i (x) 2 (Runge példája) Ábrázoljuk az f(x) = 1 n 1,x,x 2,e x,e x, 1 1+x o (i =1,,6) 1+x függvényt a [ 5, 5] intervallumon és n 2 különbözýo értékeire (n =11, 17,)azf(x) függvényhez és az x i = 5+10 i 1 n 1 (i = 1,,n) alappontokhoz tartozó Lagrange-féle interpolációs polinomot! Mit tapasztal, ha n értéke nýo? Tapasztalja-e ugyanezt a jelenséget, ha a számításokat a [ 3, 3] intervallumon végzi? 3 Oldjuk meg a 2 feladatot természetes szplájn függvényekkel is! Hasonlítsuk össze a kapott eredményt a Lagrange-interpolációval kapottal! FELADATOK 133

134 134 INTERPOLÁCIÓ

135 12 NUMERIKUS DERIVÁLÁS A numerikus deriválás alapproblémája az f : R R függvény deriváltjának kiszámítása egy vagy több adott pontban A probléma kézenfekvýo megoldása az, hogy az f(x) függvényt egy h(x) függvénnyel (lineáris interpolációval, szplájn-interpolációval, stb) közelítjük és az f 0 (x) közelítésének a közelítýo függvényh 0 (x) deriváltját tekintjük Sematikusan: ha f(x) h(x), akkorf 0 (x) h 0 (x) és általában f (j) (x) h (j) (x) 121 A Lagrange-interpoláció esete Adott x 1 <x 2 <<x n alappontok és y i = f(x i ) (i =1,,n) függvényértékek esetén az f(x) függvény Lagrange-féle interpolációs polinomja p(x) = P n i=1 y il i (x) Az f (x) függény x-pontbeli j-edik deriváltjának közelítését az f (j) (x) p (j) (x) = nx i=1 összefüggés adja meg, amelynek hibájára fennáll az f (j) (x) p (j) (x) jx i=0 j! (j i)!(n + i)! x [a,b] y i l (j) i (x) (121) max f (n+i) (x) ω (j i) (x) (122) egyenlýotlenség, ahol x, x 1,x n [a, b] és ω(x) =(x x 1 )(x x 2 ) (x x n ) Legyen n =2k +1, az alappontok pedig legyenek t kh,,t h, t, t + h,,t+ kh (123) Ha p (x) az f (x) függvény ezen pontokra támaszkodó Lagrange-féle interpolációs polinomja, akkor igaz, hogy f 0 (t) p 0 (t) < Kh 2k 2k k (2k +1), (124) ahol K az f (2k+1) (x) korlátja a [t kh, t + kh] intervallumon Az n =3esetben az f 0 (t) 1 [f (t + h) f (t h)], (125) 2h 135

136 az n =5esetben pedig az f 0 (t) 1 [f (t 2h) 8f (t h)+8f (t + h) f (t +2h)] (126) 12h közelítýo formulátkapjuk A közelítés hibája az elsýo esetbeno h 2, a második esetben pedig O h 4 Végül megjegyezzük, hogy nagy n értékekre Lagrange-interpoláción alapuló numerikus deriválást ritkán alkalmaznak a fellépýo numerikus instabilitás miatt 122 Közelítés differencia hányadosokkal A differencia hányadosok alkalmazása a közelítýo deriválás legelterjedtebb módszere Legcélszerýubben a Taylor-sorfejtés felhasználásával vezethetünk le közelítýo formulákat Tegyük fel, hogy f C 2 és írjuk fel f(x) másodfokú Taylor-polinomját: f(x + h) =f(x)+hf 0 (x)+ h2 2 f 00 (ξ) (x<ξ <x+ h) Egyszerýu számolással adódik, hogy f(x + h) f(x) = f 0 (x)+ h h 2 f 00 (ξ), ahonnan a f 0 f(x + h) f(x) (x) h közelítést kapjuk, amelynek hibája O (h) Ennél pontosabb közelítést kaphatunk, ha f C 3 Legyen (127) f(x + h) =f(x)+hf 0 (x)+ h2 2 f 00 (x)+ h3 6 f (3) (ξ 1 ), x < ξ 1 <x+ h, f(x h) =f(x) hf 0 (x)+ h2 2 f 00 (x) h3 6 f (3) (ξ 2 ), x h<ξ 2 <x Kivonással és átrendezéssel kapjuk, hogy f(x + h) f(x h) 2h ahol x h<ξ 3 <x+ h Azebbýol adódó = f 0 (x)+ h2 12 [f (3) (ξ 1 )+f (3) (ξ 2 )] = f 0 (x)+ h2 6 f (3) (ξ 3 ), f 0 (x) f(x + h) f(x h) 2h (128) 136 NUMERIKUS DERIVÁLÁS

137 közelítés hibája O(h 2 ) nagyságrendýu Magasabbrendýu deriváltak f (j) (x) 1 h j n X i= m c i f(x + ih) (129) közelítéseit hasonló módon lehet megkonstruálni Általában (129) alakú közelítéseket keresünk, ahol n+m j Az ismeretlen c i együtthatókat a pontossági követelménybýol vezethetjük le Legyen f (x + ih) = jx f (l) (x) il h l + O h j+1 l! l=0 és à nx nx jx! c i f(x + ih) = c i f (l) (x) il h l + O h j+1 l! i= m i= m l=0 Átrendezéssel kapjuk, hogy à nx jx n! c i f(x + ih) = f (l) (x) hl X c i i l + O h j+1 l! i= m Ha most fennáll, hogy l=0 i= m nx i= m c i i l =0 (0 l j 1), nx i= m c i i j = j!, akkor nx i= m c i f(x + ih) =f (j) (x) h j + O h j+1 Innen az O (h) pontosságú (129) formulát kapjuk A második derivált ismert közelítései az f 00 (x) f (x) 2f (x + h)+f (x +2h) h 2 (1210) és az f 00 f(x + h) 2f(x)+f(x h) (x) h 2 (1211) képletek Az utóbbi hibája O h 2 Általában is igaz, hogy az ún centrális differencia formulák (m = n eset) egy nagyságrenddel jobb közelítést adnak Közelítýo parciális differencia hányadosokat hasonló módon vezethetünk le KÖZELíTÉS DIFFERENCIA HÁNYADOSOKKAL 137

138 Akövetkezýokben megmutatjuk, hogy a deriválás instabil mýuvelet Legyen f (x) tetszýoleges differenciálható függvény Ha ezt a függvényt a differenciálható η (x) függvénynyel perturbáljuk, akkor a deriváltak megváltozása f 0 (x) (f 0 (x)+η 0 (x)) = η 0 (x) Megmutatjuk, hogy tetszýolegesen kis η (x) esetén is lehet η 0 (x) nagy Legyen η (x) = ² sin x ², amelyre fennáll, hogy η (x) ² Minthogy η 0 (x) = 1 2 ² cos x ²,azx =0 2 pontban a derivált megváltozása η 0 (0) = 1 ² Ha ² 0, akkor ez tetszýoleges nagy lehet Vizsgáljuk most a perturbációk hatását a numerikus deriválás esetén Legyen D h (f (x)) = (f (x + h) f (x)) /h Ennek hibája D h (f (x)) f 0 (x) (K/2) h, aholk =max x [x,x+h] f 00 (x) Tegyük fel, hogy f (x) helyett az f e (x) perturbált függvénnyel számolunk, amelyre teljesül, hogy ef (t) f (t) ²/2 (t [x, x + h]) Ekkor f 0 (x) közelítésének hibája ³ D h ef (x) f (x) ²/h miatt ³ ³ D h ef (x) f 0 (x) = D h (f (x)) f 0 (x)+d h ef K (x) f (x) 2 h + ² h Ha rögzített ² esetén h 0, akkor a hibakorlát végtelenhez tart Tehát h és ² megválasztása célszerýuen nem független egymástól A most kapott hibakorlátot a h = p 2²/K választás minimalizálja Ekkor a korlát értéke 2K² HaK értéke, vagy jó becslése nem ismert, akkor a h = c 1 ² választást használjuk egy c1 tapasztalati konstanssal Ez választás a becslés O ( ²) nagyságrendjét tekintve helyes eredményt szolgáltat Dupla pontosságú lebegýopontos aritmetikában ² ² M A ² = ² M esetben a hiba mértéke 10 8 nagyságrendýu 123 Numerikus differenciálás szplájnokkal Határozzuk meg az x 1 <x 2 < < x n alappontokhoz és y i = f(x i ) (i =1,,n) függvényértékekhez tartozó természetes szplájnt: S(x) =S i (x) =a i + b i (x x i )+c i (x x i ) 2 + d i (x x i ) 3 (x i x x i+1 ) A szplájn deriváltja S 0 (x) =S 0 i(x) =b i +2c i (x x i )+3d i (x x i ) 2, 138 NUMERIKUS DERIVÁLÁS

139 ami az f 0 (x) egy közelítését adja, ha x i x x i+1 A közelítés hibájára f C 2 [a, b] esetén fennáll, hogy µ f 0 (x) S 0 (x) K 1 max, (1212) 1 i n 1 h i ahol K 1 > 0 konstans A közelítés hibája a legnagyobb részintervallum hosszával arányos A szplájn közelítéseknek van egy simító jellege is, amely mérsékeli a kerekítési, ill adathibák negatív hatását A szplájn használata akkor elýonyös, ha a derivált sok pontban szükséges A szplájnnal történýo közelítések esetében is megmutatható, hogy az f függvényben bekövetkezýo perturbációk hatását a max 1 i n 1 h i c 1 ² választás minimalizálja 124 Feladatok 1 Igazoljuk, hogy f C 4 esetén az f 00 (x) (f(x + h) 2f(x)+f(x h)) /h 2 közelítés hibája O(h 2 ) 2 Becsüljük az f 0 (0),f 0 (1) és f 0 (10) értékét az (f (x + h) f (x)) /h, (f (x + h) f (x h)) / (2h) formulákkal, különbözýo h értékekre az e x, sin(2x), x 4, 1/(1 + x 2 ) és a cos x x 2 1/2 (3x 2 +17) 1/3 függvények esetén! 3 Becsüljük meg a numerikus deriválás hibáját a következýo eljárással! Számítsuk ki a közelítýo deriváltakat a h és h/2 értékekre és tekintsük ezek különbségét a hibának Mennyire pontos ez az eljárás a 2 feladat függvényei esetén? FELADATOK 139

140 140 NUMERIKUS DERIVÁLÁS

141 13 NUMERIKUS INTEGRÁLÁS Numerikus integrálást (numerikus kvadraturát) általában akkor végzünk, ha a primitív függvény nem ismert, vagy nem állítható elýo könnyen, illetve, ha az f(x) függvénynek csak véges sok értéke ismert A numerikus eljárások alapötlete sematikusan akövetkezýo: f(x) h(x) Z b a f(x)dx Z b a h(x)dx (131) 131 Interpolációs eljárások Legyen adott a x 1 <x 2 < < x n b és y i = f(x i ) (i =1,,n) Az f (x) függvényt a Lagrange-féle interpolációs polinommal közelítve kapjuk, hogy Z b Z b Z " b n # X nx Z b f(x)dx p(x)dx = y i l i (x) dx = y i l i (x)dx (132) a a a i=1 Az ilyen közelítéseket interpolációs típusú kvadratura (integráló) formuláknak nevezzük A közelítés hibájára f C n [a, b] esetén a 111 Tétel alapján fennáll, hogy R n (f) = Z b a f(x)dx Z b a p(x)dx = 1 n! Ha f (n) (x) M n (x [a, b]), akkor R n (f) = Z b a f(x)dx Z b a Z b a i=1 a f (n) (ξ x )(x x 1 )(x x 2 ) (x x n )dx p(x)dx M n n! (b a)n+1 (133) Nagy n értékekre ez a közelítés igen rosszul viselkedhet Ezért helyette az ún összetett kvadratura (integráló) formulákat használjuk Ezek lényege az, hogy az [a, b] intervallumot felosztjuk részintervallumokra, az egyes részintervallumokra alkalmazunk egy elýore rögzített kvadraturaformulát, és az így kapott részeredményeket összegezzük A legismertebb és legegyszerýubb eljárások a következýok 141

142 1311 A trapézformula Legyen x 1 = a és x 2 = b A két pontra támaszkodó elsýofokú Lagrange-féle interpolációs polinom p(x) =f(x 1 ) x x 2 + f(x 2 ) x x 1, (134) x 1 x 2 x 2 x 1 amelynek határozott integrálja Z x2 x 1 p(x)dx = " f(x 1 ) (x x 2) 2 2(x 1 x 2 ) + f(x 2) (x x 1) 2 2(x 2 x 1 ) = x 2 x 1 [f(x 1 )+f(x 2 )] 2 Ha f(x 1 ) és f(x 2 ) elýojeleazonos,akkorezazeredményaz(x 1, 0), (x 2, 0), (x 2,f(x 2 )), (x 1,f(x 1 )) pontok által határolt trapéz területe A kapott Z b f (x) dx b a [f (a)+f (b)] (135) a 2 közelítés hibájára fennáll, hogy Z b f(x)dx b a [f(a)+f(b)] a 2 M 2 12 (b a)3 (136) Ha az [a, b] intervallumot felbontjuk az a = x 1 <x 2 <<x n+1 = b (137) pontokkal n részintervallumra, akkor az összetett trapézformula akövetkezýo: Z b nx x i+1 x i f(x)dx T n (f) = [f(x i )+f(x i+1 )] (138) 2 a i=1 A képlet hibájára f C 2 [a, b] esetén fennáll, hogy Z b nx x i+1 x i f(x)dx [f(x i )+f(x i+1 )] 2 M 2 12 a i=1 # x2 x 1 nx (x i+1 x i ) 3 (139) Ha az alappontok ekvidisztánsak, azaz x i = x 1 +(i 1)h (h = b a n, i =1,,n+1), akkor a képlet alakja egyszerýusödik: Z " # b f(x)dx T n (f) = h nx f(x 1 )+2 f(x i )+f(x n+1 ) (1310) a 2 i=2 A képlet hibájára pedig nh = b a miatt fennáll, hogy Z b f(x)dx T n (f) M 2(b a)h 2 = M 2(b a) n 2 (1311) a i=1 142 NUMERIKUS INTEGRÁLÁS

143 1312 A Simpson formula Legyen x 1 = a, x 2 = a+b 2 és x 3 = b Tekintsük a három pontra támaszkodó másodfokú Lagrange-féle interpolációs polinomot: p(x) = f(x 1 ) (x x 2)(x x 3 ) (x 1 x 2 )(x 2 x 3 ) + f(x 2) (x x 1)(x x 3 ) (x 2 x 1 )(x 2 x 3 ) + +f(x 3 ) (x x 1)(x x 2 ) (x 3 x 1 )(x 3 x 2 ) Ennek az [a, b] intervallumon vett integrálja adja a következýo közelítýo formulát Z b a f(x)dx b a 6 f(a)+4f( a + b 2 )+f(b), (1312) amelynek hibájára f C 4 [a, b] esetén fennáll, hogy Z b f(x)dx b a f(a)+4f( a + b 6 2 )+f(b) M (b a) (1313) a Ha az [a, b] intervallumot itt is felbontjuk az a a = x 1 <x 2 <<x n+1 = b pontokkal n részintervallumra, akkor az összetett Simpson formula akövetkezýo: Z b nx x i+1 x i f(x)dx S n (f) = f(x i )+4f( x i + x i+1 )+f(x i+1 ) 6 2 i=1 Ennek hibájára fennáll, hogy Z b f(x)dx S n (f) M a nx (x i+1 x i ) 5 Ha az alappontok ekvidisztánsak, azaz x i = x 1 +(i 1)h (h = b a n, i =1,,n+1), akkor a képlet alakja " # S n (f) = h nx nx f(x 1 )+2 f(x i )+4 f(x i + h 6 2 )+f(x n+1), (1314) a i=2 amelynek képlethibájára fennáll, hogy Z b f(x)dx S n (f) M 4(b a) h 4 = M 4(b a) n 4 (1315) i=1 i=1 INTERPOLÁCIÓS ELJÁRÁSOK 143

144 132 Kvadraturaformulák hibáinak utólagos becslése Alapgondolata egyszerýu, az extrapoláció (Runge-féle szabály) általános ötletét használja Technikailag a következýoképpen járunk el Elvégezzük a numerikus integrálást n és 2n részintervallum esetén Ha fennáll, hogy T n (f) T 2n (f) ε, (1316) akkor a T 2n (f) közelítést ε pontosságúnak fogadjuk el Ugyanezt csináljuk a Simpsonformula esetén is Igazolhatók a következýo állítások 131 Tétel (Rownland-Miel) Ha f 00 (x) elýojele állandó, akkor az összetett trapézmódszer hibájára fennáll, hogy Z b f(x)dx T 2n (f) T n(f) T 2n (f) (1317) a 132 Tétel (Rownland-Miel) Ha f (4) (x) elýojele állandó, akkor az összetett Simpsonformula hibájára fennáll, hogy Z b f(x)dx S 2n (f) S n(f) S 2n (f) (1318) a 133 Numerikus integrálás természetes szplájnokkal Kiszámítjuk az a = x 1 < x 2 < < x n+1 = b alappontokhoz és y i = f(x i ) (i =1,,n +1) függvényértékekhez tartozó természetes szplájnt: S(x) =S i (x) =a i + b i (x x i )+c i (x x i ) 2 + d i (x x i ) 3 Mármost ennek integrálja az [x i,x i+1 ] részintervallumon Z xi+1 h 2 i S i (x)dx = a i h i + b i x i 2 + c h 3 i i 3 + d h 4 i i 4 Ezek összegzése adja a keresett közelítýo formulát Z b n 1 X µ h 2 i f(x)dx a i h i + b i 2 + c h 3 i i 3 + d h 4 i i (1319) 4 a i=1 A szplájn közelítés hibája (1138) alapján Z b Z b Z b f(x)dx S (x) dx a a a µ f (x) S (x) dx =(b a) K max 1 i n 1 h i 2, 144 NUMERIKUS INTEGRÁLÁS

145 ahol K > 0 az f (x) függvénytýol függýo konstans Ha a felosztás ekvidisztáns, azaz h i = h =(b a) /n, akkor a hibakorlát értéke K (b a) 3 /n Ez nagyságrendben megegyezik az összetett trapézformula hibájával 134 Adaptív kvadratura eljárások A kvadratura eljárások számítási költsége arányos az alappontok (függvénybehelyettesítések) számával Sok esetben az ekvidisztans felosztáson alapuló eljárások indokolatlanul sok pontot igényelnek Ennek a hátránynak a kiküszöbölését szolgálják az ún adaptív kvadratura eljárások Alapgondolatukat egy, a trapézformulán alapuló eljárással szemléltetjük Az egyszerýuség kedvéért tegyük fel, hogy az f (x) függvény konkáv az [a, b] intervallumon Ebben az esetben az [a, b] intervallum egy adott felosztása esetén a trapézformula hibáját felülrýol becsülhetjük a trapézok feletti háromszögek területeinek összegével, amelyeket a következýo ábramutat Legyen az [x L,x R ] tetszýoleges részintervallum Legyen továbbá f L = f (x L ) és f R = f (x R ) Az ábráról leolvasható, hogy a háromszög alapja d = ³ (f R f L ) 2 +(x R x L ) 2 1/2, magassága pedig h = d/ (cot α L +cotα R ) A háromszög területe, amely egyben a trapézközelítés B (x L,x R ) hibakorlátja is, dh/2 Az intervallumot megfelezve (x M )a hiba mértéke az ábrán látható módon csökken ADAPTíV KVADRATURA ELJÁRÁSOK 145

146 Az adaptív stratégiát a következýoképpen fogalmazhatjuk meg Legyen ²>0 elýore megadott hibakorlát Megbecsüljük egy [x L,x R ] intervallum B (x L,x R ) hibakorlátját Ha ez kielégíti a B (x L,x R ) ² x R x L (1320) b a egyenlýotlenséget, akkor az intervallumot tovább már nem osztjuk, az intervallumot töröljük és az intervallumhoz tartozó integrálbecslést (trapézterületet) elfogadva, hozzáadjuk az integrálközelítýo összeghez Ha a hibakorlátra vonatkozó feltétel nem teljesül, akkor az intervallumot tovább felezzük Ha már minden intervallumot töröltünk, akkor a közelítýo összeg hibájára fennáll, hogy teljes hiba X [x L,x R] intervallumok B (x L,x R ) X [x L,x R] intervallumok ² x R x L b a Helyezzük el az intervallumokat egy verembe úgy, hogy a verem tetején a baloldali intervallum legyen A következýo felezésre kerülýo intervallum a verem tetején lévýo intervallum Töröljük azokat az intervallumokat, amelyekre az (1320) elfogadási feltétel teljesül, a többit pedig tegyük a verem tetejére vissza Az eljárást akkor fejezzük be, ha a verem kiürül = ² 146 NUMERIKUS INTEGRÁLÁS

147 135 Feladatok 1 Integráljuk az f(x) =x α (12 x)(1 e β x 1 ) függvényt a [0, 1] intervallumon az α = 2, β = 02 és az α = 01, β = 20paraméter értékekre a trapéz, a Simpson, a szplájn, ill az adaptív eljárással A megkövetelt pontosság legyen rendre ε =10 4, 10 6, 10 8 Táblázatoljuk a szükséges intervallumok és függvénybehelyettesítések (régi ßopok) számát! 2 Közelítsük az alábbi integrálokat! A hibaképlettel becsüljük a szükséges alappontszámot! (A) R 1 0 sin(x2 )dx, ε =10 4 (B) R 1 0 xdx, ε =10 3 (C) R 1 0 e x 02+4x 4 dx, ε =10 6 (D) R 1 0 cos(e x +log(1+x 2 ))dx, ε =10 7 FELADATOK 147

148 148 NUMERIKUS INTEGRÁLÁS

149 14 FÜGGVÉNYEK LEGJOBB EGYENLETES KÖZELÍTÉSE Legyen az f C [a, b] függvény adott, amelyet egy F = F A C [a, b] paraméteres függvénnyel közelítünk, ahol A =[a 1,,a n ] T Ω, Ω R n adott paraméter halmaz A függvényközelítés jóságát az e = f F A hibafüggvény normájával mérjük 141 DeÞníció kk : C [a, b] R függvény a C [a, b] függvényhalmazon értelmezett norma, ha minden f,g C [a, b] esetén fennáll, hogy (i) kfk 0, kfk =0 f (x) =0, x [a, b] (ii) kλfk = λ kfk, λ R (iii) kf + gk kfk + kgk A legjobb függvényközelítés (approximáció) problémáját a következýoképpen fogalmazhatjuk meg Adott norma esetén keressük azt az A Ω paramétervektort (F A közelítýo függvényt), amelyre fennáll, hogy kf F A k kf F A k, A Ω (141) Az F A (x) megoldást legjobb approximációnak (közelítésnek) nevezzük A probléma megoldása az f függvénytýol, az F A közelítýo függvényektýol és az adott normától függ Ha a norma azonos az ún kfk C = max f (x) (142) x [a,b] Csebisev-normával, akkor legjobb egyenletes közelítésrýol,vagycsebisev-féle approximációról beszélünk Ezt az ún legjobb egyenletes közelítést két F A függvényosztályra vizsgáljuk Lineáris approximációról beszélünk, ha nx F A (x) = a i φ i (x), (143) i=1 ahol {φ i } n i=1 C [a, b] adott bázisfüggvények Feltételezzük, hogy a φ 1,,φ n bázisfüggvények lineárisan függetlenek Ez azt jelenti, hogy nx c i φ i (x) =0, x [a, b] (144) i=1 esetén szükségképpen teljesül, hogy c 1 = = c n =0 Igaz a következýo 141 Tétel Ha {φ i } n i=1 C [a, b] lineárisan függetlenek, akkor minden f C [a, b] esetén létezik legjobban közelítýo F A = P n i=1 a i φ i függvény Számos esetben megmutatható, hogy a legjobban közelítýo függvény egyértelmýu is 149

150 141 Legjobb egyenletes approximáció polinomokkal Vizsgáljuk most folytonos függvények legjobb polinom approximációját a Csebisevnorma esetén Legyen P n a legfeljebb n-edfokú polinomok halmaza Minden n-ed fokú p (x) =a 0 + a 1 x + + a n x n P n polinom elýoáll p (x) = nx a i φ i (x) (145) i=0 alakban, ahol φ i (x) =x i (i =0,,n) Minthogy a {φ i (x)} n i=0 függvények lineárisan függetlenek, a p (x) P n legjobb egyenletes polinom approximáció létezik, azaz fennáll, hogy E n (f) =kf p k C kf pk C, p(x) P n (146) Az E n (f) mennyiség az f függvény legjobb n-ed fokú polinom közelítésének hibája a Csebisev normában A legjobb egyenletes közelítés tulajdonképpen azt jelenti, hogy az f p eltérésfüggvény maximuma a p (x) legjobb approximációs polinomra a legkisebb Példa f C [a, b] és legyen n =0 Keressük tehát a legjobban közelítýo konstans függvényt Legyen M =max x [a,b] f (x) és m =min x [a,b] f (x) Legyen a 0 = (m + M) /2 Ez a keresett legjobban közelítýo konstans, amelyre E 0 (f) =(M m) /2 Példa Legyen f C 2 [a, b] és tegyük fel, hogy f (x) konvex, azaz f 00 (x) 0 (x [a, b]) Határozzuk meg az (a, f (a)) és (b, f (b)) pontokat összekötýo szelýot, valamint a görbe ezzel párhuzamos c pontbeli érintýojét (a <c<b) Az f (x) görbe ezen két párhuzamos egyenes között van Tekintsük azt a velük párhuzamos egyenest, amely a két egyenestýol pontosan egyenlýo távolságra van! Ez lesz az f (x) függvény legjobban approximáló elsýofokú polinomja 150 FÜGGVÉNYEK LEGJOBB EGYENLETES KÖZELÍTÉSE

151 A legjobb egyenletes polinom approximációknak a következýo fontos tulajdonságai vannak 142 Tétel (Weierstrass) Legyen f C [a, b] adott Minden ²>0 esetén létezik egy p (x) polinom, hogy kf pk C <² A tétel következménye, hogy E n (f) 0, han + A konvergencia sebességét, ill a legjobb approximáció mértékét jellemzi a 143 Tétel (Jackson) Ha f C [a, b] k-szor folytonosan differenciálható, akkor E n (f) A k (b a) k n k c k (n), (147) ahol A k csak k-tól függýo állandó és c k (n) 0, han 144 Tétel (Csebisev, de la Vallée-Poussin) A p (x) P n polinom akkor és csak akkor a legjobban közelítýo polinom, ha létezik n+2 pont: a x 1 <x 2 <<x n+2 b, úgy, hogy f (x i ) p (x i ) = kf p k C (i =1,,n+2), (148) f (x i ) p (x i )= [f(x i+1 ) p (x i+1 )] (i =1,,n+1) (149) A Csebisev tételbýol következik a legjobban approximáló polinom unicitása is A tételbeli {x i } n+2 i=1 pontokat alternáló ponthalmaznak nevezzük Vegyük észre, hogy az elýobbi két példában éppen az alternáló ponthalmazokat határoztuk meg A Csebisev tétel lehetýové teszi a legjobban approximáló polinom meghatározását Számos algoritmus kiindulópontja a legjobb approximációs feladat megoldása egy véges ponthalmazon LEGJOBB EGYENLETES APPROXIMÁCIÓ POLINOMOKKAL 151

152 Legyen X m = {x i } m i=1 véges ponthalmaz az [a, b] intervallumban A p (x) P n polinom az f (x) függvény diszkrét legjobb approximácója, ha E n (f,x m ) = max f (x) p (x) max f (x) p (x), p P n (1410) x X m x X m Igazolható, hogy m n +2 esetén létezik pontosan egy legjobb approximáció és (legalább) egy Xn+2 X m alternáló ponthalmaz úgy, hogy f(x j) p (x j)= ( 1) j se n (f,x m ), x j X n+2, j=1,,n+2, s= ± 1 (1411) Ha m = n + 2, akkor az alternáló tulajdonság alapján könnyen meghatározhatjuk a legjobban approximáló polinomot, ui p (x) együtthatói és az se n (f,x n+2 ) menynyiség kielégítik a nx a i x i j +( 1) j se n (f,x n+2 )=f(x j ) (j =1,,n+2) (1412) i=0 lineáris egyenletrendszert Az m > n +2 esetben a legjobban közelítýo polinom meghatározása többféleképpen is lehetséges Az E n (f,x m )= max E n (f,x n+2 ) (1413) X n+2 X m összefüggés alapján kiválasztjuk az összes X n+2 X m részhalmazt, ezekre meghatározzuk a legjobban approximáló polinomot, ill a legjobb approximáció mértékét, az E n (f,x n+2 )-t Az X m halmazon legjobban approximáló polinomot, ill Xn+2 alappontrendszert azon X n+2 alappontrendszer határozza meg, amelyre fennáll max E n (f,x n+2 )=E n f, X n+2 (1414) X n+2 X m Ha ezt a maximumot több X n+2 alappontrendszer is eléri, akkor tetszés szerint lehet közülük választani Tekintettel arra, hogy m n+2 különbözýo eset van, a diszkrét approximációs feladat fenti megoldása sok számítást igényelhet Újabban a lineáris programozási eljárást javasolják a fenti feladat megoldására Legyen Ez ekvivalens az ρ f (x j ) ρ =max x X m f (x) p (x) nx a i x i j ρ i=0 feltétellel Az approximációs feladat tehát átmegy a (j =1,,m) ρ min ρ + P n i=0 a ix i j f (x j ) (j =1,,m) ρ P n i=0 a ix i j f (x j ) (j =1,,m) 152 FÜGGVÉNYEK LEGJOBB EGYENLETES KÖZELÍTÉSE

153 lineáris programozási feladatba, amelynek megoldására rendkívül hatékony eljárások és programok ismeretesek Remez algoritmusával az f C [a, b] függvény [a, b] intervallumbeli (nem diszkrét) approximálása úgy történik, hogy az [a, b] intervallumot felosztjuk az x k = a + k b a N (k =0,,N) pontokkal és erre meghatározzuk a legjobban közelítýo diszkrét polinom approximációt Megmutatható, hogy ha N elég nagy, akkor a diszkrét polinom approximáció jól közelíti az elméletileg legjobb polinom approximációt Gyakorlati célokra a Remez eljárás gyorsabb konvergenciájú változatait használják 142 Legjobb egyenletes approximáció racionális törtfüggvényekkel Legyen R (m, n) mindazon r (x) =p (x) /q (x) alakú racionális törtfüggvények halmaza, ahol p (x) P m, q (x) P n és a p(x) és q (x) polinomoknak nincs közös zérushelyük Az f C [a, b] függvények r (x) = a 0 + a 1 x + + a m x m b 0 + b 1 x + + b n x n (1415) alakú legjobb approximációját keressük Csebisev normában Jegyezzük meg, hogy a polinom közelítésektýol eltérýoen R (m, n) nem részhalmaza C [a, b]-nek Igazak a következýo eredmények 145 Tétel Ha f C [a, b], akkor létezik legjobb egyenletes racionális approximáció, azaz olyan r (x) R (m, n) racionális törtfüggvény, hogy kf r k C kf rk C, r(x) R (m, n) (1416) 142 DeÞníció Az a x 1 < x 2 < < x N b pontokat (az f (x) r (x) hibafüggvényre nézve) alternáló pontoknak nevezzük, ha f (x j ) r (x j ) = kf rk C (j =1,,N) f (x j ) r (x j )= [f (x j+1 ) r (x j+1 )] (j =1,,N 1) (1417) 146 Tétel Legyen adott f (x) C [a, b] Az r (x) = p (x) /q (x) R (m, n) racionális törtfüggvény akkor és csak akkor az f függvény legjobb egyenletes approximációja, ha az f (x) r (x) függvénynek létezik egy N =2+max{n + p, m + q} pontból álló alternáló ponthalmaza ( p a p (x) fokszáma, q a q (x) fokszáma) 147 Tétel A legjobb egyenletes racionális approximáció egyértelmýu A racionális törtfüggvények sok esetben a polinomoknál lényegesen jobb approximációt szolgáltatnak Ezért széles körben használják speciális függvények kiszámítására LEGJOBB EGYENLETES APPROXIMÁCIÓ RACIONÁLIS TÖRTFÜGGVÉNYEKKEL 153

154 Legyen E m,n = E m,n (f,[a, b]) = kf r k C a legjobb racionális approximáció hibája Newman igazolta, hogy n>4 és f (x) = x esetén E n,n (f,[ 1, 1]) 3e n, ha n páros és E n+1,n 1 (f,[ 1, 1]) 3e n, ha n páratlan Polinomok esetén E n (f) >c/n,aholc konstans Minthogy elég nagy n-re 3e n c/n, a racionális approximáció hibája lényegesen kisebb, mint a polinom approximációé A legjobb racionális approximációt a Remez-módszer általánosításaival lehet meghatározni Ezekkel itt nem foglalkozunk 143 A Padé-approximáció Függvények Padé-approximációja egy racionális közelítýo függvény, amelyet az x =0 pont környezetében sorfejtés segítségével deþnálunk A Padé-approximáció általában nem azonos a legjobb racionális approximációval Tegyük fel, hogy f (x) C [a, b] Taylor-sora X f (x) = c j x j (1418) j=0 és legyen R mk (x) = p (x) q (x), (1419) ahol p (x) =a 0 + a 1 x + + a m x m, q(x) =b 0 + b 1 x + + b k x k és b 0 6=0 Az általánosság megszorítása nélkül feltehetjük, hogy b 0 =1Vizsgáljukaz f (x) p (x) q (x) = ³ P j=0 c jx j ³ Pk j=0 b jx j különbséget Elýoírjuk, hogy az eltérés mértéke P m j=0 a jx j P k j=0 b jx j (1420) f (x) p (x) q (x) = O x m+k+1 (1421) legyen Ezt úgy lehet elérni, hogy teljesül X kx mx X c j x j b j x j a j x j = d j x j (1422) j=0 j=0 j=0 j=m+k+1 Tehát a baloldalon x elsýo m + k +1 hatványának együtthatója el kell hogy týunjön Minthogy min{t,k} X kx X X c j x j b j x j = c t i b i x t, j=0 j=0 t=0 i=0 154 FÜGGVÉNYEK LEGJOBB EGYENLETES KÖZELÍTÉSE

155 az elsýo m + k +1együttható akkor lesz zérus, ha min{t,k} X i=0 min{t,k} X i=0 c t i b i = a t (t =0,,m), (1423) c t i b i = 0 (t = m +1,,m+ k) (1424) Ha ennek az egyenletrendszernek van megoldása, akkor R m,k (x) az f függvény (m, k) indexýu Padé-féle approximációja Noha a Padé-approximáció általában nem azonos a legjobb racionális közelítýo függvénnyel, sok esetben igen jó közelítést szolgáltat az x =0pont egy környezetében (tehát lokálisan, mint a Taylor-sor) Példa Legyen f (x) =1 1 2 x+ 1 3 x2 +Ekkorm = k =1, b 0 =1, c 0 =1, c 1 = 1 2, c 3 = 1 3 és a vonatkozó egyenletrendszer c 0 b 0 = 1 = a 0, c 1 b 0 + c 0 b 1 = b 1 = a 1, c 2 b 0 + c 1 b 1 = b 1 =0 Ennek megoldása a 0 =1, a 1 = 1 6 és b 1 = 2 3 Tehát a megfelelýo Padé közelítés R 11 (x) = x x, amelynek hibája O x 3 Példa Összehasonlítjuk az e x függvény néhány, a [0, 1] intervallumon vett közelítését Az e x másodfokú legjobb egyenletes polinomközelítése p (x) = x x 2, ahol az együtthatók pontossága 10 6 A további közelítések: az R 22 (x) = x + x2 12 6x + x 2 Padé-approximáció, a q (x) =1+x x2 másodfokú Taylor-polinom és az x 1 =0, x 2 = 1 2, x 3 =1alappontokra támaszkodó Lagrange-féle interpolációs polinom r (x) = x x 2 Az egyes közelítések elýojeles hibafüggvényét (e x -közelítés) mutatja az ábra APADÉ-APPROXIMÁCIÓ 155

156 Itt látható, hogy a legjobb közelítést a Padé-approximáció adja ( e x R 22 (x) ) A Padé-féle közelítés hibája nýo, amint x távolodik nullától A Taylor polinom adja a legrosszabb eredményt ( e x q (x) és hibája nýo, amint x távolodik az origótól A Csebisev-féle polinomközelítésre fennáll, hogy e x p (x) A hibafüggvényen a 4 alternáló pont leolvasható A Lagrange-féle interpolációs polinom közelítésének hibája: e x r (x) Vegyük észre, hogy r (x) együtthatói igen közel vannak p (x) megfelelýo együtthatóihoz Az r (x) esetén azonban csak 2 alternáló pont van 144 Elemi függvények kiszámítási módjai Az elemi függvények kiszámítására számos módszer ismeretes Lényeges szempont az algoritmus megbízhatósága, pontossága, numerikus stabilitása és végrehajtásának gyorsasága, ideje A leggyakrabban használt technikák között megemlíthetjük a Taylor-sorfejtést, a Padé-approximációt, a legjobb egyenletes approximációkat, iteratív módszereket és ezek különféle kombinációit Egyes közelítési technikák kihasználják a függvények különféle speciális (pl periódikus) tulajdonságait is A ma 156 FÜGGVÉNYEK LEGJOBB EGYENLETES KÖZELÍTÉSE

157 használt eljárások már olyan gyorsak, hogy a számítási idýok összevethetýok a multiplikatív mýuveletek számítási idejével Néhány ismert algoritmust a technikák illusztrálására bemutatunk 1 ln x számítása (x >0): Az x szám elýoáll x =2 p X alakban, ahol 1 2 X 1 Tehát ln x = p ln 2 + ln X Ezzel redukáltuk a feladatot az ln X kiszámítására, amelyhez a ln X =2 X k=0 1 2k +1 µ 2k+1 X 1 (1425) X +1 végtelen sort használjuk Ha 1 2 X 1, akkor a sor tagjai 3 k -nál gyorsabban csökkennek A konvergencia gyorsítására vezessük be az X = y/λ változót! Ekkor ln y =2 X k=0 1 2k +1 µ 2k+1 y 1 (1426) y +1 y 1 A λ tényezýot az u =max 1/2 X 1 y+1 min feltételbýol határozzuk meg Eszerint λ = 2,amikorisu<0172 Tehát a sor konvergencia sebessége növelhetýo Az ln y =lnx +ln 2 képlet Þgyelembevételével ln x = µ p 1 ln 2 + 2v 2 X k=0 1 2X 1 2k +1 v2k, v = (1427) 2X +1 A P 1 k=0 2k+1 v2k sorfejtést helyettesíthetjük az egyenletesen legjobban közelítýo, vagy hozzá közeli polinommal a v megfelelýo tartományán A hiba nem nagyobb mint , ha az alábbi képletet használjuk ln x (p 05) ln 2+v v v 4 (1428) 2 e x számítása racionális törttel: Ha x ln 2 2, akkor a következýo (3, 3) indexýu Padé-közelítés pontosságot biztosít: exp (x) x +12x2 + x x +12x 2 x 3 (1429) 3 x számítása Newton-iterációval: y k+1 = 1 µy k + xyk, 2 k =0, 1, (1430) ahol y 0 x Az iteráció hibájára fennáll, hogy x x y k 2 y k+1 = ( x y 0 ) 2 2 y k 2 2 µ x y0 x x 2 x 2 k+1 (1431) ELEMI FÜGGVÉNYEK KISZÁMíTÁSI MÓDJAI 157

158 Az eljárás rendkívül gyorsan (kvadratikusan) konvergál, ha y 0 x < 2 x Ha ez utóbbi feltétel nem teljesül, akkor az eljárás eleinte lineárisan konvergál, majd begyorsul Az iterációs eljárás részletes elemzését a késýobbiekben végezzük el Egy tetszýoleges x>0számnégyzetgyökének tényleges kiszámítása a következýoképpen történhet A szám felírható az x =2 2m 1 X alakban, ahol 4 X 1 Ezért x =2 m XA x függvényt az 1 4, 1 intervallumon közelítjük Például az egyenletesen legjobban közelítýo elsýofokú polinom p (x) = x Ennek maximális eltérése 1 x-týol 48 A (1430) iterációt ezzel az y 0 = x értékkel kezdjük 4 Az IEEE lebegýopontos aritmetikai szabványt kielégítýo és a matematikai koprocesszort kihasználó eljárás e x kiszámítására a következýo: i Redukáljuk az x értéket a log 2 64, log 64 2 intervallumra úgy, hogy fennálljon x =(32m + j)log R, R log (1432) ii Approximáljuk az exp (R) 1 értéket a p (R) polinommal, ahol p (t) =t + a 1 t a n t n+1 (1433) iii Rekonstruáljuk exp (x)-et az ³ exp (x) =2 m 2 j/32 +2 j/32 p (R) (1434) képlettel Az algoritmus gyors végrehajtásának érdekében a 2 j/32 értékek nagy pontossággal táblázatolva vannak 5 A 2 x (0 <x<1) kiszámítása CORDIC iterációval Legyen c k =log k (k =1, 2,) Legyen x 0 = x és képezzük a következýo sorozatot: Ekkor és x i+1 = x i és α i+1 =0,hax i <c i+1, x i+1 = x i c i és α i+1 =1,hax i c i+1 2 x 2 x = Y 1+2 k α k, k=1 ny 1+2 k α k, εn =2 2 n 1 (ln 2) 2 n k=1 A CORDIC eljárások a most bemutatotthoz hasonló jellegýu iteratív algoritmusok, amelyeket koprocesszorokban, ill tudományos kalkulátorokban használnak Az eljárások alapötlete Henry Briggstýol ( ) származik Végül megjegyezzük, hogy a szýukebb intervallumra való visszavezetések általában pontosságvesztést okoznak A szabványos eljárások ezt kezelik 158 FÜGGVÉNYEK LEGJOBB EGYENLETES KÖZELÍTÉSE

159 145 Feladatok 1 Határozza meg az f (x) =e x (x [0, 1]) legjobban közelítýo elsýofokú polinomját! 2 Határozza meg az f (x) = x függvényt legjobban approximáló másodfokú polinomot az X 5 = 1, 1 2, 0, 1 2, 1ª ponthalmazon (p (x) =x ) 3 Az f (x) =e x függvény (2, 2) indexýu Padé-féle közelítése x + x2 R 22 (x) = 12 6x + x 2 Igazoljuk, hogy ez tényleg a (2, 2) indexýu Padé-approximáció! Mekkora a maximális hibája a [ 1, 1] és a [ 3, 3] intervallumon? Ábrázoljuk a hibafüggvényt! FELADATOK 159

160 160 FÜGGVÉNYEK LEGJOBB EGYENLETES KÖZELÍTÉSE

161 15 FÜGGVÉNYEK LEGKISEBB NÉGYZETES KÖZELÍTÉSE Függvények legkisebb négyzetes közelítésérýol, approximációjáról akkor beszélünk, ha a C [a, b] halmazon értelmezett (L 2 -) norma a következýo à Z b 12 kfk 2 = f 2 (x) w (x) dx!, (151) a ahol a w (x) C [a, b] rögzített súlyfüggvényrýol kikötjük, hogy w (x) > 0, x [a, b] Fontos speciális eset: w (x) 1 Diszkrét legkisebb négyzetes közelítésrýol beszélünk, ha a (diszkrét L 2 -, vagy l 2 -) norma a következýo à m 12 X kfk 2 = f 2 (x i ) w (x i )!, (152) i=1 ahol a x 1 <x 2 < < x m b adott pontok, a w (x) súlyfüggvény pedig kielégíti a w (x i ) > 0, x i X m = {x i } m i=1 feltételeket Az L 2 -, ill l 2 -norma jelentése más mint a Csebisev-normáé Ennek illusztrálására tekintsük a [0, 1] intervallumon adott f 1 (x) =1, f 2 (x) =1+05sin(6πx) és f 3 (x) = 1+10e 100x függvények Csebisev- és L 2 -normáit a w (x) =1súlyfüggvénnyel: kk C kk 2 f 1 (x) 1 1 f 2 (x) f 3 (x) Látható, hogy nagy függvényérték változás erýosen megváltoztatja a Csebisev-normát, míg az L 2 -normát alig Ez a tulajdonság motiválja az L 2 -approximáció (Fouriersorfejtés) felhasználását is Igaz a következýo 151 Tétel Legyen f C [a, b] adott Legyen {φ i (x)} n i=1 C [a, b] lineárisan független Létezik pontosan egy F (x) = P n i=1 âiφ i (x) legjobban közelítýo függvény, amelyre n f X â i φ i 2 n f X a i φ (153) 2 i=1 i=1 161

162 A legjobb approximáció létezése következik a lineáris approximáció létezésére vonatkozó tételbýol Az egyértelmýuség a kk 2 norma egy tulajdonságából (szigorú konvexitásából) következik Megjegyezzük, hogy analóg tétel igaz a diszkrét l 2 -norma esetén is Az L 2 -vagyl 2 -norma esetén könnyen meghatározhatjuk a legjobb approximáció â i együtthatóit Az kf P n i=1 a iφ i k 2 =minfeladat ekvivalens az n f X 2 a i φ i =min (154) i=1 feladattal Eszerint az n-változós valós Z b R (a 1,,a n )= f (x) a 2 2 nx a j φ j (x) w (x) dx (155) függvény egyetlen minimumát kell meghatároznunk Az [â 1,,â n ] T minimumhely, ha kielégíti a R =0,azaza R (a 1,,a n ) =0 (i =1,,n) (156) a i stacionárius egyenletrendszert Az a i paraméter szerint deriválva kapjuk: Z R (a 1,,a n ) b nx = 2 f (x) a j φ a j (x) φ i (x) w (x) dx =0 (157) i Innen átrendezéssel kapjuk, hogy nx Z b a j φ j (x) φ i (x) w (x) dx = j=1 a Vezessük be az hf,gi = a Z b a Z b a j=1 j=1 f (x) φ i (x) w (x) dx (i =1,,n) (158) f (x) g (x) w (x) dx, f, g C [a, b] (159) (skalárszorzat) jelölést Ekkor a fenti egyenletrendszer alakja nx a j φj, φ i =hf,φ i i (i =1,,n), (1510) {z } {z } j=1 g ij c i amely felírható a tömörebb Ga = c (1511) 162 FÜGGVÉNYEK LEGKISEBB NÉGYZETES KÖZELÍTÉSE

163 alakban, ahol a =[a 1,,a n ] T, G =[g ij ] n i,j=1, c =[c 1,,c n ] T A G mátrixot Gram-mátrixnak nevezzük Példa Legyen a =0, b =1, w (x) 1 és φ i (x) =x i 1 (i =1,,n) Ekkor φ i (x) φ j (x) =x i+j 2, g ij = R 1 0 xi+j 2 dx =1/ (i + j 1) és n 1 G =, (1512) i + j 1 i,j=1 ami nem más mint az ún Hilbert-mátrix, amely rosszul kondicionált Így a legkisebb négyzetes feladat megoldása reménytelen A járható út a {φ i } n i=1 függvényrendszer ügyes megválasztásában rejlik Vezessük be a következýo fogalmakat 151 DeÞníció A {φ i } n i=1 C [a, b] függvényrendszer ortogonális, ha φi, φ j =0, i 6= j A rendszer ortonormált, ha még teljesül a hφ i, φ i i =1( i =1,,n) összefüggés is Tegyük fel, hogy a {φ i (x)} n i=1 rendszer ortonormált Ekkor a Gram-mátrix azonos az egységmátrixszal és a i = hf,φ i i (i =1,,n) (1513) Az egyértelmýu legjobb (legkisebb) négyzetes approximáció tehát felírható az nx hf,φ i i φ i (x) (1514) i=1 alakban Ennek elnevezése: az f (x) függvény Fourier-sora, ill annak elsýo n-tagja Nevezetes ortonormált függvényrendszerek a következýok 1 C [ π, π], w (x) =1esetén 1 2π, 1 π cos x, 1 π sin x, 1 π cos 2x, 1 π sin 2x, (1515) ortonormált függvényhalmaz 2 C [ 1, 1], w (x) =1/ 1 x 2 esetén r 1 2 T 0, π π T n (x) (n =1, 2,) (1516) ortonormált függvényhalmaz, ahol T n (x) =cos(n arccos x) (1517) az ún n-edik Csebisev-polinom Az elsýo néhány Csebisev-polinom: T 0 (x) =1,T 1 (x) =x, T 2 (x) =2x 2 1, T 3 (x) =4x 3 3x (1518) FÜGGVÉNYEK LEGKISEBB NÉGYZETES KÖZELÍTÉSE 163

164 3 C [ 1, 1], w (x) 1 esetén r r 1 2n +1 2 P 0, P n (x) 2 (n =1, 2,) (1519) ortonormált függvényhalmaz, ahol P n (x) = 1 d n x 2 2 n n! dx n 1 n (1520) az ún n-edik Legendre-polinom Az elsýo néhány Legendre-polinom: P 0 (x) =1,P 1 (x) =x, P 2 (x) = 3 2 x2 1 2,P 3 (x) = 5 2 x3 3 x (1521) 2 Ha rendelkezésünkre áll egy ortonormált {φ i (x)} n i=1 függvényrendszer, akkor a legkisebb négyzetes approximáció meghatározásához (elvileg) csak az hf,φ i i ún Fourier-együtthatókat kell kiszámolnunk Ortogonális polinomokat a QR-felbontásnál látott Gram-Schmidt eljáráshoz hasonló módon lehet meghatározni Ez azonban numerikusan nem stabil Helyette az alábbi háromtagú rekurziót használjuk Legyen Dx φ e 0, φ e E 0 φ 0 (x) 1, φ1 (x) x D eφ0, e φ 0 E, (1522) és φ k+1 (x) =(x α k ) e φ k (x) β k e φk 1 (x) (k =1, 2,,n 1), (1523) ahol Dx e φ k, e φ k E D eφk, e φ k E α k = D eφk, φ e E, β k = D eφk 1 k, φ e E (k =1, 2,, n 1) (1524) k 1 n n Ekkor a eφi (x)o i=0 polinomrendszer ortogonális, amelybýol a φ n (x) = 1 D φn, φ n E 1/2 φn (x) (n =0, 1,) (1525) normálással kapjuk a {φ i (x)} n i=0 ortonormált polinomrendszert Ha az {α i, β i } n i=0 együtthatók és az â i = hf,φ i i (i =0,,n) Fourier-együtthatók ismertek, akkor ortonormált polinomok esetén az f (x) nx â i φ i (x) (1526) i=0 164 FÜGGVÉNYEK LEGKISEBB NÉGYZETES KÖZELÍTÉSE

165 közelítés egy x pontbeli helyettesítési értékét célszerýuen a háromtagú rekurzióval számítjuk ki Az eddigiekhez hasonló állítások vezethetýok le a diszkrét esetben is, ha deþniáljuk a mx hf,gi = f (x i ) g (x i ) w (x i ) (1527) i=1 skalárszorzatot, ahol x i X m = {x i } m i=1 [a, b] adott véges ponthalmaz 151 Feladatok 1 Ábrázoljuk a [0, 1] intervallumon adott f 1 (x) =1, f 2 (x) =1+05sin(6πx) és f 3 (x) =1+10e 100x függvényeket és ellenýorizzük a normájukra vonatkozó táblázatot! 2 Oldjuk meg a Z 1 min e x a 0 a 1 x a 2 x 2 2 dx a i 1 feladatot a Legendre-polinomok segítségével (p (x) 0537x x+0996) Ábrázoljuk a két függvényt! 3 Határozzuk meg az elsýo három Csebisev-, ill Legendre-függvényt a háromtagú rekurzió és a Derive (vagy Maple) segítségével (n =3)! FELADATOK 165

166 166 FÜGGVÉNYEK LEGKISEBB NÉGYZETES KÖZELÍTÉSE

167 16 A LINEÁRIS LEGKISEBB NÉGYZETEK MÓDSZERE A legkisebb négyzetek módszere Gausstól származik Általános alapelve a következýo: Fennáll egy y = f (x; a 1,,a n ) függvénykapcsolat, amelynek paramétereit nem ismerjük Az x 1,,x m alappontokban méréseket végzünk, amelyek eredményei az {y i } m i=1 megþgyelések (m >n) Elvileg fenn kellene állnia az y i = f (x i ; a 1,,a n ) (i =1,,m) összefüggésnek Ez azonban nem teljesül, mert a mérésekre hibák rakódnak Ezért az y i = f (x i ; a 1,,a n )+² i (i =1,,m) (161) feltétel teljesül, ahol az ² i véletlen hiba Az ismeretlen paramétereket úgy kell meghatározni, hogy a hibák négyzetösszege minimális legyen, azaz mx mx ² 2 i = (y i f (x i ; a 1,,a n )) 2 =min (162) i=1 i=1 teljesüljön A feladat rokon a diszkrét legkisebb négyzetes függvényközelítéssel A lineáris legkisebb négyzetek problémája (LKN) a b = Ax + ε, A R m n,b,ε R m,x R n,m>n (163) túlhatározott egyenletrendszer megoldásához kapcsolódik A cél az ε = b Ax reziduális hiba euklideszi normájának (normanégyzetének) minimalizálása, azaz kax bk 2 min (LKN) A b vektort megþgyeléseknek, az A mátrixot pedig a magyarázó változók mátrixának szokás nevezni A rank(a) <nesetet ranghiányosnak nevezzük Igaz a következýo 161 Tétel Az x R n akkor és csak akkor az LKN-feladat megoldása, ha A T (b Ax) =0 Bizonyítás Tegyük fel, hogy A T r (x) =0 Ekkor minden y R n esetén r (y) = b Ay = r (x)+a (x y) és kr (y)k 2 2 = rt (x) r (x)+2(x y) T A T r (x) + ka (x y)k 2 2 {z } kr (x)k2 2 =0 Tehát az A T r (x) =0feltételt kielégítýo x vektor az LKN feladat megoldása Fordítva: tegyük fel, hogy A T r (x) =z 6= 0Igazoljuk,hogyx nem minimalizálhatja az kr (x)k 2 2 mennyiséget Legyen x y = ²z és használjuk fel az elýobbi azonosságot Ekkor kr (y)k 2 2 = kr (x)k2 2 2² kzk2 2 + ²2 kazk 2 2 < kr (x)k2 2, 167

168 ha ² elég kicsi Tehát az olyan x vektorok, amelyekre A T r (x) 6= 0, nem lehetnek az LKN probléma megoldásai Az A T (b Ax) =0egyenletet az ekvivalens A T Ax = A T b (164) alakban szokás megadni, amelyet normálegyenletnek nevezzünk Igaz a következýo 162 Tétel A T A akkor és csak akkor pozitív deþnit, ha rank(a) =n Bizonyítás Ha rank(a) =n, akkorx 6= 0esetén Ax 6= 0 Ebbýol következik, hogy x 6= 0esetén x T A T Ax = kaxk 2 2 > 0, azazat A pozitív deþnit Ha rank(a) <n, akkor létezik x 0 6=0vektor úgy, hogy Ax 0 =0 Ekkor x T 0 A T Ax 0 =0egy x 0 6=0 vektorra Tehát A T A nem pozitív deþnit Az LKN-feladat megoldása a rank(a) =n esetben a legegyszerýubb Ekkor az egyértelmýu x = A T A 1 A T b megoldást a normálegyenlet megoldásával kaphatjuk meg A leggyakrabban javasolt numerikus eljárás a Cholesky-módszer Ha a rendszer nagyon rosszul kondicionált, akkor más módszereket kell alkalmazni Ilyen például a QR-felbontáson alapuló következýo eljárás is 163 Tétel (QR-felbontás) Legyen A R m n, m n Ekkor létezik Q R m m ortogonális mátrix, hogy Q T A = R 0, (165) ahol R felsýoháromszögmátrix és r ii 0 minden i indexre Ez a tétel a 102 Tétel általánosítása álló téglalapmátrixokra Ha rank(a) =n, akkor R nemszinguláris, azaz r ii > 0 minden i esetén Legyen Q T A = R 0, Q T c1 b = c 2 (c 1 R n ) (166) 164 Tétel Legyen rank(a) =n Az x R n vektor akkor és csak akkor az LKN feladat megoldása, ha kielégíti az egyenleteket Bizonyítás Rx = c 1, kr (x)k 2 = kc 2 k 2 (167) kax bk 2 2 = Q T (Ax b) 2 2 = Q T Ax Q T b 2 2 = = R c1 2 x =krx c 0 c 1 k kc 2 k {z } kc 2k 2 2, 0 ahonnan az állítás következik 168 A LINEÁRIS LEGKISEBB NÉGYZETEK MÓDSZERE

169 Tulajdonképpen azt is megkaptuk, hogy min x kax bk 2 = kc 2 k 2 (168) A QR-felbontással az LKN-feladat megoldása a következýo lehet: elýoállítjuk a Q T A és Q T b mennyiségeket particionált alakban és megoldjuk az Rx = c 1 egyenletrendszert A ranghiányos esetben szükségünk van A R m n (rank(a) =r) szinguláris érték felbontására (108 Tétel): A = UΣV T R m n, Σ = Σr R m n, (169) ahol U R m m, V R n n ortogonális, Σ r =diag(σ 1,,σ r ) és σ 1 σ 2 σ r > 0 Ha rank(a) <n, akkor az LKN feladatnak több megoldása is van Ezek közül ki szoktuk tüntetni azt az x megoldás vektort, amelyre kxk 2 =min Igaz a következýo 165 Tétel Legyen A R m n és rank(a) =r n Ekkor x = V Σ 1 r U T b µ Σ 1 r R n m az LKN feladat egyetlen olyan megoldása, amelyre kxk 2 minimális Bizonyítás Legyen Ekkor z = V T x = z1 z 2, c = U T c1 b = c 2 (1610), z 1,c 1 R r (1611) kb Axk 2 2 = U T b AV V T x 2 = U T b U T AV V T x 2 = 2 2 = c1 Σr 0 z1 2 = c1 Σ r z 1 2 c z 2 = c = kc 1 Σ r z 1 k kc 2 k 2 2 {z } kc 2k 2 2, 0 ami tetszýoleges z 2 esetén a z 1 = Σ 1 r c 1 vektorra minimális A z 2 = 0 választás minimalizálja a kzk 2 2 = kz 1k kz 2k 2 2 normanégyzetet és ennek következtében az kxk 2 = kvzk 2 normát A tétel alapján a ranghiányos esetben az LKN feladat megoldása az SVD felbontás segítségével történhet Numerikusan stabilnak tekinthetýo SVD-felbontást tartalmaz a MATLAB rendszer A LINEÁRIS LEGKISEBB NÉGYZETEK MÓDSZERE 169

170 161 Feladatok 1 Hasonlítsuk össze az LKN feladat háromféle (normálegyenlet, QR, SV D)megoldási módszerét az ² 1+2² A = ² ², A = 1 1 ² 1 2² 1 1+² 1 2² ² 1 1+3² 1+2² mátrixok esetén különbözýo ² értékekre! A b vektor tetszýoleges lehet 2 Hasonlítsuk össze az LKN feladat megoldási módszereit (normálegyenlet, QR, SV D) az A = mátrix esetén tetszýolegesen választott b vektorokra 3 Hasonlítsuk össze az LKN feladat megoldási módszereit (normálegyenlet, QR, SV D) az 8,6 1 A = R 8 6 i + j +1 i,j=1 mátrix esetén, ha a pontos megoldás x =[1/3, 1/4,,1/8] T R 6 és b = Ax! 170 A LINEÁRIS LEGKISEBB NÉGYZETEK MÓDSZERE

171 17 NEMLINEÁRIS EGYENLETEK Nemlineáris egyenletek és egyenletrendszerek általában részproblémaként fordulnak elýo optimalizálásnál, nemlineáris differenciál- és integrálegyenletek, stb megoldásánál Aszakaszbanaz f(x) =0 (f : R n R n,n 1) (171) alakú egyenletek (egyenletrendszerek) közelítýo megoldási módszereit vizsgáljuk Az x R n elemet az egyenlet megoldásának nevezzük, ha f(x )=0Han 2, akkor egyenletrendszerrýol beszélünk Minden esetben feltesszük, hogy f (x) folytonos Az f (x) =0egyenlet javasolt megoldási módszerei egy, az x megoldáshoz konvergáló {x i } i=0 sorozatot képeznek A konvergencia sebességét az alábbi módon jellemezhetjük 171 DeÞníció Az {x i } i=0 Rn ( n 1) sorozat lineáris sebességgel konvergál egy x R n határértékhez, ha létezik egy 0 q<1konstans úgy, hogy kx i x k q kx i 1 x k ( i 1) A lineáris konvergencia sebesség esetén fennáll, hogy kx i x k q kx i 1 x k q 2 kx i 2 x k q i kx 0 x k (172) Ez azt jelenti, hogy az x i közelítések hibáit egy nullához tartó mértani sorozat tagjaival tudjuk felülrýol becsülni 172 DeÞníció Az {x i } i=0 Rn ( n 1) sorozat p-ed rendýu sebességgel ( p> 1) konvergálegyx R n határértékhez, ha létezik egy γ > 0 konstans úgy, hogy kx i x k γ kx i 1 x k p ( i 1) A p-edrendýu konvergencia sebesség a lineárisnál lényegesen gyorsabb Teljes indukcióval igazolhatjuk, hogy kx i x k 1 p 1 γ ( p 1 γ kx 0 x k) pi (i 1) (173) Ha q = p 1 n γ kx 0 x k < 1, akkor az x i közelítések hibáit a cq pio nullához tartó sorozat becsli felülrýol (c =1/ p 1 γ) Ez nyilvánvalóan gyorsabban tart 0-hoz mint a cq i mértani sorozat 171 Egyváltozós egyenletek megoldása Az f (x) =0(f : R R) alakú valós egyenletek megoldását vizsgáljuk módszert ismertetünk Három 171

172 1711 Az intervallumfelezýo eljárás Tegyük fel, hogy f : R R folytonos az [a, b] intervallumon és fennáll, hogy f(a)f(b) < 0 (174) Ekkor a Bolzano-tétel miatt az f (x) =0egyenletnek van legalább egy x (a, b) gyöke Ezt a Bolzano tétel bizonyításából ismert eljárással kaphatjuk meg Legyen c =(a + b) /2 és vizsgáljuk az f (c) értékét Ha f (a) f (c) < 0, akkoraz[a, c] intervallumban van gyök Egyébként a [c, b] intervallum tartalmaz gyököt Az új intervallumot újra megfelezzük és így tovább Az egymásba skatulyázott zárt intervallumok ráhúzódnak az egyenlet ½ egy gyökére Algoritmikus formában: [a 1,b 1 ]=[a, b], [ai,c c i =(a i + b i ) /2, [a i+1,b i+1 ]= i ], ha f(a i )f(c i ) < 0, (i =1, 2,) [c i,b i ], egyébként Az x gyököt az [a i,b i ] intervallum tetszýoleges y pontjával közelíthetjük Az y közelítés hibájára fennáll, hogy x y max{y a i,b i y} (175) A max{y a i,b i y} korlát akkor a legkisebb, ha y = ai+bi 2 Ezért az x gyök i-edik közelítéseként általában az x i =(a i + b i ) /2 felezýopontot használjuk Nyilván x x i b i a i 2 = b a 2 i (i =1, 2,) (176) Az algoritmust akkor állítjuk le, ha a közelítés hibája kisebb, mint egy elýore megadott ε > 0 hibakorlát Ezért az intervallumfelezýo eljárás gyakorlati formája a következýo AZ INTERVALLUMFELEZ ýo ALGORITMUS: input [a, b], ε > 0 while b a>2ε x =(a + b) /2 if f(a)f(x) < 0 b = x else a = x end end x =(a + b) /2 Megjegyezzük, hogy az {x i } sorozat csak folytonos f (x) esetén konvergál biztosan az x gyökhöz (Egyébként még a gyök létezése sem garantált) Példa Legyen f (x) = 4 1 x 2 e x = 0 és határozzuk meg a gyököket Az egyenletnek a [ 1, 0], ill [0, 1] intervallumokon vannak gyökei, ui f ( 1) f (0) = 3e 1 < 0, f (0) f (1) = 3e <0 172 NEMLINEÁRIS EGYENLETEK

173 A felezýo módszer tehát alkalmazható Az ε =10 6 pontosságú közelítéshez szükséges lépések számát mindkét intervallum esetén a x i x b a 2 = 1 i 2 ε egyenlýotlenség i megoldása adja Eszerint i log ε/ log , azazi =20lépés szükséges (x , x 2 = ) 1712 A Þxpont iterációs módszer A módszert az f (x) =x g (x) =0alakú vagy ilyen alakra hozott egyenletek esetén alkalmazzuk Az f (x) =0egyenlet ekvivalens az x = g (x) (177) egyenlettel Az x pontot a g (x) leképezés Þxpontjának nevezzük, ha x = g (x ) Leképezések Þxpontjára vonatkozik a következýo 171 Tétel Ha g C [a, b] és a g (x) b minden x [a, b] esetén, akkor a g (x) függvénynek az [a, b] intervallumon van Þxpontja Bizonyítás Feltehetjük, hogy g(a) >aés g(b) <b Legyen h(x) =g(x) x Ekkor h(x) folytonos [a, b]-n és h(a) > 0 és h (b) < 0 Ezért a h (x) függvénynek van ξ (a, b) gyöke, azaz h(ξ) =g(ξ) ξ =0Tehátξ Þxpont 173 DeÞníció A g C [a, b] függvény kontrakció az [a, b] intervallumon, ha létezik 0 q<1 úgy, hogy g (x) g (y) q x y, x,y [a, b] (178) EGYVÁLTOZÓS EGYENLETEK MEGOLDÁSA 173

174 Példa A g (x) =x 2 függvény kontrakció a 0, 4 1 intervallumon, ui x 2 y 2 = x + y x y 1 {z } 2 x y, x,y 0, 1 4 1/2 Példa A g (x) =x 2 függvény nem kontrakció a [0, 1] intervallumon, ui x, y 3 4, 1 esetén x 2 y 2 = x + y x y 3 x y > x y (x 6= y) {z } 2 3/2 172 Tétel Ha g C [a, b], a g (x) b ( x [a, b]) ésg (x) kontrakció [a, b]-n, akkor pontosan egy Þxpont létezik [a, b]-ben Bizonyítás A171TételaÞxpont létezését bizonyítja Tegyük fel, hogy x,y [a, b] Þxpontok és x 6= y Ekkor fennáll, hogy x y = g (x ) g (y ) q x y, ahonnan osztással az 1 q<1 ellentmondást kapjuk Tehát csak egy Þxpont van 173 Tétel A g C 1 [a, b] függvény kontrakció az [a, b] intervallumon, ha max x [a,b] g0 (x) = q<1 (179) Bizonyítás A Lagrange-tétel alapján g (x) g (y) = g 0 (ξ)(x y) = g 0 (ξ) x y q x y A következýo tétel megadja a Þxpont iterációs módszert és a konvergenciájára vonatkozó feltételeket 174 Tétel Legyen g C [a, b] olyan, hogy a g (x) b ( x [a, b]) éstegyükfel, hogy g (x) kontrakció [a, b]-n Ekkor minden x 0 [a, b] esetén az x i+1 = g (x i ) (i =0, 1,) (1710) iteráció sorozat lineáris sebességgel konvergál az x Þxponthoz, azaz x i x q i x 0 x (i =0, 1,) (1711) Bizonyítás Minthogy g (x) [a, b] minden x [a, b]-re, azért {x i } i=0 [a, b] Igaz a következýo becslés: x n+1 x n = g (x n ) g (x n 1 ) q x n x n 1 q n x 1 x 0 Ennek segítségével belátjuk, hogy {x i } i=0 Cauchy-sorozat, azaz x m x n 0, hacsak m, n Egyszerýu becsléssel kapjuk, hogy m > nesetén x m x n x m x m x n+1 x n q m n x n+1 x n 1 qm n 1 q x n+1 x n q n 1 qm n 1 q x 1 x 0 qn 1 q x 1 x 0, 174 NEMLINEÁRIS EGYENLETEK

175 ahonnan m, n esetén x m x n 0 következik Az {x i } i=0 [a, b] Cauchysorozat egyúttal konvergens is, tehát létezik x [a, b] határértéke A g (x) függvény folytonossága miatt fennáll a x i+1 = g (x i ) x = g (x ) diagram helyessége Tehát x Þxpont A fenti egyenlýotlenség-láncból az x m x határátmenettel kapjuk, hogy x n x qn 1 q x 1 x 0, n 0 A lineáris konvergencia ebbýol már következik A tételben szereplýo becslést az x n x = g (x n 1 ) g (x ) q x n 1 x q n x 0 x egyenlýotlenség láncból kapjuk A FIXPONT ITERÁCIÓS ELJÁRÁS ALGORITMUSA: Input x 0, ε > 0 while kilépési feltétel=hamis x i+1 = g (x i ), i = i +1 end Ha ismert a q érték, vagy egy jó becslése, akkor az ε > 0 pontosság eléréséhez szükséges iterációk számát a q n 1 q x 1 x 0 ε (1712) egyenlýotlenség megoldásával kaphatjuk meg Alkalmazva az a b a b és egyenlýotlenségeket kapjuk, hogy x x n x n x n+1 x x n+1 q x x n x x n 1 1 q x n+1 x n (1713) Ha teljesül, hogy x n+1 x n (1 q) ε, (1714) akkor az x n közelítés abszolút hibája kisebb mint ε Ekkor az iterációt leállíthatjuk, abból kiléphetünk Ha ismerjük a q értékét és fennáll a konvergencia, akkor a fenti egyenlýotlenségek alapján megállapíthatjuk a szükséges iterációk számát, vagy a megoldáshoz való közelséget Általában azonban nem ez a helyzet Vagy nem tudjuk q pontos értékét, vagy EGYVÁLTOZÓS EGYENLETEK MEGOLDÁSA 175

176 azt nem tudjuk, hogy egy adott x 0 pont olyan pont-e, amelybýol indulva a konvergencia garantálható Ennek ellenére általános az alábbi kilépési feltételek használata: (B) x i+1 x i c 2 ε; (C) i = i max (1715) Minthogy a feltételek egyike sem garantálja az x i+1 x ε feltétel teljesülését, célszerýu az (B) és (C) feltételt együtt használni A 174 Tétel feltételeit, a kontraktivitást, de különösen az a g (x) b feltételt általában nem könnyýu biztosítani E feltételek lokális jellegét mutatja a 175 Tétel Legyen g C 1 [a, b], a ξ [a, b] és δ > 0 olyan, hogy g 0 (x) q<1 teljesül minden x [ξ δ, ξ + δ] [a, b] esetén Ha 0 <r δ olyan, hogy g (ξ) ξ (1 q) r, akkorg (x) kontrakció az [ξ r, ξ + r] intervallumon és ξ r g (x) ξ + r, hax [ξ r, ξ + r] Bizonyítás A kontraktivitás a 0 <r δ egyenlýotlenség következménye Másrészt legyen x [ξ r, ξ + r] tetszýoleges Ekkor fennáll g (x) ξ g (x) g (ξ) + g (ξ) ξ qr +(1 q) r = r, {z } q x ξ tehát g (x) [ξ r, ξ + r] Következmény Az [ξ r, ξ + r] intervallum a g (x) egy Þxpontját tartalmazza, amelyhez a Þxpont iteráció bármely x 0 [ξ r, ξ + r] pontból kiindulva konvergál Megjegyezzük, hogy a derivált folytonossága miatt elég feltenni a g 0 (ξ) < 1 teljesülését Ebbýol már következik, hogy létezik δ > 0, amellyel igaz a 175 Tétel deriváltra vonatkozó feltevése Példa Oldjuk meg Þxpont iterációs módszerrel az f (x) = 4 1 x 2 e x = 0 egyenletet a [068, 072] intervallumban ε =10 5 pontossággal! Minthogy az egyenlet pozitív gyökérýol van szó, átírhatjuk az x = g (x) = p 1 e x /4 alakba A kijelölt intervallumon g 0 (x) = e x / 4 µ 4 e x < 0, g 00 (x) =e x (e x 8) / 8 q(4 e x ) 3 < 0 Ezért g 0 (x) monoton csökkenýo ésmax x [07,072] g 0 (x) = g 0 (072) Legyen ξ = 070 Ekkorazr = 002 választással g (07) ( ) , ami az 175 Tétel alapján az iterációs módszer konvergenciáját jelenti Az f (x) = 0 alakban megadott egyenletek átírása az x = g (x) formára igen könnyýu, ui x = x f (x) ilyen alak A kontraktivitás biztosítása azonban korántsem egyszerýu feladat Sok esetben az ekvivalens x = x αf (x) (1716) 176 NEMLINEÁRIS EGYENLETEK

177 Þxpont feladatot vizsgáljuk, ahol az α konstanst vagy α (x) függvényt úgy választjuk meg, hogy a g (x) =x αf (x) függvény kontrakció legyen Ilyen tulajdonképpen a következýo szakaszban ismertetésre kerülýo Newton-módszer is A Þxpont iteráció és általánosításai fontosak további módszerek kifejlesztésében és az ún kaotikus jelenségek (fraktálok) vizsgálatában is Itt némi egyszerýusítéssel azt a kérdést vizsgálják, hogy az iteráció mely pontokból elindulva konvergens, illetve az iterációs sorozat hogyan viselkedik Végül megjegyezzük, hogy lebegýopontos aritmetikában elýofordulhat, hogy a sorozat nem konvergál a Þxponthoz, hanem körülötte beciklizál 1713 A Newton-módszer Tegyük fel, hogy f : R R folytonosan differenciálható A módszer lényege, hogy az x i pontban a függvényhez érintýot húzunk és ennek az érintýonek a zérushelye adja meg a keresett gyök (i +1)-edik közelítését, azaz x i+1 -et Az érintýo iránytangensef 0 (x i ) és egyenlete y f(x i )=f 0 (x i )(x x i ) (1717) Az y =0egyenlet megoldása: x i+1 = x i f(x i) f 0 (x i ), (1718) feltéve, hogy f 0 (x i ) 6= 0 E képlethez eljuthatunk egy kissé más érveléssel is Nevezetesen f(x)-et linearizáljuk az x i pontban, azaz közelítjük az elsýofokú Taylor-polinomjával: f(x) f(x i )+f 0 (x i )(x x i ) (1719) Ezután az f(x) =0egyenlet helyettesítjük a f(x i )+f 0 (x i )(x x i )=0egyenlettel, amelynek gyöke közelíti az f(x) =0egyenlet gyökét A Newton-módszer tehát a következýo Adott egy x 0 R kezdeti közelítés és képezzük az x i+1 = x i f(x i) f 0 (i =0, 1,) (1720) (x i ) sorozatot Vegyük észre: a Newton-módszer tulajdonképpen az x = x f (x) /f 0 (x) Þxpont feladatra alkalmazott iterációs eljárás A Newton-módszer konvergenciájára vonatkozik az alábbi 176 Tétel Legyen f :(a, b) R kétszer folytonosan differenciálható, f 00 (x) γ és f 0 (x) ρ > 0 ( x (a, b)) Ha az f(x) =0egyenletnek van egy x gyöke az (a, b) intervallumban, akkor van egy olyan η > 0 szám, hogy x 0 x < η esetén x i x ( i + ) és x i+1 x γ 2ρ x i x 2 (i =0, 1,) (1721) EGYVÁLTOZÓS EGYENLETEK MEGOLDÁSA 177

178 Bizonyítás Legyen η 1 =min{x a, b x } > 0 Tekintsüka f (x )=f (x i )+f 0 (x i )(x x i )+(1/2) f 00 (ξ i )(x x i ) 2 Taylor-sort, ahonnan f (x )=0miatt f (x i )= f 0 (x i )(x x i ) (1/2) f 00 (ξ i )(x x i ) 2 következik Behelyettesítéssel kapjuk, hogy x i+1 = x i +(x x i )+ 1 f 00 (ξ i ) 2 f 0 (x i ) (x i x ) 2, azaz x i+1 x = 1 f 00 (ξ i ) 2 f 0 (x i ) (x i x ) 2 Innen a f 00 (x) γ és f 0 (x) ρ > 0 (x (a, b)) feltevésekmiatt x i+1 x γ 2ρ x i x 2 következik, feltéve, hogy x i (a, b) Ha x 0 x < η =min{η 1, 2ρ/γ}, akkor µ γ x 1 x 2ρ x 0 x x 0 x x 0 x < η miatt x 1 (x η,x + η) (a, b) Hasonlóan folytatva könnyen igazolhatjuk, hogy x i (a, b) és x i+1 x 2ρ γ µ 2 i+1 γ 2ρ x 0 x (i =0, 1,) Tehát x 0 x < η esetben az {x i } i=0 sorozat másodrendben konvergens Azt mondjuk, hogy a Newton-módszer konvergenciája lokális, mert az x 1 kezdeti közelítésnek az x gyök közelében kell lennie A Newton-módszer másodrendýu konvergenciáját az alábbi megjegyzéssel jellemezhetjük Tegyük fel, hogy x 6=0 Ekkor fennáll, hogy x i+1 x x γ x 2ρ µ xi x 2 x γ max{ a, b } 2ρ µ xi x 2 (1722) Ez azt jelenti, hogy az x i+1 közelítés relatív hibája az i-edik közelítés relatív hibájának négyzete Ha tehát beállt a közelítés elsýo két tizedesjegye, akkor dupla pontosságú aritmetikában 3-4 lépésben beáll az elérhetýo legnagyobb pontosság x 178 NEMLINEÁRIS EGYENLETEK

179 Kilépési feltételek A Newton-módszert elvileg akkor kell megállítanunk, amikor elértünk egy adott ε > 0 pontosságú közelítést, azaz fennáll, hogy x i x ε (1723) Mármost a gyök ismerete nélkül ezt a hibát ténylegesen becsülni nem tudjuk Ezért különbözýo heurisztikus kilépési feltételeket használunk A leggyakoribbak: (A) f(x i ) ε 1 ; (B) x i+1 x i ε 2 ; (C) i = i max (1724) A feltételek egyikének teljesülése sem garantálja a (1723) pontossági feltétel teljesülését Ezért célszerýubb a három feltételt együtt használni A függvényközelítéseknél korábban látott x k+1 = 1 µx k + axk (k =0, 1,) (1725) 2 négyzetgyök algoritmus nem más, mint a Newton-módszer az f (x) =x 2 a =0 egyenletre alkalmazva Felmerül a kérédés, hogy milyen x 0 értékekre lesz az eljárás konvergens? Igaz a következýo, Fourier-týol származó 177 Tétel Legyen f C 2 [a, b], f 0 (x) 6= 0és f 00 (x) 6= 0,hax [a, b] Tegyükfel, hogy létezik x (a, b) gyök Ha az x 0 [a, b] pont olyan, hogy f (x 0 ) f 00 (x 0 ) > 0, akkor a Newton-módszer monoton konvergál az x megoldáshoz A tételben szereplýo [a, b] végtelen intervallum is lehet Esetünkben f (x) =x 2 a és f 00 (x) =2 Ezért x 0 > a esetén f (x 0 ) f 00 (x 0 ) > 0 Tehát ilyen x 0 értékekre a Newton-módszer biztosan konvergál 172 Nemlineáris egyenletrendszerek megoldása Az f(x) =0(f : R n R n )ésazx = g (x) (g : R n R n ) alakú egyenletrendszereket vizsgáljuk, ahol f(x), ill g (x) folytonosan differenciálható A Þxpont iterációs eljárás és a Newton-módszer általánosítását tárgyaljuk 1721 Fixpont iterációs eljárás Az x = g (x) egyenletrendszert vizsgáljuk, ahol g : R n R n folytonos Tegyük fel, hogy D R n zárt tartomány olyan, hogy teljesülnek rá a g (x) D, x D (1726) és kg (x) g (y)k q kx yk, x, y D (0 q<1) (1727) NEMLINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA 179

180 feltételek Ekkor tetszýoleges x 0 D esetén az alábbi algoritmus lineáris sebességgel konvergál az x = g (x) egyenlet egyetlen megoldásához A FIXPONT ITERÁCIÓS ELJÁRÁS ALGORITMUSA: Input x 0, ε > 0 while kilépési feltétel=hamis x i+1 = g (x i ), i = i +1 end A használható kilépési feltételek (A) kf(x i )k ε 1 ; (B) kx i+1 x i k ε 2 ; (C) i = i max (1728) és ezek kombinációi 1722 A Newton-módszer Az f(x) =0(x R n ) egyenletrendszer koordinátás alakja: f 1 (x 1,x 2,,x n ) = 0 f n (x 1,x 2,,x n ) = 0 R n pontban linearizáljuk az f k (x) koordináta függ- Az x i =[x (i) 1,x(i) 2,,x(i) vényt (k =1,,n): n ] T f k (x 1,x 2,,x n ) f k (x (i) 1,x(i) 2,,x(i) n ) nx ³ + f k (x (i) 1 x,x(i) 2,,x(i) n ) l Tömörebb formában ugyanez l=1 f 1 (x) f 1 (x i )+ f 1 (x i ) T (x x i ) f n (x) f n (x i )+ f n (x i ) T (x x i ) x l x (i) l Az f(x) =0egyenletrendszer megoldása helyett keressük a linearizált egyenletrendszer f 1 (x i )+ f 1 (x i ) T (x x i )=0 f n (x i )+ f n (x i ) T (x x i )=0 (1729) 180 NEMLINEÁRIS EGYENLETEK

181 közös megoldását, amely az x i+1 új közelítést deþniálja Vegyükészre,hogyazy = f k (x i )+ f k (x i ) T (x x i ) egyenlet az y = f k (x) függvény érintýosíkja az x i pontban Az x i+1 közelítés az érintýosíkoknak az y =0síkon lévýo közös pontja Ha bevezetjük az fi (x) J(x) = x j n i,j=1 = f 1 (x) T f n (x) T (1730) jelölést (J(x) az f(x) függvény Jacobi-mátrixa), akkor a linearizált egyenletrendszer átírható a tömörebb f(x i )+J(x i )(x x i )=0 (1731) alakba, amelynek megoldása: x i+1 = x i [J(x i )] 1 f(x i ) (i =1,) (1732) Az {x i } sorozat fenti elýoállítását (x 0 elýozetes felvételével) nevezzük Newton-módszernek A gyakorlatban soha nem invertáljuk a J(x i ) Jacobi-mátrixot Helyette a lineáris egyenletrendszer alakot oldjuk meg Így az eljárás alakja az alábbi A NEWTON MÓDSZER EGYENLETRENDSZEREKRE: Adott x 0 R n, ε > 0 for i =0, 1, 2, Oldjuk meg a J(x i ) i = f(x i ) egyenletrendszert! x i+1 = x i + i end Az alkalmazható kilépési feltételek értelemszerýuen itt is az (1728) feltételek és ezek kombinációi Az eljárás konvergenciája alkalmas feltételek esetén lokális és másodrendýu Példa Tekintsük az f 1 (x) =x x 2 2 1=0, f 2 (x) = x 2 1 x 2 =0kétismeretlenes nemlineáris egyenletrendszert Az x 1 =[1, 1] T pontban a z = f 1 (x) függvény S 1 érintýosíkja z =2x 1 +2x 2 3, az = f 2 (x) függvény S 2 érintýosíkja pedig z = 2x 1 x 2 +1 A két érintýosík egy egyenesben metszi egymást, amely a z =0síkot az x 2 =[ 1/2, 2] T pontban metszi A következýo ábra ezen objektumokat mutatja be NEMLINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA 181

182 Példa Oldjuk meg az f =[(f 1 (x),,f n (x)] T =0, x =[x 1,,x n ] T egyenletrendszert Newton-módszerrel, ha f 1 (x) = x 1 f i (x) = cos(x i 1 )+x i 1 (i =2,,n)! Legyen a kezdýovektor x (0) =[ 1, 1,, 1, 1] T AJacobi-mátrix: sin(x 1 ) 1 0 J(x) = 0 sin(x 2 ) sin(x n 1 ) 1 Az x (k+1) = x (k) [J(x (k) )] 1 f(x (k) ) sorozat elemei MATLAB-ban írt programmal számolva n =4esetén: 0 0 x (1) = , x(2) = , NEMLINEÁRIS EGYENLETEK

183 x (3) = , x(4) = e 16 Megmutatható, hogy az x (k) sorozat bármely n 1 esetén és bármilyen x (0) - ból véges (legfeljebb n) lépésben (a kerekítési hibáktól eltekintve) eléri az egyetlen, x =[0,,0] T megoldást 173 Utólagos hibabecslések Nemlineáris egyenletrendszerek közelítýo megoldásainak utólagos (inverz) hibabecslését elvégezhetjük az Ottli-Prager becslés alábbi általánosításával is 178 Tétel (Arioli-Duff-Ruiz) Legyen Ê 0 és ˆf 0 ( Ê R n n, ˆf R n ) Legyen F : R n R n nemlineáris függvény, b R n és x az F (x) =b (1733) egyenletrendszer közelítýo megoldása Akkor és csak akkor van olyan G ( G Ê) és g ( g ˆf), amelyre x az F ( x)+g x = b + g (1734) perturbált egyenletrendszer megoldása, ha Ha adott E és f mellett Ê = ωe és ˆf = ωf, akkor r = b F ( x) Ê x + ˆf (1735) ω =max i r i (E x + f) i (1736) a legkisebb ω, amellyel a tétel kielégíthetýo Példa Tekintsük az elýozýo szakaszpéldájáthaaze = J (ex) és f =[1,,1] T R n választással élünk, akkor ex = x (1) esetén ω =04200, ex = x (2) esetén ω =01482, ex = x (3) esetén ω =00025, ex = x (4) esetén pedig ω =0Ezutóbbitazmagyarázza, hogy a MATLAB rendszerben f x (4) =0 UTÓLAGOS HIBABECSLÉSEK 183

184 174 Feladatok 1 Oldjuk meg az Z T 0 sin(s + p T 2 + s)ds =025 egyenletet T -re az intervallumfelezés módszerével Használjunk numerikus kvadraturát a függvény kiértékeléséhez! 2 Alkalmazzuk a Newton-módszert a h (x) = 3 xe x2 =0, f(x) = 1 =0, f(x) = 1+x2 s 1 e x log(1/ x +4 ) =0 egyenletekre az (A), illetve (B) kilépési feltételekkel! Mit tapasztalunk? 3 Oldjuk meg a Newton-módszerrel a következýo egyenletrendszereket! 3x +4y + e z+w =1007 6x 4y + e 3z+w =11 x 4 4y 2 +6z 8w =20 x 2 +2y 3 + z w =4 2x 2 3xy +4siny = 6 3x 2 2xy 2 +3cosx =8 x i + P 4 j=1 x j 5=0,i=1, 2, 3 x 1 x 2 x 3 x 4 1=0 (α) (β) (γ) 184 NEMLINEÁRIS EGYENLETEK

185 18 DIFFERENCIÁLEGYENLETEK KÖZELÍTýO MEGOLDÁSA Közönséges differenciálegyenletek kezdeti- és peremérték feladataival foglalkozunk 181 A kezdetiérték feladat megoldása Runge-Kutta típusú módszerekkel Az y 0 = f (x, y), y(x 0 )=y 0 ³ f : R R` R` (181) alakú kezdetiérték feladatokat vizsgáljuk, ahol f (x, y) =[f 1 (x, y),,f` (x, y)] T (x R, y R`) folytonos a D = {(x, y) :kx x 0 k < κ x, ky y 0 k < κ y } R`+1 (182) nyílt tartományon, κ x és κ y pozitívkonstansokéslétezikolyanl>0 konstans, hogy kf (x, y) f (x, z)k L ky zk ((x, y), (x, z) D) (183) Ekkor minden (x 0,y 0 ) D esetén a kezdetiérték feladatnak létezik pontosan egy y (x) =[y 1 (x),,y` (x)] T megoldása valamely [x 0,B] intervallumon, azaz y 0 (x) =f (x, y (x)), x [x 0,B] (184) A feladat numerikus megoldásán a következýot értjük A megoldást egy [x 0,b] intervallum (b B) diszkrét pontjaiban keressük Ezek a pontok legyenek x 0 = t 0 <t 1 <<t j <<t N = b (185) A {t i } N i=0 alappont halmazt az [x 0,b] intervallum felosztásának nevezzük A felosztás ekvidisztans (egyentávolságú), ha t i = t 0 + ih (i =0, 1,,N), h = b t 0 N (186) Az y (x) elméleti megoldás t i pontbeli közelítését jelölje y i Értelemszerýuen y (t 0 )= y 0 Ah i = t i+1 t i > 0 mennyiséget i-edik lépéshossznak nevezzük 185

186 1811 Az explicit Euler-módszer A Cauchy-feladat (egyik) jellegzetessége az, hogy ha egy x pontban ismert az y (x) megoldás vektor, akkor ismert az y 0 (x) =f (x, y (x)) derivált vektor is A vektor komponensekre fennálló y i (x + h) y i (x) +hyi 0 (x) =y i (x) +h i f (x, y (x)) (i = 1,,`) elsýorendýu közelítéseket (tkp érintýoket) vektor formában felírva kapjuk az y (x + h) = y 1 (x + h) y t (x + h) y` (x + h) y (x)+hy 0 (x) =y (x)+hf (x, y (x)) közelítést Ha az x pontban az y (x) ŷ közelítýo értékismert,akkorafentiképlet átmegy az y (x + h) ŷ + hf (x, ŷ) közelítésbe Az Euler-módszer alapgondolata ezek után a következýo: A t 1 = t 0 + h 0 pontban közelítsük az y (t 1 ) elméleti megoldást a megoldásgörbe (x 0,y 0 ) pontbeli érintýojével, azaz legyen y (t 0 + h 0 ) y 0 + h 0 y 0 (t 0 )=y 1 = y 0 + h 0 f (t 0,y 0 ) (187) A t 1 pontbeli y 1 közelítést felhasználva kapjuk, hogy y (t 2 ) y (t 1 )+h 1 f (t 1,y(t 1 )) y 2 = y 1 + h 1 f (t 1,y 1 ) (188) Az eljárást folytatva kapjuk hogy y i+1 = y i + h i f (x i,y i ) (i =0, 1,,N 1), (189) ahol y i y (t i ) Ezt a képletet nevezzük explicit Euler-módszernek GraÞkusan ábrázolva az eljárást skalár differenciálegyenlet (f : R 2 R) esetén a következýo ábrát nyerhetjük: 186 DIFFERENCIÁLEGYENLETEK KÖZELÍTýO MEGOLDÁSA

187 A rombusszal jelölt és egyenes szakaszokkal összekötött pontok az y i (i =0, 1, 2) közelítýo megoldások, amelyeken átmennek az y 0 (x) =f (x, y),y(t i )=y i differenciálegyenletek megoldásai (t i =1+05(i 1), i =0, 1, 2) A következýokben az eljárás hibáját elemezzük 181 DeÞníció Az T (y (x),h)=y (x + h) (y (x)+hf (x, y (x))) mennyiséget az x pontbeli lokális hibának nevezzük 182 DeÞníció Az e i = y i y (t i ) hibát az i-edik pontbeli globális hibának nevezzük ( i =0, 1,,N) A deþníciók és a (183) feltételek alapján fennáll, hogy ky i+1 y (t i+1 )k = ky i + h i f (t i,y i ) [y (t i )+h i f (t i,y(t i )) + T (y (t i ),h i )]k ky i y (t i ) +h i [f (t i,y i ) f (t i,y(t i ))]k + kt (y (t i ),h i )k (1 + h i L) ky i y (t i )k + kt (y (t i ),h i )k, azaz ke i+1 k (1 + h i L) ke i k + kt (y (t i ),h i )k (i =0, 1,,N 1) (1810) A globális hiba vizsgálatához két további eredményre van szükségünk Igaz a következýo 181 Lemma A δ i+1 α i δ i + γ i, (α i 0, i =0, 1,,n) egyenlýotlenség megoldása zárt alakban ny nx ny δ n+1 α j δ 0 + α j γ i, n 0 (1811) j=0 i=0 j=i+1 A KEZDETIÉRTÉK FELADAT MEGOLDÁSA RUNGE-KUTTA TíPUSÚ MÓDSZEREKKEL 187

188 Bizonyítás Az n =0esetben a rekurzió alapján, a képlet alapján pedig ( Q i j=l 0Y δ 1 α j δ 0 + j=0 δ 1 α 0 δ 0 + γ 0, f (j) =1,hai<l) 0X 0Y i=0 j=1 α j γ i = α 0 δ 0 + γ 0 Feltéve, hogy az állítás valamely n 0 értékre igaz, igazoljuk helyességét az n + 1 értékre is Ekkor kapjuk, hogy ³ δ n+2 α n+1 δ n+1 + γ n+1 Qn α n+1 j=0 α P ³ j δ n Qn 0 + α n+1 i=0 j=i+1 α j γ i + γ n+1 ³ Qn+1 j=0 α j δ 0 + P ³ n+1 Qn+1 i=0 j=i+1 α j γ i, ami bizonyítandó volt Ha a lemmát az α j =1+h j L, γ j = kt (y (t j ),h j )k szereposztással alkalmazzuk, akkor az ny nx ke n+1 k (1 + h j L) ke 0 k + j=0 i=0 ny j=i+1 (1 + h j L) kt (y (t i ),h i )k (1812) egyenlýotlenséget kapjuk Vizsgáljuk most meg az T (y (x),h) lokális hiba nagyságát Tegyük fel, hogy y (x) C 2 [x 0,b] Ekkor y (x + h) =y (x) +hy 0 (x) +R 1 (x, h), amelynek maradéktagjára teljesül, hogy kr 1 (x, h)k h 2 K 2 µ2k 2 =max max i (x) (1813) A képlethiba ennek megfelelýoen 1 i ` x [x y00 0,b] T (y (x),h)=(y (x)+hy 0 (x)+r 1 (x, h)) (y (x)+h ahonnan kt (y (x),h)k K 2 h 2 (x, x + h [x 0,b]) és y 0 (x) z } { f (x, y (x))) = R 1 (x, h), T (y (t i ),h i ) K 2 h 2 i (i =0, 1,,N 1) (1814) következik Az 1+x e x (x 0) egyenlýotlenség Þgyelembevételével kapjuk, hogy 1+h j L e Lh j és ny j=i+1 (1 + h j L) ny j=i+1 e Lhj = e L P n j=i+1 hi e L(b x0) (1815) 188 DIFFERENCIÁLEGYENLETEK KÖZELÍTýO MEGOLDÁSA

189 Ha ezt a (1812) képletbe behelyettesítjük, akkor kapjuk, hogy nx ke n+1 k e L(b x0) ke 0 k + e L(b x0) K 2 h 2 i (1816) i=0 Anyilvánvaló nx µ h 2 i max h X n i h i (b x 0 )max h i, 0 i n 0 i n i=0 i=0 egyenlýotlenség miatt ke n+1 k e µke L(b x0) 0 k +(b x 0 ) K 2 max h i 0 i n (n =0, 1,,N 1) (1817) Mivel e 0 = y 0 y (x 0 )=0, az Euler-módszer globális hibájára igaz a következýo 181 Tétel Az Euler-módszer globális hibájára y (x) C 2 [x 0,b] esetén fennáll, hogy max ke ik 1 i N (b x 0 ) K 2 e L(b x0) max h i (1818) 0 i N 1 Ez azt jelenti, hogy az Euler-módszer hibája a legnagyobb lépéshosszal arányos Ha a {t i } N i=0 felosztás minden határon túl Þnomodik, azaz N és max 0 i N h i 0 egyidejýuleg teljesül, akkor fennáll, hogy max ke ik 1 i N 0, N (1819) Tehát az Euler-módszer (elsýorendben) konvergens A konvergencia jellegét mutatja a következýo ábra, amelyen az y 0 =2y/x +2x 3, y (1) = 2 Cauchy-probléma elméleti és Euler-megoldásai láthatók h = 1, 1/2, 1/4, 1/8 esetén A KEZDETIÉRTÉK FELADAT MEGOLDÁSA RUNGE-KUTTA TíPUSÚ MÓDSZEREKKEL 189

190 1812 Explicit egylépéses módszerek Az Euler-módszernek számtalan hatékonyabb továbbfejlesztése ismeretes Ezek közül az egyik legfontosabb az explicit egylépéses módszerek osztálya, amelynek alakja y i+1 = y i + h i φ (t i,y i,h i ) (i =0, 1,,N 1) (1820) Az f (x, y) függvénytýol függýo φ (x, y, h) (φ : R R` R R`) növekményfüggvény minden változójában folytonos, az y változóban kielégíti a ³ kφ(x, y, h) φ(x, z, h)k K ky zk, K 0, (x, y), (x, z) D, h b h (1821) feltételt és φ (x, y, 0) = f (x, y) (1822) Az Euler-módszer a φ (x, y, h) =f (x, y) speciális esetnek felel meg Az egylépéses módszerek x pontbeli lokális hibáját az T (y (x),h)=y (x + h) (y (x)+hφ (x, y (x),h)) (1823) mennyiség deþniálja Az egylépéses módszer p-edrendýu, ha létezik K p > 0 konstans, hogy kt (y (x),h)k K p h p+1, x,x+ h [x 0,b] (1824) 190 DIFFERENCIÁLEGYENLETEK KÖZELÍTýO MEGOLDÁSA

191 Az Euler-módszerhez hasonlóan beláthatjuk, hogy az egylépéses módszerek globális hibájára is fennáll az alábbi egyenlýotlenség ke n+1 k (1 + h n K) ke n k + kt (y (t n ),h n )k (n =0, 1,,N 1) (1825) Ha az egylépéses módszer p-edrendýu, akkor az Euler-módszerhez hasonlóan igazolhatjuk, hogy a globális hibára fennáll a µ p (1826) max ke ik 1 i N c max 0 i N 1 h i egyenlýotlenség, ahol c > 0 konstans Tehát a p-edrendýu egylépéses módszer p- edrendben konvergál Fontos megjegyezni, hogy egy p-edrendben konvergáló módszer általában csak olyan kezdetiérték feladatok esetében konvergál p-edrendben, amelyek megoldása folytonosan differenciálható legalább (p +1)-szer Ha a differenciálegyenlet elméleti megoldása ennél kevesebbszer differenciálható, akkor a konvergencia rendje is csökken A p-edrendýu egylépéses módszer ui az y (x) megoldás függvényt p+1-ed rendýu hibával közelíti Ez azt jelenti, hogy az y (x + h) és y (x)+hφ(x, y (x),h) függvényeket az x pont körül sorbafejtve, a két sorfejtés elsýo p +1tagja megegyezik A legkézenfekvýobb ilyen tulajdonságú formula az ún Taylor-sor módszer, ahol φ (x, y (x),h)= px i=1 y (i) (x) hi 1 (1827) i! Az y (i) (x) magasabbrendýu deriváltakat az összetett függvény deriválási szabályával és az y 0 (x) =f (x, y (x)) összefüggés segítségével tudjuk meghatározni Pl y 00 (x) =(f (x, y (x))) 0 = fx 0 (x, y (x)) + fy 0 (x, y (x)) y 0 (x) = = fx 0 (x, y (x)) + fy 0 (1828) (x, y (x)) f (x, y (x)) Természetesen bonyolult, vagy nehezen számítható deriváltak és többváltozó esetén a Taylor-sor módszer nem elýonyös Elýonyösek viszont a Runge-Kutta módszerek KDT Runge, A KEZDETIÉRTÉK FELADAT MEGOLDÁSA RUNGE-KUTTA TíPUSÚ MÓDSZEREKKEL 191

2. előadás. Lineáris algebra numerikus módszerei. Mátrixok Mátrixműveletek Speciális mátrixok, vektorok Norma

2. előadás. Lineáris algebra numerikus módszerei. Mátrixok Mátrixműveletek Speciális mátrixok, vektorok Norma Mátrixok Definíció Az m n típusú (méretű) valós A mátrixon valós a ij számok alábbi táblázatát értjük: a 11 a 12... a 1j... a 1n.......... A = a i1 a i2... a ij... a in........... a m1 a m2... a mj...

Részletesebben

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei Indukált mátrixnorma Definíció A. M : R n n R mátrixnormát a. V : R n R vektornorma által indukált mátrixnormának nevezzük, ha A M = max { Ax V : x V = 1}. Az indukált mátrixnorma geometriai jelentése:

Részletesebben

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet   takach november 30. 1 Diszkrét matematika I, 12 előadás Dr Takách Géza NyME FMK Informatikai Intézet takach@infnymehu http://infnymehu/ takach 2005 november 30 Vektorok Definíció Egy tetszőleges n pozitív egész számra n-komponensű

Részletesebben

Vektorok, mátrixok, lineáris egyenletrendszerek

Vektorok, mátrixok, lineáris egyenletrendszerek a Matematika mérnököknek I. című tárgyhoz Vektorok, mátrixok, lineáris egyenletrendszerek Vektorok A rendezett valós számpárokat kétdimenziós valós vektoroknak nevezzük. Jelölésükre latin kisbetűket használunk.

Részletesebben

3. el adás: Determinánsok

3. el adás: Determinánsok 3. el adás: Determinánsok Wettl Ferenc 2015. február 27. Wettl Ferenc 3. el adás: Determinánsok 2015. február 27. 1 / 19 Tartalom 1 Motiváció 2 A determináns mint sorvektorainak függvénye 3 A determináns

Részletesebben

Numerikus módszerek 1.

Numerikus módszerek 1. Numerikus módszerek 1. 3. előadás: Mátrixok LU-felbontása Lócsi Levente ELTE IK 2013. szeptember 23. Tartalomjegyzék 1 Alsó háromszögmátrixok és Gauss-elimináció 2 Háromszögmátrixokról 3 LU-felbontás Gauss-eliminációval

Részletesebben

Mátrixok 2017 Mátrixok

Mátrixok 2017 Mátrixok 2017 számtáblázatok" : számok rendezett halmaza, melyben a számok helye két paraméterrel van meghatározva. Például lineáris egyenletrendszer együtthatómátrixa 2 x 1 + 4 x 2 = 8 1 x 1 + 3 x 2 = 1 ( 2 4

Részletesebben

Lineáris egyenletrendszerek

Lineáris egyenletrendszerek Lineáris egyenletrendszerek Lineáris egyenletrendszernek nevezzük az a 11 x 1 + a 12 x 2 +... +a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... +a 2n x n = b 2.. a k1 x 1 + a k2 x 2 +... +a kn x n = b k n ismeretlenes,

Részletesebben

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei A Gauss-Jordan elimináció, mátrixinvertálás Gauss-Jordan módszer Ugyanazzal a technikával, mint ahogy a k-adik oszlopban az a kk alatti elemeket kinulláztuk, a fölötte lévő elemeket is zérussá lehet tenni.

Részletesebben

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek Lineáris algebra 2 Filip Ferdinánd filipferdinand@bgkuni-obudahu sivabankihu/jegyzetek 2015 december 7 Filip Ferdinánd 2016 februar 9 Lineáris algebra 2 1 / 37 Az el adás vázlata Determináns Determináns

Részletesebben

15. LINEÁRIS EGYENLETRENDSZEREK

15. LINEÁRIS EGYENLETRENDSZEREK 15 LINEÁRIS EGYENLETRENDSZEREK 151 Lineáris egyenletrendszer, Gauss elimináció 1 Definíció Lineáris egyenletrendszernek nevezzük az (1) a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a

Részletesebben

Determinánsok. A determináns fogalma olyan algebrai segédeszköz, amellyel. szolgáltat az előbbi kérdésekre, bár ez nem mindig hatékony.

Determinánsok. A determináns fogalma olyan algebrai segédeszköz, amellyel. szolgáltat az előbbi kérdésekre, bár ez nem mindig hatékony. Determinánsok A determináns fogalma olyan algebrai segédeszköz, amellyel jól jellemezhető a mátrixok invertálhatósága, a mátrix rangja. Segítségével lineáris egyenletrendszerek megoldhatósága dönthető

Részletesebben

NUMERIKUS MÓDSZEREK I. TÉTELEK

NUMERIKUS MÓDSZEREK I. TÉTELEK NUMERIKUS MÓDSZEREK I. TÉTELEK Szerkesztette: Balogh Tamás 014. január 19. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! - Ne add el! - Így

Részletesebben

Bevezetés az algebrába 1

Bevezetés az algebrába 1 B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Bevezetés az algebrába 1 BMETE92AX23 Determinánsok H406 2017-11-27 Wettl Ferenc ALGEBRA

Részletesebben

9. gyakorlat Lineáris egyenletrendszerek megoldási módszerei folyt. Néhány kiegészítés a Gauss- és a Gauss Jordan-eliminációhoz

9. gyakorlat Lineáris egyenletrendszerek megoldási módszerei folyt. Néhány kiegészítés a Gauss- és a Gauss Jordan-eliminációhoz 9. gyakorlat Lineáris egyenletrendszerek megoldási módszerei folyt. Néhány kiegészítés a Gauss- és a Gauss Jordan-eliminációhoz. Mindkét eliminációs módszer műveletigénye sokkal kisebb, mint a Cramer-szabályé:

Részletesebben

Gauss-Seidel iteráció

Gauss-Seidel iteráció Közelítő és szimbolikus számítások 5. gyakorlat Iterációs módszerek: Jacobi és Gauss-Seidel iteráció Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei alapján 1 ITERÁCIÓS

Részletesebben

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek 3. Előadás Megyesi László: Lineáris algebra, 47. 50. oldal. Gondolkodnivalók Determinánsok 1. Gondolkodnivaló Determinánselméleti tételek segítségével határozzuk meg a következő n n-es determinánst: 1

Részletesebben

Numerikus módszerek 1.

Numerikus módszerek 1. Numerikus módszerek 1. 6. előadás: Vektor- és mátrixnormák Lócsi Levente ELTE IK 2013. október 14. Tartalomjegyzék 1 Vektornormák 2 Mátrixnormák 3 Természetes mátrixnormák, avagy indukált normák 4 Mátrixnormák

Részletesebben

Normák, kondíciószám

Normák, kondíciószám Normák, kondíciószám A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István Lineáris egyenletrendszerek Nagyon sok probléma közvetlenül lineáris egyenletrendszer megoldásával kezelhetı Sok numerikus

Részletesebben

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) Matematika A2c gyakorlat Vegyészmérnöki, Biomérnöki, Környezetmérnöki szakok, 2017/18 ősz 1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) 1. Valós vektorterek-e a következő

Részletesebben

Mátrixok, mátrixműveletek

Mátrixok, mátrixműveletek Mátrixok, mátrixműveletek 1 előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Mátrixok, mátrixműveletek p 1/1 Mátrixok definíciója Definíció Helyezzünk el n m elemet egy olyan téglalap

Részletesebben

I. VEKTOROK, MÁTRIXOK

I. VEKTOROK, MÁTRIXOK 217/18 1 félév I VEKTOROK, MÁTRIXOK I1 I2 Vektorok 1 A síkon derékszögű koordinátarendszerben minden v vektornak van vízszintes és van függőleges koordinátája, ezeket sorrendben v 1 és v 2 jelöli A v síkbeli

Részletesebben

Gauss-eliminációval, Cholesky felbontás, QR felbontás

Gauss-eliminációval, Cholesky felbontás, QR felbontás Közelítő és szimbolikus számítások 4. gyakorlat Mátrix invertálás Gauss-eliminációval, Cholesky felbontás, QR felbontás Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei

Részletesebben

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz 2018/2019 ősz Elérhetőségek Előadó: (safaro@math.bme.hu) Fogadóóra: hétfő 9-10 (H épület 3. emelet 310-es ajtó) A pontos tárgykövetelmények a www.math.bme.hu/~safaro/kalkulus oldalon találhatóak. A mátrix

Részletesebben

Gauss elimináció, LU felbontás

Gauss elimináció, LU felbontás Közelítő és szimbolikus számítások 3. gyakorlat Gauss elimináció, LU felbontás Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei alapján 1 EGYENLETRENDSZEREK 1. Egyenletrendszerek

Részletesebben

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27 Vektorterek Wettl Ferenc 2015. február 17. Wettl Ferenc Vektorterek 2015. február 17. 1 / 27 Tartalom 1 Egyenletrendszerek 2 Algebrai struktúrák 3 Vektortér 4 Bázis, dimenzió 5 Valós mátrixok és egyenletrendszerek

Részletesebben

1. Mátrixösszeadás és skalárral szorzás

1. Mátrixösszeadás és skalárral szorzás 1 Mátrixösszeadás és skalárral szorzás Mátrixok tömör jelölése T test Az M = a i j T n m azt az n sorból és m oszlopból álló mátrixot jelöli, amelyben az i-edik sor j-edik eleme a i j T Példák [ ] Ha M

Részletesebben

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások 1. Feladat. (6p) Jelöljön. egy tetszőleges vektornormát, ill. a hozzá tartozó indukált mátrixnormát! Igazoljuk, hogy ha A

Részletesebben

Gazdasági matematika II. tanmenet

Gazdasági matematika II. tanmenet Gazdasági matematika II. tanmenet Mádi-Nagy Gergely A hivatkozásokban az alábbi tankönyvekre utalunk: T: Tóth Irén (szerk.): Operációkutatás I., Nemzeti Tankönyvkiadó 1987. Cs: Csernyák László (szerk.):

Részletesebben

10. Előadás. Megyesi László: Lineáris algebra, oldal. 10. előadás Sajátérték, Kvadaratikus alak

10. Előadás. Megyesi László: Lineáris algebra, oldal. 10. előadás Sajátérték, Kvadaratikus alak 10. Előadás Megyesi László: Lineáris algebra, 98. 108. oldal. Gondolkodnivalók Mátrix inverze 1. Gondolkodnivaló Igazoljuk, hogy invertálható trianguláris mátrixok inverze is trianguláris. Bizonyítás:

Részletesebben

LINEÁRIS ALGEBRA (A, B, C) tematika (BSc) I. éves nappali programtervező informatikus hallgatóknak évi tanév I. félév

LINEÁRIS ALGEBRA (A, B, C) tematika (BSc) I. éves nappali programtervező informatikus hallgatóknak évi tanév I. félév LINEÁRIS ALGEBRA (A, B, C) tematika (BSc) I éves nappali programtervező informatikus hallgatóknak 2010-2011 évi tanév I félév Vektoriális szorzat és tulajdonságai bizonyítás nélkül: Vegyes szorzat és tulajdonságai

Részletesebben

Numerikus matematika. Irodalom: Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, Lebegőpontos számok

Numerikus matematika. Irodalom: Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, Lebegőpontos számok Numerikus matematika Irodalom: Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, 2007 Lebegőpontos számok Normák, kondíciószámok Lineáris egyenletrendszerek Legkisebb négyzetes

Részletesebben

A KroneckerCapelli-tételb l következik, hogy egy Bx = 0 homogén lineáris egyenletrendszernek

A KroneckerCapelli-tételb l következik, hogy egy Bx = 0 homogén lineáris egyenletrendszernek 10. gyakorlat Mátrixok sajátértékei és sajátvektorai Azt mondjuk, hogy az A M n mátrixnak a λ IR szám a sajátértéke, ha létezik olyan x IR n, x 0 vektor, amelyre Ax = λx. Ekkor az x vektort az A mátrix

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata

Részletesebben

1 Lebegőpontos számábrázolás

1 Lebegőpontos számábrázolás Tartalom 1 Lebegőpontos számábrázolás... 2 2 Vektornormák... 4 3 Indukált mátrixnormák és tulajdonságaik... 5 4 A lineáris rendszer jobboldala hibás... 6 5 A kondíciószám és tulajdonságai... 7 6 Perturbációs

Részletesebben

11. DETERMINÁNSOK. 11.1 Mátrix fogalma, műveletek mátrixokkal

11. DETERMINÁNSOK. 11.1 Mátrix fogalma, műveletek mátrixokkal 11 DETERMINÁNSOK 111 Mátrix fogalma, műveletek mátrixokkal Bevezetés A közgazdaságtanban gyakoriak az olyan rendszerek melyek jellemzéséhez több adat szükséges Például egy k vállalatból álló csoport minden

Részletesebben

9. Előadás. (9. előadás) Lineáris egyr.(3.), Sajátérték április / 35

9. Előadás. (9. előadás) Lineáris egyr.(3.), Sajátérték április / 35 9. Előadás (9. előadás) Lineáris egyr.(3.), Sajátérték 2019. április 24. 1 / 35 Portfólió-analízis Tegyük fel, hogy egy bank 4 különböző eszközbe fektet be (réz, búza, arany és kakaó). Az ügyfeleinek ezen

Részletesebben

alakú számot normalizált lebegőpontos számnak nevezik, ha ,, és. ( : mantissza, : mantissza hossza, : karakterisztika) Jelölés: Gépi számhalmaz:

alakú számot normalizált lebegőpontos számnak nevezik, ha ,, és. ( : mantissza, : mantissza hossza, : karakterisztika) Jelölés: Gépi számhalmaz: 1. A lebegőpontos számábrázolás egy modellje. A normalizált lebegőpontos szám fogalma, a legnagyobb, legkisebb pozitív szám, a relatív pontosság az M(t,-k,+k) gépi számhalmazban. Az input függvény (fl)

Részletesebben

Numerikus matematika vizsga

Numerikus matematika vizsga 1. Az a = 2, t = 4, k = 3, k + = 2 számábrázolási jellemzők mellett hány pozitív, normalizált lebegőpontos szám ábrázolható? Adja meg a legnagyobb ábrázolható számot! Mi lesz a 0.8-hoz rendelt lebegőpontos

Részletesebben

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz Debreceni Egyetem Közgazdaságtudományi Kar Feladatok a Gazdasági matematika II tárgy gyakorlataihoz a megoldásra ajánlott feladatokat jelöli e feladatokat a félév végére megoldottnak tekintjük a nehezebb

Részletesebben

Vektorterek. =a gyakorlatokon megoldásra ajánlott

Vektorterek. =a gyakorlatokon megoldásra ajánlott Vektorterek =a gyakorlatokon megoldásra ajánlott 40. Alteret alkotnak-e a valós R 5 vektortérben a megadott részhalmazok? Ha igen, akkor hány dimenziósak? (a) L = { (x 1, x 2, x 3, x 4, x 5 ) x 1 = x 5,

Részletesebben

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet 9. Előadás Megyesi László: Lineáris algebra, 75. 84. oldal. Gondolkodnivalók Mátrix rangja 1. Gondolkodnivaló Határozzuk meg a p valós paraméter értékétől függően a következő mátrix rangját: p 3 1 2 2

Részletesebben

Matlab alapok. Baran Ágnes

Matlab alapok. Baran Ágnes Matlab alapok Mátrixok Baran Ágnes Mátrixok megadása Mátrix megadása elemenként A = [1, 2, 3; 4, 5, 6; 7, 8, 9] vagy A = [1 2 3; 4 5 6; 7 8 9] eredménye: A = 1 2 3 4 5 6 7 8 9 (Az egy sorban álló elemeket

Részletesebben

LNM folytonos Az interpoláció Lagrange interpoláció. Lineáris algebra numerikus módszerei

LNM folytonos Az interpoláció Lagrange interpoláció. Lineáris algebra numerikus módszerei Legkisebb négyzetek módszere, folytonos eset Folytonos eset Legyen f C[a, b]és h(x) = a 1 φ 1 (x) + a 2 φ 2 (x) +... + a n φ n (x). Ekkor tehát az n 2 F (a 1,..., a n ) = f a i φ i = = b a i=1 f (x) 2

Részletesebben

Bevezetés az algebrába 2 Vektor- és mátrixnorma

Bevezetés az algebrába 2 Vektor- és mátrixnorma Bevezetés az algebrába 2 Vektor- és mátrixnorma Wettl Ferenc Algebra Tanszék B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M 2016.

Részletesebben

Lineáris algebra Gyakorló feladatok

Lineáris algebra Gyakorló feladatok Lineáris algebra Gyakorló feladatok. október.. Feladat: Határozzuk meg a, 4b, c és a b c vektorokat, ha a = (; ; ; ; b = (; ; ; ; c = ( ; ; ; ;.. Feladat: Határozzuk meg a, 4b, a, c és a b; c + b kifejezések

Részletesebben

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi Gyakorló feladatok Agbeko Kwami Nutefe és Nagy Noémi 25 Tartalomjegyzék. Klasszikus hibaszámítás 3 2. Lineáris egyenletrendszerek 3 3. Interpoláció 4 4. Sajátérték, sajátvektor 6 5. Lineáris és nemlineáris

Részletesebben

Numerikus módszerek 1.

Numerikus módszerek 1. Numerikus módszerek 1. Tantárgy kódja: IP-08bNM1E, IP-08bNM1G (2+2) Az elsajátítandó ismeretanyag rövid leírása: A lebegıpontos számábrázolás egy modellje. A hibaszámítás elemei. Lineáris egyenletrendszerek

Részletesebben

rank(a) == rank([a b])

rank(a) == rank([a b]) Lineáris algebrai egyenletrendszerek megoldása a Matlabban Lineáris algebrai egyenletrendszerek a Matlabban igen egyszer en oldhatók meg. Legyen A az egyenletrendszer m-szer n-es együtthatómátrixa, és

Részletesebben

karakterisztikus egyenlet Ortogonális mátrixok. Kvadratikus alakok főtengelytranszformációja

karakterisztikus egyenlet Ortogonális mátrixok. Kvadratikus alakok főtengelytranszformációja Mátrixok hasonlósága, karakterisztikus mátrix, karakterisztikus egyenlet Ortogonális mátrixok. Kvadratikus alakok főtengelytranszformációja 1.Mátrixok hasonlósága, karakterisztikus mátrix, karakterisztikus

Részletesebben

Lineáris algebra és a rang fogalma (el adásvázlat, szeptember 29.) Maróti Miklós

Lineáris algebra és a rang fogalma (el adásvázlat, szeptember 29.) Maróti Miklós Lineáris algebra és a rang fogalma (el adásvázlat, 2010. szeptember 29.) Maróti Miklós Ennek az el adásnak a megértéséhez a következ fogalmakat kell tudni: (1) A mátrixalgebrával kapcsolatban: számtest

Részletesebben

Bevezetés az algebrába 1

Bevezetés az algebrába 1 B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Bevezetés az algebrába 1 BMETE92AX23 Egyenletrendszerek H406 2016-10-03 Wettl Ferenc

Részletesebben

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor 12. előadás Egyenletrendszerek, mátrixok Dr. Szörényi Miklós, Dr. Kallós Gábor 2015 2016 1 Tartalom Matematikai alapok Vektorok és mátrixok megadása Tömbkonstansok Lineáris műveletek Mátrixok szorzása

Részletesebben

Problémás regressziók

Problémás regressziók Universitas Eotvos Nominata 74 203-4 - II Problémás regressziók A közönséges (OLS) és a súlyozott (WLS) legkisebb négyzetes lineáris regresszió egy p- változós lineáris egyenletrendszer megoldása. Az egyenletrendszer

Részletesebben

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Hadamard-mátrixok Előadó: Hajnal Péter február 23. Szimmetrikus kombinatorikus struktúrák MSc hallgatók számára Hadamard-mátrixok Előadó: Hajnal Péter 2012. február 23. 1. Hadamard-mátrixok Ezen az előadáson látásra a blokkrendszerektől független kombinatorikus

Részletesebben

1. A kétszer kettes determináns

1. A kétszer kettes determináns 1. A kétszer kettes determináns 2 2-es mátrix inverze Tétel [ ] [ ] a c 1 d c Ha ad bc 0, akkor M= inverze. b d ad bc b a Ha ad bc = 0, akkor M-nek nincs inverze. A főátló két elemét megcseréljük, a mellékátló

Részletesebben

Diszkrét matematika II., 5. előadás. Lineáris egyenletrendszerek

Diszkrét matematika II., 5. előadás. Lineáris egyenletrendszerek 1 Diszkrét matematika II, 5 előadás Lineáris egyenletrendszerek Dr Takách Géza NyME FMK Informatikai Intézet takach@infnymehu http://infnymehu/ takach/ 2007 március 8 Egyenletrendszerek Középiskolás módszerek:

Részletesebben

1. Determinánsok. Oldjuk meg az alábbi kétismeretlenes, két egyenletet tartalmaz lineáris egyenletrendszert:

1. Determinánsok. Oldjuk meg az alábbi kétismeretlenes, két egyenletet tartalmaz lineáris egyenletrendszert: 1 Determinánsok 1 Bevezet definíció Oldjuk meg az alábbi kétismeretlenes, két egyenletet tartalmaz lineáris egyenletrendszert: a 11 x 1 +a 12 x 2 = b 1 a 21 x 1 +a 22 x 2 = b 2 Szorozzuk meg az első egyenletet

Részletesebben

XI A MÁTRIX INVERZE 1 Az inverzmátrix definíciója Determinánsok szorzástétele Az egységmátrix definíciója: 1 0 0 0 0 1 0 0 E n = 0 0 1 0 0 0 0 1 n-edrenű (azaz n n típusú) mátrix E n -nel bármely mátrixot

Részletesebben

Szinguláris értékek. Wettl Ferenc április 3. Wettl Ferenc Szinguláris értékek április 3. 1 / 28

Szinguláris értékek. Wettl Ferenc április 3. Wettl Ferenc Szinguláris értékek április 3. 1 / 28 Szinguláris értékek Wettl Ferenc 2015. április 3. Wettl Ferenc Szinguláris értékek 2015. április 3. 1 / 28 Tartalom 1 Szinguláris érték 2 Alkalmazások 3 Norma 4 Mátrixnorma Wettl Ferenc Szinguláris értékek

Részletesebben

Egyenletek, egyenlőtlenségek VII.

Egyenletek, egyenlőtlenségek VII. Egyenletek, egyenlőtlenségek VII. Magasabbfokú egyenletek: A 3, vagy annál nagyobb fokú egyenleteket magasabb fokú egyenleteknek nevezzük. Megjegyzés: Egy n - ed fokú egyenletnek legfeljebb n darab valós

Részletesebben

1. Geometria a komplex számsíkon

1. Geometria a komplex számsíkon 1. Geometria a komplex számsíkon A háromszög-egyenlőtlenség A háromszög-egyenlőtlenség (K1.4.3) Minden z,w C-re z +w z + w. Egyenlőség pontosan akkor áll, ha z és w párhuzamosak, és egyenlő állásúak, azaz

Részletesebben

Szinguláris értékek. Wettl Ferenc április 12. Wettl Ferenc Szinguláris értékek április / 35

Szinguláris értékek. Wettl Ferenc április 12. Wettl Ferenc Szinguláris értékek április / 35 Szinguláris értékek Wettl Ferenc 2016. április 12. Wettl Ferenc Szinguláris értékek 2016. április 12. 1 / 35 Tartalom 1 Szinguláris érték 2 Norma 3 Mátrixnorma 4 Alkalmazások Wettl Ferenc Szinguláris értékek

Részletesebben

Matematika (mesterképzés)

Matematika (mesterképzés) Matematika (mesterképzés) Környezet- és Településmérnököknek Debreceni Egyetem Műszaki Kar, Műszaki Alaptárgyi Tanszék Vinczéné Varga A. Környezet- és Településmérnököknek 2016/2017/I 1 / 29 Lineáris tér,

Részletesebben

LINEÁRIS EGYENLETRENDSZEREK október 12. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak

LINEÁRIS EGYENLETRENDSZEREK október 12. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak LINEÁRIS EGYENLETRENDSZEREK 004. október. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak az előadáson, másrészt megtalálják a jegyzetben: Szabó László:

Részletesebben

3. Lineáris differenciálegyenletek

3. Lineáris differenciálegyenletek 3. Lineáris differenciálegyenletek A közönséges differenciálegyenletek két nagy csoportba oszthatók lineáris és nemlineáris egyenletek csoportjába. Ez a felbontás kicsit önkényesnek tűnhet, a megoldásra

Részletesebben

Lineáris algebra (10A103)

Lineáris algebra (10A103) Lineáris algebra (10A103 Kátai-Urbán Kamilla Tudnivalók Honlap: http://www.math.u-szeged.hu/~katai Jegyzet: Megyesi László: Lineáris algebra. Vizsga: írásbeli (beugróval, feltétele a Lineáris algebra gyakorlat

Részletesebben

Matematika A1a Analízis

Matematika A1a Analízis B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Matematika A1a Analízis BMETE90AX00 Vektorok StKis, EIC 2019-02-12 Wettl Ferenc ALGEBRA

Részletesebben

5. Előadás. (5. előadás) Mátrixegyenlet, Mátrix inverze március 6. 1 / 39

5. Előadás. (5. előadás) Mátrixegyenlet, Mátrix inverze március 6. 1 / 39 5. Előadás (5. előadás) Mátrixegyenlet, Mátrix inverze 2019. március 6. 1 / 39 AX = B (5. előadás) Mátrixegyenlet, Mátrix inverze 2019. március 6. 2 / 39 AX = B Probléma. Legyen A (m n)-es és B (m l)-es

Részletesebben

Lin.Alg.Zh.1 feladatok

Lin.Alg.Zh.1 feladatok Lin.Alg.Zh. feladatok 0.. d vektorok Adott három vektor ā (0 b ( c (0 az R Euklideszi vektortérben egy ortonormált bázisban.. Mennyi az ā b skalárszorzat? ā b 0 + + 8. Mennyi az n ā b vektoriális szorzat?

Részletesebben

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba Hibaforrások Hiba A feladatok megoldása során különféle hibaforrásokkal találkozunk: Modellhiba, amikor a valóságnak egy közelítését használjuk a feladat matematikai alakjának felírásához. (Pl. egy fizikai

Részletesebben

6. gyakorlat. Gelle Kitti. Csendes Tibor Somogyi Viktor. London András. jegyzetei alapján

6. gyakorlat. Gelle Kitti. Csendes Tibor Somogyi Viktor. London András. jegyzetei alapján Közelítő és szimbolikus számítások 6. gyakorlat Sajátérték, Gersgorin körök Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor Vinkó Tamás London András Deák Gábor jegyzetei alapján . Mátrixok sajátértékei

Részletesebben

Lineáris leképezések. 2. Lineáris-e az f : R 2 R 2 f(x, y) = (x + y, x 2 )

Lineáris leképezések. 2. Lineáris-e az f : R 2 R 2 f(x, y) = (x + y, x 2 ) Lineáris leképezések 1 Lineáris-e az f : R 2 R 2 f(x, y = (3x + 2y, x y leképezés? A linearitáshoz ellen riznünk kell, hogy a leképzés additív és homogén Legyen x = (x 1, R 2, y = (y 1, y 2 R 2, c R Ekkor

Részletesebben

1. Mit jelent az, hogy egy W R n részhalmaz altér?

1. Mit jelent az, hogy egy W R n részhalmaz altér? Az informatikus lineáris algebra dolgozat B részének lehetséges kérdései Az alábbi listában azok a definíciók és állítások, tételek szerepelnek, melyeket a vizsgadolgozat B részében kérdezhetünk. A válaszoknál

Részletesebben

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31 Lineáris leképezések Wettl Ferenc 2015. március 9. Wettl Ferenc Lineáris leképezések 2015. március 9. 1 / 31 Tartalom 1 Mátrixleképezés, lineáris leképezés 2 Alkalmazás: dierenciálhatóság 3 2- és 3-dimenziós

Részletesebben

Lineáris algebra numerikus módszerei

Lineáris algebra numerikus módszerei Hermite interpoláció Tegyük fel, hogy az x 0, x 1,..., x k [a, b] különböző alappontok (k n), továbbá m 0, m 1,..., m k N multiplicitások úgy, hogy Legyenek adottak k m i = n + 1. i=0 f (j) (x i ) = y

Részletesebben

Feladat: megoldani az alábbi egyenletrendszert: A x = b,

Feladat: megoldani az alábbi egyenletrendszert: A x = b, Gauss Jordan-elimináció Feladat: megoldani az alábbi egyenletrendszert: ahol A négyzetes mátrix. A x = b, A Gauss Jordan-elimináció tulajdonképpen az általános iskolában tanult módszer lineáris egyenletrendszerek

Részletesebben

Valasek Gábor valasek@inf.elte.hu

Valasek Gábor valasek@inf.elte.hu Számítógépes Grafika Valasek Gábor valasek@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2013/2014. őszi félév ( Eötvös LorándSzámítógépes TudományegyetemInformatikai Grafika Kar) 2013/2014.

Részletesebben

A lineáris algebra forrásai: egyenletrendszerek, vektorok

A lineáris algebra forrásai: egyenletrendszerek, vektorok A lineáris algebra forrásai: egyenletrendszerek, vektorok 2016. február 23. A lineáris algebra forrásai: egyenletrendszerek, vektorok 2016. február 23. 1 / 75 Tartalom 1 Vektor A 2- és 3-dimenziós tér

Részletesebben

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla Kvadratikus alakok és euklideszi terek (előadásvázlat, 0. október 5.) Maróti Miklós, Kátai-Urbán Kamilla Az előadáshoz ajánlott jegyzet: Szabó László: Bevezetés a lineáris algebrába, Polygon Kiadó, Szeged,

Részletesebben

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, Leontyev-modell

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, Leontyev-modell 9. Előadás Megyesi László: Lineáris algebra, 75. 84. oldal. Gondolkodnivalók Mátrix rangja 1. Gondolkodnivaló Tegyük fel, hogy egy elemi bázistranszformáció kezdetekor a sor- és oszlopindexek sorban helyezkednek

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy Gábor  compalg.inf.elte.hu/ nagy Diszkrét matematika 3. estis képzés 2018. ősz 1. Diszkrét matematika 3. estis képzés 2. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait.

A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait. 2. VEKTORTÉR A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait. Legyen K egy test és V egy nem üres halmaz,

Részletesebben

és n oszlopból áll, akkor m n-es mátrixról beszélünk. (Az oszlopok száma a mátrix vízszintes mérete, a sorok 2 3-as, a ij..

és n oszlopból áll, akkor m n-es mátrixról beszélünk. (Az oszlopok száma a mátrix vízszintes mérete, a sorok 2 3-as, a ij.. Biológia alapszak Matematika I A GY 6/7 félév III MÁTRIXOK SAJÁTÉRTÉK-FELADAT III Mátrixok Definíció Számok téglalap alakú táblázatban való elrendezését mátrix nak nevezzük Ha a táblázat m sorból és n

Részletesebben

Diszkrét matematika II., 8. előadás. Vektorterek

Diszkrét matematika II., 8. előadás. Vektorterek 1 Diszkrét matematika II., 8. előadás Vektorterek Dr. Takách Géza NyME FMK Informatikai Intézet takach@inf.nyme.hu http://inf.nyme.hu/ takach/ 2007.??? Vektorterek Legyen T egy test (pl. R, Q, F p ). Definíció.

Részletesebben

LINEÁRIS ALGEBRA. matematika alapszak. Euklideszi terek. SZTE Bolyai Intézet, őszi félév. Euklideszi terek LINEÁRIS ALGEBRA 1 / 40

LINEÁRIS ALGEBRA. matematika alapszak. Euklideszi terek. SZTE Bolyai Intézet, őszi félév. Euklideszi terek LINEÁRIS ALGEBRA 1 / 40 LINEÁRIS ALGEBRA matematika alapszak SZTE Bolyai Intézet, 2016-17. őszi félév Euklideszi terek Euklideszi terek LINEÁRIS ALGEBRA 1 / 40 Euklideszi tér Emlékeztető: A standard belső szorzás és standard

Részletesebben

1. Bázistranszformáció

1. Bázistranszformáció 1. Bázistranszformáció Transzformáció mátrixa új bázisban A bázistranszformáció képlete (Freud, 5.8.1. Tétel) Legyenek b és d bázisok V -ben, ] v V és A Hom(V). Jelölje S = [[d 1 ] b,...,[d n ] b T n n

Részletesebben

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága 7. gyakorlat Lineáris algebrai egyenletrendszerek megoldhatósága Egy lineáris algebrai egyenletrendszerrel kapcsolatban a következ kérdések merülnek fel: 1. Létezik-e megoldása? 2. Ha igen, hány megoldása

Részletesebben

1.1. Vektorok és operátorok mátrix formában

1.1. Vektorok és operátorok mátrix formában 1. Reprezentáció elmélet 1.1. Vektorok és operátorok mátrix formában A vektorok és az operátorok mátrixok formájában is felírhatók. A végtelen dimenziós ket vektoroknak végtelen sok sort tartalmazó oszlopmátrix

Részletesebben

Bevezetés az algebrába 2

Bevezetés az algebrába 2 B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Bevezetés az algebrába 2 BMETE91AM37 Mátrixfüggvények H607 2018-05-02 Wettl Ferenc

Részletesebben

1. Az euklideszi terek geometriája

1. Az euklideszi terek geometriája 1. Az euklideszi terek geometriája Bázishoz tartozó skaláris szorzat Emékeztető Az R n vektortérbeli v = λ 2... és w = λ 1 λ n µ 1 µ 2... µ n λ 1 µ 1 +λ 2 µ 2 +...+λ n µ n. Jele v,w. v,w = v T u, azaz

Részletesebben

Saj at ert ek-probl em ak febru ar 26.

Saj at ert ek-probl em ak febru ar 26. Sajátérték-problémák 2018. február 26. Az alapfeladat Adott a következő egyenlet: Av = λv, (1) ahol A egy ismert mátrix v ismeretlen, nem zérus vektor λ ismeretlen szám Azok a v, λ kombinációk, amikre

Részletesebben

Irodalom. (a) A T, B T, (b) A + B, C + D, D C, (c) 3A, (d) AD, DA, B T A, 1 2 B = 1 C = A = 1 0 D = (a) 1 1 3, B T = = ( ) ; A T = 1 0

Irodalom. (a) A T, B T, (b) A + B, C + D, D C, (c) 3A, (d) AD, DA, B T A, 1 2 B = 1 C = A = 1 0 D = (a) 1 1 3, B T = = ( ) ; A T = 1 0 Irodalom ezek egyrészt el- A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: hangzanak az előadáson, másrészt megtalálják a jegyzetben: Szabó László: Bevezetés a lineáris algebrába, Polygon

Részletesebben

Vektorterek. Több esetben találkozhattunk olyan struktúrával, ahol az. szabadvektorok esetében, vagy a függvények körében, vagy a. vektortér fogalma.

Vektorterek. Több esetben találkozhattunk olyan struktúrával, ahol az. szabadvektorok esetében, vagy a függvények körében, vagy a. vektortér fogalma. Vektorterek Több esetben találkozhattunk olyan struktúrával, ahol az összeadás és a (valós) számmal való szorzás értelmezett, pl. a szabadvektorok esetében, vagy a függvények körében, vagy a mátrixok esetében.

Részletesebben

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak 1. Generátorrendszer Generátorrendszer. Tétel (Freud, 4.3.4. Tétel) Legyen V vektortér a T test fölött és v 1,v 2,...,v m V. Ekkor a λ 1 v 1 + λ 2 v 2 +... + λ m v m alakú vektorok, ahol λ 1,λ 2,...,λ

Részletesebben

1. előadás: Halmazelmélet, számfogalom, teljes

1. előadás: Halmazelmélet, számfogalom, teljes 1. előadás: Halmazelmélet, számfogalom, teljes indukció Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető,

Részletesebben

NUMERIKUS MÓDSZEREK I. BEUGRÓ KÉRDÉSEK

NUMERIKUS MÓDSZEREK I. BEUGRÓ KÉRDÉSEK NUMERIKUS MÓDSZEREK I. BEUGRÓ KÉRDÉSEK Szerkesztette: Balogh Tamás 04. január 7. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! - Ne add el!

Részletesebben

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1 Megoldott feladatok 00. november 0.. Feladat: Vizsgáljuk az a n = n+ n+ sorozat monotonitását, korlátosságát és konvergenciáját. Konvergencia esetén számítsuk ki a határértéket! : a n = n+ n+ = n+ n+ =

Részletesebben

1. Homogén lineáris egyenletrendszer megoldástere

1. Homogén lineáris egyenletrendszer megoldástere X HOMOGÉN LINEÁRIS EGYENLET- RENDSZEREK 1 Homogén lineáris egyenletrendszer megoldástere Homogén lineáris egyenletrendszer definíciója már szerepelt Olyan lineáris egyenletrendszert nevezünk homogénnek,

Részletesebben

Tétel: Ha,, akkor az ábrázolt szám hibája:

Tétel: Ha,, akkor az ábrázolt szám hibája: 1. A lebegpontos számábrázolás egy modellje. A normalizált lebegpontos szám fogalma, a legnagyobb, legkisebb pozitív szám, a relatív pontosság az M(t,-k,+k) gépi számhalmazban. Az input függvény (fl) fogalma,

Részletesebben