En numéricos, es muy importante poder identificar inestable Esquemas y para mejorar su estabilidad. Cómo identificar inestable. cálculos de punto flotante?
Estoy trabajando en una simulación muy compleja donde muchos esquemas numéricos trabajan juntos y estoy buscando un método para identificar sus partes débiles. Estoy trabajando en un modelo físico que involucra ecuaciones diferenciales. A vista de pájaro del proceso general es:
-
(Paso preliminar) Reúna las observaciones físicas P.
-
Determine los parámetros iniciales de la simulación. Esto utiliza un algoritmo de optimización, donde caminamos en un espacio de parámetros y buscamos los parámetros C , de modo que se minimice la función de error E (F (C), P) , donde F es una cantidad derivada de los parámetros.
-
Enchufa C en el motor de simulación. Este es un esquema de Euler de la EDP, de modo que en cada paso del tiempo, calculamos los términos que dirigen la dinámica (cada uno de ellos es una función compleja, potencialmente sujeta a inestabilidad) y alimentamos el esquema de Euler con estos términos dinámicos para calcular la siguiente estado. Esto continúa por miles de puntos de tiempo.
-
Al final de la simulación, calculamos algunas funciones Proof (S) del estado final S y las comparamos con algunas cantidades Require ( P) deducido de las cantidades observadas. Esto no es una prueba formal del resultado, más una verificación de plausibilidad.
También, veo una torre de operaciones complejas (cálculo de términos dinámicos, dentro del esquema de Euler, dentro de la Prueba ). Y me gustaría reconocer "partes malas" y corregirlas.
Especulo que usando una implementación de software de punto flotante Los números con precisión reducida magnificarían la inestabilidad de esquemas numéricos, facilitando así la comparación entre diferentes implementaciones ¿Es esta una técnica común para investigar esto? ¿pregunta? ¿Es posible utilizar una máquina virtual, como Bochs, para ¿Logras esto sin alterar el programa?
Para tratar adecuadamente la cuestión de la estabilidad, a veces es aceptable para apuntar la entrada típica del procedimiento numérico, por lo que que puede ajustarse para que funcione bien en esa entrada y quizás menos en otra entrada válida, pero improbable, Dada una muestra de insumos típicos, es posible snoop algunos resultados intermedios y preparar un Perfil estadístico para ellos. De nuevo, ¿es esta una técnica común para estudiar los problemas de estabilidad? ¿Es una máquina virtual útil para esto?