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

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

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

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

Vektorok, mátrixok, lineáris egyenletrendszerek

3. el adás: Determinánsok

Numerikus módszerek 1.

Mátrixok 2017 Mátrixok

Lineáris egyenletrendszerek

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

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

15. LINEÁRIS EGYENLETRENDSZEREK

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.

NUMERIKUS MÓDSZEREK I. TÉTELEK

Bevezetés az algebrába 1

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

Gauss-Seidel iteráció

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

Numerikus módszerek 1.

Normák, kondíciószám

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

Mátrixok, mátrixműveletek

I. VEKTOROK, MÁTRIXOK

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

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

Gauss elimináció, LU felbontás

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

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

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

Gazdasági matematika II. tanmenet

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

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

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

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

KOVÁCS BÉLA, MATEMATIKA I.

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

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

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

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

Numerikus matematika vizsga

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

Vektorterek. =a gyakorlatokon megoldásra ajánlott

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

Matlab alapok. Baran Ágnes

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

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

Lineáris algebra Gyakorló feladatok

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

Numerikus módszerek 1.

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

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

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

Bevezetés az algebrába 1

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

Problémás regressziók

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

1. A kétszer kettes determináns

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

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


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

Egyenletek, egyenlőtlenségek VII.

1. Geometria a komplex számsíkon

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

Matematika (mesterképzés)

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

3. Lineáris differenciálegyenletek

Lineáris algebra (10A103)

Matematika A1a Analízis

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

Lin.Alg.Zh.1 feladatok

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

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

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

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

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

Lineáris algebra numerikus módszerei

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

Valasek Gábor

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

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

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

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

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.

é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..

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

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

1. Bázistranszformáció

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

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

Bevezetés az algebrába 2

1. Az euklideszi terek geometriája

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

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

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.

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. előadás: Halmazelmélet, számfogalom, teljes

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

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

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

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

Átírás:

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

2

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 14 13 Vektorokésmátrixoknormája 14 14 Gyorsmátrixalgoritmusok 17 15 MátrixokésvektorokaMATLABnyelvben 20 16 Feladatok 22 2 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA 23 21 Lineárisegyenletrendszerek 23 22 Háromszögmátrixúegyenletrendszerek 25 23 AGauss-módszer 26 24 A Gauss-módszer mýuveletigénye 28 25 A fýoelemkiválasztásos Gauss-módszer 30 26 AzLU-felbontás 34 27 AzLU-felbontásésaGauss-módszerkapcsolata 37 28 AzLU-ésCholesky-módszerek 39 29 AzLU-módszeralgoritmusapointerestechnikával 42 210 Utasítások, függvények és eljárások a MATLABnyelvben 43 2101 Utasítások 43 2102 Függvények 44 2103 M-adatállományok,eljárások 46 211Feladatok 47 3 MÁTRIXOK TÁROLÁSI FORMÁI 49 31 Mátrixok és vektorok tárolása hagyományosmódon 49 32 Mátrixoktárolásavektorformában 50 3

33 Szabályos szerkezetýu speciálismátrixoktárolása 51 331 Háromszögmátrixoktárolása 51 332 Szimmetrikusmátrixoktárolása 52 333 Sávmátrixoktárolása 53 34 Ritkamátrixok 54 341 Aháromsorosmódszer 55 342 RitkamátrixokaMATLABrendszerben 56 35 Feladatok 57 4 A GAUSS-MÓDSZER SÁVMÁTRIXOKON 59 41 AzLU-módszersávmátrixokon 60 42 ACholesky-módszersávmátrixokon 61 43 Pivotálássávmátrixokon 61 44 Feladatok 63 5 SZABVÁNYOS LINEÁRIS ALGEBRAI SZUBRUTINOK 65 51 BLAS1rutinok 65 52 BLAS2rutinok 66 53 BLAS3rutinok 67 6 A KLASSZIKUS HIBASZÁMÍTÁS ELEMEI 69 61 Az aritmetikai mýuveletek abszolút hibái 69 62 Függvényértékekhibája 70 63 Az aritmetikai mýuveletek relatív hibái 72 64 Függvényértékekrelatívhibájaésakondíciószám 73 65 Direktésinverzhibák 75 66 Feladatok 76 7 A LEBEG ýopontos HIBAANALÍZIS 77 71 A lebegýopontos aritmetikaiszabvány 82 72 Feladatok 83 8 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE 85 81 Érzékenységvizsgálat 85 82 Wilkinsontétele 92 83 Skálázásésprekondicionálás 93 84 Utólagoshibabecslések 95 841 A direkt hiba becslése a reziduális segítségével 95 842 Az A 1 LINPACKbecslése 96 843 AzinverzhibaOettli-Práger-félebecslése 97 85 A közelítýo megoldásiteratívjavítása 97 86 Feladatok 98 4 TARTALOMJEGYZÉK

