Tabelele trigonometrice sunt tabele matematice care conțin valori calculate ale funcțiilor trigonometrice. Înainte de existența calculatoarelor de buzunar, aceste tabele erau esențiale pentru navigație, știință și inginerie. Calculul acestor tabele a fost un domeniu important de studiu, care a condus la dezvoltarea primelor dispozitive de calcul mecanice.
Calculatoarele moderne și cele de buzunar generează acum valori ale funcțiilor trigonometrice la cerere, folosind biblioteci speciale de cod matematic. Adesea, aceste biblioteci folosesc intern tabele precalculate și calculează valoarea necesară folosind o metodă de interpolare adecvată. Interpolarea tabelelor simple de căutare a funcțiilor trigonometrice este încă folosită în grafica pe calculator, unde poate fi necesară doar o precizie modestă, însă viteza este adesea primordială.
O altă aplicație importantă a tabelelor trigonometrice și a metodelor de generare a lor este la algoritmul pentru calculul (FFT), în care aceleași valori ale funcției trigonometrice (numite „factori Twiddle” Manfred Tasche, Hansmartin Zeuner (2002) "Improved roundoff error analysis for precomputed twiddle factors", Journal for Computational Analysis and Applications 4(1): 1–18) trebuie evaluate de mai multe ori la o transformare dată, în special în cazul uzual în care sunt calculate multe transformări de aceeași dimensiune. În acest caz, apelarea de fiecare dată a rutinelor bibliotecii generice este inacceptabil de lentă. O opțiune este ca rutinele bibliotecii să fie apelate o singură dată, pentru a construi un tabel cu acele valori trigonometrice care vor fi necesare, dar această metodă necesită o memorie semnificativă pentru a stoca tabelul. Cealaltă posibilitate, deoarece este necesară o succesiune obișnuită de valori, este de a folosi o formulă de recurență pentru a calcula valorile trigonometrice din mers. Au fost făcute cercetări importante pentru a găsi relații de recurență precise și stabile pentru a păstra acuratețea FFT (care este foarte sensibilă la erorile trigonometrice). James C. Schatzman (1996) "Accuracy of the discrete Fourier transform and the fast Fourier transform", SIAM Journal on Scientific Computing 17(5): 1150–1166
Calculul la cerere thumb|O pagină de tabele matematice din 1619 Calculatoarele moderne folosesc tehnici variate pentru a furniza la cerere valori ale funcțiilor trigonometrice pentru unghiuri arbitrare. Vitit Kantabutra (1996) "On hardware for computing exponential and trigonometric functions," IEEE Transactions on Computers 45(3): 328–339 O metodă comună, în special pe procesoarele de ultimă generație care lucrează în virgulă mobilă, este combinarea unui polinom sau a unei funcții raționale de aproximare (cum ar fi funcția Cebîșev, cea mai bună aproximare uniformă, aproximarea Padé și, de obicei, pentru precizii mai mari sau variabile, serii Taylor și ) cu reducerea intervalului și o căutare în tabel — se caută mai întâi unghiul cel mai apropiat într-un tabel mic și apoi se folosește polinomul pentru a calcula corecția. William J. Cody Jr., William Waite, Software Manual for the Elementary Functions, Prentice-Hall, 1980, Menținerea preciziei în timpul efectuării unei astfel de interpolări este netrivială. În același scop sunt folosite și alte metode, precum Gal, Shmuel; Bachelis, Boris (1991) "An accurate elementary mathematical library for the IEEE floating point standard", ACM Transactions on Mathematical Software și algoritmii de reducere a intervalului Cody și Waite sau a radianilor Payne și Hanek. Mary H. Payne, Robert N. Hanek, Radian reduction for trigonometric functions, ACM SIGNUM Newsletter 18: 19-24, 1983 Pe dispozitivele mai simple, cărora le lipsește o unitate hardware de înmulțire, există un algoritm numit (precum și tehnicile aferente) care este eficient, deoarece folosește doar deplasări și adunări. De obicei, din motive de performanță, astfel de metode sunt implementate în hardware.
Polinomul particular utilizat pentru aproximarea unei funcții trigonometrice este generat din timp folosind un algoritm de aproximare minimmax.
Pentru calculele cu precizie foarte mare, când convergența dezvoltării în serie devine prea lentă, funcțiile trigonometrice pot fi aproximate prin , care ea însăși aproximează funcția trigonometrică printr-o integrală eliptică (complexă). Richard Peirce Brent (1976) "Fast Multiple-Precision Evaluation of Elementary Functions", Journal of the Association for Computing Machinery 23: 242–251.
Funcțiile trigonometrice ale unghiurilor care sunt multipli raționali ai sunt numere algebrice. Valorile pentru pot fi găsite cu formula lui Moivre de la până la a -a rădăcină a unității, care este și o rădăcină a polinomului în planul complex. De exemplu, cosinusul și sinusul lui sunt partea reală, respectiv partea imaginară ale puterii a 5-a a celei de a 37-a rădăcini a unității, , care este o rădăcină a polinomului de gradul 37 În acest caz, un algoritm de găsire a rădăcinilor, cum ar fi metoda tangentei, este mult mai simplu decât algoritmii de medie aritmetico-geometrică de mai sus, în timp ce convergența asimptotică este similară. Aceștia din urmă algoritmi sunt totuși necesari pentru constantele trigonometrice transcendente.
Generarea folosind formulele pentru suma și jumătatea unghiurilor Istoric, cea mai veche metodă prin care au fost calculate tabelele trigonometrice, și probabil cea mai comună până la apariția computerelor, a fost aplicarea în mod repetat a identităților trigonometrice pentru adunarea sau înjumătățirea unghiurilor pornind de la o valoare cunoscută (cum ar fi , ). Această metodă a fost folosită de astronomul antic Ptolemeu, care le-a prezentat în tratatul de astronomie Almagest. Carl B. Boyer (1991) A History of Mathematics, 2nd edition, John Wiley & Sons În forma modernă, identitățile pe care le-a obținut sunt enunțate după cum urmează (cu semnele determinate de cadranul în care se află ):
Acestea au fost folosite pentru a construi , care a fost utilizat în astronomie.
Sunt posibile diverse alte variante ale acestor identități: de exemplu la unele tabele trigonometrice vechi nu s-a folosit sinus și cosinus, ci sinus și versinus.
O aproximare rapidă, dar imprecisă Un algoritm pentru calculul unui tabel aproximativ cu valori pentru și pentru este:
pentru unde .
Aceasta este chiar metoda Euler pentru integrarea ecuațiilor diferențiale:
cu condițiile inițiale și , ale căror soluții analitice sunt și .
Din păcate, acesta nu este un algoritm util pentru generarea tabelelor de sinusuri deoarece are o eroare semnificativă, proporțională cu . De exemplu, pentru eroarea maximă în valorile sinusului este de ≈0,061 ( = −1,0368 în loc de −0,9757). Pentru , eroarea maximă în valorile sinusului este de ≈0,015 ( = −0,99321 în loc de −0,97832), eroare de aproximativ 4 ori mai mică. Dacă valorile sinus și cosinus obținute ar fi reprezentate grafic, acest algoritm ar desena o în loc de un cerc.
Note
Vezi și Tabelul valorilor funcțiilor sinus și cosinus
Legături externe
Calculator de funcții trigonometrice
Categorie:Trigonometrie Categorie:Analiză numerică