Metode pentru calcularea rădăcinii pătrate

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

1leftarrow blue.svg Element principal: rădăcină pătrată .

Această intrare este dedicată numeroaselor metode care au fost utilizate pentru a calcula rădăcinile pătrate ale numerelor reale pozitive, sau mai bine zis, pentru a calcula rădăcinile pătrate principale ale numerelor raționale.

Note istorice

Primii care s-au ocupat de problema extragerii rădăcinii pătrate a unui număr au fost babilonienii. Aceștia, printre primii care au folosit un sistem de numerotare pozițională, au dezvoltat o procedură pentru extragerea rădăcinii pătrate, care este adesea atribuită matematicienilor de mai târziu, precum Archita (428 - 365 î.Hr.) sau Eroului Alexandriei (care a trăit între Secolele I și II d.Hr.) sau către Newton .

Babilonienii obținuseră o valoare de egal cu 1.414222 cu o eroare de aproximativ 0,000008 din valoarea reală. Există puține informații biografice despre Hero of Alexandria, un matematician și om de știință grec. S-a ocupat de mecanică, matematică și fizică. Lui îi datorăm formula (numită exact formula lui Heron) prin care să calculăm aria oricărui triunghi, notăm laturile sale. El a studiat metode aproximative pentru rezolvarea problemelor de măsurare, atât în ​​geometrie, cât și în geodezie și a inventat o metodă pentru aproximarea rădăcinilor pătrate și cubice ale numerelor care nu sunt pătrate sau cuburi perfecte și exact metoda de aproximare a rădăcinilor pătrate pe care vrem să le ocupăm. cu.

Metoda babiloniană

Având o valoare , un algoritm pentru aproximare folosit în mod obișnuit este cunoscut sub numele de metoda babiloniană și exploatează aceleași principii codificate atunci în metoda lui Newton . Această metodă funcționează după cum urmează:

  1. Poni și începe cu o valoare pozitivă arbitrară (cu cât este mai aproape de rădăcină, cu atât este mai bună convergența algoritmului)
  2. a inlocui cu media de Și
  3. creșteți nu mergeți la punctul 2

Acest algoritm poate fi reprezentat de

din care derivă .

Interpretarea geometrică

Având un număr pozitiv, rădăcina sa pătrată poate fi văzută ca partea unui pătrat a cărui suprafață este adecvată la fel. Ideea este să folosiți dreptunghiuri care au aceeași zonă a pătratului să ajungă prin aproximări succesive pentru a avea exact pătratul pe care îl căutăm.

Deci, să ne imaginăm începând cu o anumită valoare pentru partea dreptunghiului nostru: cealaltă parte va măsura . Luând media acestor două valori

avem două posibilități:

  • media este egală cu , așa că am găsit deja ;
  • media este diferită de .

În acest al doilea caz numim această valoare medie și procedați în același mod ca pentru cel folosit : calculăm valoarea cealaltă parte a dreptunghiului de zonă și lateral , obținem o nouă valoare medie si asa mai departe.

Vom da naștere unei succesiuni de dreptunghiuri de echestezie ale căror laturi vor fi mai apropiate în lungime la fiecare pas, obținând la limită un pătrat și deci valoarea corectă a rădăcinii lui . Metoda oferă un răspuns corect în număr finit de pași, pentru orice eventualitate este un pătrat perfect.

Demonstrație de convergență

Pentru a demonstra corectitudinea acestei metode, luăm secvența încercând să evaluăm dimensiunea elementului în ceea ce privește : ceea ce putem spune imediat este că atât termenii succesiunii cât și sunt numere reale pozitive . Al n-lea termen al secvenței este:

Al doilea factor al celei de-a doua egalități este de tipul

funcție care are un punct minim absolut în primul cadran pentru în care este egală cu 2. În special, valoarea 2 este asumată de funcție numai atunci când , în timp ce crește în altă parte. Din cele spuse rezultă că

și asta înseamnă că, luată o valoare inițială , toate celelalte valori din inclusiv înainte nu poate fi mai mic de . Din aceeași formulă rezultă că

Deci, luând formula pentru , primesti

Aceasta implică faptul că secvența este în scădere și este inclusă între valori Și , deci este limitat. Deoarece o secvență monotonă converge dacă și numai dacă este delimitată, există o valoare la care converge succesiunea noastră.

