Una asignación reciente de tarea que he recibido nos pide que tomemos expresiones que podrían crear una pérdida de precisión cuando se realizan en la computadora, y las alteramos para evitar esta pérdida.¿Mejor algoritmo para evitar la pérdida de precisión?
Desafortunadamente, las instrucciones para hacer esto no se han dejado muy claras. Al observar varios ejemplos que se están realizando, sé que hay ciertos métodos para hacer esto: usar series de Taylor, usar conjugados si están involucradas raíces cuadradas, o encontrar un denominador común cuando se restan dos fracciones.
Sin embargo, tengo algunos problemas para darme cuenta exactamente cuándo va a ocurrir la pérdida de precisión. Hasta ahora, lo único que sé con certeza es que cuando se restan dos números que están cerca de ser iguales, se produce una pérdida de precisión debido a que los dígitos de orden alta son significativos, y los pierdes del redondeo.
Mi pregunta es, ¿cuáles son algunas otras situaciones comunes que debería estar buscando, y qué se consideran 'buenos' métodos para abordarlas?
Por ejemplo, aquí es un problema:
f(x) = tan(x) − sin(x) when x ~ 0
¿Cuál es el mejor y el peor algoritmo para evaluar esto fuera de estas tres opciones:
(a) (1/ cos(x) − 1) sin(x),
(b) (x^3)/2
(c) tan(x)*(sin(x)^2)/(cos(x) + 1).
entiendo que cuando x está cerca de cero, tan (x) y sin (x) son casi lo mismo. No entiendo cómo o por qué algunos de estos algoritmos son mejores o peores para resolver el problema.