HOME

TheInfoList



OR:

In
mathematics Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
, tables of
trigonometric function In mathematics, the trigonometric functions (also called circular functions, angle functions or goniometric functions) are real functions which relate an angle of a right-angled triangle to ratios of two side lengths. They are widely used in all ...
s are useful in a number of areas. Before the existence of pocket calculators, trigonometric tables were essential for
navigation Navigation is a field of study that focuses on the process of monitoring and controlling the motion, movement of a craft or vehicle from one place to another.Bowditch, 2003:799. The field of navigation includes four general categories: land navig ...
,
science Science is a systematic discipline that builds and organises knowledge in the form of testable hypotheses and predictions about the universe. Modern science is typically divided into twoor threemajor branches: the natural sciences, which stu ...
and
engineering Engineering is the practice of using natural science, mathematics, and the engineering design process to Problem solving#Engineering, solve problems within technology, increase efficiency and productivity, and improve Systems engineering, s ...
. The calculation of mathematical tables was an important area of study, which led to the development of the first mechanical computing devices. Modern computers and pocket calculators now generate trigonometric function values on demand, using special libraries of mathematical code. Often, these libraries use pre-calculated tables internally, and compute the required value by using an appropriate
interpolation In the mathematics, mathematical field of numerical analysis, interpolation is a type of estimation, a method of constructing (finding) new data points based on the range of a discrete set of known data points. In engineering and science, one ...
method. Interpolation of simple look-up tables of trigonometric functions is still used in
computer graphics Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
, where only modest accuracy may be required and speed is often paramount. Another important application of trigonometric tables and generation schemes is for
fast Fourier transform A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). A Fourier transform converts a signal from its original domain (often time or space) to a representation in ...
(FFT) algorithms, where the same trigonometric function values (called ''twiddle factors'') must be evaluated many times in a given transform, especially in the common case where many transforms of the same size are computed. In this case, calling generic library routines every time is unacceptably slow. One option is to call the library routines once, to build up a table of those trigonometric values that will be needed, but this requires significant memory to store the table. The other possibility, since a regular sequence of values is required, is to use a recurrence formula to compute the trigonometric values on the fly. Significant research has been devoted to finding accurate, stable recurrence schemes in order to preserve the accuracy of the FFT (which is very sensitive to trigonometric errors). A trigonometry table is essentially a reference chart that presents the values of sine, cosine, tangent, and other trigonometric functions for various angles. These angles are usually arranged across the top row of the table, while the different trigonometric functions are labeled in the first column on the left. To locate the value of a specific trigonometric function at a certain angle, you would find the row for the function and follow it across to the column under the desired angle.


Using a trigonometry table involves a few straightforward steps

# Determine the specific angle for which you need to find the trigonometric values. # Locate this angle along the horizontal axis (top row) of the table. # Choose the trigonometric function you're interested in from the vertical axis (first column). # Trace across from the function and down from the angle to the point where they intersect on the table; the number at this intersection provides the value of the trigonometric function for that angle.


On-demand computation

