stringtranslate.com

Tablas trigonométricas

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 computación mecánica .

Las computadoras modernas y las calculadoras de bolsillo generan ahora valores de funciones trigonométricas a pedido, utilizando bibliotecas especiales de código matemático. A menudo, estas bibliotecas utilizan tablas precalculadas internamente y calculan el valor requerido utilizando un método de interpolación apropiado . La interpolación de tablas de consulta simples de funciones trigonométricas todavía se utiliza en gráficos de computadora , donde solo se requiere una precisión modesta y la velocidad a menudo es primordial.

Otra aplicación importante de las tablas trigonométricas y los esquemas de generación es para los algoritmos de transformada rápida de Fourier (FFT), donde los mismos valores de función trigonométrica (llamados factores de twiddle ) deben evaluarse muchas veces en una transformada dada, especialmente en el caso común donde se calculan muchas transformadas del mismo tamaño. En este caso, llamar a rutinas de biblioteca genéricas cada vez es inaceptablemente lento. Una opción es llamar a las rutinas de biblioteca una vez, para construir una tabla de esos valores trigonométricos que serán necesarios, pero esto requiere una memoria significativa para almacenar la tabla. La otra posibilidad, ya 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 un cuadro de referencia que presenta los valores de seno, coseno, tangente y otras funciones trigonométricas para varios ángulos. Estos ángulos suelen estar dispuestos en la fila superior de la tabla, mientras que las diferentes funciones trigonométricas están etiquetadas en la primera columna de la izquierda. Para localizar el valor de una función trigonométrica específica en un ángulo determinado, debe buscar la fila de la función y seguirla hasta la columna debajo del ángulo deseado. [1]

El uso de una tabla de trigonometría implica unos sencillos pasos

  1. Determina el ángulo específico para el cual necesitas encontrar los valores trigonométricos.
  2. Ubica 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. Trace un recorrido a lo largo de la función y hacia abajo 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 una variedad de técnicas para proporcionar valores de funciones trigonométricas a pedido para ángulos arbitrarios (Kantabutra, 1996). Un método común, especialmente en procesadores de gama alta con unidades de punto flotante , es 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 más altas o variables, las series de Taylor y Laurent ) con reducción de rango y una 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 mientras se realiza 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 en 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 adiciones. Todos estos métodos se implementan comúnmente en hardware por razones 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 expansión de series se vuelve demasiado lenta, las funciones trigonométricas se pueden aproximar 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 para a/b·2π se pueden encontrar aplicando la identidad de De Moivre para n = a a una 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 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, al tiempo que converge a una tasa asintótica similar. Sin embargo, los últimos algoritmos son necesarios para las constantes trigonométricas trascendentales .

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

Históricamente, el primer método por el que se calcularon las tablas trigonométricas, y probablemente el más común hasta la llegada de las computadoras, fue aplicar repetidamente las identidades trigonométricas de medio ángulo y de suma de ángulos a partir de un valor conocido (como sen(π/2) = 1, cos(π/2) = 0). Este método fue utilizado por el antiguo astrónomo Ptolomeo , quien las derivó en el Almagesto , un tratado sobre 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 ):

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

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

Una aproximación rápida, pero inexacta

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

s0 = 0
c0 = 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 :

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 ~0,061 ( s 202 = −1,0368 en lugar de −0,9757). Para N = 1024, el error máximo en los valores del seno es ~0,015 ( s 803 = −0,99321 en lugar de −0,97832), aproximadamente 4 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, aunque todavía imperfecta

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

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

c0 = 1
s0 = 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 calculan normalmente utilizando funciones de biblioteca existentes (pero también se pueden encontrar, 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 tiene errores en aritmética de punto flotante de precisión finita . De hecho, los errores aumentan como O(ε  N ) (tanto en el peor de los casos como en el promedio), donde ε es la precisión de punto flotante.

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

c0 = 1
s0 = 0
c norte +1 = c norte  − (α c norte  + β s norte )
s norte +1 = s norte  + (β  c norte  − α  s norte )

donde α = 2 sen 2 (π/ N ) y β = sen(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 tamaños grandes.

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 de derecho . Consultado el 2 de noviembre de 2023 .
  2. ^ Singleton 1967