9 A SAJÁTÉRTÉK-PROBLÉMA 101 91 Feladatok 108 10 SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA 109 101Ahatványmódszer 109 102 Ortogonalizálásieljárások 112 103AQR-módszer 115 104Aszingulárisértékfelbontás 121 105Feladatok 124 11 INTERPOLÁCIÓ 125 111Alineárisinterpoláció 125 112ALagrange-féleinterpolációsfeladat 127 113Harmadfokúszplájninterpoláció 129 114Feladatok 133 12 NUMERIKUS DERIVÁLÁS 135 121ALagrange-interpolációesete 135 122 Közelítés differenciahányadosokkal 136 123 Numerikus differenciálásszplájnokkal 138 124Feladatok 139 13 NUMERIKUS INTEGRÁLÁS 141 131Interpolációseljárások 141 1311 Atrapézformula 142 1312 ASimpsonformula 143 132 Kvadraturaformulák hibáinak utólagos becslése 144 133Numerikus integrálás természetes szplájnokkal 144 134Adaptívkvadraturaeljárások 145 135Feladatok 147 14 FÜGGVÉNYEK LEGJOBB EGYENLETES KÖZELÍTÉSE 149 141 Legjobb egyenletes approximáció polinomokkal 150 142 Legjobb egyenletes approximáció racionális törtfüggvényekkel 153 143APadé-approximáció 154 144Elemifüggvényekkiszámításimódjai 156 145Feladatok 159 15 FÜGGVÉNYEK LEGKISEBB NÉGYZETES KÖZELÍTÉSE 161 151Feladatok 165 TARTALOMJEGYZÉK 5

16 A LINEÁRIS LEGKISEBB NÉGYZETEK MÓDSZERE 167 161Feladatok 170 17 NEMLINEÁRIS EGYENLETEK 171 171Egyváltozósegyenletekmegoldása 171 1711 Az intervallumfelezýo eljárás 172 1712 A Þxpontiterációsmódszer 173 1713 ANewton-módszer 177 172Nemlineárisegyenletrendszerekmegoldása 179 1721 Fixpontiterációseljárás 179 1722 ANewton-módszer 180 173Utólagoshibabecslések 183 174Feladatok 184 18 DIFFERENCIÁLEGYENLETEK KÖZELÍT ýo MEGOLDÁSA 185 181 A kezdetiérték feladat megoldása Runge-Kutta típusúmódszerekkel 185 1811 AzexplicitEuler-módszer 186 1812 Explicitegylépésesmódszerek 190 182 Peremérték feladatok megoldása differencia módszerekkel 197 183Feladatok 200 19 IRODALOM 201 6 TARTALOMJEGYZÉK

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

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

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

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

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

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

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 1 0 0 0 1 I = 1 0 0 0 1 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 1 0 0 0 d 2 d n 1 0 0 0 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

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

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

Ö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

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

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

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 = 0 0 0 0 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

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 = 1 0 3 3 1 2 4 5 6 mátrixot megadhatjuk a következýoképpen: À A=[1 0 3;3 1 2 4,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 ² 22204 10 16 ) é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 = 1 0 3 1 2 3 1 2 1 2 4 5 6 1 2 7 7 7 7 7 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