Modern computers and calculators use a variety of techniques to provide trigonometric function values on demand for arbitrary angles (Kantabutra, 1996). One common method, especially on higher-end processors with
floating-point In computing, floating-point arithmetic (FP) is arithmetic on subsets of real numbers formed by a ''significand'' (a Sign (mathematics), signed sequence of a fixed number of digits in some Radix, base) multiplied by an integer power of that ba ...
units, is to combine a
polynomial In mathematics, a polynomial is a Expression (mathematics), mathematical expression consisting of indeterminate (variable), indeterminates (also called variable (mathematics), variables) and coefficients, that involves only the operations of addit ...
or rational approximation (such as Chebyshev approximation, best uniform approximation, Padé approximation, and typically for higher or variable precisions, Taylor and
Laurent series In mathematics, the Laurent series of a complex function f(z) is a representation of that function as a power series which includes terms of negative degree. It may be used to express complex functions in cases where a Taylor series expansio ...
) with range reduction and a table lookup — they first look up the closest angle in a small table, and then use the polynomial to compute the correction. Maintaining precision while performing such interpolation is nontrivial, but methods like Gal's accurate tables, Cody and Waite range reduction, and Payne and Hanek radian reduction algorithms can be used for this purpose. On simpler devices that lack a hardware multiplier, there is an algorithm called CORDIC (as well as related techniques) that is more efficient, since it uses only shifts and additions. All of these methods are commonly implemented in hardware for performance reasons. The particular polynomial used to approximate a trigonometric function is generated ahead of time using some approximation of a minimax approximation algorithm. For very high precision calculations, when series-expansion convergence becomes too slow, trigonometric functions can be approximated by the arithmetic-geometric mean, which itself approximates the trigonometric function by the (
complex Complex commonly refers to: * Complexity, the behaviour of a system whose components interact in multiple ways so possible interactions are difficult to describe ** Complex system, a system composed of many components which may interact with each ...
)
elliptic integral In integral calculus, an elliptic integral is one of a number of related functions defined as the value of certain integrals, which were first studied by Giulio Fagnano and Leonhard Euler (). Their name originates from their originally arising i ...
(Brent, 1976). Trigonometric functions of angles that are rational multiples of 2π are algebraic numbers. The values for ''a/b·2π'' can be found by applying de Moivre's identity for ''n = a'' to a ''bth''
root of unity In mathematics, a root of unity is any complex number that yields 1 when exponentiation, raised to some positive integer power . Roots of unity are used in many branches of mathematics, and are especially important in number theory, the theory ...
, which is also a root of the polynomial ''xb - 1'' in the
complex plane In mathematics, the complex plane is the plane (geometry), plane formed by the complex numbers, with a Cartesian coordinate system such that the horizontal -axis, called the real axis, is formed by the real numbers, and the vertical -axis, call ...
. For example, the cosine and sine of 2π ⋅ 5/37 are the real and
imaginary part In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the form ...
s, respectively, of the 5th power of the 37th root of unity cos(2π/37) + sin(2π/37)i, which is a root of the degree-37 polynomial ''x''37 − 1. For this case, a
root-finding algorithm In numerical analysis, a root-finding algorithm is an algorithm for finding zeros, also called "roots", of continuous functions. A zero of a function is a number such that . As, generally, the zeros of a function cannot be computed exactly nor ...
such as
Newton's method In numerical analysis, the Newton–Raphson method, also known simply as Newton's method, named after Isaac Newton and Joseph Raphson, is a root-finding algorithm which produces successively better approximations to the roots (or zeroes) of a ...
is much simpler than the arithmetic-geometric mean algorithms above while converging at a similar asymptotic rate. The latter algorithms are required for transcendental trigonometric constants, however.


Half-angle and angle-addition formulas

Historically, the earliest method by which trigonometric tables were computed, and probably the most common until the advent of computers, was to repeatedly apply the half-angle and angle-addition trigonometric identities starting from a known value (such as sin(π/2) = 1, cos(π/2) = 0). This method was used by the ancient astronomer
Ptolemy Claudius Ptolemy (; , ; ; – 160s/170s AD) was a Greco-Roman mathematician, astronomer, astrologer, geographer, and music theorist who wrote about a dozen scientific treatises, three of which were important to later Byzantine science, Byzant ...
, who derived them in the '' Almagest'', a treatise on
astronomy Astronomy is a natural science that studies celestial objects and the phenomena that occur in the cosmos. It uses mathematics, physics, and chemistry in order to explain their origin and their overall evolution. Objects of interest includ ...
. In modern form, the identities he derived are stated as follows (with signs determined by the quadrant in which ''x'' lies): :\cos\left(\frac\right) = \pm \sqrt :\sin\left(\frac\right) = \pm \sqrt :\sin(x \pm y) = \sin(x) \cos(y) \pm \cos(x) \sin(y)\, :\cos(x \pm y) = \cos(x) \cos(y) \mp \sin(x) \sin(y)\, These were used to construct Ptolemy's table of chords, which was applied to astronomical problems. Various other permutations on these identities are possible: for example, some early trigonometric tables used not sine and cosine, but sine and versine.


A quick, but inaccurate, approximation

