Como se calcula el seno
Cómo calcular el seno a mano
En la escuela, acabamos de empezar a aprender trigonometría, y me preguntaba: ¿hay alguna manera de encontrar el seno, el coseno, la tangente, la cosecante, la secante y la cotangente de un mismo ángulo sin usar una calculadora?
En las matemáticas superiores, a menudo nos damos cuenta de que algunas cosas que son realmente fáciles de hablar pero difíciles de expresar de forma rigurosa tienen una propiedad que es realmente fácil de expresar de forma rigurosa pero que es algo que probablemente no se nos habría ocurrido para empezar.
Cuando empiezas a darte cuenta de que los círculos son objetos bastante complicados de definir, fórmulas como ésta empiezan a parecer más atractivas. Muchos libros de texto de matemáticas han tomado esta expresión infinitamente larga como la definición de la función seno. (Resulta ser lo mismo que la definición de círculo, pero… bueno, los círculos se complican).
Como dice copper.hat, también existen esos grandes libros en los que la gente hacía los cálculos una vez y los escribía para que nadie tuviera que volver a hacerlos. Por supuesto, estos se hacían mucho antes de que existieran los ordenadores; ¡ya nadie los hace! Pero es probable que alguien de la generación de tus padres o abuelos aún tenga uno en su casa.
Gráfico sin cos tan
La serie de potencias sigue siendo un poco lenta incluso para los ordenadores, si quieres calcular millones de senos. Así que, en la práctica, los ordenadores y las calculadoras utilizan varias combinaciones de métodos de interpolación inteligentes y tablas incorporadas al hardware. Las propias tablas se construyeron en última instancia utilizando los métodos de las series de potencias.
Esto es especialmente conveniente para el cálculo manual: puedes elegir las longitudes de los pasos de manera que los números queden razonablemente bien en decimal, siempre que te asegures de que los pasos son pequeños y se suman al punto al que quieres llegar.
Esa es también la idea básica detrás del método CORDIC que ya fue mencionado en los comentarios. Este utiliza propiedades adicionales del seno y el coseno para lograr una mayor eficiencia, pero esto no es realmente necesario. Muchas funciones definidas por una EDO se evalúan eficientemente con un solucionador Runge-Kutta; a menudo se prefiere la versión de cuarto orden, que proporciona una convergencia aún mejor.
En la práctica, este método sólo es superior al de Taylor directo si se necesitan múltiples valores de la función. Entonces es muy bueno porque a) se hace una tabla de valores a medida que se avanza b) se calculan tanto el seno como el coseno, que luego se pueden combinar aprovechando las propiedades de simetría/periodicidad.
Comentarios
He estado revisando los desensamblados de .NET y el código fuente de GCC, pero no puedo encontrar en ninguna parte la implementación real de sin() y otras funciones matemáticas… siempre parecen hacer referencia a otra cosa.
Conozco varias formas de calcular funciones, y he escrito mis propias rutinas para calcular funciones usando series de taylor por diversión. Tengo curiosidad por saber cómo lo hacen los lenguajes reales de producción, ya que todas mis implementaciones son siempre varios órdenes de magnitud más lentas, aunque creo que mis algoritmos son bastante inteligentes (obviamente no lo son).
Un directorio incluye una implementación en C, aportada por IBM. Desde octubre de 2011, este es el código que realmente se ejecuta cuando se llama a sin() en un típico sistema Linux x86-64. Aparentemente es más rápido que la instrucción en ensamblador fsin. Código fuente: sysdeps/ieee754/dbl-64/s_sin.c, busque __sin (double x).
Este código es muy complejo. Ningún algoritmo de software es lo más rápido posible y también preciso en todo el rango de valores de x, por lo que la biblioteca implementa varios algoritmos diferentes, y su primer trabajo es mirar a x y decidir qué algoritmo usar.
Como se calcula el seno 2020
Según tengo entendido… ejem… el vector (coseno, seno) se calculó para los ángulos (30 grados, PI/6), (45 grados, PI/4) y (60 grados, PI/3) etcétera, sin embargo, me gustaría saber el proceso geométrico original para calcular las magnitudes de cada vector en la tabla de búsqueda trigonométrica.
y la gente de interpolación (lineal) calculó otros valores. La gente creaba entonces tablas de valores de las funciones trigonométricas. Estas tablas podrían entonces ser utilizadas por el «hombre común» para encontrar los valores. Es, por ejemplo, un bonito ejercicio crear una tabla de valores del seno para múltiplos de $3^\circ$. Por ejemplo, Ptolomeo (siglo II d.C.) creó esencialmente una tabla de valores para cada ángulo de medio grado.
Las reglas de cálculo contenían escalas para calcular las funciones trigonométricas. No estoy seguro de cuándo las reglas de cálculo tuvieron por primera vez escalas trigonométricas, pero definitivamente las tenían antes de la invención de la calculadora de bolsillo en el siglo XX.
Así que, en resumen, el «hombre común» (el científico) «calculaba» los valores de las funciones trigonométricas antes de la calculadora utilizando principalmente tablas y reglas de cálculo. Algunos matemáticos participaron entonces en la creación de estas tablas.