Rcie crrée iverse pr l méthode de Newto Jorel Rphël
Formule de Newto L défiitio de l suite (x ) vue e cours est : x +1 = x f(x) f (x ) x 0 doé Rcie de 1/ Pour clculer 1/, il ous fut trouver ue foctio f telle que s rcie α = 1/. L rcie d ue foctio se clcule grâce à l formule f(α) = 0. α = 1 1 α = 1 α = 1 α = 0 Nous trouvos doc l foctio f(x) = 1 x f(x ).. Clculos mitet le terme x +1 e foctio de x et de f (x) = ( 1 x ) = ( 1 x ) = (x ) = x = x x +1 = x f(x ) f (x ) = x 1/x /x = x (1.x )/x /x = x 1.x = x (1.x /x ) x Au fil, = x.x x = x.x + x = x.x x +1 = 1 x (.x ) = 1 x (.x ) Vleur iitile Pour obteir l vleur iitile, il deux solutios : soit o l fixe, pr exemple à 1.0, soit o l cherche ds ue tble répertorit des pproximtios de rcies crrées iverses. Evidemmet, ous cherchos l pproximtio l plus proche du ombre dot ous cherchos l rcie crrée iverse. Covergece Ue méthode coverge si l suite de vleur qu elle clcule fit de même. lim x = L, L N A chque étpe, l erreur de précisio dimiue, cr l méthode se rpproche à chque itértio de l vleur excte de l rcie crrée iverse. Doc, ous vos l reltio suivte, vec ɛ i l erreur de précisio à l itértio i et ɛ i+1 à l itértio i + 1 : ɛ i+1 < ɛ i Itervlle Supposos mitet que x i ]0, [ et vérifios que l formule précédete coverge ds cet itervlle. Rppelos que > 0 pour tous ces clculs. Commeços pr ecdrer ɛ i+1. 0 < x i < 0 < x i < <.x i < 0 0 <.x i < 0 < 1 x i(.x i ) < x i 0 < x i+1 < x i 1
1 x i < 1 x i+1 < 1 1 x i < ɛ i+1 < 1 Fisos de même vec ɛ i. 1 < ɛ i < 1 1 < ɛ i < 1 A préset, utilisos les deux ecdremets pour trouver l équtio recherchée. ɛ i+1 ɛ i < 1 1 ɛ i+1 ɛ i < 0 ɛ i+1 < ɛ i Mlheureusemet, cette preuve est totlemet fusse, ous pourrios très bie fire ɛ i ɛ i+1 < 1 1 ɛ i ɛ i+1 < 0 ɛ i < ɛ i+1 Je i ps réussi à trouver l démostrtio de cette équtio. Il e est de même pour prouver que si x i [0, [ lors x i+1 églemet. Si l o repred l ecdremet de ce derier Doc logiquemet cr 0 < x i < Erreurs. Or > 1 doc < 0 < x i+1 < x i 0 < x i+1 <. Cel e permet doc ps de prouver que x i+1 [0, Etudios mitet l covergece de l méthode de l rcie crrée iverse. Pour cel, commeços pr exprimer ɛ i e foctio de ɛ i 1, fi d voir ue idée de l vitesse de covergece de cette méthode. ɛ 0 = 1 x 0 ɛ 1 = 1 x 1 = 1 1 x 0(.x 0) [. Il vous ous flloir exprimer ɛ 1 e foctio de ɛ 0 fi de géérlisé à ɛ i pr l suite. Pour cel, ous llos procéder pr idetifictio. ɛ 1 = 1 1 x 0(.x 0) = 1.x 0 x 0 + 1 ɛ 1 = ( 1 x 0 )(m.x 0 +.x 0 + k) = m x 0 + x 0 + k m.x 0.x 0 k.x 0 = m.x 0 + ( m ).x 0 + ( k).x 0 + k Mitet, pr idetifictio, ous trouvos m = 1 m = 0 k = k = 1 m = 1 = 1 1 = k = 1
Nous ous retrouvos doc vec l équtio ɛ 1 = ( 1 x 0 )( 1.x 0 x 0 + 1) = ɛ 0 ( 1.x 0 x 0 + 1) Et ous pouvos géérlisé à ɛ i cr ous remrquos que ɛ 1 e déped que de ɛ 0 et x 0. De ce fit ɛ i = ɛ i 1 ( 1.x i 1 x i 1 + 1) Erreurs L vitesse de covergece est qudrtique. E effet, ous vos u polyôme du d degré ds l expressio de ɛ i e foctio de ɛ i+1. Foctio de clcul e C Voici l foctio clcult l rcie crrée iverse pr l méthode de Newto, pour [1, [. Ses prmètres sot : vleur dot o cherche l rcie crrée iverse, bit ombre d itértios à effectuer (iflue sur l précisio du clcul). f l o t ivsqrt ( f l o t, it bit ) it i; f l o t x = 0.0; i f ( >= 1 && < ) for (i = 0, x = 1.0 ; i < bit ; i ++) x = (x * ( - * x * x)) / ; retur x; Comprisos Nous vos vu précédemmet que l vleur de x 0 pouvit être détermiée grâce à ue vleur pprochée de l rcie crrée iverse, stockée ds ue tble extere. Ds le progrmme précédet, ous vos fixé x 0 à 1.0. Nous disposos mitet de 9 tbles cotet des vleurs iitiles pour le clcul de 1/. Ces tbles vot de isqrt_prec4 à isqrt_prec1, chque isqrt_precx désige ue tble de X 1 vleurs. Pour ller chercher ue vleur ds l ue de ces tbles, ous extryos les X bits de poids fort de l mtisse (ss compter le 1 implicite), que ous utilisos comme idice. Cel ous doe u code tel que suit : cost double * itb_ prec [] = isqrt_prec4, isqrt_prec5, isqrt_prec6, isqrt_prec7, isqrt_prec8, isqrt_prec9, isqrt_prec10, isqrt_prec11, isqrt_ prec1 ; f l o t ivsqrt ( f l o t, it prec, it bit ) it i; f l o t x = 0.0; i f ( >= 1 && < ) x = itb_prec [ prec - 4][((*( it *) &) >> ( - prec )) & ((1 << prec ) - 1) ]; for (i = 0 ; i < bit ; i ++) x = (x * ( - * x * x)) / ; retur x; Evidemmet, les tbles yt plus de vleurs permettet de se rpprocher plus de celle recherchée à l fi. Compros doc mitet l vitesse de covergece selo chque tble. Pour mesurer cette derière, ous
llos tout simplemet comprer le ombre de décimles commues etre l vleur excte et celle que ous clculos de l rcie crrée iverse. Le ombre fil de chiffres corrects près l virgule se bloquet à 6. Même vec plus d itértios, ous de dépssos ps cette vleur. Nous costtos que les tbles de plus grdes précisios se rpprochet plus vite du ombre fil de chiffres corrects. Ce qui prît ssez logique... 4