Articulo de referencia

Tabla trigonométrica

En matemáticas , las tablas de funciones trigonométricas son útiles en diversas áreas. Antes de la existencia de las calculadoras de bolsillo , las tablas trigonométricas eran e...

En matemáticas , las tablas de funciones trigonométricas son útiles en diversas áreas. Antes de la existencia de las calculadoras de bolsillo , las tablas trigonométricas eran esenciales para la navegación , la ciencia y la ingeniería . El cálculo de tablas matemáticas fue un área de estudio importante que condujo al desarrollo de los primeros dispositivos de cálculo mecánicos . Los cálculos trigonométricos desempeñaron un papel importante en los inicios del estudio de la astronomía. Las primeras tablas se construían aplicando repetidamente identidades trigonométricas (como las identidades del ángulo mitad y la suma de ángulos) para calcular nuevos valores a partir de los antiguos.

Las computadoras modernas y las calculadoras de bolsillo generan valores de funciones trigonométricas bajo demanda, utilizando bibliotecas especiales de código matemático. A menudo, estas bibliotecas emplean tablas precalculadas internamente y obtienen el valor requerido mediante un método de interpolación adecuado . La interpolación de tablas de consulta sencillas de funciones trigonométricas todavía se utiliza en gráficos por computadora , donde la precisión suele ser limitada y la velocidad es primordial.

Otra aplicación importante de las tablas trigonométricas y los esquemas de generación se encuentra en los algoritmos de la transformada rápida de Fourier (FFT), donde los mismos valores de la función trigonométrica (llamados factores de rotación ) deben evaluarse muchas veces en una transformada dada, especialmente en el caso común de que se calculen muchas transformadas del mismo tamaño. En este caso, llamar a las rutinas genéricas de la biblioteca cada vez es inaceptablemente lento. Una opción es llamar a las rutinas de la biblioteca una sola vez para construir una tabla con los valores trigonométricos necesarios, pero esto requiere una cantidad considerable de memoria para almacenar la tabla. La otra posibilidad, dado que se requiere una secuencia regular de valores, es usar una fórmula de recurrencia para calcular los valores trigonométricos sobre la marcha. Se ha dedicado una investigación significativa a encontrar esquemas de recurrencia precisos y estables para preservar la precisión de la FFT (que es muy sensible a los errores trigonométricos).

Una tabla trigonométrica es esencialmente una tabla de referencia que presenta los valores del seno, el coseno, la tangente y otras funciones trigonométricas para diversos ángulos. Estos ángulos suelen estar dispuestos en la fila superior de la tabla, mientras que las diferentes funciones trigonométricas se etiquetan en la primera columna de la izquierda. Para localizar el valor de una función trigonométrica específica en un ángulo determinado, se busca la fila correspondiente a la función y se sigue hasta la columna debajo del ángulo deseado. [ 1 ]

Utilizando una tabla trigonométrica

  1. Determina el ángulo específico para el que necesitas encontrar los valores trigonométricos.
  2. Localiza este ángulo a lo largo del eje horizontal (fila superior) de la tabla.
  3. Seleccione la función trigonométrica que le interese en el eje vertical (primera columna).
  4. Traza una línea horizontal desde la función y una línea vertical desde el ángulo hasta el punto donde se cruzan en la tabla; el número en esta intersección proporciona el valor de la función trigonométrica para ese ángulo.

Computación bajo demanda

Una página de un libro de tablas matemáticas de 1619 .

Las computadoras y calculadoras modernas utilizan diversas técnicas para proporcionar valores de funciones trigonométricas a demanda para ángulos arbitrarios (Kantabutra, 1996). Un método común, especialmente en procesadores de gama alta con unidades de punto flotante , consiste en combinar una aproximación polinómica o racional (como la aproximación de Chebyshev , la mejor aproximación uniforme, la aproximación de Padé y, típicamente para precisiones mayores o variables, las series de Taylor y Laurent ) con reducción de rango y búsqueda en una tabla : primero buscan el ángulo más cercano en una tabla pequeña y luego usan el polinomio para calcular la corrección. Mantener la precisión al realizar dicha interpolación no es trivial, pero se pueden usar métodos como las tablas precisas de Gal , la reducción de rango de Cody y Waite, y los algoritmos de reducción de grados y radianes de Payne y Hanek para este propósito. En dispositivos más simples que carecen de un multiplicador de hardware , existe un algoritmo llamado CORDIC (así como técnicas relacionadas) que es más eficiente, ya que solo usa desplazamientos y sumas. Todos estos métodos se implementan habitualmente en hardware por motivos de rendimiento.

El polinomio particular utilizado para aproximar una función trigonométrica se genera de antemano utilizando alguna aproximación de un algoritmo de aproximación minimax .

Para cálculos de muy alta precisión , cuando la convergencia de la expansión en serie se vuelve demasiado lenta, las funciones trigonométricas pueden aproximarse mediante la media aritmético-geométrica , que a su vez aproxima la función trigonométrica mediante la integral elíptica ( compleja ) (Brent, 1976).

