EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR NUMERIKUS MÓDSZEREK PÉLDATÁR Bozsik József, Krebsz Anna Budapest,
Tartalomjegyzék Előszó................................................ GÉPI SZÁMÁBRÁZOLÁS ÉS HIBASZÁMÍTÁS................... Feladatok............................................. Gépi számábrázolás................................... Műveletek hibája..................................... Függvényérték hibája............................... 6.. Megoldások......................................... 6... Gépi számábrázolás................................ 6... Műveletek hibája.................................. 6... Függvényérték hibája............................... 8. MÁTRIX SZORZAT FELBONTÁSOK.......................... Feladatok............................................. Gauss-elimináció és determináns meghatározása.................... Mátrix inverz meghatározása.............................. LU-felbontás....................................... LDU-felbontás LU-felbontás segítségével....................... LDL T - és LL T - (Cholesky) felbontás....................... 6..6. ILU-felbontás Gauss-eliminációval........................ 6..7. QR-felbontás Gram Schmidt-ortogonalizációval................. 7..8. Householder transzformáció............................ 8.. Megoldások............................................ Gauss-elimináció és determináns meghatározása.................... Mátrix inverz meghatározása.............................. LU-felbontás.................................... 7... LDU-felbontás LU-felbontás segítségével.................... 6... LDL T - és LL T - (Cholesky) felbontás....................... 6..6. ILU-felbontás Gauss-eliminációval........................ 6..7. QR-felbontás Gram Schmidt-ortogonalizációval................. 7..8. Householder transzformáció............................ 79
ELŐSZÓ Jelen példatár hiánypótló a maga nemében. A Numerikus módszerek témakörében számtalan színvonalas tankönyv és jegyzet látott már napvilágot, de a gyakorlatokon is használható példatár eddig nem volt, mely segíti az órai munkát és a zárthelyi dolgozatokra való önálló felkészülést. Igazán akkor lehet megérteni egy módszert, ha azt konkrét feladatokra alkalmazzuk. Ebben kívánunk segítséget nyújtani a példatárban összegyűjtött feladatok és azok megoldásainak segítségével. Ezt a feladat- és megoldásgyűjteményt elsősorban az ELTE IK Programtervező informatikus BSc, Informatika tanár BSc és TTK Matematika tanár BSc szakos hallgatóinak ajánljuk. Természetesen azok is haszonnal forgathatják, akik segítséget szeretnének kapni a numerikus módszerek gyakorlati alkalmazásaihoz. A példatárat ajánljuk még azok számára, akik a numerikus módszerek alapjaival feladatokon keresztül szeretnének megismerkedni. A példatárat az ELTE-n oktatott, korábban Numerikus Analízis elnevezésű tárgy tematikáját követve építettük fel. Mivel a tárgy neve és témakörei is változtak, ezért a korábbi bővebb tematika alapján dolgoztunk, arra gondolva, hogy bizonyos részekre az MSc-s hallgatóknak lehet szükségük. Minden témakör az elméleti anyag mélyebb megértése mellett hozzásegíti az olvasót a feladatok mögött meghúzódó technikák és trükkök elsajátításához is. A példatár elkészítése során a gyakorlati szempontokat is figyelembe véve törekedtünk az egyszerű példáktól az összetett és bonyolult számításokat tartalmazó példákig minél szélesebb feladatkört bemutatni. Természetesen helyet kaptak elméleti jellegű és mélyebb absztrakciót igénylő feladatok is. A feladatmegoldások elkészítése során törekedtünk a minél érthetőbb és minél részletesebb leírásokra, esetenként többféle megoldást is adtunk. A több éves sikeres oktatási gyakorlatból kikristályosodott és letisztult példák mellett számtalan új példa is belekerült az anyagba. A feladatok fejezetenként sorszámozottak. Minden fejezet két alfejezetre bomlik, egyikben a feladatok, a másikban azok megoldásai találhatóak, így a feladatok szövege után csak néhány oldalt kell lapozni a megoldásokig. Célunk ezzel az volt, hogy az egyes fejezetek önállóan is használhatóak legyenek. Ezúton szeretnénk köszönetet mondani Dr. Szili Lászlónak, a technikai problémák megoldásában nyújtott segítségéért és Dr. Hegedűs Csabának, aki ötletes és gondolkodtató példáival járult hozzá a példatárhoz. Köszönjük Dr. László Lajos lelkiismeretes lektori munkáját és értékes tanácsait. Továbbá köszönjük az ELTE Numerikus Analízis Tanszékének és az ELTE Informatikai Karának a példatár létrejöttéhez nyújtott támogatását. Ajánljuk kedves családtagjainknak, akik türelmükkel és segítségükkel hozzájárultak a példatár létrejöttéhez. Halálának. évfordulóján Dr. Sövegjártó András emlékének ajánljuk, aki halhatatlan érdemeket szerzett az általa oly kedvelt és szeretett tárgy, a Numerikus Analízis oktatása során. A példatárban található példák megoldásához kellemes és hasznos időtöltést kívánunk! Budapest,. november. Krebsz Anna, Bozsik József
. fejezet GÉPI SZÁMÁBRÁZOLÁS ÉS HIBASZÁMÍTÁS.. Feladatok... Gépi számábrázolás. Vizsgáljuk meg az M(6,, ) gépi számhalmazt! a) Mennyi az elemszáma? b) Adjuk meg a nevezetes számait: ε, ε, M!. Vizsgáljuk meg az M(,, ) gépi számhalmazt! a) Mennyi az elemszáma? b) Adjuk meg a nevezetes számait: ε, ε, M!. Vizsgáljuk meg az M(8,, ) gépi számhalmazt! a) Mennyi az elemszáma? b) Adjuk meg a nevezetes számait: ε, ε, M!. Az M (6,, ) gépi számhalmazban adjuk meg fl(, ) értékét!. Az M (6,, ) gépi számhalmazban adjuk meg fl(, ) értékét! 6. Az M (8,, ) gépi számhalmazban adjuk meg fl( 6 ) értékét! Hasonlítsuk össze, milyen bináris tört közelítést kapunk, illetve tizedesjegy pontosságból kiindulva! 7. Az M M(6,, ) gépi számok halmazában adjuk meg a -nek megfeleltetett gépi számot, és adjuk meg a gépi számábrázolásból származó abszolút hibakorlátot! 8. Az M (,, ) gépi számhalmazban adjuk meg fl( ) értékét! 9. Adjuk meg a -nek megfeleltetett gépi számot az M(6,, ) gépi számok halmazában! Adjon a közelítésre abszolút és relatív hibakorlátot!. Az M M(6,, ) gépi számok halmazában a) adjuk meg az 6 -nak és -nek megfeleltetett gépi számokat, b) végezzük el az fl( 6 ) fl( ) gépi kivonást, c) adjuk meg a gépi számábrázolásból származó abszolút hibakorlátot fl( 6 ) -ra, fl( ) -re és az eredményre!
.. Feladatok. Az M M(6,, ) gépi számok halmazában adjuk meg az 6 -nak megfeleltetett gépi számot és számítsa ki az fl( 6 )+fl( 6 ) összeget a megadott aritmetikában! Adjon abszolút hibakorlátot a számított összegre!. Az M M(8,, ) gépi számok halmazában a) adjuk meg az -nak és 6 -nak megfeleltetett gépi számokat, b) végezzük el az fl( ) fl( 6 ) gépi kivonást, c) adjuk meg a gépi számábrázolásból származó abszolút hibakorlátot fl( ) -ra, fl( 6 ) -ra és az eredményre!. Az M M(6,, ) gépi számok halmazában a) adjuk meg a -nak és π -nek megfeleltetett gépi számokat, b) végezzük el az fl(π) fl( ) gépi kivonást, c) adjuk meg a gépi számábrázolásból származó abszolút hibakorlátot fl( ) -ra, fl(π) -re és az eredményre!. Az M M(,, ) gépi számok halmazában keressük meg a -nek és a -nak megfeleltetett gépi számot! Számítsa ki a fl( ) + fl( ) értékét a megadott aritmetikában. Adjon a közelítésre abszolút és relatív hibakorlátot!... Műveletek hibája. A -t, 7, 7 -mal közelítjük. Adjunk a szorzatra abszolút és relatív hibakorlátot, ha tudjuk, hogy, 7 a két tizedes jegyre kerekített értéke! 6. A -et,, 8 -mal közelítjük. Adjunk a közelítésre abszolút és relatív hibakorlátot, ha tudjuk, hogy, a és, a 8 két tizedes jegyre kerekített értéke! 7. A -t, -gyel közelítjük. Adjunk a közelítésre abszolút és relatív hibakorlátot, ha tudjuk, hogy, a három tizedes jegyre kerekített értéke! 8. Az π -t, -gyel közelítjük. Adjuk meg a közelítés abszolút és relatív hibakorlátját, ha tudjuk, hogy, a π két tizedes jegyre kerekített értéke! 9. Közelítsük az e π szorzatot, 78, -vel. Adjuk meg a közelítés abszolút és relatív hibakorlátját, ha tudjuk, hogy e és π három tizedes jegyre kerekített értékét használtuk.. Számítsuk ki a 7 6 mennyiséget, ha tudjuk, hogy 7, 8 és 6, 79 két tizedesjegyre számított közelítések! a) Adjuk meg a számított különbség abszolút és relatív hibakorlátját! b) A különbséget írjuk fel a vele ekvivalens alakba. 7 6 7 6 7 + 6 7 + 6. Ezzel a számítási móddal milyen abszolút és relatív hibakorlátot kapunk? c) Hasonlítsuk össze a kétféle számítás hibabecslését!
6. Gépi számábrázolás és hibaszámítás... Függvényérték hibája. A π közelítésére -t használjuk. Adjuk meg a függvényérték abszolút és relatív hibakorlátját, ha tudjuk, hogy a π egészre kerekített értéke!. A e közelítésére -t használjuk (e exp()). Adjuk meg a függvényérték abszolút és relatív hibakorlátját, ha tudjuk, hogy az e egészre kerekített értéke!. A cos(, 8) közelítésére cos( π ) -t használjuk. Adjuk meg a függvényérték abszolút és relatív hibakorlátját, ha tudjuk, hogy, 8 a π -nek az egy tizedesjegyre kerekített értéke!. A sin(, ) közelítésére sin( π 6 ) -et használjuk. Adjuk meg a függvényérték abszolút és relatív hibakorlátját, ha tudjuk, hogy, a π 6 -nak az egy tizedesjegyre kerekített értéke!.. Megoldások... Gépi számábrázolás. a) A szám előjele kétféle lehet. Az első mantissza jegy mindig, a többi egyenként kétféle lehet. A karakterisztika -tól -ig 7 féle lehet. Vegyük még hozzá a -t, így összesen eleme van a halmaznak. 7 + 9 b) ε -t, a legkisebb pozitív számot a legkisebb mantisszával és legkisebb karakterisztikával kapjuk. ε [ ] 6 ε -t, a gépi számábrázolás relatív hibáját úgy kapjuk, hogy az után következő gépi számból kivonjuk az -et. ε [ ] [ ] 6 M -t, a legnagyobb pozitív gépi számot a legnagyobb mantisszával és legnagyobb karakterisztikával kapjuk. M [ ] ( 6) 8 8 7, 87. a) A szám előjele kétféle lehet. Az első mantissza jegy mindig, a többi egyenként kétféle lehet. A karakterisztika -től -ig 9 féle lehet. Vegyük még hozzá a -t, így összesen eleme van a halmaznak. 9 + 89 b) ε -t, a legkisebb pozitív számot a legkisebb mantisszával és legkisebb karakterisztikával kapjuk. ε [ ]
.. Megoldások 7 ε -t, a gépi számábrázolás relatív hibáját úgy kapjuk, ha az után következő gépi számból kivonjuk az -et. ε [ ] [ ] 6 M -t, a legnagyobb pozitív gépi számot a legnagyobb mantisszával és legnagyobb karakterisztikával kapjuk. M [ ] ( ) 6,. a) A szám előjele kétféle lehet. Az első mantissza jegy mindig, a többi 7 egyenként kétféle lehet. A karakterisztika -től -ig 9 féle lehet. Vegyük még hozzá a -t, így összesen eleme van a halmaznak. 7 9 + b) ε -t, a legkisebb pozitív számot a legkisebb mantisszával és legkisebb karakterisztikával kapjuk. ε [ ] ε -t, a gépi számábrázolás relatív hibáját úgy kapjuk, ha az után következő gépi számból kivonjuk az -et. ε [ ] [ ] 8 7 8 M -t, a legnagyobb pozitív gépi számot a legnagyobb mantisszával és legnagyobb karakterisztikával kapjuk. M [ ] ( 8) 6 6, 97. Nézzük meg, melyik az a két gépi szám, mely a, -t közrefogja. Egy lehetséges megoldás, hogy átírjuk bináris számmá. Az egész és tört részét külön váltjuk át. Az egészrésznél maradékosan osztunk kettővel. A hányadost az első oszlopba írjuk, a maradékot a második oszlopba. A törtrésznél a törtrészt szorozzuk kettővel, ez kerül a második oszlopba, az átvitelt (ha van) az első oszlopban tároljuk. Mivel 6 jegyű a mantissza, ezért a kerekítéssel együtt 7 jegyre van szükségünk, ez az egész résznél jegy (lásd átváltás), a törtrésznél jegy kiszámítását jelenti. Mivel a. bináris tört jegy, ezért felfelé kerekítünk, a kapott bináris szám utolsó jegyéhez egyet hozzáadunk binárisan. A táblázatból az egészrésznél a maradék jegyek kiolvasását lentről felfelé, a törtrésznél az átviteli jegyek kiolvasását fentről lefelé végezzük. Így a, kerekítése kettes számrendszerben. lesz. 8 68 6 A kapott bináris számot normalizáljuk, azaz hárommal balra toljuk a bináris pontot. Így megkaptuk a mantissza jegyeit, a karakterisztika értéke a balra tolás miatt lesz. A gépi szám szokásos jelölésével felírva ( [ ] + ) 6 + 7,.
8. Gépi számábrázolás és hibaszámítás Ellenőrizzük a kapott szám helyességét. Mivel felfelé kerekítettünk, ezért meg kell néznünk a szám alsó szomszédját. Ez az ( [ ] + ) +,. 6 8 8 Összehasonlítva, hogy melyik szám van közelebb, -hez azt kapjuk, hogy az eredeti számunk.,,, 8 >,,, Tehát fl(, ) [ ] 7,. A számábrázolásból származó abszolút hibakorlát (a karakterisztikát is figyelve) az utolsó helyiérték fele, azaz fl(,) 6 6.. Nézzük meg, melyik az a két gépi szám, mely a, -t közrefogja. Egy lehetséges megoldás, hogy átírjuk bináris számmá. A számnak csak törtrésze van. A törtrészt szorozzuk kettővel, ez kerül a második oszlopba, az átvitelt (ha van) az első oszlopban tároljuk. 88 76 8 6 6 Látjuk, hogy az első három bináris jegy, ezeket nem ábrázoljuk a mantisszában. Utána mivel 6 jegyű a mantissza, a kerekítéssel együtt még 7 jegyre van szükségünk. Mivel a. bináris tört jegy, ezért lefelé kerekítünk. A táblázatból az átviteli jegyek kiolvasását fentről lefelé végezzük. Így a, kerekítése kettes számrendszerben. lesz. A kapott bináris számot normalizáljuk, azaz hárommal jobbra toljuk a bináris pontot. Így megkaptuk a mantissza jegyeit, a karakterisztika értéke a jobbra tolás miatt lesz. A gépi szám szokásos jelölésével felírva ( [ ] + + ) + + 7, 97. 8 6 6 Ellenőrizzük a kapott szám helyességét! Mivel lefelé kerekítettünk, ezért meg kell néznünk a szám felső szomszédját. Ez az ( [ ] + + 8 + ) + 6 + 8 + 7, 8 6 Összehasonlítva, hogy melyik szám van közelebb, -hez azt kapjuk, hogy az eredeti számunk.,, 97, 6 <, 8, 8,
.. Megoldások 9 Tehát fl(, ) [ ] 7 6, 97. A számábrázolásból származó abszolút hibakorlát (a karakterisztikát is figyelve) az utolsó helyiérték fele, azaz fl(,) 6 8. Látjuk, hogy a nullához közeli számokat sokkal pontosabban ábrázoljuk. 6. Írjuk át mindhárom tizedestörtet bináris számmá. A számoknak csak törtrészük van. A törtrészt szorozzuk kettővel, ez kerül a második oszlopba, az átvitelt (ha van) az első oszlopban tároljuk. 7 68 6 7 88 76 8 6 67 668 6 67 688 76 7 8 6 667 6668 6 667 6688 76 67 78 6 Látjuk, hogy az első két bináris jegy, ezeket nem ábrázoljuk a mantisszában. Mivel 8 jegyű a mantissza, a kerekítéssel együtt még 9 jegyre van szükségünk. Első esetben a. bináris tört jegy, ezért lefelé kerekítünk. A, 7 kerekítése kettes számrendszerben. lesz. A második esetben a. bináris tört jegy, ezért lefelé kerekítünk. A, 67 kerekítése kettes számrendszerben. lesz. A harmadik esetben a. bináris tört jegy, ezért felfelé kerekítünk. A táblázatból az átviteli jegyek kiolvasását fentről lefelé végezzük. A, 667 kerekítése kettes számrendszerben. lesz, vagyis ugyanazt a gépi számot kaptuk, mint az előző esetben. A kapott bináris számot normalizáljuk, azaz kettővel jobbra toljuk a bináris pontot. Így megkaptuk a mantissza jegyeit, a karakterisztika értéke a jobbra tolás miatt lesz. A gépi szám szokásos jelölésével felírva ( [ ] + 8 + + 6 + ) 6 + 6 + + + 87 8 7, 69987. ( [ ] + 8 + + 8 + ) 8 + + 8 + + 7 6, 669987. Keressünk két szomszédos gépi számot kaptunk, mely közrefogja az 6 -ot. Mivel a felírt tizedestörtek mind nagyobbak nála, ezért érdemes a kapott legkisebb szám alsó szomszédját megnézni. Ez az ( [ ] + 8 + + ) 6 + 6 + + 8 8 7, 666.
. Gépi számábrázolás és hibaszámítás Mivel most már van két szomszédos gépi számunk, mely közrefogja az 6 -ot, ezért fl( 6 ) a kettő közül a közelebbik lesz. A tizedesjegyre felírt közelítésből kapjuk a keresett gépi számot ( ) fl [ ] 7, 669987. 6 Látjuk, hogy a nullához közeli számok nagyon közel vannak egymáshoz, ezért a közelítésükre figyelni kell. 7. Nézzük meg, melyik az a két gépi szám, mely -t közrefogja. Egy lehetséges megoldás, hogy átírjuk tizedestörtbe (figyelve arra, hogy a mantisszához kellő pontosságú legyen), majd ezt az alakot átváltjuk bináris számmá., -gyel dolgozunk. Az egész és tört részét külön váltjuk át. Az egészrésznél maradékosan osztunk kettővel. A hányadost az első oszlopba írjuk, a maradékot a második oszlopba. A törtrésznél a törtrészt szorozzuk kettővel, ez kerül a második oszlopba, az átvitelt (ha van) az első oszlopban tároljuk. Mivel 6 jegyű a mantissza, ezért a kerekítéssel együtt 7 jegyre van szükségünk, ez a törtrésznél 6 jegy kiszámítását jelenti. Mivel a 6. jegy, ezért lefelé kerekítünk. (Ha a kerekítő jegy lenne, akkor a kapott bináris szám utolsó jegyéhez egyet hozzáadunk binárisan.) A táblázatból az egészrésznél a maradék jegyek kiolvasását lentről felfelé, a törtrésznél az átviteli jegyek kiolvasását fentről lefelé végezzük. Így, kerekítése kettes számrendszerben. lesz. 88 66 6 8 96 A kapott bináris számot normalizáljuk, azaz eggyel balra toljuk a bináris pontot. Így megkaptuk a mantissza jegyeit, a karakterisztika értéke a balra tolás miatt lesz. A gépi szám szokásos jelölésével felírva ( [ ] + 8 + 6 + ) + 8 + +, 6. 6 Ellenőrizzük a kapott szám helyességét. Mivel lefelé kerekítettünk, ezért meg kell néznünk a szám felső szomszédját. Ez az ( [ ] + 8 + 6 + ) 6 + + +, 7. 6 6 Összehasonlítva, hogy melyik szám van közelebb -höz azt kapjuk, hogy az eredeti számunk., 6, 796 <, 8, 7 Tehát fl( ) [ ], 6. A számábrázolásból származó abszolút hibakorlát (a karakterisztikát is figyelve) az utolsó helyiérték fele, azaz fl( ) 6 6.
.. Megoldások 8. Nézzük meg, melyik az a két gépi szám, mely -at közrefogja. Egy lehetséges megoldás, hogy átírjuk tizedestörtbe (figyelve arra, hogy a mantisszához kellő pontosságú legyen), majd ezt az alakot átváltjuk bináris számmá., 7 -vel dolgozunk. Az egész és tört részét külön váltjuk át. Az egészrésznél maradékosan osztunk kettővel. A hányadost az első oszlopba írjuk, a maradékot a második oszlopba. A törtrésznél a törtrészt szorozzuk kettővel, ez kerül a második oszlopba, az átvitelt (ha van) az első oszlopban tároljuk. Mivel jegyű a mantissza, ezért a kerekítéssel együtt 6 jegyre van szükségünk, ez a törtrésznél jegy kiszámítását jelenti. Mivel a. jegy, ezért felfelé kerekítünk, a kapott bináris szám utolsó jegyéhez egyet hozzáadunk binárisan. A táblázatból az egészrésznél a maradék jegyek kiolvasását lentről felfelé, a törtrésznél az átviteli jegyek kiolvasását fentről lefelé végezzük. Így, 7 kerekítése kettes számrendszerben. lesz. 7 6 98 86 7 A kapott bináris számot normalizáljuk, azaz eggyel balra toljuk a bináris pontot. Így megkaptuk a mantissza jegyeit, a karakterisztika értéke a balra tolás miatt lesz. A gépi szám szokásos jelölésével felírva [ ] ( + + ) + + 7, 7. 8 Ellenőrizzük a kapott szám helyességét. Mivel felfelé kerekítettünk, ezért meg kell néznünk a szám alsó szomszédját. Ez az [ ] ( + + 6 + ) 6 + 8 + + 7, 687. 6 6 Összehasonlítva, hogy melyik szám van közelebb -hoz azt kapjuk, hogy az eredeti számunk., 687, >, 79, 7 Tehát fl( ) [ ] 7, 7. Mivel 6 mantissza jegyet kellett pontosan kiszámolnunk, ezért két tizedesjegyre kerekített értékkel is ugyanezt az eredményt kaptuk volna. (, azaz tizedesjegy felel meg bináris jegynek.) 9. Nézzük meg, melyik az a két gépi szám, mely -öt közrefogja. Egy lehetséges megoldás, hogy átírjuk tizedestörtbe (figyelve arra, hogy a mantisszához kellő pontosságú legyen), majd ezt az alakot átváltjuk bináris számmá., 6 -tal dolgozunk. Az egész és tört részét külön váltjuk át. Az egészrésznél maradékosan osztunk kettővel. A hányadost az első oszlopba írjuk, a maradékot a második oszlopba. A törtrésznél a törtrészt szorozzuk kettővel, ez kerül a második oszlopba, az átvitelt (ha van) az első oszlopban tároljuk. Mivel 6 jegyű a mantissza, ezért a kerekítéssel együtt 7 jegyre van szükségünk, ez a törtrésznél jegy kiszámítását jelenti. Mivel az. jegy, ezért felfelé kerekítünk, a kapott bináris szám utolsó jegyéhez egyet hozzáadunk binárisan. A táblázatból az egészrésznél a maradék jegyek kiolvasását lentről felfelé, a törtrésznél az átviteli jegyek kiolvasását fentről lefelé végezzük. Így, 6 kerekítése kettes
. Gépi számábrázolás és hibaszámítás számrendszerben. lesz. 6 7 9 888 776 A kapott bináris számot normalizáljuk, azaz kettővel balra toljuk a bináris pontot. Így megkaptuk a mantissza jegyeit, a karakterisztika értéke a balra tolás miatt lesz. A gépi szám szokásos jelölésével felírva ( [ ] + ) 8 + 9,. 6 Ellenőrizzük a kapott szám helyességét. Mivel felfelé kerekítettünk, ezért meg kell néznünk a szám alsó szomszédját. Ez az ( [ ] + + ) + +, 87. 6 6 6 Összehasonlítva, hogy melyik szám van közelebb -höz azt kapjuk, hogy az eredeti számunk., 87, 87 >, 9, Tehát fl( ) [ ] 9,. A számábrázolásból származó abszolút hibakorlát (a karakterisztikát is figyelve) az utolsó helyiérték fele, azaz fl( ) 6. A relatív hibakorlát (abszolút hibakorlát/közelítő érték) δ fl( ) 9 9 8, 89. 7. a) A megoldáshoz használjuk fel a 6. feladat megoldásában az 6 bináris közelítésére kapott megoldást:.. Mivel most csak 6 hosszú a mantisszánk, ezért 6 jegyre van szükségünk az első egyestől. A 9. jegyben lévő -es miatt felfelé kerekítünk (a kettedes pont utáni két -t nem ábrázoljuk). Így fl( 6 ) [ ]. Ellenőrizzük, hogy [ ] és az [ ] közül 6 az utóbbihoz van közelebb. ( [ ] + 8 + ) 6 + +, 66 8 8 ( [ ] + 8 + + ) + 8 + +, 679687 6 6 6 bináris közelítését úgy kapjuk, hogy jobbra léptetjük eggyel 6 bináris közelítését (kettővel osztunk):.. Mivel 6 hosszú a mantisszánk, ezért 6 jegyre van szükségünk az első egyestől. A. jegyben lévő -es miatt felfelé kerekítünk (a kettedes pont utáni három -t nem ábrázoljuk).
.. Megoldások Így fl( ) [ ]. Ellenőrizzük, hogy [ ] és az [ ] közül közelebb. ( [ ] [ ] + 8 + ( + 8 + + 6 ) 6 + + 6, 8 az utóbbihoz van, 8 6 ) + 8 + +, 8987 A kivonást csak úgy tudjuk elvégezni, ha közös karakterisztikára hozzuk a számokat és kerekítünk. Ez a karakterisztika a nagyobbik lesz, mert így lesz kisebb a hiba. Az fl( ) kerekítése [ ] [ ]. [ ] [ ] [ ] A kapott eredményt normalizálni kell (a bináris pontot eggyel jobbra toljuk és csökkentjük a karakterisztikát eggyel) [ ], 8. 6 c) fl( 6 ) [ ] abszolút hibakorlátja fl( 6 ) 6 9. fl( ) [ ] abszolút hibakorlátja Az eredmény abszolút hibakorlátja fl( ) 6. 6 6.. Az 6-ot tizedestörttel közelítjük (figyelve arra, hogy a mantisszához kellő pontosságú legyen), majd ezt az alakot átváltjuk bináris számmá. 6, 8 -mal dolgozunk. A számnak csak törtrésze van, ezt árírjuk bináris számmá (lásd a korábbi megoldásokat). Mivel most 6 hosszú a mantisszánk, ezért a 7. jegyben lévő miatt lefelé kerekítünk. A karakterisztika, mivel az első bináris jegy. 8 666 66 8 66 6
. Gépi számábrázolás és hibaszámítás Ellenőrizzük, hogy 6 fl( 6 ) [ ]. ( [ ] + + 6 + ) 6 ( [ ] + + 6 + az [ ] és az [ ] közül az előbbihez van közelebb. Így + 6 + + 6, 88 6 ) 6 + 8 + + 7, 87 Az összeadást egyszerű elvégezni, mivel a karakterisztikák megegyeznek. Elvégezzük binárisan az összadást. [ ] + [ ] [ ] A kapott eredményt normalizálni kell (a karakterisztikát eggyel növeljük a keletkezett átvitel miatt) [ ] [ ] 6, 66. Az összeg abszolút hibakorlátja 6 6.. a) A megoldáshoz felhasználjuk a 6. feladat megoldásában 6 bináris közelítését:.. Az bináris közelítését úgy kapjuk, hogy balra léptetjük eggyel az 6 bináris közelítését (kettővel szorzunk):.. Ellenőrizzük, hogy, az [ ] és az [ ] közül az utóbbihoz van közelebb. Így fl( 6 ) [ ] és fl( ) [ ]. ( [ ] + 8 + + ) 8 ( [ ] + 8 + + 8 + 6, 987 6 + 6 + + 6 8, 6 ) 8 + + 8 + + 7 b) A kivonást csak úgy tudjuk elvégezni, ha közös karakterisztikára hozzuk a számokat és kerekítünk. Ez a karakterisztika a nagyobbik lesz, mert így lesz kisebb a hiba. Az fl( 6 ) kerekítése [ ] [ ]. [ ] [ ] [ ] A kapott eredményt normalizálni és kerekíteni kell (a bináris pontot eggyel jobbra toljuk és csökkentjük a karakterisztikát eggyel) [ ] 8, 666. c) fl( 6 ) [ ] abszolút hibakorlátja fl( 6 ) 8.
.. Megoldások fl( ) [ ] abszolút hibakorlátja Az eredmény abszolút hibakorlátja fl( ) 8. 8 8.. a) A -nak megfeleltetett gépi számot már az 8. feladatban kerestük, de akkor más mantisszával. Még egy jegyet számoljunk hozzá a törtrészhez és kerekítsünk. fl( ( ) [ ] + + 6 + + ) 6 + 6 + + +, 787. Ellenőrizzük, hogy az [ ] és az [ ] közül az előbbihez van közelebb. Így fl( ) [ ]. A π,, ezt írjuk át bináris törtté a korábbi megoldásokban ismertetett módon π.. fl(π) [ ] 8 68 6 7 ( + + ) 6 + 8 +, 8 8 Ellenőrizzük, hogy π az [ ] és az [ ] közül az előbbihez van közelebb. Így fl(π) [ ]. b) A kivonást csak úgy tudjuk elvégezni, ha közös karakterisztikára hozzuk a számokat és kerekítünk. Ez a karakterisztika a nagyobbik lesz, mert így lesz kisebb a hiba. Az átalakítás [ ] [ ]. [ ] [ ] [ ] A kapott eredményt normalizálni és kerekíteni kell (a bináris pontot eggyel jobbra toljuk és csökkentjük a karakterisztikát eggyel) ( [ ] [ ] + 8 + ) 8 + +, 7. 6 8 8 c) fl( ) [ ] abszolút hibakorlátja f l(π) [ ] abszolút hibakorlátja fl( ) 6 6. fl(π) 6.
6. Gépi számábrázolás és hibaszámítás Az eredmény abszolút hibakorlátja 8 6 6.. A -nek megfeleltetett gépi számot a 7. feladatból leolvashatjuk, most jegyű mantisszát keresünk fl( ) [ ]. A -nak megfeleltetett gépi szám a 8. feladatból fl( ) [ ]. Mivel azonos a karakterisztika, egyszerű összeadni. [ ] + [ ] [ ] Az összeg jegyre kerekítve és normalizálva ( [ ] + + ) 8 + + 6. Az eredmény abszolút hibakorlátja.... Műveletek hibája. A, 7 közelítés abszolút hibakorlátja a két tizedesjegyre való kerekítésből adódóan,7,. Az, 7 relatív hibakorlátja,7,7,,7, 9 δ,7. A szorzat hibakorlátjaira vonatkozó tételből,7,7, 7,7, 7 δ,7,7 δ,7, 8. A relatív hibakorlátot számolhatjuk a definícióból is,7,7, 7, 7, 7, 999, 8 δ,7,7. 6. A, és a 8, 8 közelítés abszolút hibakorlátja a két tizedesjegyre való kerekítésből adódóan,,8,. Az, relatív hibakorlátja,,,,, δ,. A, 8 relatív hibakorlátja,8,8,,8, 77 δ,8.
.. Megoldások 7 A szorzat hibakorlátjaira vonatkozó tételből,,8,,8 +, 8,, (, +, 8), δ,,8 δ, + δ,8, +, 77,. A relatív hibakorlátot számolhatjuk a definícióból is,,8,,, 8, 99, δ,,8. 7. A, közelítés abszolút hibakorlátja a három tizedesjegyre való kerekítésből adódóan,,. Az, relatív hibakorlátja,,,,, δ,. Az osztás hibakorlátjaira vonatkozó tételből,, +,,, δ, δ, +,. A relatív hibakorlátot számolhatjuk a definícióból is,,,,, 7 δ., 8. A π, közelítés abszolút hibakorlátja a két tizedesjegyre való kerekítésből adódóan,,. A, relatív hibakorlátja,,,,, 6 δ,. Az osztás hibakorlátjaira vonatkozó tételből,, +,, δ, δ, +, 6. A relatív hibakorlátot számolhatjuk a definícióból is,,,,,, 9, 896, δ., 9. Az e, 78 és a π, közelítés abszolút hibakorlátja a három tizedesjegyre való kerekítésből adódóan,78,,. A, 78 relatív hibakorlátja,78,78,,78, 8 δ,78. A, relatív hibakorlátja,,,,, 6 δ,. A szorzat hibakorlátjaira vonatkozó tételből,78,,,78 +, 78,, (, 78 +, ), 9 δ,78, δ,78 + δ,, 8 +, 6,. A relatív hibakorlátot számolhatjuk a definícióból is,78,, 9, 78, 8, 996, δ,78,.
8. Gépi számábrázolás és hibaszámítás. A 7, 8 és a 6, 79 közelítés abszolút hibakorlátja a két tizedesjegyre való kerekítésből adódóan,8,79,. A relatív hibakorlátok és Így δ,8 δ,79, 7.,8, 8,79, 79,, 67, 8,, 6., 79 a) A számított különbség,. Az abszolút hibakorlátja,,8 +,79,. A relatív hibakorlátja a definíció alapján számolva,, δ,. b) A másik módon számolva,8+,79 89,9,8 +,79, A relatív hibakorlát 89,9 89,9 + 89, 9,,. 86 89,9 89,9, 89, 9, 6 δ 89,9. c) Az első rész eredményéből látjuk, hogy a közeli számok kivonása megnöveli a relatív hibát, most -szeresre nőtt. Az relatív hibakorlát túl nagy. Ezzel ellentétben a második részben kapott eredmény relatív hibája a kiindulási értékek relatív hibájával azonos nagyságrendű. Tehát ez a számítási mód stabilabb, megbízhatóbb eredményt ad.... Függvényérték hibája. abszolút hibakorlátja a kerekítésből adódóan,. relatív hibakorlátja δ, 6. A függvényérték hibájára kapott f(a) M a becslés alapján számolunk, ahol M max{ f (x) : x k a (a)}. Mivel f(x) x és f (x) ln() x, így x [, ;, ]-re M ln(),, 77. ln(),, ln(),, 688 ln(),, ln() 6, 9 δ A kapott értékekből látjuk, hogy az abszolút hibakorlát kb. -szeresre, a relatív hibakorlát pedig kb. 6-szorosra nőtt.
.. Megoldások 9. abszolút hibakorlátja a kerekítésből adódóan,. relatív hibakorlátja δ, 6. A függvényérték hibájára kapott f(a) M a becslés alapján számolunk, ahol M max{ f (x) : x k a (a)}. Mivel f(x) x és f (x) x, így x [, ;, ]-ra M, 7. 7, 7, 7 7 8 δ A kapott értékekből látjuk, hogy az abszolút hibakorlát a 7-szereséra, a relatív hibakorlát pedig több mint a kétszeresére nőtt.. A feladat szerint most, 8 a pontos érték, helyette π -gyel dolgozunk, mert ennek ismerjük a koszinuszát (cos( π ) ). Az π abszolút hibakorlátja a kerekítésből adódóan π,. A π relatív hibakorlátja δ π π,8,,8, 6. A függvényérték hibájára kapott f(a) M a becslés alapján számolunk, ahol M max{ f (x) : x k a (a)}. Mivel f(x) cos(x) és f (x) sin(x), így x [, 7;, 8]-ra cos( π ) M sin(, 7), 68. cos( π ), 68,,,, 8 δ cos( π ) δ. A feladatban most, a pontos érték és π 6 a közelítő érték, mert a szinuszát ismerjük (sin( π 6 ), ). A π 6 abszolút hibakorlátja a kerekítésből adódóan π,. 6 A π 6 relatív hibakorlátja δ π π 6 6,,,,. A függvényérték hibájára kapott f(a) M a becslés alapján számolunk, ahol M max{ f (x) : x k a (a)}. Mivel f(x) sin(x) és f (x) cos(x), így x [, ;, ]-ra M cos(, ), 8. sin( π 6 ),, 8,, 6 sin( π 6 ),, 6,, 8 δ, δ sin( π 6 )
. fejezet MÁTRIX SZORZAT FELBONTÁSOK.. Feladatok... Gauss-elimináció és determináns meghatározása. Oldjuk meg az Ax b lineáris egyenletrendszert Gauss-eliminációval! A, b 6. Oldjuk meg az Ax b lineáris egyenletrendszert Gauss-eliminációval! 9 A, b 6. Oldjuk meg az Ax b lineáris egyenletrendszert Gauss-eliminációval és számítsuk ki az A mátrix determinánsát! A, b. Oldjuk meg az Ax b lineáris egyenletrendszert Gauss-eliminációval és számítsuk ki az A mátrix determinánsát! 6 A 7, b 6 7. Oldjuk meg az Ax b lineáris egyenletrendszert Gauss-eliminációval, részleges főelemkiválasztással és határozzuk meg a mátrix determinánsát! A 7, b 9
.. Feladatok 6. Oldjuk meg az Ax b lineáris egyenletrendszert Gauss-eliminációval, részleges főelemkiválasztással és határozzuk meg a mátrix determinánsát! 7 8 A, b 6 9 7. Oldjuk meg az alábbi Ax b lineáris egyenletrendszert Gauss-eliminációval, teljes főelemkiválasztással és számítsuk ki az A mátrix determinánsát! A, b 8 8. Oldjuk meg az alábbi Ax b és Ax b lineáris egyenletrendszereket Gauss-elimináció segítségével úgy, hogy az A mátrixon az eliminációt csak egyszer végezzük el! A, b 8, b 8 9. Oldjuk meg az Ax b lineáris egyenletrendszert Gauss-eliminációval!...... A..., b............. ( ) n. Oldjuk meg Gauss-eliminációval az Ax b lineáris egyenletrendszert!...... A..., b................ Mátrix inverz meghatározása. Számítsuk ki az A mátrix inverzét és determinánsát Gauss-eliminációval! A
. Mátrix szorzat felbontások. Határozzuk meg az A mátrix inverzét Gauss-eliminációval és adjuk meg a determináns értékét! A. Határozzuk meg az A mátrix inverzét Gauss-eliminációval és adjuk meg a determináns értékét! A. Határozzuk meg az A mátrix inverzét Gauss-eliminációval és adjuk meg a determináns értékét! A. Határozzuk meg az A mátrix inverzét Gauss-eliminációval és adjuk meg a determináns értékét! A 6. Határozzuk meg a következő (n n)-es mátrix inverzét Gauss-eliminációval!...... A............. 7. Határozzuk meg a következő (n n)-es mátrix inverzét Gauss-eliminációval!.................. A........................ 8. Határozzuk meg a következő (n n)-es mátrix inverzét Gauss-eliminációval!.................. A......................
.. Feladatok... LU-felbontás 9. Adjuk meg az A mátrix LU-felbontását és ennek segítségével határozzuk meg a determináns értékét! A 7 7. Adja meg az A mátrix LU-felbontását és ennek segítségével határozzuk meg a determináns értékét! A 7. Határozzuk meg az A mátrix LU-felbontását és ennek segítségével határozzuk meg a determináns értékét! A 7 9. Határozzuk meg az A mátrix LU-felbontását és ennek segítségével határozzuk meg a determináns értékét! A 6 9 8. Készítsük el az A mátrix LU-felbontását a Gauss-eliminációval párhuzamosan! A 7 7. Készítsük el az A mátrix LU-felbontását a Gauss-elimináció segítségével, azzal párhuzamosan! A 7. Készítsük el az A mátrix LU-felbontását a Gauss-elimináció segítségével! A 6 9 8 6. Határozzuk meg az A mátrix LU-felbontását mátrix szorzás segítségével, használjuk a parketta elrendezést! A 7 7
. Mátrix szorzat felbontások 7. Határozzuk meg az A mátrix LU-felbontását mátrix szorzás segítségével, használjuk a parketta elrendezést! A 7 8. Határozzuk meg az A mátrix LU-felbontását mátrix szorzás segítségével, használjuk az oszlopfolytonos elrendezést! A 7 7 9. Határozzuk meg az A mátrix LU-felbontását mátrix szorzás segítségével, használjuk az oszlopfolytonos elrendezést! A 7. Határozzuk meg az A mátrix LU-felbontását mátrix szorzás segítségével, használjuk a sorfolytonos elrendezést! A 7. Határozzuk meg az A mátrix LU-felbontását mátrix szorzás segítségével, használjuk az oszlopfolytonos elrendezést! A 6 7 8 9 8 9 6. Határozzuk meg az A mátrix LU-felbontását sorfolytonos, oszlopfolytonos és parketta elrendezés segítségével! 6 A 6 7 9 8. Készítsük el az A mátrix egy particionálását, ahol az átlóban álló blokkok négyzetes mátrixok. [ ] A A A A A Tegyük fel, hogy A invertálható és az LU-felbontás során odáig jutottunk, hogy A területén készen vagyunk a felbontással, A helyén pedig már megváltozott elemek vannak, de még a felbontást nem végeztük el. Mutasssuk meg, ekkor A helyén az [A A ] Schur-komplemens található!
.. Feladatok... LDU-felbontás LU-felbontás segítségével. Adjuk meg az A mátrix LDU-felbontását az LU-felbontás segítségével! A 8 8 7. Adjuk meg az A mátrix LDU-felbontását az LU-felbontás segítségével! A 8 6. Adjuk meg az A mátrix LDU-felbontását az LU-felbontás segítségével! A 7. Adjuk meg az A mátrix LDU-felbontását az LU-felbontás segítségével! A 6 6 8. Adjuk meg az A mátrix LDU-felbontását az LU-felbontás segítségével! A 9. Adjuk meg az A mátrix LDU-felbontását az LU-felbontás segítségével! A. Adjuk meg az A mátrix LDU-felbontását az LU-felbontás segítségével! A
6. Mátrix szorzat felbontások... LDL T - és LL T - (Cholesky) felbontás. Adjuk meg az A mátrix LL T -felbontását! A. Adjuk meg az A mátrix LDL T - és LL T -felbontását! A 6. Adjuk meg az A mátrix LDL T - és LL T -felbontását! A. Adjuk meg az A mátrix LDL T - és LL T -felbontását! A. Adjuk meg az A mátrix LDL T - és LL T -felbontását! A 6. Adjuk meg az A mátrix LDL T - és LL T -felbontását! A 6..6. ILU-felbontás Gauss-eliminációval 7. Mi lesz az A mátrix J pozícióhalmazra illeszkedő részleges LU-felbontása? Határozzuk meg az L, U és Q mátrixokat! A J {(, ), (, ), (, )}
.. Feladatok 7 8. Mi lesz az A mátrix J pozícióhalmazra illeszkedő részleges LU-felbontása? Határozzuk meg az L, U és Q mátrixokat! A J {(, ), (, )} 9. Mi lesz az A mátrix J pozícióhalmazra illeszkedő részleges LU-felbontása? Határozzuk meg az L, U és Q mátrixokat! A J {(, ), (, )}. Mi lesz az A mátrix J pozícióhalmazra illeszkedő részleges LU-felbontása? Határozzuk meg az L, U és Q mátrixokat! A J {(, ), (, ), (, )} 7. Mi lesz az A mátrix J pozícióhalmazra illeszkedő részleges LU-felbontása? Határozzuk meg az L, U és Q mátrixokat! A J {(, ), (, ), (, ), (, ), (, )}..7. QR-felbontás Gram Schmidt-ortogonalizációval. Adjuk meg az A mátrix QR-felbontását Gram Schmidt-ortogonalizációval! A 6 8. Adjuk meg az A mátrix QR-felbontását Gram Schmidt-ortogonalizációval! 6 A 8 7. Adjuk meg az A mátrix QR-felbontását Gram Schmidt-ortogonalizációval! A 7
8. Mátrix szorzat felbontások. Határozzuk meg az A mátrix QR-felbontását Gram Schmidt-ortogonalizációval!, 8 A,, 7, 7 6. Határozzuk meg az A mátrix QR-felbontását Gram Schmidt-ortogonalizációval! Oldjuk meg a feladatot kétféleképpen! A 7. Határozzuk meg az A mátrix QR-felbontását Gram Schmidt-ortogonalizációval, használjuk az egyszerűsített módszert! Ne felejtsük el a végén a normálást! 6 A 6 9 8. Határozzuk meg az A mátrix QR-felbontását Gram Schmidt-ortogonalizációval, használja az egyszerűsített módszert! Ne felejtsük el a végén a normálást! 6 A 7 9. Határozzuk meg az A mátrix QR-felbontását Gram Schmidt-ortogonalizációval, használjuk az egyszerűsített módszert! Ne felejtsük el a végén a normálást! A 6. Határozzuk meg az A mátrix QR-felbontását Gram Schmidt-ortogonalizációval, használjuk az egyszerűsített módszert! Ne felejtsük el a végén a normálást! 8 A 7 6..8. Householder transzformáció 6. Householder transzformációval hozzuk az a [ ] T vektort k e alakra! Végezzük el a transzformációt a transzformációs mátrix elemeinek kiszámítása nélkül! 6. Írjuk fel azt a Householder transzformációs mátrixot, amely az a [ ] T vektort k e alakra hozza!
.. Feladatok 9 6. Írjuk fel azt a Householder-mátrixot, amely az a [ ] T vektort k e alakra hozza! Mennyi lesz k értéke? 6. Írjuk fel azt a Householder-mátrixot, amely az a [ ] T vektort k e alakra hozza! Mennyi lesz k értéke? 6. Householder transzformációval hozzuk az a [ ] T vektort k e alakra! Végezzük el a transzformációt a transzformációs mátrix elemeinek kiszámítása nélkül! 66. Householder transzformációval hozzuk az a [ ] T vektort k e alakra! Végezzük el a transzformációt a transzformációs mátrix elemeinek kiszámítása nélkül! 67. Adjuk meg azt a Householder transzformációt, mely az a [ ] T vektort k e alakra hozza és végezzük is el a transzformációt a vektoron! (A mátrixot nem kell előállítani.) 68. Adjuk meg azt a Householder transzformációt(a Householder-mátrix elemeit nem kell felírni), amely az a [ ] T vektort k e alakra hozza! Alkalmazzuk a vektorra a transzformációt! 69. Adjuk meg azt a Householder transzformációt(a Householder-mátrix elemeit nem kell felírni), amely az a [ ] T vektort k e alakra hozza! Alkalmazzuk a vektorra a transzformációt! 7. Írjuk fel azt a Householder-mátrixot, amely az a [ ] T vektort k e alakra hozza, majd alkalmazzuk a mátrixra a transzformációt! Mennyi lesz k értéke? 7. Írjuk fel azt a Householder transzformációt, amely az a [ ] T vektort k e alakra hozza! Végezzük el a transzformációt a-n, a transzformációs mátrix elemeinek kiszámítása nélkül! 7. Householder transzformációk felhasználásával hozzuk felsőháromszög alakra a Cx d lineáris egyenletrendszert és oldjuk meg! C, d 7. Householder transzformációkkal hozzuk felső háromszög alakra a C mátrixot! C 7. A D mátrixot Householder transzformációkkal hozzuk felső háromszög alakra! [ ] D 7. Oldjuk meg az Ax b egyenletrendszert, ha az A mátrixnak adott a QR-felbontása. (Az A mátrix előállítása nélkül, Q és R felhasználásával oldjuk meg a feladatot.) Q H(v), a v [ ] T által meghatározott Householder-mátrix,
. Mátrix szorzat felbontások b [ ] T és R 9... Megoldások... Gauss-elimináció és determináns meghatározása. Az Ax b lineáris egyenletrendszer megoldására a Gauss-eliminációt használjuk fel. Az elimináció lényege, hogy felsőháromszög alakú lineáris egyenletrendszert hozunk létre. A k. lépésben mindig a k. egyenlettel nullázzuk (elimináljuk) az x k ismeretlent a (k + ). n. egyenletekből. Az eliminációs lépéseket a mátrix elemein és az egyenletrendszer jobboldalán (b vektoron) is el kell végeznünk. Azért, hogy az eliminációs lépéseket könnyen el tudjuk végezni a jobboldalon is, vezessük be az úgynevezett bővített mátrixos jelölést. Ez azt jelenti, hogy az együttható mátrixhoz "hozzáragasztjuk" a jobboldalt reprezentáló b vektort. 6 Az első oszlopban kezdjük az eliminációt. Az első sor változatlan marad. A mátrix első oszlopában elimináljuk a főátlóbeli elem (a ) alatti elemeket. Fentről lefelé haladva végezzük az eliminációs lépéseket. Először a mátrix a elemét elimináljuk az első sor segítségével.. lépés: Az eliminációs lépésben a. sorból kivonjuk az első sor -szeresét, tehát. sor - ( ). sor. 6 Majd a. sorban található a elemet kell eliminálnunk az. sor segítségével. Tehát a. sorból kivonjuk az. sor ( )-szeresét, azaz hozzáadjuk az -szeresét. sor + ( ). sor. 6 6 Ezzel az első oszlopban a főátlóbeli elem alatti elemeket elimináltuk a mátrixból.. lépés: A második oszlopban található főátlóbeli elemek alatt kell eliminálnunk. Ennek megfelelően a jelenlegi mátrix esetén ez egyetlen elem (a ) eliminációját jelenti.. sor + ( ). sor.
.. Megoldások Általánosságban egy nxn-es mátrix esetén n oszlopban kell eliminálnunk és a j-ik oszlopban az a j+,j,..., a n,j elemeket kell eliminálnuk. Ezzel megkaptuk a célul kitűzött felsőháromszög alakú együttható mátrixunkat. A lineáris egyenletrendszer megoldását elemi úton, visszahelyettesítésekkel is meghatározhatjuk, de emellett bemutatunk egy egyszerű és könnyen automatizálható módszert is. a) Megoldás visszahelyettesítéssel: Alulról felfelé haladva soronként kiszámoljuk az ismeretleneket. Tehát ennek megfelelően az utolsó sorból indulva az x értékét számítjuk ki a következőképpen. x x Ennek segítségével meghatározzuk a következő, vagyis a. sor egyetlen ismeretlen értékét az x -t. x + x Innen pedig az első sorba visszahelyettesítve kapjuk x értékét az alábbiak szerint. Vagyis a keresett megoldás a következő. x + + ( ) x x b) Sorműveletek segítségével diagonális alakra hozzuk a mátrixot: A módszer lényege abban áll, hogy a Gauss-elimináció végeredményeként kapott mátrixot sorműveletek segítségével egységmátrixszá alakítjuk. Ez az alak azért lesz kellemes a számunkra, mert ilyen formában a megoldás vektort a transzformációk elvégzése után egyszerűen le tudjuk olvasni. Ehhez a Gauss-eliminációhoz használt módszert alkalmazzuk "visszafelé". A metódust a mátrix utolsó oszlopában kezdjük, de még az elimináció előtt az adott oszlop főátlójában található elemet leosztjuk önmagával, hogy így biztosítsuk a főátlóban az egyest. Ezt követően a főátló feletti elemeket elimináljuk. Tehát ennek megfelelően a. sort végigosztjuk -tel, majd pedig a. és az. sorokban elimináljuk a főátlóbeli elem (a ) feletti elemeket a következőképpen.
. Mátrix szorzat felbontások Ezt követően a. sort végigosztjuk ( )-tel, majd pedig az. sorban elimináljuk a főátlóbeli elem (a ) feletti elemet (a ) a következőképpen. Vagyis a keresett megoldás könnyen leolvasható. x. Az Ax b lineáris egyenletrendszer megoldását Gauss-elimináció segítségével az előző feladatban részletesen bemutattuk, így a továbbiakban csak a legfontosabb részleteket, illetve az esetleges újdonságokat mutatjuk be.. lépés: Az első oszlopban a. sorhoz hozzáadjuk az első sor -szeresét, illetve a. sorból kivonjuk az első sor -szorosát, tehát. sor + ( ). sor.. sor - ( ). sor. 6 9 6. lépés: A következő lépésben a. sorban kell a főátló alatti elemeket eliminálnunk, de a példánkban szerencsére nulla került az a pozícióba, így nincs szükség az eliminációra. Ezzel elkészült a felső háromszögmátrix. 9 7 Sorműveletek segítségével diagonális alakra hozzuk a mátrixot. Az eliminációt nem kell feltétlenül az utolsó oszlopban kezdenünk, hiszen előfordulhat, hogy másik oszlop esetén egyszerűbb a kézi számolás. Fontos megjegyezni, hogy a felső háromszögmátrix kialakítása esetén ez az egyszerűsítés nem használható! A mostani példában a. oszlopban kezdjük az eliminációt. 6 9 7 6 7 Ezt követően az utolsó oszlopban kell eliminálnunk, vagyis a. sort leosztjuk ( 6)-tal, majd pedig az így kapott új. sor -szeresét hozzáadjuk a. sorhoz, illetve a. sor ( )-szeresét hozzáadjuk az. sorhoz. 6 7 8 8 8 Tehát az Ax b lineáris egyenletrendszer megoldása a következő. x 8 8 8
.. Megoldások. A korábban már bemutatott módszer lépéseit követve kapjuk az alábbi megoldást.. lépés:.sor + ( ).sor..sor + (+).sor. A A Az első lépés után szerencsére megkaptuk a felső háromszögmátrixot. Mivel a Gauss-elimináció során csak sorműveleteket végeztünk, melyek nem változtatják meg a mátrix determinánsát, így a kapott felső háromszögmátrix (A ) determinánsa megegyezik az eredeti (A) mátrix determinánsával. A felső háromszög alakú mátrixok determinánsa a főátlóbeli elemek szorzata. det(a ) a a a. Ezt követően a egyenletrendszer megoldásához szükséges diagonális alakot állítjuk elő. Tehát az egyenletrendszer megoldása: x. A korábbi feladatokhoz hasonlóan a megoldás lépései a következők.. lépés:.sor + ( ).sor..sor + ( ).sor.. lépés:.sor - ( 9 ).sor. 6 7 Innen a determináns: 6 7 Most diagonális alakra hozzuk a mátrixot. 6 6 7 9 det(a) ( ) 86. 6 9 6 78 9 6 7 9 78 9 9
. Mátrix szorzat felbontások Az egyenletrendszer megoldása x 9 78 9.. Előfordulhat olyan eset, amikor egy adott eliminációs lépés után a soron következő diagonális elem nullává válik. Ilyen esetben megakad a Gauss-elimináció. Az ismeretlenek, vagy az egyenletek felcserélésével elérhetjük, hogy az imént említett nulla helyére egy nem nulla elem kerüljön. Erre két eljárás is ismert. Részleges főelemkiválasztás Az adott k. oszlopban az a k,k, a k+,k,..., a n,k elemek közül megkeressük a legnagyobb abszolút értékűt és a sorát felcseréljük a k. sorral. Így a hibaszámításnál tanultak szerint a kis számmal való osztás elkerülhető, melyről tudjuk, hogy növeli a hibát. Azonban így is előfordulhat, hogy a sorcserével a probléma nem oldható meg, ekkor az úgynevezett teljes főelemkiválasztást kell alkalmazni. Teljes főelemkiválasztás A k-tól n-ig terjedő sorok és oszlopok által meghatározott mátrixrészben megkeressük a legnagyobb abszolút értékű elemet. A sorát felcseréljük a k. sorral, az oszlopát a k. oszloppal. Így a hibaszámításnál tanultak szerint a kicsi számmal való osztás elkerülhető. A legnagyobb abszolút értékűvel való osztás az osztáskor keletkező abszolút hibát minimalizálja. Az oszlopcserékre figyelni kell, mert a megoldásvektor megfelelő komponenseinek cseréjét vonja maga után. Ha még így is elakad a Gauss-elimináció, akkor rang(a) < n. A b jobboldal megfelelő koordinátáinak értékétől függően vagy nincs megoldása, vagy végtelen sok megoldása van az egyenletrendszernek. Fontos megjegyezni, hogy a sorcserék és oszlopcserék esetén a determináns értékét korrigálnunk kell a sorok és oszlopok cseréjében lévő inverziók együttes számával. Általános alak a determináns meghatározására ahol az i az inverziók számát jelöli. det(a) a () a()... a(n ) nn ( ) i,. lépés: A részleges főelemkiválasztáshoz megkeressük a mátrix első oszlopában a diagonális alatti elemek közül az abszolút értékben legnagyobbat. Vagyis keressük a max{ a, a, a } értékét. Mivel max{ a, a, a } max{,, }, így az a -et kell cserélni az a -gyel. Ezt az. és. sor cseréjével tudjuk megtenni. Ne feledjük, hogy a sorcsere a jobboldalra is vonatkozik! 7 9 7 9 Ezt követően a Gauss-elimináció első lépését kell végrehajtanunk az átrendezett rendszeren, vagyis:. sor ( ). sor. sor ( ).sor 7 7 9
.. Megoldások. lépés: A következő lépés ismét a részleges főelemkiválasztás, amelyet a soron következő oszlopon kell végrehajtani, vagyis abszolút maximumot kell keresni, tehát max{ a (), a() } max{, }. Ez azt jelenti, hogy meg kell cserélnünk a. és. sort. Ezt követően el kell végeznünk a Gauss-elimináció következő lépését. 7 7 Ezzek elértük a felső háromszög alakot. A determináns meghatározásakor - ahogy azt már fentebb említettük - figyelnünk kell a sorcserékre. Mivel két szomszédos sorcsere történt, így a determináns értékének meghatározásakor korrigálnunk kell az inverziók számával, vagyis -vel det(a) ( ) 6. Most már csak az egyenletrendszer megoldásának meghatározása van hátra. 7 Tehát az egyenletrendszer megoldása x. 6. Az előző példában látott módszer segítségével oldjuk meg ezt a feladatot.. lépés: Látható, hogy az a, ezért szükséges a részleges főelemkiválasztás. Mivel max{ a, a, a } max{,, }, ezért a ( )-et kell becserélni az a helyére. 7 8 6 9 Ezt követően a. sorhoz hozzáadjuk az első sor -ét. 6 7 8 9 6 7 8 6 7 8. lépés: Folytatva a részleges főelemkiválasztást, mivel max{ a () a. sort és a. sort fel kell cserélni., a() } max{, 7} 7, 9 9
6. Mátrix szorzat felbontások 6 7 8 9 6 7 8 Ezt követően a. sorhoz hozzáadjuk a. sor ( 7) -szeresét. 6 7 8 9 6 7 8 9 A determináns értéke a sorokra vonatkozó (,, ) sorrendet figyelembe véve (melyben az inverziók száma) det(a) ( ) 7 ( 9 ) ( ) 8. Ezt követően diagonális alakra hozzuk a mátrixot és meghatározzuk a lineáris egyenletrendszer megoldását. 6 7 8 9 9 7 Tehát az egyenletrendszer megoldása: 6 7 9 9 7 9 7 9 x 6 9 9 7 9 7 9 7 9. 9 9 7 7 9 6 9 9 7 7. A feladat megoldásához a teljes főelemkiválasztás módszerét használjuk fel. Tehát első lépésként a teljes A mátrixban abszolút maximumot kell keresnünk. Figyelem, csak az A mátrixban kell az abszolút maximumot keresnünk, tehát a kiegészített mátrix b vektorhoz tartozó részében nem!. lépés: Mivel n max { a ij }, i,j nem csak egy a ij elemre teljesül, ezért ebben az esetben tetszőlegesen választhatunk közülük. A példa szemléletességét megtartva az a elemet választjuk és ezt cseréljük az a helyére. Ehhez egy oszlopcserére és egy sorcserére lesz szükség, vagyis az. és a. sort felcseréljük, majd ezt követően az. és a. oszlopot is megcseréljük. 8 8 8 Ily módon a mátrixot megfelelő alakra hoztuk, tehát végrehajthatjuk a Gauss-elimináció. lépését.. sor + ( ). sor. sor ( ). sor
.. Megoldások 7 7 8. lépés: Ismét a teljes főelemkiválasztás következik, de arra figyeljünk, hogy most már csak egy (n ) (n )-es, vagyis jelen esetben egy -es részmátrixon kell csak ezt az abszolút maximumot megkeresnünk. Így max{ a (), a(), a(), a() } 7. Tehát jelen esetben csak egy oszlopcserére lesz szükség, hiszen a felcserélendő elemek egy sorban helyezkednek el, vagyis a. oszlopot és a. oszlopot kell felcserélnünk. A cserét követően elvégezzük a Gauss-elimináció következő lépését. 7 7 7 7 Ezzel elkészült a felső háromszögmátrix, így ezen a ponton könnyedén meghatározhatjuk a mátrix determinánsát. Mivel az inverziók száma, hiszen volt egy szomszédos sor cserénk és két szomszédos oszlopcserénk, így a determináns: det(a) 7 7 ( ). Most már csak az ismeretlenek meghatározása van hátra. Visszahelyettesítést követően az alábbi eredményt kapjuk x, x, x. 8. Az előző példákban már ismertetett Gauss-elimináció segítségével különböző jobboldalú, azonos mátrixú egyenletrendszerek megoldására is van lehetőség. Ilyen esetben a mátrix mellé írjuk a különböző jobboldalakat és az eliminációs lépéseket így hajtjuk végre.. lépés:. sor + ( ). sor. sor + ( ). sor. sor + ( ). sor 8 8 A b b. lépés:. sor + ( ). sor. sor + ( ). sor
8. Mátrix szorzat felbontások Mivel a. oszlop és. sor által meghatározott részmátrixban csak nulla elemek vannak, így a teljes főelemkiválasztás sem segít a továbblépésben. Mivel a b jobboldal esetén a "nullás" sorokhoz nulla érték tartozik, ami azt jelenti, hogy azonosságot kaptunk, így ebben az esetben az Ax b egyenletrendszernek végtelen sok megoldása van. Ezzel szemben a b jobboldal esetén van nem nulla érték a "nullás" sorokhoz tartozóan, ami azt jelenti, hogy ellentmondáshoz jutottunk, így nincs megoldása az Ax b lineáris egyenletrendszernek. Tehát azt érdemes megjegyeznünk, hogy a Gauss-elimináció során eldől, hogy megoldható-e a lineáris egyenletrendszer vagy sem. 9. Az általános megoldás meghatározásához először néhány konkrét lépését végezzük el a Gausseliminációnak............................................ ( ) n........................................... ( ) n. ( ) n. ( ) n Az első pár lépés után láthatjuk, hogy a mátrix bidiagonális volta miatt hogyan alakul az általános (k ). lépés utáni alak. A mátrix első k sora az egységmátrix első k sora, míg a jobboldali vektor első k komponensében a ( ) és váltakozik. A k. komponens ( ), ha k páratlan és, ha k páros. Végezzük el a k. eliminációs lépést, vagyis a k +. sorhoz hozzáadjuk a k. sort, ezzel teljesen kinullázva a k. oszlopot. Nézzük meg, hogy ez a jobboldalra milyen hatással van. páratlan k esetén: a b vektor k +. helyén + ( ) lesz. páros k esetén: a b vektor k +. helyén ( ) + lesz. Látjuk, hogy a k. lépés utáni állapot formailag megegyezik a (k ). lépés utáni állapottal. Az így kapott mátrixot láthatjuk a sorok számozásával........................................................... k..... k..... k +..... k +................... n.... ( ) n.......... n.... ( ) n Tehát végeredményben a b vektor a következő alakú lesz páratlan n esetén: [... ] T