Să evaluăm acum abaterea termenului (n + 1) -al de la :

Aplicând recursiv următoarea inegalitate:

obții asta pentru fiecare există o valoare astfel încât pentru fiecare

și cu aceasta se demonstrează convergența secvenței a . Acest lucru sugerează, de asemenea, că convergența este foarte rapidă: pentru fiecare pas, distanța de la valoarea reală este cel puțin înjumătățită, făcând scăderea exponențială .

Viteza convergenței

Pentru a înțelege mai bine viteza de convergență a acestei metode de calcul, să spunem . Prin exploatarea relației recursive oferite de metoda însăși, avem:

De vreme ce s-a dovedit că pentru fiecare termen al secvenței deține , asa de

Acum, aplicând relația de recurență înapoi și plasând pentru simplitatea notării , poti sa o obtii

unde este este un număr întreg între 2 și . Când, în special, există , rezultă că

Această ultimă relație demonstrează că metoda babiloniană este excelentă pentru calcularea rădăcinii pătrate, deoarece convergența sa este foarte rapidă. De fapt, este suficient să luăm cum o valoare astfel încât

pentru a face valoarea între paranteze rotunde mai mică de 1 și pentru a face totul să scadă extrem de repede (exponențialul unui exponențial). Această alegere a se poate face întotdeauna pentru că ne găsim lucrând cu o succesiune descrescătoare.

Exemplu de utilizare

De exemplu, deoarece rădăcina pătrată a lui 2 trebuie să fie între 1 și 2, estimăm că este în jur de 1,5. Aplicând în mod repetat formula obținem următoarele valori:

;

în acest fel în al patrulea pas avem valoarea rădăcinii pătrate a 2 corectată la a șasea zecimală.

Acest algoritm funcționează la fel de bine pentru numerele p-adic , dar nu poate fi utilizat pentru a identifica rădăcini pătrate reale cu indexul rădăcinii p-a. Referindu-ne la această metodă, este ușor, de exemplu, să construim o succesiune de numere raționale care converg către în real, dar a în 2-adici.

Aproximare Bakhshali

Metoda Bakhshali este un alt mod de a găsi o aproximare a rădăcinii pătrate a unui număr care a fost descris într-un manuscris antic cu numele de Bakhshali Manuscript deoarece a fost descoperit în 1881 lângă satul Bakhshali (sau Bakhshalai) în cătunul Yusufzai din districtul Peshawar (acum parte a Pakistanului ). Textul a fost scris în limba Sarada pe scoarță de mesteacăn .

Aproximarea Bakhshali a rădăcinii pătrate se obține aplicând de două ori aproximarea simplă.

Cu notațiile anterioare pe care le introducem

Dezvoltând ecuația devine:

Exemplu de aproximare Bakhshali

Descoperiri

Folosim

Calculul rădăcinii pătrate a unui întreg: algoritmul lui Bombelli

Acest algoritm se aplică notației zecimale (și mai general unei scrieri de poziție în orice bază b ) de numere întregi și furnizează partea întreagă a rădăcinii și orice rest.

Pentru acest calcul începem prin a distinge în scrierea din baza 10 a grupurilor de înrădăcinare a două cifre consecutive începând de la grupul format din cifra unităților și cea a zecilor; grupul celor mai importante cifre poate fi redus la o cifră (ca în exemplul următor). Este convenabil să scrieți rezultatul în construcție deasupra acestei scrieri plasând fiecare cifră a rezultatului deasupra unui grup corespunzător de cifre ale radicandului: de fapt, numărul L al cifrelor zecimale ale rezultatului este egal cu numărul de grupuri de cifre ale radicandul.

Operăm cu trei variabile întregi curente: rezultatul în construcție x , un rest r și o cifră d care trebuie adăugate la scrierea anterioară a lui x . Inițial x și r sunt setate la 0 și următorul bloc de instrucțiuni se repetă de L ori.

  1. Modificați scrierea restului r adăugând cel mai semnificativ grup de cifre (cele mai îndepărtate spre stânga) neutilizate încă. Noi sunam numărul astfel obținut (valoarea curentă).
  2. Găsiți cea mai mare cifră astfel încât nu depăși . Adăugați această nouă cifră la scrierea rezultatului x .
  3. Scădea din și astfel veți obține noua schimbare.