Las funciones trigonométricas de ángulos que son múltiplos racionales de 2π son números algebraicos . Los valores de a/b·2π se pueden encontrar aplicando la identidad de De Moivre para n = a a la raíz b -ésima de la unidad , que también es una raíz del polinomio x b - 1 en el plano complejo . Por ejemplo, el coseno y el seno de 2π ⋅ 5/37 son las partes real e imaginaria , respectivamente, de la quinta potencia de la raíz 37-ésima de la unidad cos(2π/37) + sin(2π/37)i, que es una raíz del polinomio de grado -37 x 37 1. Para este caso, un algoritmo de búsqueda de raíces como el método de Newton es mucho más simple que los algoritmos de media aritmético-geométrica anteriores, a la vez que converge a una tasa asintótica similar. Sin embargo, estos últimos algoritmos son necesarios para las constantes trigonométricas trascendentales .    

Ejemplo

Para calcular la función seno de 75 grados, 9 minutos y 50 segundos utilizando una tabla de funciones trigonométricas como la tabla de Bernegger de 1619 ilustrada arriba, uno podría simplemente redondear a 75 grados y 10 minutos y luego buscar la entrada de 10 minutos en la página de 75 grados, que se muestra arriba a la derecha, que es 0,9666746.

Sin embargo, esta respuesta solo tiene una precisión de cuatro decimales. Si se deseara mayor precisión, se podría interpolar linealmente de la siguiente manera:

De la mesa de Bernegger:

sen (75° 10′) = 0,9666746
sen (75° 9′) = 0,9666001

La diferencia entre estos valores es 0,0000745.

Dado que hay 60 segundos en un minuto de arco, multiplicamos la diferencia por 50/60 para obtener una corrección de (50/60)*0.0000745 ≈ 0.0000621; y luego sumamos esa corrección a sen (75° 9′) para obtener  :

pecado (75° 9′ 50″) ≈ pecado (75° 9′) + 0,0000621 = 0,9666001 + 0,0000621 = 0,9666622

Una calculadora moderna da sin(75° 9′ 50″) = 0,96666219991, por lo que nuestra respuesta interpolada es precisa con la precisión de 7 dígitos de la tabla de Bernegger.

Para tablas con mayor precisión (más dígitos por valor), puede ser necesaria una interpolación de orden superior para obtener la máxima exactitud. [ 2 ] En la era anterior a las computadoras electrónicas, interpolar los datos de las tablas de esta manera era la única forma práctica de obtener valores de alta precisión de las funciones matemáticas necesarias para aplicaciones como la navegación, la astronomía y la topografía.

Para comprender la importancia de la precisión en aplicaciones como la navegación, tenga en cuenta que a nivel del mar, un minuto de arco a lo largo del ecuador terrestre o un meridiano (de hecho, cualquier círculo máximo ) equivale a una milla náutica (aproximadamente 1,852 km o 1,151 millas ).  

Fórmulas de semiángulo y suma de ángulos

Históricamente, el método más antiguo para calcular tablas trigonométricas, y probablemente el más común hasta la llegada de las computadoras, consistía en aplicar repetidamente las identidades trigonométricas de ángulo medio y suma de ángulos a partir de un valor conocido (como sen(π/2)  =  1, cos(π/2)  =  0). Este método fue utilizado por el astrónomo antiguo Ptolomeo , quien las derivó en el Almagesto , un tratado de astronomía . En su forma moderna, las identidades que derivó se expresan de la siguiente manera (con signos determinados por el cuadrante en el que se encuentra x ):

porque(incógnita2)=±12(1+porqueincógnita){\displaystyle \cos \left({\frac {x}{2}}\right)=\pm {\sqrt {{\tfrac {1}{2}}(1+\cos x)}}}
pecado(incógnita2)=±12(1porqueincógnita){\displaystyle \sin \left({\frac {x}{2}}\right)=\pm {\sqrt {{\tfrac {1}{2}}(1-\cos x)}}}
pecado(incógnita±y)=pecado(incógnita)porque(y)±porque(incógnita)pecado(y){\displaystyle \sin(x\pm y)=\sin(x)\cos(y)\pm \cos(x)\sin(y)\,}
porque(incógnita±y)=porque(incógnita)porque(y)pecado(incógnita)pecado(y){\displaystyle \cos(x\pm y)=\cos(x)\cos(y)\mp \sin(x)\sin(y)\,}

Estos elementos se utilizaron para construir la tabla de cuerdas de Ptolomeo , que se aplicó a problemas astronómicos.

Son posibles otras permutaciones de estas identidades: por ejemplo, algunas tablas trigonométricas antiguas no usaban seno y coseno, sino seno y verseno .

Una aproximación rápida, pero imprecisa.

Un algoritmo rápido, pero impreciso, para calcular una tabla de N aproximaciones s n para sin (2 π n / N ) y c n para cos (2π n / N ) es:

s 0 = 0
c 0 = 1
s n +1 = s n + d × c n
c n +1 = c nd × s n