À 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

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

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 1 + + a 1j x j + + a 1n x n = b 1 a i1 x 1 + + a ij x j + + a in x n = b i a m1 x 1 + + 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

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 1 + + 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

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 0 0 0 25 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: 0 0 0 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

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

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 2 + + a 1n x n = b 1 a 22 x 2 + + a 2n x n = b 2 (212) a n2 x 2 + + 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

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

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 3 3 + n2 2 5 6 n AIIfázismýuveletigénye: i=1 k(k +1)(2k +1) 6 µ (n 1)n(2n 1) +(n 1)n M + + 6 µ 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 2 2 + 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 3 3 + n2 n µ n 3 M + 3 3 + n2 2 5 6 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 3 3 + 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

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

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: 10 17 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 =1 10 17 17 1 10 Az elsýo ésamásodik 17 egyenlet felcserélésével kapott x + y = 2 10 17 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

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

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 2 3 1 1 1 2 2 n n 1 cn 1 1 2 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 1 0 0 0 1 1 1 0 0 1 A = 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 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

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 = 17846 02760 02760 02760 33848 07240 03492 02760 02760 02760 14311 02760 02760 02760 02760 07240 mátrix esetén a növekedési tényezýo ρ = ρ 4 (A) =123 10 5 26 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

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 1 1 0 α 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

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 0 1 1 0 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 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 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

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

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 1 1 0 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

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 1 0 0 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

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 1 + 21x 2 32x 3 = 115 23x 1 + 45x 3 = 113 57x 1 31x 2 + 89x 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

teztük A = Ã = A (2) = L = 12 21 32 23 0 45 57 31 89 57 31 89 (23) 12509 09088 (12) 27506 50737 57 31 89 (12) 27506 50737 (23) (12509) 32144 1 0 0 02105 1 0 04035 04544 1, P (0) = 0 0 1 0 1 0, 1 0 0,P (1) = 1 0 0 0 0 1, 0 1 0, U =,P= P (1) P (0) = 0 0 1 1 0 0 0 1 0 57 31 89 0 27526 50737 0 0 32144 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 115 113 = 328 115 A PAx = Pb egyenletet 328 113 megoldva: 328 Ly = Pb y = 184053 és Ux = y x = 1 3 64288 2 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 11 0 0 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

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

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

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