Exemplu: Găsiți rădăcina pătrată a lui 1522759

 1 2 3 4
       | 01 52 27 59 1 primă cifră a soluției
x 01 1 (20 * 0 + 1) = 1 + 1
          00 52 2 2 a doua cifră a soluției
2x 00 44 2 (20 * 1 + 2) = 44 + 2
             08 27 24 3 a treia cifră a soluției
24x 07 29 3 (20 * 12 + 3) = 729 + 3
                98 59 246 4 a patra cifră a soluției
246x 98 56 4 (20 * 123 + 4) = 9856 4
                00 03 Algoritmul se termină: partea întreagă este 1234, iar restul 3

Pentru a adapta algoritmul la o altă bază b decât 10, înlocuiți definiția anterioară a lui y cu . Folosind baza binară, algoritmul se simplifică foarte mult, deoarece la pasul 2, pentru a găsi cea mai mare cifră binară astfel încât , trebuie să încerci doar cu , adică dacă 100 2 x + 1 ≤ c. Dacă inegalitatea se menține, atunci noua cifră a rezultatului este 1, altfel 0.

Estimare asimptotică a timpului luat de algoritm

Pentru a găsi fiecare cifră a rezultatului (în bază binară) sunt necesare următoarele operații:

  1. multiplica pentru 100 2 și adăugați 1 (echivalent cu anexarea 01 la scrierea binară);
  2. o comparație, adică pentru a verifica dacă inegalitatea este satisfăcută;
  3. o diferență între numere care au cel mult un număr de cifre egal cu cel al rezultatului.

Deci, pentru a găsi partea întreagă a rădăcinii unui întreg , dureaza .

Implementare cu o funcție în limbajul C ++

 int intsqrt ( int a , int * pr )
 // Având în vedere numărul întreg pozitiv a, calculați partea întreagă a lui
 // principala rădăcină pătrată și repausul; 
 // pune restul în * pr și returnează rădăcina
 {
 int x , r , dp1 , L , g [ 10 ], j , y , yn ;
 // separați perechile de cifre și calculați numărul de cifre din rădăcină
 L = 0 ; 
 în timp ce ( a > 0 ) 
 { 
   g [ L ++ ] = a % 100 ; 
   a / = 100 ; 
 }  
 // aleargă pentru a găsi următoarele cifre ale rădăcinii
 x = r = 0 ; 
 pentru ( j = L -1 ; j > = 0 ; j - ) 
 { 
   r = r * 100 + g [ j ]; // adăugați noul grup de 2 cifre la restul anterior înmulțit cu 100
   y = 0 ; // determina cifra
   pentru ( dp1 = 1 ; dp1 < 10 ; dp1 ++ )
   { 
     yn = dp1 * ( 20 * x + dp1 ); 
     dacă ( yn <= r ) y = yn ; altfel pauză ; 
   } 
   x = x * 10 + dp1 -1 ; r - = y ;
 } 
 * pr = r ;
 return ( x );
 }

Calculul rădăcinii pătrate cu orice precizie

Algoritmul anterior poate fi adaptat pentru a obține rădăcina unui număr dat de o scriere zecimală (sau pozițională în orice bază) cu orice precizie. De exemplu, luați rădăcina numărului a = 152.3469 cu p = 4 cifre zecimale. În primul rând considerăm numărul întreg A = a * 100 p + 1 = 1523469000000; prin urmare, cu algoritmul anterior găsim rădăcina lui A prin găsirea părții întregi 1234288 și restul 2134056. Prin împărțirea părții întregi la 10 p + 1 , adică la rădăcina factorului multiplicativ anterior, obținem 12.34288 ca valoare implicită . Prin urmare, se poate concluziona că valoarea căutată este 12.3429 și că constituie o rotunjire în sus.

Cu toate acestea, aceste calcule întregi sunt mai scumpe decât calculele aproximative bazate pe considerații geometrice asupra funcției rădăcină pătrată, ca și celelalte prezentate aici. Cu toate acestea, calculele întregi au fost utilizate pentru a verifica acuratețea calculelor de inspirație geometrică.

Rădăcini pătrate folosind metoda iterativă a lui Newton