para n = 0,..., N 1, donde d = 2π/ N .  

Este es simplemente el método de Euler para integrar la ecuación diferencial :

ds/dt=do{\displaystyle ds/dt=c}
ddo/dt=s{\displaystyle dc/dt=-s}

con condiciones iniciales s (0) = 0 y c (0) = 1, cuya solución analítica es s = sin( t ) y c = cos( t ).

Desafortunadamente, este no es un algoritmo útil para generar tablas de senos porque tiene un error significativo, proporcional a 1/ N .

Por ejemplo, para N = 256, el error máximo en los valores del seno es de aproximadamente 0,061 ( s 202 = 1,0368 en lugar de 0,9757). Para N = 1024, el error máximo en los valores del seno es de aproximadamente 0,015 ( s 803 = 0,99321 en lugar de 0,97832), aproximadamente cuatro veces menor. Si se representaran gráficamente los valores del seno y el coseno obtenidos, este algoritmo dibujaría una espiral logarítmica en lugar de un círculo.

Una fórmula de recurrencia mejor, pero aún imperfecta.

Una fórmula de recurrencia simple para generar tablas trigonométricas se basa en la fórmula de Euler y la relación:

mii(θ+Δ)=miiθ×miiΔθ{\displaystyle e^{i(\theta +\Delta )}=e^{i\theta }\times e^{i\Delta \theta }}

Esto conduce a la siguiente recurrencia para calcular los valores trigonométricos s n y c n como se indicó anteriormente:

c 0 = 1
s 0 = 0
c n +1 = w r c nw i s n
s n +1 = w i c n + w r s n

para n = 0, ..., N 1, donde w r = cos(2π/ N ) y w i = sin(2π/ N ). Estos dos valores trigonométricos iniciales se suelen calcular utilizando funciones de biblioteca existentes (pero también podrían encontrarse, por ejemplo, empleando el método de Newton en el plano complejo para resolver la raíz primitiva de z N 1).    

Este método produciría una tabla exacta en aritmética exacta, pero presenta errores en aritmética de punto flotante de precisión finita . De hecho, los errores crecen como O(ε N ) (tanto en el peor como en el caso promedio), donde ε es la precisión del punto flotante. 

Una mejora significativa consiste en utilizar la siguiente modificación a lo anterior, un truco (debido a Singleton [ 3 ] ) que se utiliza a menudo para generar valores trigonométricos para implementaciones de FFT:

c 0 = 1
s 0 = 0
c norte +1 = c norte - ( α c norte + β s norte )    
s norte +1 = s norte  +  ( β c norteα s norte )    

donde α = 2  sin 2 (π/ N ) y β = sin(2π/ N ). Los errores de este método son mucho menores, O(ε  N ) en promedio y O(ε N ) en el peor de los casos, pero aún así son lo suficientemente grandes como para degradar sustancialmente la precisión de las FFT de gran tamaño. 

Véase también

Referencias

  1. "Tabla de trigonometría: El aprendizaje de la tabla de trigonometría se simplifica" . Notas de Yogiraj | Apuntes de estudio general y derecho . Consultado el 2 de noviembre de 2023 .
  2. Abramowitz y Stegun, Manual de funciones matemáticas, Introducción §4
  3. Singleton 1967
  • Carl B. Boyer (1991) Historia de las matemáticas , 2ª edición, John Wiley & Sons .
  • Manfred Tasche y Hansmartin Zeuner (2002) "Análisis mejorado del error de redondeo para factores de giro precalculados", Journal for Computational Analysis and Applications 4(1): 1–18.
  • James C. Schatzman (1996) "Precisión de la transformada discreta de Fourier y la transformada rápida de Fourier", SIAM Journal on Scientific Computing 17(5): 1150–1166.
  • Vitit Kantabutra (1996) "Sobre hardware para el cálculo de funciones exponenciales y trigonométricas," IEEE Transactions on Computers 45(3): 328–339 .
  • RP Brent (1976) " Evaluación rápida de precisión múltiple de funciones elementales ", Journal of the Association for Computing Machinery 23: 242–251.
  • Singleton, Richard C (1967). "Sobre el cálculo de la transformada rápida de Fourier" . Communications of the ACM . 10 (10): 647– 654. doi : 10.1145/363717.363771 . S2CID 6287781 . 
  • William J. Cody Jr., William Waite, Manual de software para las funciones elementales , Prentice-Hall, 1980, ISBN 0-13-822064-6.
  • Mary H. Payne, Robert N. Hanek, " Reducción en radianes para funciones trigonométricas ", ACM SIGNUM Newsletter 18(1): 19–24, enero de 1983.
  • Mary H. Payne, Robert N. Hanek, " Reducción de grado para funciones trigonométricas ", ACM SIGNUM Newsletter 18(2): 18-19, abril de 1983.
  • Gal, Shmuel y Bachelis, Boris (1991) "Una biblioteca matemática elemental precisa para el estándar de punto flotante IEEE", ACM Transactions on Mathematical Software .