À[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 1 3 2 1 2 A = 2 2 2 2 15 0 2 3 9 1 2 0 4 5 1 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

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

À {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 LINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

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

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

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 33 0 0 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

Ha A alakja A = akkor a megfelelýo tárolási leképezés a 11 0 0 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 = 5 3 9 3 4 2 9 2 7 Ekkor Array A = {5, 4, 7 3, 2 9} 52 MÁTRIXOK TÁROLÁSI FORMÁI

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

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 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 54 MÁTRIXOK TÁROLÁSI FORMÁI

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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 = 5 0 0 3 0 2 4 0 0 1 0 1 3 0 2 0 0 0 2 3 0 0 0 2 1 (n =5, nnz =12) RITKA MÁTRIXOK 55

Ekkor a megfelelýo (oszlopfolytonos) háromsoros reprezentáció a következýo: val = 5 2 4 1 3 3 2 2 1 2 3 1 ª row_ind = 1 2 2 3 3 1 4 5 2 3 4 5 ª col_ind = 1 1 2 2 3 4 4 4 5 5 5 5 ª 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

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 MÁTRIXOK TÁROLÁSI FORMÁI

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 0 0 0 0 a kk a k,k+q 0 0 0 a k+p,k a k+p,k+p a k+p,k+p+q 0 0 an q,n 0 0 0 0 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

é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 1 1 0 α c T A 1 b Mármost L 1 b = 0 0 0 0 0 = 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 0 0 1 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

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

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 0 0 0 0 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

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 A GAUSS-MÓDSZER SÁVMÁTRIXOKON

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: http:/wwwnetliborg/indexhtml, 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

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

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

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

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 2 141 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

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

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

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 1996 1995 mennyiséget, ha ismertek a 1996 4467 és 1995 4466 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 1996 1995 001, amelynek relatív hibakorlátja az általános formulából 001 + 001 =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 5 10 2 -szoros A különbség képzését elkerülhetjük a 1996 1995 1 1996 1995 = = 1 1996 + 1995 1996 + 1995 8933 001119 72 A KLASSZIKUS HIBASZÁMÍTÁS ELEMEI

á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/8933 000022 = 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

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

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

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

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 β 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

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 β 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 β 2 + + d t β t β 1 + β 1 β β 2 + + β 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

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 26457513 számot a 26458 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 1 2 β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

x =1 while 1+x>1 x = x/2 end algoritmussal határozhatjuk meg ² M /2 értékét A MATLAB rendszerben ² M 22204 10 16 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 1 0111 különbséget háromjegyýu bináris aritmetikában Az elsýo lépésben a kitevýoket azonos értékre hozzuk 2 0 1 0 0 2 0 0 1 1 1 Ha a számítást négy értékes jegyre végezzük, akkor az eredmény 2 1 0 1 0 0 2 1 0 0 1 1 1 2 1 0 0 0 0 1 amelybýol a normalizált eredmény 2 2 0100 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 2 1 0 1 0 0 2 1 0 0 1 1 2 1 0 0 0 1 amelybýol a normalizált eredmény 2 1 0100 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

ö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 10 16 +1 1 =0, fl 10 16 + fl(1 1) =10 16 Példa Ha a =1, b = c =3 10 16, 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 1999800000000002e +000 A LEBEGýOPONTOS HIBAANALÍZIS 81

Ha az összegzést fordított (azaz nagyság szerint növekedýo) sorrendben végezzük, akkor az eredmény 1999800000000000e +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 9998000000000000e-001 értéket adja 71 A lebegýopontos aritmetikai szabvány Az ANSI/IEEE Std 754-1985 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 2 24 596 10 8 10 ±38 dupla 64 bit 52+1 bit 11 bit 2 53 111 10 16 10 ±308 82 A LEBEGýOPONTOS HIBAANALÍZIS

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 =1606 + (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+1 + 5 2 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

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 6 +160x 4 32x 2 +1 (x =0, 05, 10, 25) (ii) 3 x 26+126 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, 200 84 A LEBEGýOPONTOS HIBAANALÍZIS

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

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 1 + 999x 2 = b 1 999x 1 + 998x 2 = b 2 egyenletrendszer rosszul kondicionált (cond (A) =399 10 6 ) 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+² 1 1 1 2² 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

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+² 1 0 0 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

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

és (I F ) 1 1 1 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

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 83-85 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

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

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: 888445x 1 + 887112x 2 =1, 887112x 1 + 885781x 2 =0 Itt cond(a) ugyan nagy, de cond (A) k Ak kak elhanyagolható az 1 mellett A feladat pontos megoldása x 1 = 885781, x 2 = 887112 A MATLAB által adott közelítýo megoldás ˆx 1 = 88582723, ˆx 2 = 88715830, amelynek relatív hibája kx ˆxk =522 10 5 kxk Minthogy s 16 és cond(a) 315 10 12 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 126 10 8 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 =394 10 10,ez jobb becslést ad a k Ak inverz hibára, mint a Wilkinson-féle eredmény 92 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE

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 4 10 32n 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

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 = ²/2 1 1 1 1 1 1 1 2 mátrixot az 0 <² 1 esetben Igazolható, hogy cond (A) =12Legyen R = C = 2/ ² 0 0 0 ²/2 0 0 0 ²/2 Ekkor a skálázott mátrix RAR = 2 1 1 1 ²/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 1 1 1 0 1 1 1 ²/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 ² 0 0 0 ²/2 0 0 0 ²/2 RAR = 2 1 1 1 0 ²/4 1 ²/4 ² 2 /8 94 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE

Elég kis ² értékekre lebegýopontos aritmetikában fennáll, hogy RAR 2 1 1 1 0 ²/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 121 10 17 2 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

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

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

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 1 1 1 1 888445 887112 x 1 x 2 = 1772893 1 1 887112 885781 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² 2 1 2 2 2, b = 3+3² 6, ² 1 (826) 1 2 1 2 98 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE

A = 3 2 1 2 10 6 2 2, b = 3+3² 6, (827) 10 6 2 1 2 A = 3 2 1 3+3 10 6 2 2 10 6 2 10 6, b = 6 10 6 (828) 1 2 10 6 10 6 2 10 6 Mi a kapcsolata az egyes egyenletrendszereknek? 3 Legyen A 10 10-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 LINEÁRIS EGYENLETRENDSZEREK HIBAANALÍZISE

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

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

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 1 0 0 X 1 AX = diag(j 1,,J m )= 0 0, (96) 0 0 J m ahol λ k 1 0 0 0 λ k 1 0 J i = 0 0 λ k 1 0 0 λ 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

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 0 µ 1 0 0 µ 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 22204 10 16 értékeket vesszük, akkor a sajátértékek eltérése 01051 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

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 0 0 1, λ 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

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

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 ) 5 10 4 Ez nagyjából megfelel 1 2 2 ASAJÁTÉRTÉK-PROBLÉMA 107

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 10 10-es mátrixot 10 10 9 10 8 10 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

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 2 + + α n x n ) = α 1 λ 1 x 1 + α 2 λ 2 x 2 + + α n λ n x n, v (k) = Av (k 1) = A(α 1 λ k 1 1 x 1 + α 2 λ k 1 2 x 2 + + α n λ k 1 n x n ) = α 1 λµ k 1x 1 + α 2 λ k 2x 2 + + α n λ k nx n ³ = λ k k ³ k 1 α 1 x 1 + α λ2 2 λ x2 1 + + α λ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

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 /λ 1 110 SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA

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

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

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

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

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 0 0 0 {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

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 0 0 0 0 0 0 0 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

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

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

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

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 = 1 0 1 2 1 0 Oldjuk meg a sajátérték-sajátvektor feladatot! 6 0 0 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, 60000 ] T [03333, 05000, 10000] T 5 [15667, 16583, 34000 ] T [04608, 04877, 10000] T 10 [14919, 14812, 29517 ] T [05055, 05018, 10000] T 20 [14999, 14997, 29992 ] 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 36062 12015 44498 00490 10226 02516 07752 09574-26288 29182 08528 53781 00110 09951 04177 00765 00340-19133 30243 09068 52688 00032 10014 04052 00237 00106-20257,,, à i 30237 08743 52865 00248 09893 03378 00120 00520-20130 30003 08936 52948 00008 09996 04061 00000 00000-20000 30000 08943 52947 00001 10000 04080 00000 00000-20000 120 SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA

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), σ 1 0 0 Σ = 0 σ 2 0 0 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

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

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 = 1 0 1 2 1 0 mátrix szinguláris érték felbontása a transzponált QR-algoritmussal a következýo sorozatokat 6 0 0 eredményezi: j = 2 j = 5 j =10 Q 0 U j 01596 01682 09727 03191 09412 01104 09342 02928 02039 01596 03543 09214 03192 09018 02915 09342 02476 02570 01596 06161 07713 03192 07716 05503 09342 01584 03198,,, V j 09985 00466 00304 00497 09924 01128 00249 01141 09932 09985 00399 00388 00498 09522 03014 00249 03028 09527 09985 00260 00492 00498 08130 05801 00249 05816 08131 01596 08944 04178 j = 03192 04472 08355, 09342 00000 03568 09985 00000 00556 00498 04472 08930 00249 08944 03568 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

