© Typotex Kiadó Numerikus Matematika MØrn(cid:246)k(cid:246)knek Øs programoz(cid:243)knak Stoyan Gisbert MagyarorszÆg, 2007 januÆr © Stoyan Gisbert © Typotex Kiadó TartalomjegyzØk 1. A lebegfipontos szÆm(cid:237)tÆs 7 1.1. Az egØsz szÆmok . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2. A lebegfipontos szÆmok . . . . . . . . . . . . . . . . . . . . . . 8 1.3. Lebegfipontos szÆm(cid:237)tÆs, kerek(cid:237)tØs . . . . . . . . . . . . . . . . 10 1.4. A hibÆk terjedØse . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.5. TanulsÆgok . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.6. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2. NormÆk, kond(cid:237)ci(cid:243)szÆmok 21 2.1. NormÆk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2. Az indukÆlt mÆtrixnorma . . . . . . . . . . . . . . . . . . . . . 25 2.2.1. Az indukÆlt mÆtrixnorma de(cid:28)n(cid:237)ci(cid:243)ja Øs tulajdonsÆgai . 25 p = 1,∞ 2.2.2. Az indukÆlt mÆtrixnorma kiszÆm(cid:237)tÆsa ( ) . . . 26 p = 2 2.2.3. Az indukÆlt mÆtrixnorma kiszÆm(cid:237)tÆsa ( ) . . . . . 29 2.3. HibabecslØsek . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3.1. A lineÆris rendszer jobboldala hibÆs . . . . . . . . . . . 32 2.3.2. A kond(cid:237)ci(cid:243)szÆm . . . . . . . . . . . . . . . . . . . . . . 33 2.3.3. A lineÆris rendszer mÆtrixa hibÆs . . . . . . . . . . . . 37 2.4. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3. LineÆris egyenletrendszerek 41 3.1. A Gauss-eliminÆci(cid:243) . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2. A Gauss-eliminÆci(cid:243) vØgrehajthat(cid:243)sÆga . . . . . . . . . . . . . . 44 3.3. Az LU-felbontÆs . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.4. Algoritmusok, m¶veletigØny . . . . . . . . . . . . . . . . . . . 49 3.5. `ltalÆnos mÆtrixok . . . . . . . . . . . . . . . . . . . . . . . . 53 3.5.1. Az LDU-felbontÆs algoritmusa, tesztfeladatok . . . . . 56 3.6. A Cholesky-felbontÆs . . . . . . . . . . . . . . . . . . . . . . . 58 LDLT 3.6.1. Az -felbontÆs algoritmusa, tesztfeladatok . . . . 62 3.7. SÆvos mÆtrixok . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.7.1. TridiagonÆlis egyenletrendszerek . . . . . . . . . . . . . 63 3 © Stoyan Gisbert © Typotex Kiadó 4 TARTALOMJEGYZ(cid:201)K 3.7.2. A tridiagonÆlis algoritmus, tesztfeladatok . . . . . . . . 65 3.8. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4. Legkisebb nØgyzetek 69 4.1. LineÆris regresszi(cid:243) . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.1.1. Algebrai megfogalmazÆs . . . . . . . . . . . . . . . . . 71 4.1.2. A legkisebb nØgyzetek elve . . . . . . . . . . . . . . . . 72 4.2. A Gauss-fØle normÆl-egyenlet . . . . . . . . . . . . . . . . . . 75 4.3. MegoldÆsi algoritmus, tesztfeladatok . . . . . . . . . . . . . . 79 4.4. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5. SajÆtØrtØk feladatok 85 5.1. Alapvetfi tulajdonsÆgok . . . . . . . . . . . . . . . . . . . . . . 86 5.1.1. NormÆlis mÆtrixok . . . . . . . . . . . . . . . . . . . . 87 5.1.2. A karakterisztikus polinomr(cid:243)l . . . . . . . . . . . . . . 89 5.1.3. A sajÆtØrtØkek lokalizÆci(cid:243)ja . . . . . . . . . . . . . . . 90 5.2. A hatvÆny-m(cid:243)dszer . . . . . . . . . . . . . . . . . . . . . . . . 92 5.2.1. KonvergenciafeltØtelek . . . . . . . . . . . . . . . . . . 93 5.2.2. A Rayleigh-hÆnyados . . . . . . . . . . . . . . . . . . . 96 5.2.3. A hatvÆny-m(cid:243)dszer algoritmusa, tesztfeladatok . . . . . 98 5.2.4. Az eltolÆs . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.3. Az inverz iterÆci(cid:243) . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.3.1. KonvergenciafeltØtelek . . . . . . . . . . . . . . . . . . 102 5.3.2. Az inverz iterÆci(cid:243) algoritmusa, tesztfeladatok . . . . . . 103 5.4. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6. InterpolÆci(cid:243) 109 6.1. InterpolÆci(cid:243)s feladatokr(cid:243)l . . . . . . . . . . . . . . . . . . . . . 110 6.2. A Lagrange-interpolÆci(cid:243) . . . . . . . . . . . . . . . . . . . . . 110 6.2.1. A Lagrange-fØle interpolÆci(cid:243)s feladat . . . . . . . . . . 110 6.2.2. A Newton-fØle rekurzi(cid:243) . . . . . . . . . . . . . . . . . . 113 6.2.3. A di(cid:27)erenciasØma . . . . . . . . . . . . . . . . . . . . . 115 6.2.4. A Lagrange-interpolÆci(cid:243) algoritmusa, tesztfeladatok . . 120 6.2.5. HibabecslØsek . . . . . . . . . . . . . . . . . . . . . . . 120 6.3. Az Hermite-fØle interpolÆci(cid:243) . . . . . . . . . . . . . . . . . . . 123 6.4. A szakaszonkØnti polinomiÆlis interpolÆci(cid:243) . . . . . . . . . . . 126 6.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 7. NemlineÆris egyenletek 133 7.1. FelezØsi m(cid:243)dszer, egyszer¶ iterÆci(cid:243)k . . . . . . . . . . . . . . . 134 7.2. A Newton-m(cid:243)dszer . . . . . . . . . . . . . . . . . . . . . . . . 136 © Stoyan Gisbert © Typotex Kiadó TARTALOMJEGYZ(cid:201)K 5 7.2.1. A csillap(cid:237)tott Newton-m(cid:243)dszer . . . . . . . . . . . . . . 142 7.2.2. A szelfim(cid:243)dszer . . . . . . . . . . . . . . . . . . . . . . 143 7.3. Egyenletrendszerek megoldÆsa . . . . . . . . . . . . . . . . . . 146 7.3.1. A Newton-m(cid:243)dszer . . . . . . . . . . . . . . . . . . . . 146 7.3.2. A csillap(cid:237)tott Newton-m(cid:243)dszer algoritmusa, tesztfel- adatok . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 7.3.3. A Jacobi-mÆtrix k(cid:246)zel(cid:237)tØsØrfil . . . . . . . . . . . . . . 151 7.3.4. A Broyden-m(cid:243)dszer . . . . . . . . . . . . . . . . . . . . 151 7.4. A Gauss-Newton-m(cid:243)dszer . . . . . . . . . . . . . . . . . . . . 153 7.4.1. Le(cid:237)rÆsa . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 7.4.2. A Gauss-Newton-m(cid:243)dszer algoritmusa, tesztfeladatok . 154 7.5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 8. K(cid:246)zel(cid:237)tfi integrÆlÆs 159 8.1. Elemi kvadratœrakØpletek . . . . . . . . . . . . . . . . . . . . 160 8.2. InterpolÆci(cid:243)s kvadratœrakØpletek . . . . . . . . . . . . . . . . . 163 8.3. (cid:214)sszetett kvadratœrakØpletek . . . . . . . . . . . . . . . . . . 165 8.3.1. (cid:214)sszetett kØpletek konstrukci(cid:243)ja . . . . . . . . . . . . . 165 8.3.2. (cid:214)sszetett kØpletek konvergenciÆja . . . . . . . . . . . . 168 8.4. Gyakorlati szempontok . . . . . . . . . . . . . . . . . . . . . . 171 8.5. T(cid:246)bbdimenzi(cid:243)s integrÆlok kiszÆm(cid:237)tÆsa . . . . . . . . . . . . . . 174 8.5.1. VisszavezetØs egyvÆltoz(cid:243)s f(cid:252)ggvØnyek integrÆlÆsÆra . . . 174 8.5.2. Az integrÆlÆsi tartomÆny approximÆci(cid:243)ja . . . . . . . . 176 8.5.3. A kØtdimenzi(cid:243)s Simpson-integrÆci(cid:243) algoritmusa, teszt- feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.6. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 9. K(cid:246)z(cid:246)nsØges di(cid:27)erenciÆlegyenletek 181 9.1. MotivÆci(cid:243) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 9.2. KezdetiØrtØk feladatok . . . . . . . . . . . . . . . . . . . . . . 184 9.3. Az Euler-m(cid:243)dszer . . . . . . . . . . . . . . . . . . . . . . . . . 186 9.3.1. Az Euler-m(cid:243)dszer algoritmusa, tesztfeladatok . . . . . 188 9.4. Az Euler-m(cid:243)dszer hibaelemzØse . . . . . . . . . . . . . . . . . 189 9.5. A jav(cid:237)tott Euler-m(cid:243)dszer . . . . . . . . . . . . . . . . . . . . . 192 9.6. Az implicit Euler-m(cid:243)dszer . . . . . . . . . . . . . . . . . . . . 196 9.6.1. Az implicit Euler-m(cid:243)dszer lineÆris rendszerekre . . . . 197 9.6.2. NemlineÆris rendszerek . . . . . . . . . . . . . . . . . . 200 9.6.3. Az implicit Euler-m(cid:243)dszer algoritmusa, tesztfeladatok . 201 9.7. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 ⁄·» © Stoyan Gisbert © Typotex Kiadó 1. fejezet A lebegfipontos szÆm(cid:237)tÆs a > 0 A gimnÆziumban tanultuk: Ha egy hatvÆny alapja , akkor ØrvØnyesek a k(cid:246)vetkezfi relÆci(cid:243)k: ab abac = ab+c, = ab−c, ac q (cid:54)= 1 Øs ha , akkor (cid:88)n 1−qn+1 1+q +q2 +...+qn = qi = , 1−q i=0 (cid:80) q = 1 n qi = n+1. illetve ha , akkor i=0 1.1. Az egØsz szÆmok Az egØsz szÆmok a szÆm(cid:237)t(cid:243)gØpben elfijeles binÆris szÆmok formÆjÆban vannak jelen. Gyakran 2- Øs 4-bÆjtos egØsz szÆmok Ællnak rendelkezØsre, ahol a (cid:18)bÆjt(cid:17) nyolc binÆris jeggyel rendelkezik. Sok gØpnØl a bÆjt a legkisebb elØrhetfi (cid:22) megc(cid:237)mezhetfi (cid:22) tÆrolÆsi egysØg. Ezenfel(cid:252)l lehet, hogy egy- Øs nyolc-bÆjtos egØsz szÆmokkal is dolgozhatunk. Az egØsz szÆmokkal val(cid:243) aritmetikai m¶veletek nagysÆgrenddel gyorsab- bak a (k(cid:246)vetkezfi pontban tÆrgyalÆsra ker(cid:252)lfi) lebegfipontos szÆmokØnÆl Øs hibamenteseknek tekinthetfik, ezØrt hasznÆlatuk d(cid:246)ntfi mØrtØkben felgyors(cid:237)t- hatja egy adott algoritmus futÆsÆt a szÆm(cid:237)t(cid:243)gØpen. Az egØsz szÆmokkal val(cid:243) szÆm(cid:237)tÆs minden lØpØsØt viszont (cid:28)gyelmesen Æt kell gondolni, mert ilyenkor val(cid:243)jÆban maradØkosztÆlyban dolgozunk. PØldakØnt az egybÆjtos egØsz szÆ- mok (cid:246)sszeadÆsÆt nØzz(cid:252)k: 7 © Stoyan Gisbert © Typotex Kiadó 8 FEJEZET 1. A LEBEG(cid:142)PONTOS SZ`M˝T`S 11010101 213 + 10101010 + 170 ≡ =1 01111111 = 383 127 mod(256) A keretben mÆr elhelyezhetetlen ((cid:18)tœlcsordult(cid:17)) 1-est levÆgja a szÆmol(cid:243)egy- 28 sØg, Øs ezzel az (cid:246)sszeget a szerinti maradØkÆval helyettes(cid:237)ti. 28 TehÆt a maradØkosztÆlyÆra tØrt(cid:252)nk Æt, kØtbÆjtos szÆmok esetØn a fen- 216 tieknek megfelelfien a maradØkosztÆlyÆhoz stb. 1.2. A lebegfipontos szÆmok Ez a szÆmt(cid:237)pus alapvetfi a szÆm(cid:237)t(cid:243)gØpek numerikus hasznÆlatÆnÆl. A nem- nulla lebegfipontos szÆmok alakja: (cid:179) (cid:180) m m m ±ak 1 + 2 +···+ t , (1.1) a a2 at a > 1 − t > 1 ahol aszÆmÆbrÆzolÆsalapja, (cid:18)+(cid:17) vagy(cid:18) (cid:17) azelfijel, aszÆmjegyek k m szÆma, a kitevfi. Az 1 szÆmjegy normalizÆlt, azaz eleget tesz az 1 ≤ m ≤ a−1 1 egyenlfitlensØgnek. Ez biztos(cid:237)tja a szÆmÆbrÆzolÆs egyØrtelm¶sØgØt Øs a ren- delkezØsre Æll(cid:243) szÆmjegyek kihasznÆlÆsÆt. A t(cid:246)bbi szÆmjegyre igaz 0 ≤ m ≤ a−1, 2 ≤ i ≤ t. i k = 0, m = m = ··· = m = 0 A nulla nem normalizÆlt: esetØben 1 2 t , az elfijele ÆltalÆban (cid:18)+(cid:17). a A lebegfipontos szÆm(cid:237)tÆs szÆmÆbrÆzolÆsÆnak alapja gyakran nem 2. Ehelyett pl. 10 vagy 16 is lehet. Egyes gØpeknek van decimÆlis szÆmol(cid:243)- egysØge. Legt(cid:246)bbsz(cid:246)r viszont a programozÆsi nyelv val(cid:243)s(cid:237)tja meg a megfelelfi aritmetikÆt, ha pl. ffikØnt adatfeldolgozÆsra szÆnjÆk, akkor gazdasÆgosabb le- het a t(cid:237)zes szÆmrendszer. A decimÆlis szÆmrendszer esetØn egyszer¶ pontos- t = 8 t = 16 sÆg mellett kb. -ra, dupla pontossÆg mellett kb. -ra szÆm(cid:237)thatunk. A lebegfipontos szÆmok tÆrolÆsÆt a k(cid:246)vetkezfi formÆban kØpzelhetj(cid:252)k el (a val(cid:243)sÆg ettfil eltØrhet, de az ilyen, a m¶szaki megval(cid:243)s(cid:237)tÆshoz k(cid:246)zelebb Æll(cid:243) Øs a numerikus szÆm(cid:237)tÆst kevØsbØ Ørintfi kØrdØseket itt nem rØszletezz(cid:252)k): [±,k,m ,...,m ], 1 t (m ,...,m ) =: m k ahol 1 t a mantissza. A kitevfit a szÆm karakterisztikÆjÆnak is h(cid:237)vjuk. A gØptfil Øs a pontossÆgt(cid:243)l (egyszer¶, dupla, nØgyszeres pontos- m sÆg) f(cid:252)ggfien tÆrolÆsÆra nØgy, nyolc vagy 16 bÆjt Æll rendelkezØsre. Ezzel © Stoyan Gisbert © Typotex Kiadó 1.2. A LEBEG(cid:142)PONTOS SZ`MOK 9 0 eps_0 1 2 1.1. Æbra. A lebegfipontos szÆmok a val(cid:243)s tengelyen k pÆrhuzamosan nfi a ØrtØkkØszlete. Adott pontossÆg mellett k ≤ k ≤ k , (−) (+) k < 0, k > 0 |k | ≈ |k | ahol (−) (+) Øs (−) (+) (ld. az 1. Øs a 2. feladatot). Ekkor a legnagyobb ÆbrÆzolhat(cid:243) szÆm (cid:181) (cid:182) (cid:88)t a−1 a−1 a−1 a−1 M := ak(+) = ak(+) + +...+ ∞ ai a a2 at i=1 = ak(+)(1−a−t), −M [−M ,M ] alegkisebbszÆm ∞. AlebegfipontosszÆmoka ∞ ∞ -beliracionÆlis szÆmok diszkrØt rØszhalmazÆt alkotjÆk, ez a rØszhalmaz a nullÆra nØzve szim- ε metrikus. A nullÆhoz legk(cid:246)zelebbi pozit(cid:237)v lebegfipontos szÆmot 0-val jel(cid:246)l- j(cid:252)k, (cid:181) (cid:182) 1 ε := ak(−) +0+...+0 = ak(−)−1. 0 a (−ε ,ε ) ˝gy a nullÆn k(cid:237)v(cid:252)l a 0 0 intervallumban nincs mÆs lebegfipontos szÆm. (Itt eltekint(cid:252)nk att(cid:243)l, hogy a nullÆt(cid:243)l k(cid:252)l(cid:246)nb(cid:246)zfi nemnormalizÆlt szÆmok is elfifordulhatnak egy szÆm(cid:237)t(cid:243)gØpben, de a szÆmÆbrÆzolÆs egyØrtelm¶sØge mi- k = k ε att csak akkor, amikor (−). Ekkor gyakorlatilag arr(cid:243)l van sz(cid:243), hogy 0 kØplete ak(−)−t-re vÆltozik.) A (−ε0,ε0) intervallum hatalmas hØzagkØnt hat, ha a lebegfipontos szÆmokat a szÆmegyenesen ÆbrÆzoljuk (ld. a 3. feladatot); ε az 0-hoz legk(cid:246)zelebbi pozit(cid:237)v lebegfipontos szÆm ugyanis: (cid:181) (cid:182) 1 1 ak(−) +0+...+0+ = ε +ak(−)−t = ε (1+a1−t), a at 0 0 Øs ε ·a1−t (cid:191) ε . 0 0 © Stoyan Gisbert © Typotex Kiadó 10 FEJEZET 1. A LEBEG(cid:142)PONTOS SZ`M˝T`S Az 1 mindig hozzÆtartozik a lebegfipontos szÆmokhoz: 1 = [+,1,1,0,...,0]. Az 1 utÆn a [+,1,1,0,...,0,1] = 1+ε 1 lebegfipontos szÆm k(cid:246)vetkezik, ahol ε := a1−t. 1 Ezt a szÆmot gyakran a gØp relat(cid:237)v pontossÆgakØnt, ill. mint gØpi epszilon ε ε emlegetik (ld. a 4. feladatot). Az 0 Øs 1 szÆmok jelentfisØge abban Æll, hogy abszolœt, ill. relat(cid:237)v hibakorlÆtot kØpeznek az inputnÆl Øs a nØgy alapm¶ve- letnØl (ld. a k(cid:246)vetkezfi pontot). Adott (cid:179) (cid:180) m m m 0 < x = [+,k,m] = ak 1 + 2 +···+ t < M a a2 at ∞ x+ak−t pozit(cid:237)v lebegfipontos szÆmhoz a legk(cid:246)zelebbi nagyobb szÆm . Ugyanis x x ekkor -nek az jobboldali szomszØdja (cid:181) (cid:182) 1 x = x+ak 0+0+...+0+ = x+ak−t, at δx := x−x = ak−t k tehÆt a tÆvolsÆg a kettfi szÆm k(cid:246)z(cid:246)tt. Mivel a jelenlegi x ak1 = ak−1 karakterisztikÆhoz a legkisebb lehetsØges -ØrtØk , ezØrt a x−x = δx = ak−t = ak−1+1−t = ak−1a1−t = ak−1ε ≤ xε . 1 1 (1.2) x < 0 x Ha Øs a baloldali szomszØdja, akkor hasonl(cid:243)an ØrvØnyes |x−x| ≤ |x|ε . 1 (1.3) 1.3. Lebegfipontos szÆm(cid:237)tÆs, kerek(cid:237)tØs Elfisz(cid:246)r foglalkozzunk az inputtal. x |x| ≤ M x˜ Legyen val(cid:243)sszÆm, ∞ Øs agØpÆltalhozzÆrendeltlebegfipontos szÆm. Leggyakrabban (cid:40) 0, |x| < ε , ha 0 x˜ := x , ε ≤ |x| ≤ M . az -hez legk(cid:246)zelebbi lebegfipontos szÆm ha 0 ∞ © Stoyan Gisbert © Typotex Kiadó 1.3. LEBEG(cid:142)PONTOS SZ`M˝T`S, KEREK˝T(cid:201)S 11 TehÆt ilyenkor az elsfi esetben nulla felØ kerek(cid:237)tj(cid:252)k a szÆmot, a mÆsodik esetben szabÆlyszer¶en kerek(cid:237)t(cid:252)nk. Ekkor (ld. az (1.2) Øs (1.3) relÆci(cid:243)kat) (cid:40) ε , |x| < ε , 0 ha 0 |x˜−x| ≤ (1.4) 1ε |x|, |x| ≥ ε . 2 1 ha 0 AmennyibenagØpmindiganullafelØlekerek(cid:237)tiaszÆmokat(mivelafelesleges szÆmjegyek levÆgÆsa egyszer¶bb, mint a szabÆlyszer¶ kerek(cid:237)tØs), akkor (1.4)- 1ε ε |x˜−x| < ε |x| ben 2 1 helyett 1 Æll,Øs(cid:21)pontosabban(cid:21)igaz,hogy 1 . Haanulla k(cid:246)r(cid:252)li hØzagt(cid:243)l eltekint(cid:252)nk, akkor (1.4) egyszer¶s(cid:237)tett vÆltozatÆt kapjuk, 1 |x˜−x| ≤ ε |x| 1 (1.5) 2 kerek(cid:237)tØs esetØn Øs |x˜−x| ≤ ε |x| 1 (1.6) levÆgÆs esetØn. 1ε ε Az itt szereplfi 2 1, ill. 1 szÆmokat a k(cid:246)vetkezfikØppen is lehet jellemezni: ε megegyeznek azzal a legkisebb pozit(cid:237)v lebegfipontos szÆmmal, amellyel az 1 + ε (cid:246)sszeadÆs eredmØnye nagyobb 1-nØl (cid:22) kerek(cid:237)tØs, ill. levÆgÆs utÆn is. Ld. a 4. feladatot. K(cid:246)vetkezfinek foglalkozzunk a lebegfipontos m¶veletekkel. Elfisz(cid:246)r pØlda- a = 10, t = 3, k = −3, k = 3 kØnt nØzz(cid:252)k az (cid:246)sszeadÆst. Legyen pl. (−) (+) ε = 10−2 x = 3.45 y = 0.567 (ekkor 1 ), a kØt (cid:246)sszeadand(cid:243) szÆm pedig Øs . Az k k (cid:246)sszeadÆs elsfi lØpØsekØnt a kØt szÆm karakterisztikÆjÆt ( 1 Øs 2) egyenlfivØ k −k kell tenni Øs 1 2 szÆmjeggyel jobbra csœsztatni a mantisszÆt: = x + 1 345 10*0.345 ( ) = y + + 0 567 + 1*0.567 ( ) = + 1 345 = 10*0.345 + + 1 0567 + 10*0.0567=4.017=x+y=:z t Itt azonnal felmer(cid:252)l a kØrdØs, vajon a szÆmol(cid:243)egysØgben is szÆmjegy Æll a mantisszÆk rendelkezØsØre? Az (cid:246)sszeadÆsnÆl legalÆbb egy szÆmjeggyel t(cid:246)bb sz(cid:252)ksØges ahhoz, hogy a 2t hiba elfogadhat(cid:243) legyen. (A szorzÆsnÆl a legkØnyelmesebb az, ha szÆmjegy Æll a mantisszÆk szorzatÆnak rendelkezØsØre, mert akkor a szorzat vesztesØg nØlk(cid:252)l helyezhetfi el.) Ha ez a kiegØsz(cid:237)tfi szÆmjegy megvan, akkor a fenti pØldÆban az (cid:246)sszeadÆs (cid:237)gy folytathat(cid:243): © Stoyan Gisbert © Typotex Kiadó 12 FEJEZET 1. A LEBEG(cid:142)PONTOS SZ`M˝T`S + 1 345 + + 0 567 = + 1 345 + + 1 0567 = + 1 4017 EddighibamentesenkaptukazeredmØnyt, deaztÆltalÆbanvisszakellvinnia tÆrba, ahol pØldÆnkban csak 3szÆmjegy vana mantisszaelhelyezØsØre. Ekkor sz(cid:252)ksØges az utols(cid:243) szÆmjegyet vagy levÆgni, vagy szabÆlyosan kerek(cid:237)teni. Ha az ut(cid:243)bbi mellett d(cid:246)nt(cid:246)ttek a gØpi szÆmol(cid:243)egysØg (ill. az aritmetikÆt z˜ = x(cid:93)+y megval(cid:243)s(cid:237)t(cid:243) programozÆsi nyelv) tervezØsekor akkor a szÆm(cid:237)tÆsi vØgeredmØny + 1 402 ˝gy a vØgeredmØny hibÆs, Øs hibÆjÆra ØrvØnyes 1 1 |z −z˜| = 0.003 = ε ∗0.3 = ε ∗0.6 < ε ∗|z| (= 0.020085). 1 1 1 (1.7) 2 2 a = 10, t = VizsgÆljunk mØg egy pØldÆt az (cid:246)sszeadÆsra (legyen tovÆbbra is 3, k = −3, k = 3 (−) (+) , Øs a szÆmol(cid:243)egysØg rendelkezzen egy kiegØsz(cid:237)tfi x = 0.987 y = 0.567 szÆmjeggyel): Øs . Az (cid:246)sszeadÆs elfitti csœsztatÆsra most nincs sz(cid:252)ksØg: = x + 0 987 0.987 ( ) = y + + 0 567 + 0.567 ( ) = + 0 1554 = 1.554 ∼ ∼ = + 1 155 = 10*0.155=:z˜ Itt az utols(cid:243) lØpØsben normalizÆlni Øs kerek(cid:237)teni kellett a szÆmol(cid:243)egysØgbeli eredmØnyt, amiutÆn a szÆm kivihetfi a tÆrba. Most vizsgÆljuk ÆltalÆban az alapm¶veletek sorÆn fellØpfi hibÆkat! Eh- (+,−,∗,/) hez, a fenti pØldÆval (cid:246)sszhangban, feltessz(cid:252)k, hogy a gØp a nØgy (cid:166) alapm¶velet bÆrmelyikØt (amit a jellel fogunk jel(cid:246)lni) elfisz(cid:246)r pontosan vØg- rehajtja, majd kerek(cid:237)tØssel vagy levÆgÆssal rendel hozzÆ egy lebegfipontos szÆmot. Ekkor (1.4)-nek megfelelfien Øs speciÆlisan a kerek(cid:237)tØs esetØn (cid:40) ε , |x(cid:166)y| < ε 0 ha 0 |x(cid:93)(cid:166)y −x(cid:166)y| ≤ (1.8) 1ε |x(cid:166)y|, |x(cid:166)y| ≥ ε , 2 1 ha 0 ε illetve, egyszer¶s(cid:237)tett vÆltozatban, az 0-val kapcsolatos esetet elhagyva, (cid:40) 1, levÆgÆs esetØn |x(cid:93)(cid:166)y −x(cid:166)y| ≤ ε |x(cid:166)y|∗ 1 1, (1.9) kerek(cid:237)tØs esetØn. 2 © Stoyan Gisbert