CAPIT-0.DOC Versoe aggorata l goro 08/03/00 CORSO DI CALCOLO NUMERICO A.A. 1999-2000 ( Prof. A. Belle ) CAPITOLO 0 TEORIA DEGLI ERRORI I questo captolo c occuperemo della rappresetaoe de umer real ua base assegata, della loro rappresetaoe approssmata elle utà artmetche de computers e delle coseguee che tale approssmaoe produce ella esecuoe d ua sequea d calcol progettata per rsolvere u dato problema. 1. RAPPRESENTAZIONE POSIZIONALE DEI NUMERI REALI Sa dato u tero B, che chameremo base, ed u seme d B smbol dstt, C={0,1,2,...B-1}, che chameremo cfre della base B, rappresetat prm B umer ter, da 0 a B-1. E' oto che og umero reale x s può rappresetare, ella base B, co l seguete alleameto d cfre d B: x=a a -1...a 0,a -1 a -2... tededo co cò: x=a B +a -1 B -1 +...+a 0 B 0 +a -1 B -1 +a -2 B -2 +... (0.1) La rappresetaoe è uca quado s escluda l'alleameto perodco d perodo cocdete co la cfra massma della base. Ifatt s dmostra faclmete (utlado la somma della sere geometrca) che: 0,(B-1)(B-1)..(B-1) =1 Qud, accordo co la (0.1), ua rappresetaoe perodca d perodo B-1 cocde co la rappresetaoe otteuta cremetado d ua utà la cfra che precede l perodo, seguto dallo ero perodco (che aturalmete o s usa scrvere). Per esempo, ella base 8, s ha 1
2 x=453,6257777... = 453,626000... Quado le cfre che seguoo la vrgola soo tutte ulle l umero è tero, caso cotraro s dce decmale. I og caso l umero y=a a -1...a 0 rappreseta la parte tera d x metre l umero =0,a -1 a -2..., che rsulta sempre <1, e rappreseta la parte decmale. Il umero x è sempre dato dalla somma della sua parte tera co la parte decmale. E' evdete che l carattere tero o decmale d x, ed ache la separaoe della sua parte tera da quella decmale, o dpede dalla base B. D coseguea e camb d base è suffcete trasformare separatamete la parte tera e la parte decmale d x. A tale scopo osservamo che per u umero tero y=a a -1...a 0 s ha: y=a B +a -1 B -1 +...+a 1 B+a 0 =(a B -1 +a -1 B -2 +...+a 1 )B+a 0 da cu, essedo a 0 <B, s deduce che a 0 è l resto della dvsoe d y per B l cu quoete q 0 è dato da: q 0 =a B -1 +a -1 B -2 +...+a 1 A sua volta q 0 =(a B -2 +a -1 B -3 +...+a 2 )B+a 1. da cu s rcava che a 1 è l resto d q 0 /B. Così procededo, fo ad cotrare u quoete more d B, s ottegoo tutte le cfre della rappresetaoe cercata. Per u umero decmale =0,a -1 a -2... =a -1 B -1 +a -2 B -2 +... determaoe delle cfre è dverso. Moltplcado per la base s ha: l algortmo per la B=B(a -1 B -1 +a -2 B -2 +... )= a -1 +(a -2 B -1 +a -3 B -2 +... ). Essedo evdetemete (a -2 B -1 +a -3 B -2 +... )<1, la cfra a -1 rappreseta la parte tera del prodotto B, metre r 1 =a -2 B -1 +a -3 B -2 +... 2
3 e rappreseta la parte decmale. Aalogamete a -2 è otteuto come parte tera d Br 1 e così d seguto. I umer decmal s dstguoo perodc e o perodc. A loro volta umer perodc possoo essere dvs tra quell d perodo 0, e qud ft, e gl altr, ma quest ultma o e ua suddvsoe sgfcatva de umer. Ifatt e cambamet d base valgoo le seguet proposo: Se x è raoale, allora è perodco qualuque base. Se x è perodco ( qualche base) allora è raoale. D coseguea u umero perodco rmae tale qualuque base. La perodcta o è duque ua caratterstca della rappresetaoe ma dpede dalle propreta algebrche del umero. x raoale x perodco. I geerale o vee però coservato l carattere fto de umer perodc. S pes per esempo al umero x=1/3 che base 10 s esprme co 0,3333...ed base 3 co 0,1 (ma rcordamoc che 0,1 o e che l abbrevaoe coveoale d 0,1000..). 2. RAPPRESENTAZIONE "FLOATING POINT" E NUMERI DI MACCHINA E' evdete che la moltplcaoe o la dvsoe d u umero x per la sua base d rappresetaoe ha l'effetto d spostare la vrgola d ua posoe a destra o, rspettvamete, a sstra ella sua rappresetaoe posoale. Per esempo: x=a a -1...a 0,a -1 a -2... Bx=a a -1...a 0 a -1,a -2... D coseguea og umero reale x, eccetto lo ero, s potra rappresetare come: x=±b p b 0,b 1...b... co b 0 0 per ua opportua scelta dell'espoete p. Tale rappresetaoe de umer real è detta rappresetaoe ormale. Il umero p è detto espoete ed l umero b 0, b 1...b... è detto matssa d x. 3
4 Ne calcolator elettroc la base pù comuemete usata è B=2 e le cfre soo dcate co 0 ed 1. A volte s usao altre bas, ma le cfre relatve a queste bas soo sempre espresse forma bara (rappresetaoe msta). Per esempo base B=10 l umero x=945 sarà rappresetato attraverso la sequea delle sue tre cfre espresse forma bara: 1001 (=9), 0100 (=4), 0101 (=5): x= 1001 0100 0101. E' evdete lo spreco d memora t tale rappresetaoe msta ella quale og cfra, per essere espressa base 2, ha bsogo d 4 poso. Queste 4 poso o sarao ma sfruttate tutte le loro possbl cofgurao, pochè la cfra massma è 1001 (=9). Se la base è ua potea d 2, B=2 p allora la rappresetaoe msta è ottmale e cocde co quella base 2. Ad esempo base B=8 (p=3) cosderamo l umero x=537= 5 8 2 +3 8 1 +7 Le sue cfre, espresse forma bara, ecesstao d 3 poso e soo: 101 (=5) 011 (=3) 111 (=7) La rappresetaoe msta sarà duque: x=101 011 111. La stuaoe è ottmale quato le cfre della base 8 soo espresse da tutte e sole le tere d cfre bare E' facle verfcare che tale alleameto d cfre bare è lo stesso della rappresetaoe d x base 2. A tale scopo s osserv che 8=2 3 e potee d 2, s ha: 8 2 =2 6 e, svluppado le cfre d x x= (101) 2 6 +(011) 2 3 +(111)=(1 2 2 +0 2+1)2 6 +(0 2 2 +1 2+1)2 3 +(1 2 2 +1 2+1) = 1 2 8 +0 2 7 +1 2 6 +0 2 5 +1 2 4 +1 2 3 +1 2 2 +1 2+1. Qud l passaggo d x da base 2 a base 2 p s ottee drettamete raccogledo le cfre d x a grupp d p a partre dalla fe, ed esprmedo og gruppo co la corrspodete cfra della base 2 p 4
5 ESEMPIO: da base 2 a base 8 x= 11111101001 { { { { x= 3 7 5 1 ESEMPIO: da base 2 a base 16(=2 4 ). Suppoamo che le cfre della base 16 sao (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) x=1000111100101011 123 123 123 123 x= 8 F 4 B Poche regstr delle utà artmetche e dspostv d memora d u calcolatore cosetoo l'allocaoe d u umero fto d cfre bare o s possoo, geerale, memorare tutte le cfre preset ella rappresetaoe ormale del umero. Vegoo qud assegate delle poso d memora per l sego, per l'espoete e per la matssa del umero. Schematamo, per l mometo, la rappresetaoe del umero ella forma: sego espoete matssa L'seme M de umer rappresetabl tal modo su u determato calcolatore soo dett umer d maccha e la loro rappresetaoe, detta rappresetaoe vrgola moble o floatg pot, e del tpo: =±B p b 0,b 1...b t co b 0 0 Ovvamete M e u sottseme fto de umer real e s osserv che la dstaa tra due umer d maccha successv o e costate ma dpede dal umero stesso. Ifatt, detto l umero d maccha successvo a modulo s ha: = ±B p ( b 0,b 1...b t +0,0 1). - = B p 0,0 1 = B p-t Og calcolatore adotta ua partcolare rappresetaoe per propr umer d maccha e la fuoe che assoca al umero reale x l umero d maccha che lo rappreseta o che lo approssma vee dcata geercamete co =fl(x). 5
6 -------------------------------------------------------------------------------------------- Stadard IEEE L'ampea dello spao dedcato all'espoete ed alla matssa, oche le modalta della loro memoraoe, vara da calcolatore a calcolatore e e rappreseta ua caratterstca fodametale. Ua cofguraoe molto dffusa è quella stablta dallo stadard dell'ieee (Isttute of Electrcal ad Electroc Egeers) che assega u'area d 32 poso per la semplce precsoe e 64 per la doppa precsoe così dstrbute 1 posoe per l sego 8 o 11 poso per l'espoete 23 o 52 poso per la matssa. Nella semplce precsoe, le 8 poso bare dedcate all'espoete cosetoo d rappresetare umer da 0 a 2 8-1=255. I realtà gl estrem 0 e 255 soo rservat ad altr scop e qud umer utl soo compres tra 1 e 254. Se p è l'espoete della rappresetaoe ormale d x, ell'area oggetto verrà allocato l umero q=p+127. D coseguea p può varare tra -126 e 127. Per quato rguarda la matssa della rappresetaoe floatg pot d x, poche la parte tera e sempre 1, ello spao ad essa dedcato verra memorata solo la sua parte decmale. Pochè base 2 la matssa pù pccola è 1.00000...0 e la pù grade è 1.11111...1 (<2), l pù pccolo umero postvo rappresetable è 2-126 metre l pù grade è quas 2 128. Aalogamete el caso della doppa precsoe. Se durate le operao s va al d sotto o al d sopra d tal valor, l'utà artmetca segala rspettvamete errore d uderflow o overflow. Lo ero e rappresetato dalla sequea d 32 o 64 er. ---------------------------------------------------------- Se le cfre decmal della matssa d x soo umero superore a t dobbamo operare qualche approssmaoe per la sua memoraoe. Tra var mod d operare c soo sostaalmete 2 stratege, quella del trocameto e quella dello arrotodameto. Sa x =± 2 p 1,b 1...b t b t+1... l umero reale da memorare. Il trocameto cosste semplcemete el trascurare tutte le cfre decmal della matssa successve alla t-esma. Avremo qud: 6
7 tr(x)=± 2 p 1,b 1...b t e la sua memoraoe el regstro sarà: ± q b 1...b t co u errore x-tr(x) 2 p-t L'arrotodameto vece è defto el seguete modo: arr(x)=± 2 p 1,b 1...b t se b t+1 =0 arr(x)=± 2 p (1,b 1...b t +0,0 1) se b t+1 =1 I altre parole arr(x) e defto come l trocameto =tr(x) se la t+1 esma cfra è 0 oppure l umero d maccha successvo d tr(x) se la t+1 esma cfra è 1, e pu precsamete, quello de due che e pù vco ad x. Qud l errore sara al pù par alla metà della dstaa tra l umero e l suo successvo ( ). S osserv che, rspetto a modul, el prmo caso s ha ua approssmaoe per dfetto ( seso debole), el secodo per eccesso ( seso forte). I quest'ultmo caso s ha: arr(x)=± 2 p 1,b 1...b t ± 2 p 0,0...1 = ± 2 r 1,a 1...a t e la sua schemataoe sarà: sego espoete a 1...a t I umer tr(x) e arr(x) soo dett etramb rappresetao vrgola moble (floatg pot) del umero x. L'seme de umer rappresetabl su u determato calcolatore soo dett umer d maccha. Og calcolatore adotta ua rappresetaoe per propr umer d maccha e la fuoe che assoca al umero reale x l umero d maccha tr(x) oppure arr(x) vee dcata geercamete co fl(x) (approssmaoe: floatg pot del umero reale x). Voglamo ora aalare l'errore che s compe el sostture x co fl(x). Come abbamo ga osservato, rspetto a modul l trocameto è u'approssmaoe sempre per dfetto, metre ell'arrotodameto l tpo d approssmaoe dpede dalla prma cfra trascurata. Per quato rguarda l modulo dell'errore s ha: 7
8 x - tr(x) = 2 p 1,b 1...b t b t+1... - 2 p 1,b 1...b t = 2 p 0,0...0b t+1... 2 p-t x-arr(x) 1 - tr(x) 2p-t-1. 2 L ultma relaoe e gustfcata dal fatto che arr(x) e dato da tr(x) o dal suo successvo I geerale: -fl() ρ2 p-t 1 dove ρ= 1 2 el trocameto ell'arrotodameto L'errore dpede duque o solo dalla lughea t della matssa ma ache da p, coè dall'orde d gradea del umero. Per quato rguarda vece l'errore relatvo, pochè 2 p, s ha: -fl() ρ2 -t La quattà ε :=ρ2 -t è detta precsoe d maccha o epslo d maccha o utà d arrotodameto ed è u parametro caratterstco del calcolatore. I coclusoe la relaoe che lega u umero reale alla sua rappresetaoe fl() è: fl()=(1+u) co u ε (0.2) S vede faclmete che ε rappreseta l pù pccolo umero reale che sommato ad 1 da come rsultato u umero floatg maggore d 1. La cooscea d questo parametro è esseale per u cotrollo della propagaoe dell'errore ell'esecuoe de var algortm che vedremo el corso. L'epslo d maccha s può calcolare co l seguete algortmo: e=1 =0 whle 1+e > 1 e=e/2 =+1 ed prt (-1,2 * e) ed I valor output -1 e 2 * e soo rspettvamete l umero delle cfre decmal della matssa e l'epslo d maccha. La doppa precsoe dello stadard IEEE forsce l valore ε=2-52 =2.22044... 10-16. 8
9 3. OPERAZIONI DI MACCHINA E PROPAGAZIONE DEGLI ERRORI. E' charo che umer d maccha o soo u seme chuso rspetto alle operao elemetar. Coè l rsultato d ua operaoe artmetca tra due operad apparteet all'seme de umer d maccha o è ecessaramete u umero d maccha. Se per esempo s moltplca per 2 l pù grade umero d maccha ammssble l rsultato o sarà certamete u umero d maccha. Se s esegue la dvsoe d 1 per 3, pur essedo etramb gl operad umer d maccha l rsultato o lo è. Il prodotto d due umer co t cfre decmal è, geerale, u umero co 2t cfre decmal, e così va. Detta x y ua geerca operaoe tra due operad pres ell'seme de umer d maccha ( :M R, dove M è l seme de umer d maccha), dchamo co x y l rsultato forto dall'utà artmetca. Nell'esegure u'operaoe, che chameremo operaoe d maccha (*:M M), s commetterà geerale u'errore rspetto all'operaoe. Tale errore dpede dalla lughea de regstr dell'utà artmetca che possoo essere lugh fo al doppo de regstr d memora. Per le ostre aals faremo la seguete potes d lavoro: x y= fl(x y) I altre parole, ua operaoe d maccha cocde co l'approssmaoe floatg del rsultato dell' operaoe esatta. L'errore relatvo sarà, base alla (0.2), x y-x y =u co u ε. x y Qud ua sgola operaoe tra umer d maccha da luogo ad u errore relatvo dell'orde d ε ed è qud accettable dal puto d vsta dell'approssmaoe. Se però l rsultato d questa operaoe è a sua volta l dato d ua operaoe successva, l'errore sul dato s propagherà el rsultato fale. La msura d tale propagaoe dpederà da quato la secoda operaoe è sesble alle perturbao su dat. S cosdero per esempo le seguet formule, che possoo essere terpretate come tat algortm per l calcolo dello stesso umero: 2 1 2 + 1 = 99 70 2 = 3 = ( 2 1) 6 = ( 3 2 2) 3 = ( 2 7) 2 1 ( 2 + 1) 6 = 1 99 + 70 2 5 = = 0.0050506339... 9
10 Tutte rchedoo l calcolo prevetvo d 2 (=1,4142135...) che sarà ecessaramete dato forma approssmata. Suppoamo oltre che calcol ecessar per og formula sao esegut sea errore. Per esaltare l'effetto voluto cosderamo le seguet approssmao d 2 : 2 1.4 co errore relatvo u=0,01 2 1.414 co errore relatvo u=0.00015 S ottegoo seguet valor: 2 1.4 errore relatvo 1 2 1 2 + 1 ( 2 1) 6 2 ( 2 2) 3 3 3 ( 5 2 7) 2 4 3 2 1.414 errore relatvo 0,00463 0,1 0,0050441 0,002 0,004096 0,2 0,0050349 0,002 0,008 0,6 0,0050884 0,006 0 1 0,0049 0,002 5 99 70 2 1 200 0,02 3 1 ( 2 + 1) 6 6 7 0,00523 0,05 0,0050533 0,0006 1 99 + 70 2 0,0050761 0,0052 0,0050510 0,000074 Dalla precedete tabella s osserva che lo stesso errore sul dato 2 produce effett molto dvers sulle vare formule proposte. Alcue d esse rducoo l'errore sul dato, altre lo amplfcao eormemete. Le formule 5 e 7 soo rspettvamete la pù stable e la pù stable rspetto alle perturbao sul dato 2. I partcolare la formula 5 amplfca l'errore relatvo su 2 d u fattore 20.000 metre la formula 7 lo rduce d u fattore 0,5. Per capre l'orge d tale dverstà d comportameto, basta terpretare le 7 formule proposte come valor delle seguet fuo el puto x= 2 : x x 1 + 1 3 ; ( x 1) 6 ; ( 3 2x) 3 ; ( 5x 7) 2 ; 1 99 70x ; ( ) 6 x + 1 ; 1 99 + 70x E' charo che la formula corrspodete alla fuoe che possede la dervata x= grade, è quella che maggormete propaga l'errore sul dato. 2 pù Suppoamo pù geerale d avere de dat x 1, x 2,..,x ed ua fuoe d quest ultm che dcheremo co 10
11 =f(x 1, x 2,..,x ). Suppoamo ora d perturbare dat e d calcolare la fuoe f su dat perturbat: = f(x1,x2,...,x ) dove: x 1 =x1 (1+ε 1 ) x 2 =x2 (1+ε 2 )... x =x (1+ε ) Per effetto d tal perturbao su dat, otteamo ua perturbaoe relatva sul rsultato del tpo. Rguardo alla relaoe tra queste perturbao, damo la seguete defoe: Defoe: Dremo che l problema =f(x 1, x 2,..,x ) è stable (o be posto) se la perturbaoe sul rsultato è dello stesso orde d gradea delle perturbao su dat. Per ua stma della quattà - trocato a term del prm'orde: cosderamo lo svluppo d Taylor della fuoe f = f(x1,x2,...,x f f f ) = f(x1, x 2,..,x ) + x 1 ε 1 + x x 2 ε 2 +...+ x 1 x ε 2 x f f f = + x1 ε 1 + x x 2 ε 2 +...+ x 1 x ε 2 x - = x 1 f ε x 1 + x 2 1 f x 2 ε 2 +... + x f x ε Otteamo cos la seguete stma dell'errore relatvo su fuoe degl error relatv su dat: - =K 1 ε 1 + K 2 ε 2 +... + K ε dove umer K 1 = x 1 codoameto del problema. f, K x 2 = x 2 f... 1 K x = x f 2 x soo dett dc d 11
12 Gl dc K rappresetao fattor d amplfcaoe delle perturbao relatve su dat. Se K 1 dremo che l problema è stable o be posto, metre se qualche K >> 1 dremo che l problema è stable o mal posto. Cosderamo acora la formula 5 dell'esempo precedetemete trattato ed osservamo che la corrspodete fuoe 99-70x ha, x= 2, la dervata uguale a -70 e qud l'dce d codoameto è 2 70 K 0.00505... 20000 che corrspode esattamete all'amplfcaoe dell'errore che avevamo gà osservato. Ache per la formula 7 la precedete aals dffereale forsce u dce d codoameto perfettamete adeguato a rsultat della tabella ( K =0.5). Il lettore verfch che la moltplcaoe e la dvsoe soo operao be poste per og coppa d operad, metre la somma è be posta per operad d sego uguale. Per quado rguarda vece la somma d added dscord, coè la sottraoe, essa può essere mal codoata. Ifatt, dett e = x + y =x(1+εx ) + y(1+ε y ), s ha: =x+xεx + y + yε y = + xε x + yε y = x εx + y εy Se x ed y soo d sego opposto almeo uo degl dc d codoameto x/(=k 1 ) e y/(=k 2 ) è maggore d 1 e possoo essere grad quado la somma è pccola rspetto agl added. La sottraoe tra addet quas ugual è duque l'uca operaoe elemetare che rsulta stable S osserv che questo è esattamete cò che accade ella formula 5 degl esemp precedet. Cosderamo pù geerale u algortmo coè ua sequea ordata d operao elemetar co le qual s ottee la soluoe d u determato problema. Sccome og operaoe della sequea verrà eseguta come operaoe d maccha, 12
13 og passo d questa sequea da orge a due compoet d errore. La prma è dovuta all'approssmaoe delle operao d maccha e, accordo co la ostra potes d lavoro, o supera l'utà d arrotodameto. I qualche caso questa compoete d errore può essere ulla. La secoda, pù mportate e "percolosa", è dovuta alla propagaoe dell'errore accumulato fo al passo precedete. Essa dpede esclusvamete dalla atura stable o stable dell'operaoe che s compe el passo cosderato. Per meglo afferrare questo puto cosderamo l seguete esempo. Sa dato l problema =a + b + c per l quale cosderamo due possbl algortm: 1 algortmo: = (a + b) + c 2 algortmo: = a + (b + c) L'aals dell'errore el prmo algortmo forsce: ξ = fl(a + b) = (a + b)(1 + ε 1 ) = fl(ξ + c) = (ξ + c)(1 + ε2 ) ε 1 ε ε 2 ε da cu s ottee, trascurado l terme ε 1 ε 2 : = ((a + b)(1 + ε1 ) + c)(1 + ε 2 )= + (a + b)ε 1 + ε 2 (0.3) - = a + b ε 1 + ε 2 Per l secodo algortmo s ottee ua aaloga stma dell'errore relatvo del tpo: ' - = b + c ε' 1 + ε' 2 co ε' 1 ε e ε' 2 ε. E' evdete che tra due algortm è pù stable quello corrspodete al pù pccolo tra gl dc d codoameto a + b e b + c. S eseguao calcol e l'aals dell'errore de due algortm su seguet dat: a = 0,14254679 10-2 b =-0,18437533 10 2 c = 0,18436111 10 2. 13
14 Complemet alla teora degl error U approcco geerale per l'aals dell'errore d u algortmo applcato ad u assegato problema è forto dalla seguete aals all'detro. Essa s basa sul fatto che u algortmo per l calcolo d =f(x 1, x 2,..,x ) eseguto co operao d maccha forsce u rsultato effettvo corrspodete al valore esatto della fuoe f calcolata su dat perturbat x =x (1+ε ): = f(x1,x2,...,x ). L'aals all'detro cosste ello stmare valor ε term dell'utà d arrotodameto: ε =c ε. I umer c soo chamat dc d codoameto dell'algortmo. Defoe: U algortmo s drà stable o be codoato se forsce la soluoe esatta d u problema perturbato co error relatv ε dell'orde d gradea dell'utà d arrotodameto. Ua volta eseguta l'aals all'detro s esegue l'aals della stabltà del problema fuoe delle perturbao ε su dat. S ottee così la stma dell'errore: - =K 1 ε 1 + K 2 ε 2 +... + K ε =(K 1 c 1 + K 2 c 2 +... + K c )ε Co questa aals s può dstguere la stabltà o stabltà del problema da quella dell'algortmo. Nell'esempo precedete s vede, dalla (0.3), che l prmo algortmo equvale al calcolo d : = a(1 + σ) + b(1 + σ) + c(1+ε2 ) co σ 2ε e ε 2 ε metre l secodo equvale a: ' = b(1 + σ') +c(1 + σ') + a(1+ε'2 ) co σ' 2ε e ε' 2 ε 14
15 Gl algortm appaoo etramb stabl quato forscoo la somma esatta d tre added affett da ua perturbaoe o superore a 2ε. Quado s va però ad aalare l'effetto d tal perturbao sul problema =a+b+c s ottee: a + b σ + c = 2 ε 2 b + c a = σ ' + ε ' 2 per l prmo algortmo per l secodo algortmo. Rspetto a tal perturbao su dat, l problema può essere be o mal codoato, a + b b + c c a dpede dagl dc d codoameto,, e. Per valor propost d a,b e c l problema è mal codoato ed a cò è dovuta la dsastrosa propagaoe dell'errore che s rscotra. I partcolare s osserv che l prmo algortmo è peggore del secodo. Come applcaoe della teora svolta, suppoamo d voler calcolare l valore del polomo: p(x)=a x +a -1 x -1 +...+a 1 x+a 0 Cò può essere fatto sostaalmete due mod, attraverso lo schema aturale e lo schema d Horer. Schema aturale: dat: x, a 0,..., a s=1 p=a 0 per =1,2,..., fe scrv p s=s x p=p+a s Il costo computaoale è d somme e 2 moltplcao. 15
16 Schema d Horer: Il metodo d Horer s basa sul fatto che l polomo p(x) può essere scrtto ella seguete forma: p(x)=(..(((a )x+a -1 )x+a -2 )x+...+a 1 )x+a 0 da cò s rcava lo schema: dat: x, a 0,..., a p=a per =1,2,..., fe scrv p p=p x+a - U prmo vataggo dell'algortmo d Horer cosste el more costo computaoale che s rduce a somme ed moltplcao. Il prcpale vataggo però sta ella sua maggore stabltà rspetto allo schema aturale. Per vedere cò eseguamo le aals all'detro. Aals all'detro dello schema aturale: Idcado come al solto co f(w) l rsultato d maccha della fuoe f(w), s vede che l'ultmo passo dell'algortmo aturale è: Pochè : = 0 ax -1-1 = fl a ( ( ) x + fl a fl x x = 0-1 a x = 0 + fl a -1 a x = 0 + a fl x x -1 = 0 = -1 ( fl( x x ) ( 1+ ε ) -1 ( ( ))( 1+µ ) ( 1 ε ) + a x + -1 ( a x x )(1+ ρ )( 1+ µ ) ( 1+ ε = = ) 16
17-1 -2 x = x x ( 1ρ-1) =...= x ( 1ρ2)...( 1ρ -1) -1 s ottee: = 0 ax = -1 = ax + ax ( 1+ ρ2 )( 1+ ρ3 )...( 1+ ρ )( 1+µ ) ( 1+ ε ) 0 dove tutte le perturbao preset soo d modulo ferore all'utà d arrotodameto ε. Per semplfcare la otaoe ed calcol, suppoamo che per og prodotto d k perturbao d questo tpo s abba: k-1 (1+ λ ) ( 1+ kε). =0 S ottee qud: = 0 ax = -1 a x ( 1+ ε) a x ( 1+ ( +1) ε) 0 + Applcado rcorsvamete la formula appea trovata s ha: -1 = 0 ax dalla quale s ottee: = 0 ax = -2-1 a x ( 1+ ε) a x ( 1+ ε) 0 = -2 + -1-1 a x ( 1+ 2ε) + a x ( 1+ ( +1) ε) a x ( 1+ ( +1) ε) 0 Cotuado co le sosttuo s trova: = 0 ax -1 + 2 a ( 1+ ε) a x( 1+ ( +1) ε) + a x ( 1+ ( +1) ε) +... a x ( 1+ ( +1) ε) 0 1 2 + +. Abbamo qud scoperto che gl error d arrotodameto el metodo aturale hao l'effetto d produrre l valore, ello stesso puto x, d u polomo p'(x)=a' x +a' -1 x -1 +...+a' 1 x+a' 0 co coeffcet perturbat secodo le stme: a' 0 a 0 (1+ε) a' a (1+(+1)ε) =1,2,..., 17
18 Aals all'detro dello schema d Horer: Aalogamete a quato fatto per lo schema aturale, l'ultmo passo del cclo dello schema d Horer è: p = fl( a fl( x ) 0 p -1 co le stesse semplfcao del caso precedete, s ottegoo le stme: I modo aalogo s trova: da cu: p ( a0 fl( x p -1 ) ( ( x p )(1+ )) (1+ε) a 0-1 ε (1+ε) a (1+ ε) + x p (1+ 2 ε). 0-1 p -1 a(1+ ε) + xp (1+2) ε 1-2 p a (1+ ε) + x a (1+3 ε) + x p (1+4 ε ). 0 1 2-2 Procededo modo rcorsvo s ottee fe che lo schema d Horer equvale al calcolo esatto, ello stesso puto x, d u polomo p'(x)=a' x +a' -1 x -1 +...+a' 1 x+a' 0 co coeffcet perturbat secodo le stme: a' a (1+(2+1)ε) ì=0,1,...,-1 a' a (1+2ε). Per cocludere l'aals della stabltà e per poter fare u cofroto tra due schem occorre studare la stabltà del valore del polomo p(x) rspetto alle perturbaoe su coeffcet. L'aals dffereale per l polomo p, vsto come fuoe de suo coeffcet: p(x)= f(x,a 0,a 1,...,a ) 18
19 rspetto al polomo perturbato p(x)=f(x,a 0 (1+ε 0 ),a 1 (1+ε 1 ),...,a (1+ε )) forsce: p - p p = a 0 p f ε a 0 + a 1 0 p f ε a 1 +... + a 1 p f a ε = p 1 (a0 ε 0 +a 1 ε 1 x +...+a -1 ε -1 x -1 +a ε x ) dove ε soo le perturbao relatve su coeffcet. Per lo schema aturale s ha: p - p p = ε p (a 0 +(+1)(a 1 x +...+a x )) metre per lo schema d Horer s ha: p - p p = ε p (a 0 +3a 1 x +5a 2 x2...+(2-1)a -1 x -1 +2a x )). Dal cofroto s osserva che, sebbee per valor grad d x lo schema aturale appare geerale leggermete pù stable, lo schema d Horer è molto pù stable per valor d x pccol. Ioltre accade che elle comu applcao, qual le approssmao sere d potee, coeffcet de term d grado alto soo pccol e cò rduce l'evetuale vataggo dello schema aturale. 19
20 20