105 Feladatok 1 Alkalmazzuk a hatványmódszert az A = 1 1 0 2 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 4 3 7 2 3 2 4 2 7 mátrixra! 3 Alkalmazzuk az eltolásos QR-módszerta2 feladatmátrixáraegyrögzítettσ i = σ értékkel! 1 1 124 SAJÁTÉRTÉK-PROBLÉMÁK ITERATÍV MEGOLDÁSA

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

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 1 1 1 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Ó

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

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 /2 10 4 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Ó

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 ' 015 113 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

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Ó

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 2 + 3 +2c 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

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 λ 1 0 0 µ 2 2 λ 2 A = 0 0 µ n 3 2 λ n 3 0 0 µ 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Ó

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 1 10 1+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 INTERPOLÁCIÓ

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

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

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

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 22204 10 16 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

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 2 1 + 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 NUMERIKUS DERIVÁLÁS

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

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) 3 12 12n 2 (1311) a i=1 142 NUMERIKUS INTEGRÁLÁS

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) 5 4 2880 (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 4 2880 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) 5 2880 2880n 4 (1315) i=1 i=1 INTERPOLÁCIÓS ELJÁRÁSOK 143

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

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

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

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 NUMERIKUS INTEGRÁLÁS

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

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

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

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

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

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

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 = 1 2 + b 1 = a 1, c 2 b 0 + c 1 b 1 = 1 3 1 2 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) = 1+ 1 6 x 1+ 2 3 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) =1008934+0855897x+ 0844519x 2, ahol az együtthatók pontossága 10 6 A további közelítések: az R 22 (x) = 12 + 6x + x2 12 6x + x 2 Padé-approximáció, a q (x) =1+x + 1 2 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) = 1+0876604x+0841679x 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

