Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások 1. Feladat. (6p) Jelöljön. egy tetszőleges vektornormát, ill. a hozzá tartozó indukált mátrixnormát! Igazoljuk, hogy ha A R n n egy négyzetes mátrix, melyre létezik olyan α > 0 szám, amivel Ax α x minden x R n vektorra, akkor A invertálható, és A 1 1/α! Megoldás: Ha x nem nullvektor, akkor Ax sem lehet nullvektor, hiszen akkor 0 = Ax α x > 0 lenne, ami ellentmondás. Így A sajátértéke nem lehet a 0, azaz invertálható. Így a fenti becslést alkalmazva A 1 A 1 x x 0 x A 1 Ay y 0 Ay y y 0 Ay sup (1/α) Ay y 0 Ay = 1 α. Az utóbbi becslés úgy is nyerhető, ha a feladatban szereplő egyenlőtlenséget az A 1 x vektorra alkalmazzuk: x = AA 1 x α A 1 x, ahonnét 1/α A 1 x / x. Ez már mutatja az állítást, hiszen a jobb oldali kifejezések maximuma éppen A 1. 2. Feladat. (6p) Az f(x) = e x x 1 függvény értékét szeretnénk viszonylag pontosan kiszámítani az x 0 = 0.0005 helyen egy 10-es számrendszert és 8-jegyű mantisszát használó számítógépen. Használjuk először a számításhoz az e 0.0005 1.0005001 közelítést! Adjunk meg ugyanezzel a számítógéppel egy ennél jobb közelítést f(x 0 ) értékére! Megoldás: Az első közelítéssel f(x 0 ) 1.0005001 1 0.0005 = 1 10 7. Ennél kell jobb becslést adni a kifejezés értékére. A közeli számok kivonását kellene elkerülni. Az e x függvény Taylor-sorát használva kapjuk, hogy f(x 0 ) = x2 0 2! + x3 0 3! +.... x 2 0/2 pontosan számolható az adott számítógépen: x 2 0/2 = 1.25 10 7. Mivel ez az érték nagyobb, mint a fenti becslés által adott érték, és a pontos megoldás még ennél is nagyobb (hiszen a fenti sorból pozitív tagokat hagytunk el), így ez a közelítés közelebb lesz a pontos megoldáshoz, mint a korábbi. Természetesen, ha tovább számolnánk a sorfejtést, akkor még pontosabb eredményt kapnánk (de a feladatot már így is megoldottuk.) Az adott számítógépen a legjobb közelítés 1.2502084 10 7 lenne, mert ez a pontos függvényérték 8-jegyű mantisszára kerekített értéke. 3. Feladat. (7p) Igazoljuk, hogy ha A M-mátrix, akkor tetszőleges D pozitív diagonális mátrixra AD is M-mátrix lesz! Ezen állítás segítségével adjunk felső becslést a 9 1 0 3 3 1 3 0 B = 3 3 3 = 3 ( 1) 3 3 ( 1) 0 1 9 3 0 1 3 3 mátrix inverzének maximumnormájára! Megoldás: Nyilvánvalóan offdiag(ad) 0 teljesül. Így elég lenne mutatni egy olyan p pozitív vektort, amivel ADp is pozitív. Mivel A M-mátrix, így van olyan g > 0, amivel Ag > 0, így p = D 1 g jó választás, hiszen ez egy pozitív vektor, valamint ADp = ADD 1 g = Ag > 0. (Máshogy: (AD) 1 = D 1 A 1, A invertálható, mert M-mátrix, és D is, mert pozitív elemű diagonális mátrix. Mindkét inverz nemnegatív, így ezek szorzata is.)
A B mátrix az alábbi alakba írható: 9 1 0 3 1 0 B = 3 3 3 = 1 3 1 0 1 9 0 1 3 3 3 =: AD, ahol A M-mátrix, hiszen a főátlón kívül nincs pozitív elem, és a csupaegy vektor jó választás g vektornak. Így a tanult becslés alapján B 1 p min(bp) i = D 1 g min(ag) i = 1. 4. Feladat. (7p) Az Ax = b lineáris egyenletrendszert szeretnénk megoldani, ahol A R 5 5 és b = [1, 2, 3, 4, 5] T. Az A mátrixról tudjuk, hogy A 1 = 4, és hogy LU-felbontása az alábbi mátrixban adott (a Matlabban szokásos módon) 1 1 0 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 Adjuk meg az egyenletrendszer x megoldását, és adjunk becslést arra, hogy mennyit változna ez a megoldás maximumnormában, ha a b vektort a b = [0.99, 1.99, 3.05, 4.02, 5.1] T vektorra cserélnénk! (Útmutató: Lehetőleg ne számítsuk ki explicit módon az A mátrixot! Ha valamilyen adatot nem ismerünk, akkor azt alkalmas módon becsüljük!) Megoldás: A mátrix alapján az A mátrix LU-felbontása 1 1 1 0 L = 1 1 1 1 1 1 1 0, U = 1 1 1 0 1 2 1 1 1 1 1 2 Egyszerű visszahelyettesítéssel adódik, hogy Ux = [1, 1, 1, 1, 1] T, majd innét egy újabb visszahelyettesítéssel x = [1/2, 1, 3/2, 0, 1/2] T. Most az A mátrix nem változik, így a tanult hibabecslő képlet alapján δx x κ (A) δb = x A A 1 δb x L U A 1 δb = 3/2 5 3 4 0.1 5 = 1.8. A fenti becslés megadható egyszerűbben is az előadáson levezetett egyik becslés alapján: A(x + δx) = b + δb, azaz Aδx = δb, így δx = A 1 δb. Tehát δx A 1 δb = 4 0.1 = 0.4. (Ez jobb becslést is ad, mert ebben a becslésben nincs benne az A mátrix változása, mint a fentebb alkalmazott általánosabb képletben.) 5. Feladat. (7p) Az 5x 1 x 2 = 7 x 1 + 3x 2 x 3 = 4 x 2 + 2x 3 = 5 egyenletrendszert szeretnénk megoldani iterációs módszerrel. Honnét tudjuk, hogy a Gauss Seidel-módszer alkalmazható az egyenletrendszerre? Az x (0) = [0, 0, 0] T vektorról indulva,
az iteráció az első lépésben az x (1) = [1.4000, 1.8000, 3.4000] T iterációs vektort adja (4 tizedesjegyre kerekítve). Határozzuk meg, hogy mennyit kellene még lépni a módszerrel ahhoz, hogy az iterációs vektor 1-es normában már 5 10 6 -nál jobban megközelítse a pontos megoldást! (Alsó háromszögmátrix inverze is alsó háromszögmátrix lesz!) Megoldás: A Gauss Seidel-módszer alkalmazható, mert az együtthatómátrix szigorúan diagonálisan domináns, vagy azért mert M-mátrix, vagy azért mert szimmetrikus pozitív definit mátrix. A hibabecsléshez csak a B iterációs mátrixot kell kiszámolni, hiszen x (1) meg van adva a feladatban. B = (D L) 1 R = Ennek 1-es normája 1/2. A hibabecslő képlet szerint 0 1/5 0 0 1/15 1/3 0 1/30 1/6 x (k) x 1 B k 1 1 B 1 x (1) x (0) 1 (1/2)k 1 1/2 6.60015 5 10 6. Itt az x (1) x (0) 1 értéknél felülről becsültük a normát, hiszen az x (1) vektor elemei nem pontos értékek, csak 4-tizedesre kerekítettek. Innét azt kapjuk, hogy a k = 22. tagtól kezdve már teljesül a hibabecslés. 6. Feladat. (7p) Adjuk meg az A = 5 2 mátrix QR-felbontását (két Givens-forgatás elég hozzá)! Megoldás: Az első Givens-forgatást az első oszlop 1. és 3. elemével hajtjuk végre, a másodikat pedig a második oszlop 2. és 3. elemével. 1 1 5 2 G 2 G 1 A = 1 = 0 4 = R. 1 5 2 A Q mátrix pedig Q = G T 1 G T 2 = 0 1 0 1 1 A QR-felbontás nem egyértelmű, így a felbontást más módon is meg lehetett kapni. (Megjegyzés: Ebben az esetben egy permutációs mátrixszal (és ez ortogonális) is felső háromszög alakra lehet hozni A-t. A 3. sornak kellene előre kerülnie. Ez a PA = 1 1 5 2 5 = 2 = R felbontást adja, ahonnét kapjuk, hogy a Q = P T választás megfelelő.)
Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., B. csoport) Megoldások 1. Feladat. (6p) A g(x) = e x x 1 függvény értékét szeretnénk viszonylag pontosan kiszámítani az a = 0.005 helyen egy 10-es számrendszert és 6-jegyű mantisszát használó számítógépen. Használjuk először a számításhoz az e 0.005 1.00501 közelítést! Adjunk meg ugyanezzel a számítógéppel ennél jobb közelítést g(a) értékére! Megoldás: Az első közelítéssel g(a) 1.00501 1 0.005 = 1 10 5. Ennél kell jobb becslést adni a kifejezés értékére. A közeli számok kivonását kellene elkerülni. Az e x függvény Taylor-sorát használva kapjuk, hogy g(a) = a2 2! + a3 3! +.... a 2 /2 pontosan számolható az adott számítógépen: a 2 /2 = 1.25 10 5. Mivel ez az érték nagyobb, mint a fenti becslés által adott érték, és a pontos megoldás még ennél is nagyobb (hiszen a fenti sorból pozitív tagokat hagytunk el), így ez a közelítés közelebb lesz a pontos megoldáshoz, mint a korábbi. Természetesen, ha tovább számolnánk a sorfejtést, akkor még pontosabb eredményt kapnánk (de a feladatot már így is megoldottuk.) Az adott számítógépen a legjobb közelítés 1.25209 10 5 lenne, mert ez a pontos függvényérték 6-jegyű mantisszára kerekített értéke. 2. Feladat. (6p) Igazoljuk, hogy ha B R n n egy négyzetes mátrix, melyre létezik olyan β > 0 szám, amivel Bx β x minden x R n vektorra, akkor B invertálható, és B 1 1/β! A fenti képletekben. egy tetszőleges vektornormát, ill. a hozzá tartozó indukált mátrixnormát jelöl! Megoldás: Ha x nem nullvektor, akkor Bx sem lehet nullvektor, hiszen akkor 0 = Bx β x > 0 lenne, ami ellentmondás. Így B sajátértéke nem lehet a 0, azaz invertálható. Így a fenti becslést alkalmazva B 1 B 1 x x 0 x B 1 By y 0 By y y 0 By sup (1/β) By y 0 By = 1 β. Az utóbbi becslés úgy is nyerhető, ha a feladatban szereplő egyenlőtlenséget a B 1 x vektorra alkalmazzuk: x = BB 1 x β B 1 x, ahonnét 1/β B 1 x / x. Ez már mutatja az állítást, hiszen a jobb oldali kifejezések maximuma éppen B 1. 3. Feladat. (7p) Igazoljuk, hogy ha A M-mátrix, akkor tetszőleges D pozitív diagonális mátrixra AD is M-mátrix lesz! Ezen állítás segítségével adjunk felső becslést a 8 1 0 4 2 1 4 0 B = 4 4 4 = 4 ( 1) 4 4 ( 1) 0 1 8 4 0 1 4 2 mátrix inverzének maximumnormájára! Megoldás: Nyilvánvalóan offdiag(ad) 0 teljesül. Így elég lenne mutatni egy olyan p pozitív vektort, amivel ADp is pozitív. Mivel A M-mátrix, így van olyan g > 0, amivel Ag > 0, így p = D 1 g jó választás, hiszen ez egy pozitív vektor, valamint ADp = ADD 1 g = Ag > 0. (Máshogy: (AD) 1 = D 1 A 1, A invertálható, mert M-mátrix, és D is, mert pozitív elemű diagonális mátrix. Mindkét inverz nemnegatív, így ezek szorzata is.)
A B mátrix az alábbi alakba írható: 8 1 0 2 1 0 B = 4 4 4 = 1 4 1 0 1 8 0 1 2 4 4 =: AD, ahol A M-mátrix, hiszen a főátlón kívül nincs pozitív elem, és a csupaegy vektor jó választás g vektornak. Így a tanult becslés alapján B 1 p min(bp) i = D 1 g min(ag) i = 1. 4. Feladat. (7p) Az Ax = b lineáris egyenletrendszert szeretnénk megoldani, ahol A R 5 5 és b = [1, 2, 3, 4, 5] T. Az A mátrixról tudjuk, hogy A 1 = 6, és hogy LU-felbontása az alábbi mátrixban adott (a Matlabban szokásos módon) 1 2 0 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 Adjuk meg az egyenletrendszer x megoldását, és adjunk becslést arra, hogy mennyit változna ez a megoldás maximumnormában, ha a b vektort a b = [1.01, 1.95, 3.02, 3.99, 5] T vektorra cserélnénk! (Útmutató: Lehetőleg ne számítsuk ki explicit módon az A mátrixot! Ha valamilyen adatot nem ismerünk, akkor azt alkalmas módon becsüljük!) Megoldás: A mátrix alapján az A mátrix LU-felbontása 1 1 1 0 L = 1 1 1 1 1 1 1 0, U = 0 2 0 1 1 1 0 1 2 1 1 1 1 1 1 Egyszerű visszahelyettesítéssel adódik, hogy Ux = [1, 1, 1, 1, 1] T, majd innét egy újabb visszahelyettesítéssel x = [0, 1/2, 1, 1, 1] T. Most az A mátrix nem változik, így a tanult hibabecslő képlet alapján δx x κ (A) δb = x A A 1 δb x L U A 1 δb = 1 5 3 6 0.05 5 = 0.9. A fenti becslés megadható egyszerűbben is az előadáson levezetett egyik becslés alapján: A(x + δx) = b + δb, azaz Aδx = δb, így δx = A 1 δb. Tehát δx A 1 δb = 6 0.05 = 0.3. (Ez jobb becslést is ad, mert ebben a becslésben nincs benne az A mátrix változása, mint a fentebb alkalmazott általánosabb képletben.) 5. Feladat. (7p) A 2x 1 x 2 = 1 x 1 + 3x 2 x 3 = 8 x 2 + 2x 3 = 5 egyenletrendszert szeretnénk megoldani iterációs módszerrel. Honnét tudjuk, hogy a Gauss Seidel-módszer alkalmazható az egyenletrendszerre? Az x (0) = [0, 0, 0] T vektorról indulva,
az iteráció az első lépésben az x (1) = [0.5000, 2.8333, 1.0833] T iterációs vektort adja (4 tizedesjegyre kerekítve). Határozzuk meg, hogy mennyit kellene még lépni a módszerrel ahhoz, hogy az iterációs vektor 1-es normában már 5 10 5 -nél jobban megközelítse a pontos megoldást! (Alsó háromszögmátrix inverze is alsó háromszögmátrix lesz!) Megoldás: A Gauss Seidel-módszer alkalmazható, mert az együtthatómátrix szigorúan diagonálisan domináns vagy azért mert M-mátrix, vagy azért mert szimmetrikus pozitív definit mátrix. A hibabecsléshez csak a B iterációs mátrixot kell kiszámolni, hiszen x (1) meg van adva a feladatban. B = (D L) 1 R = Ennek 1-es normája 3/4. A hibabecslő képlet szerint 0 1/2 0 0 1/6 1/3 0 1/12 1/6 x (k) x 1 B k 1 1 B 1 x (1) x (0) 1 (3/4)k 1 3/4 4.41675 5 10 5. Itt az x (1) x (0) 1 értéknél felülről becsültük a normát, hiszen az x (1) vektor elemei nem pontos értékek, csak 4-tizedesre kerekítettek. Innét azt kapjuk, hogy a k = 45. tagtól kezdve már teljesül a hibabecslés. 6. Feladat. (7p) Adjuk meg az A = 5 2 mátrix QR-felbontását (két Givens-forgatás elég hozzá)! Megoldás: Az első Givens-forgatást az első oszlop 1. és 3. elemével hajtjuk végre, a másodikat pedig a második oszlop 2. és 3. elemével. 1 0 4 5 2 G 2 G 1 A = 1 = 0 4 = R. 0 1 0 1 5 2 A Q mátrix pedig Q = G T 1 G T 2 = 0 1 0 1 1 A QR-felbontás nem egyértelmű, így a felbontást más módon is meg lehetett kapni. (Megjegyzés: Ebben az esetben egy permutációs mátrixszal (és ez ortogonális) is felső háromszög alakra lehet hozni A-t. A 3. sornak kellene előre kerülnie. Ez a PA = 1 1 5 2 = 5 2 = R felbontást adja, ahonnét kapjuk, hogy a Q = P T választás megfelelő.)