A quick, but inaccurate, algorithm for calculating a table of ''N'' approximations ''s''''n'' for sin(2 π''n''/''N'') and ''c''''n'' for cos(2π''n''/''N'') is: :''s''0 = 0 :''c''0 = 1 :''s''''n''+1 = ''s''''n'' + ''d'' × ''c''''n'' :''c''''n''+1 = ''c''''n'' − ''d'' × ''s''''n'' for ''n'' = 0,...,''N'' − 1, where ''d'' = 2π/''N''. This is simply the Euler method for integrating the differential equation: :ds/dt = c :dc/dt = -s with initial conditions ''s''(0) = 0 and ''c''(0) = 1, whose analytical solution is ''s'' = sin(''t'') and ''c'' = cos(''t''). Unfortunately, this is not a useful algorithm for generating sine tables because it has a significant error, proportional to 1/''N''. For example, for ''N'' = 256 the maximum error in the sine values is ~0.061 (''s''202 = −1.0368 instead of −0.9757). For ''N'' = 1024, the maximum error in the sine values is ~0.015 (''s''803 = −0.99321 instead of −0.97832), about 4 times smaller. If the sine and cosine values obtained were to be plotted, this algorithm would draw a
logarithmic spiral A logarithmic spiral, equiangular spiral, or growth spiral is a self-similarity, self-similar spiral curve that often appears in nature. The first to describe a logarithmic spiral was Albrecht Dürer (1525) who called it an "eternal line" ("ewi ...
rather than a circle.


A better, but still imperfect, recurrence formula

A simple recurrence formula to generate trigonometric tables is based on Euler's formula and the relation: :e^ = e^ \times e^ This leads to the following recurrence to compute trigonometric values ''s''''n'' and ''c''''n'' as above: :''c''0 = 1 :''s''0 = 0 :''c''''n''+1 = ''w''''r'' ''c''''n'' − ''w''''i'' ''s''''n'' :''s''''n''+1 = ''w''''i'' ''c''''n'' + ''w''''r'' ''s''''n'' for ''n'' = 0, ..., ''N'' − 1, where ''w''''r'' = cos(2π/''N'') and ''w''''i'' = sin(2π/''N''). These two starting trigonometric values are usually computed using existing library functions (but could also be found e.g. by employing
Newton's method In numerical analysis, the Newton–Raphson method, also known simply as Newton's method, named after Isaac Newton and Joseph Raphson, is a root-finding algorithm which produces successively better approximations to the roots (or zeroes) of a ...
in the complex plane to solve for the primitive
root In vascular plants, the roots are the plant organ, organs of a plant that are modified to provide anchorage for the plant and take in water and nutrients into the plant body, which allows plants to grow taller and faster. They are most often bel ...
of ''z''''N'' − 1). This method would produce an ''exact'' table in exact arithmetic, but has errors in finite-precision
floating-point In computing, floating-point arithmetic (FP) is arithmetic on subsets of real numbers formed by a ''significand'' (a Sign (mathematics), signed sequence of a fixed number of digits in some Radix, base) multiplied by an integer power of that ba ...
arithmetic. In fact, the errors grow as O(ε ''N'') (in both the worst and average cases), where ε is the floating-point precision. A significant improvement is to use the following modification to the above, a trick (due to Singleton) often used to generate trigonometric values for FFT implementations: :''c''0 = 1 :''s''0 = 0 :''c''''n''+1 = ''c''''n'' − (α ''c''''n'' + β ''s''''n'') :''s''''n''+1 = ''s''''n'' + (β ''c''''n'' − α ''s''''n'') where α = 2 sin2(π/''N'') and β = sin(2π/''N''). The errors of this method are much smaller, O(ε √''N'') on average and O(ε ''N'') in the worst case, but this is still large enough to substantially degrade the accuracy of FFTs of large sizes.


See also

* Aryabhata's sine table * CORDIC * Exact trigonometric values * Madhava's sine table *
Numerical analysis Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic computation, symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of ...
* Plimpton 322 * Prosthaphaeresis


References

* Carl B. Boyer (1991) ''A History of Mathematics'', 2nd edition,
John Wiley & Sons John Wiley & Sons, Inc., commonly known as Wiley (), is an American Multinational corporation, multinational Publishing, publishing company that focuses on academic publishing and instructional materials. The company was founded in 1807 and pr ...
. * Manfred Tasche and Hansmartin Zeuner (2002) "Improved roundoff error analysis for precomputed twiddle factors", ''Journal for Computational Analysis and Applications'' 4(1): 1–18. * James C. Schatzman (1996) "Accuracy of the discrete Fourier transform and the fast Fourier transform", SIAM Journal on Scientific Computing 17(5): 1150–1166. * Vitit Kantabutra (1996) "On hardware for computing exponential and trigonometric functions," IEEE Transactions on Computers 45(3): 328–339 . * R. P. Brent (1976)
Fast Multiple-Precision Evaluation of Elementary Functions
, Journal of the Association for Computing Machinery 23: 242–251. * * William J. Cody Jr., William Waite, ''Software Manual for the Elementary Functions'', Prentice-Hall, 1980, {{ISBN, 0-13-822064-6. * Mary H. Payne, Robert N. Hanek, ''Radian reduction for trigonometric functions'', ACM SIGNUM Newsletter 18: 19-24, 1983. * Gal, Shmuel and Bachelis, Boris (1991) "An accurate elementary mathematical library for the IEEE floating point standard", ACM Transactions on Mathematical Software. Trigonometry Numerical analysis