Itt látható, hogy a legjobb közelítést a Padé-approximáció adja ( e x R 22 (x) 3996 10 3 ) 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) 02182 é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) 8934 10 3 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) 14421 10 2 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

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 3 10 8, ha az alábbi képletet használjuk ln x (p 05) ln 2+v 2000000815+0666445069v 2 +0415054254v 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 9 10 9 pontosságot biztosít: exp (x) 120 + 60x +12x2 + x 3 120 60x +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

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) = 17 48 + 2 3x Ennek maximális eltérése 1 x-týol 48 A (1430) iterációt ezzel az y 0 = 17 48 + 2 3x é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 2 2 + R, R log 32 64 (1432) ii Approximáljuk az exp (R) 1 értéket a p (R) polinommal, ahol p (t) =t + a 1 t 2 + + 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 2 1+2 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 (1561-1631) 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

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 2 + 1 8 ) 3 Az f (x) =e x függvény (2, 2) indexýu Padé-féle közelítése 12 + 6x + 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 FÜGGVÉNYEK LEGJOBB EGYENLETES KÖZELÍTÉSE

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) 15 10606 f 3 (x) 11 13038 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

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

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

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

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 2 +1104x+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 FÜGGVÉNYEK LEGKISEBB NÉGYZETES KÖZELÍTÉSE

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

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 2 2 + kc 2 k 2 2 2 2 {z } kc 2k 2 2, 0 ahonnan az állítás következik 168 A LINEÁRIS LEGKISEBB NÉGYZETEK MÓDSZERE

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 0 0 0 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 0 0 0 U T b µ Σ 1 r 0 0 0 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 2 0 0 z 2 = c 2 2 2 = kc 1 Σ r z 1 k 2 2 + 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 2 2 + 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

161 Feladatok 1 Hasonlítsuk össze az LKN feladat háromféle (normálegyenlet, QR, SV D)megoldási módszerét az 1 1 1 1 1 3² 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 = 0 2 1 10 6 10 6 0 10 6 0 10 6 0 1 1 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

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

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

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 2 1993, azazi =20lépés szükséges (x 1 0950455, x 2 =0703439) 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

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 1 + + x n+1 x n q m n 1 + +1 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

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

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) 03682 Legyen ξ = 070 Ekkorazr = 002 választással g (07) 07 0004671 (1 03682) 002 001263, 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

Þ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

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

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

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

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 2 1 + 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

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: 1 0 0 0 sin(x 1 ) 1 0 J(x) = 0 sin(x 2 ) 0 0 0 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) = 03818 07030, x(2) = 0 07020, 02098 01720 182 NEMLINEÁRIS EGYENLETEK

x (3) = 0 0 0 00025, x(4) = 0 0 0 05e 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

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

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

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

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

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

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

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

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, 1856-1927 A KEZDETIÉRTÉK FELADAT MEGOLDÁSA RUNGE-KUTTA TíPUSÚ MÓDSZEREKKEL 191