Metoda lui Newton găsește o singură rădăcină a unei funcții plecând de la cunoașterea unei aproximări suficient de precise a rădăcinii. Această metodă converge foarte repede la soluție, necesită puține operațiuni pentru fiecare iterație și, din punct de vedere al calculului, este ușor de implementat (din acest motiv este utilizată în diverse biblioteci, inclusiv biblioteca standard C ). Se bazează pe iterația exprimată prin:

.

Pentru a găsi rădăcina pătrată a unui număr z sunt utilizate pe scară largă două funcții speciale: Și .

Prima metodă

Prima metodă caută rădăcina pătrată a lui z folosind

Rețineți că acestea sunt rădăcinile funcției este acea , sau asta .

Prima derivată a funcției este

Apoi iterația pentru se obține ca:

Și

.

Rețineți că corespunde exact metodei babiloniene.

A doua metodă

A doua metodă caută reciprocitatea rădăcinii pătrate a lui z folosind funcția

funcție având ca rădăcini Și .

Primul derivat al acestei funcții este .

De aici iterația newtoniană pentru se obține ca:

Și

.

Exemplu

Folosim ambele metode pentru a găsi .

întrucât căutăm rădăcina pătrată a lui 7

Comparaţie

Iterația pentru implică o împărțire care este mai oneroasă, din punct de vedere al timpilor de calcul, decât o multiplicare între numere întregi. Iterația pentru nu implică diviziuni și, prin urmare, este recomandat pentru întregul mare z .

Această iterație folosind g implică doar o pătrare și două multiplicări, ca alternativă la o diviziune în cazul lui f . În implementarea practică a extracției rădăcinii pătrate a numerelor întregi mari, calculul iterativ care necesită g este mai rapid pentru numerele întregi mari z , deoarece diviziunea este cel mult , care este un factor constant al timpului de multiplicare. Termenul constant este aproape întotdeauna 3 sau mai mult, întrucât o singură diviziune cu majoritatea dispozitivelor de calcul este mai rapidă decât trei înmulțiri.

Aproximare simplă

Această metodă de aproximare, după cum sugerează și numele, este destul de simplă, dar poate fi, de asemenea, foarte inexactă. Mărimea impreciziei pentru această aproximare depinde de valoarea expresiei : cu cât valoarea este mai mare, cu atât este mai mare inexactitatea rezultatului aproximativ.

Constructie

Fie N> 0 și> 0, apoi

.

De aici și valoarea lui trebuie să fie între Și . Aproximarea este apoi luată în considerare

adică

Exemplu:

Pentru a aproxima rădăcina lui 39, înlocuiți 39 cu suma unui pătrat cunoscut și valoarea d egală cu diferența (în acest caz ).

care aproximează destul de mult valoarea reală de 6.244997.

Metoda ecuațiilor cuadratice

Soluția la problema găsirii unei valori inițiale optime de găsit unde 1 <r <100 poate fi rezolvat astfel:

Metoda ecuațiilor cuadratice

Pentru rădăcinile pătrate cu valori mai mari de 100, se folosește următoarea identitate:

Pentru rădăcinile pătrate cu valori mai mici de 1, se utilizează următoarea identitate

Folosind ecuația unde este e

Risolvere utilizzando la formula dell'equazione quadratica , scegliendo la soluzione che soddisfa la condizione .

La soluzione finale è:

L'ovvio problema è che non possiamo valutare le soluzioni dell'equazione quadratica senza l'uso della funzione radice quadrata. Tuttavia possiamo fare in modo che il serpente morda la propria coda.

Sia
Allora
E

Così l'equazione quadratica diventa:

Iterando per quanto più possibile porta a

Reciprocamente

Così la soluzione finale diventa

Andiamo più a fondo sostituendo a destra la sua stessa definizione:

Rinormalizzando

Iterando ulteriormente

E avanti così

Esempio di uso del metodo dell'equazione quadratica

Trovare

Utilizzando l'identità
Prima trovare .

Così perché

Usando la formula dell'equazione quadratica , otteniamo le due soluzioni:

sol 1 = −0,165 o sol 2 = 25,7519

Scegliamo sol2 dato che soddisfa la condizione .

Quindi

Alternativamente

E la soluzione finale è

Voci correlate

Matematica Portale Matematica : accedi alle voci di Wikipedia che trattano di matematica