Fyskode Learning

Métodos numéricos para dinámica · Licenciatura avanzada · 8 horas

Error, redondeo y escalas

Aritmética finita, error absoluto y relativo, condicionamiento, residuo y escalamiento antes de integrar una EDO.

Un número almacenado aproxima un número real, y una trayectoria calculada aproxima una solución continua. Esa diferencia exige formular qué error se controla. Distingue error absoluto x^x|\widehat x-x|, error relativo x^x/x|\widehat x-x|/|x|, residuo de una ecuación y sensibilidad del problema. En un problema mal condicionado, interpreta un residuo pequeño junto con una estimación de error.

Representación en punto flotante

En precisión doble, un número normalizado se almacena con signo, exponente y una fracción binaria de longitud finita. La mayoría de los números decimales, incluido 0.10.1, no tiene representación binaria terminante. El valor guardado es el número representable más próximo bajo una regla de redondeo. Un modelo útil de una operación elemental es

fl(ab)=(ab)(1+δ),δu,\operatorname{fl}(a\circ b)=(a\circ b)(1+\delta), \qquad |\delta|\le u,

donde uu es el redondeo unitario y \circ representa una operación sin desbordamiento ni subdesbordamiento. El modelo no afirma que toda cuenta acumule exactamente nunu después de nn operaciones; ofrece una cota local desde la cual se analiza cada algoritmo.

En Python, numpy.finfo permite consultar eps, el menor incremento relativo alrededor de uno, y los rangos de un tipo. Imprime esos datos para float32 y float64, pero no los conviertas en tolerancias automáticas. La precisión de máquina describe el formato; la tolerancia debe incorporar escala física, condicionamiento y error de discretización.

La suma tampoco es asociativa en aritmética finita. Si aa es enorme y b,cb,c son pequeños, ($a+b)+c puede redondear de forma distinta que $a+(b+c). Sumar una lista de menor a mayor magnitud o usar una suma compensada reduce pérdida, pero no modifica la suma matemática que se pretende aproximar.

La aritmética de punto flotante aproxima cada operación. Restar dos cantidades casi iguales puede perder cifras significativas. Por ejemplo, para xx pequeño, evaluar sqrt(1+x)-1 directamente es menos estable que usar

1+x1=x1+x+1.\sqrt{1+x}-1=\frac{x}{\sqrt{1+x}+1}.

La misma idea aparece al calcular diferencias entre trayectorias cercanas, derivadas por diferencias finitas o exponentes de Lyapunov. La fórmula matemáticamente equivalente puede tener un comportamiento computacional distinto.

La cancelación no es un error de la resta: es una amplificación de errores previos cuando el resultado exacto es mucho menor que los operandos. Si aa y bb tienen errores relativos del tamaño de uu pero aba-b es diminuto, el error relativo del resultado puede ser grande. Racionalizar la expresión anterior evita formar primero dos números casi iguales.

Un segundo ejemplo aparece en la fórmula cuadrática. Para ax2+bx+c=0ax^2+bx+c=0 y b>0b>0 grande, la raíz

x1=b+b24ac2ax_1=\frac{-b+\sqrt{b^2-4ac}}{2a}

resta cantidades próximas. Se calcula primero

q=12(b+sgn(b)b24ac),x1=q/a,x2=c/q.q=-\frac12\left(b+\operatorname{sgn}(b)\sqrt{b^2-4ac}\right), \qquad x_1=q/a,\quad x_2=c/q.

Las identidades de Viète recuperan la segunda raíz sin cancelación severa. En ambos ejemplos, el problema matemático es el mismo; cambia la estabilidad de la fórmula elegida.

Error hacia adelante, residuo y condicionamiento

El error hacia adelante compara la respuesta calculada x^\widehat x con la exacta xx. El residuo inserta x^\widehat x en la ecuación. Para Ax=bAx=b,

r=bAx^.r=b-A\widehat x.

Un residuo pequeño dice que x^\widehat x resuelve exactamente un problema cercano, pero no garantiza cercanía con xx si AA está mal condicionada. En una norma compatible,

x^xxκ(A)rb,\frac{\|\widehat x-x\|}{\|x\|} \lesssim \kappa(A)\, \frac{\|r\|}{\|b\|},

con precauciones cuando las cantidades del denominador son pequeñas. numpy.linalg.cond estima el número de condición en distintas normas. No es una etiqueta binaria de «bueno» o «malo»: interpreta κ\kappa junto con la precisión de datos y el error aceptable.

Considere

A=(1111+ε),b=(22+ε).A=\begin{pmatrix}1&1\\1&1+\varepsilon\end{pmatrix}, \qquad b=\begin{pmatrix}2\\2+\varepsilon\end{pmatrix}.

La solución exacta es (1,1)T(1,1)^T, pero cuando ε\varepsilon es pequeño las filas son casi paralelas. Una perturbación comparable con ε\varepsilon en bb puede alterar mucho la solución. El algoritmo puede ser estable y aun así revelar la sensibilidad inherente del problema. Fuchs revisa sistemas lineales, autovalores y Taylor antes de presentar procedimientos computacionales; esas herramientas permiten separar álgebra del problema y efecto de la implementación. Fuchs, 2013 Armin Fuchs (2013) Nonlinear Dynamics in Complex Systems: Theory and Applications for the Life-, Neuro- and Natural Sciences Springer Ubicación consultada: cap. 10, pp. 181–198; apéndice B, pp. 205–212

Escalamiento de variables

Supón un estado x=(p,v,T)x=(p,v,T) con posición de 10610^6 metros, velocidad de 10110^1 metros por segundo y temperatura perturbada de 10310^{-3} kelvin. Una norma euclidiana sin escala queda dominada por pp. Define variables adimensionales p~=p/P\widetilde p=p/P, v~=v/V\widetilde v=v/V y T~=(TT0)/Θ\widetilde T=(T-T_0)/\Theta con escalas características elegidas por el modelo. El integrador puede controlar componentes comparables y el informe conserva la transformación para recuperar unidades.

En un solucionador adaptativo, la prueba por componente suele normalizar el error mediante

si=atoli+rtolmax(xin,xin+1).s_i=\operatorname{atol}_i+ \operatorname{rtol}\max(|x_i^n|,|x_i^{n+1}|).

rtol controla cifras relativas cuando la componente no está cerca de cero; atol_i fija un piso absoluto ligado a su resolución. Usar la misma atol para concentración, voltaje y posición raras veces expresa la misma exigencia física. Alligood, Sauer y Yorke incorporan error y paso adaptativo como parte del experimento dinámico, no como una configuración invisible. Alligood, 1996 Kathleen T. Alligood, Tim D. Sauer y James A. Yorke (1996) Chaos: An Introduction to Dynamical Systems Springer Ubicación consultada: apéndice B, pp. 567–576

Límites del refinamiento

Imagine un método de orden pp cuyo error total se aproxima por

E(h)Cdhp+Cruh.E(h)\approx C_dh^p+C_r\frac{u}{h}.

El primer término representa discretización y disminuye con hh; el segundo resume una acumulación de redondeo que aumenta con el número de pasos. Derivando respecto de hh se obtiene una escala óptima aproximada

h(CrupCd)1/(p+1).h_\star\approx\left(\frac{C_ru}{pC_d}\right)^{1/(p+1)}.

No es una fórmula universal para escoger el paso, porque el modelo de redondeo depende del algoritmo, pero explica la forma en U que puede aparecer al refinar. La zona de pendiente pp valida la discretización; la meseta o crecimiento final indica que otra fuente domina. La figura de convergencia debe acompañarse de una tabla y no sólo de una recta de referencia.

Validación en dinámica sensible

Dos trayectorias caóticas calculadas con pasos distintos coinciden sólo durante un horizonte finito. La dependencia continua asegura cercanía durante un intervalo que depende del error inicial, mientras la expansión dinámica reduce ese horizonte. Separarse a largo plazo no demuestra por sí mismo que un integrador falle.

Primero se verifica convergencia en tiempo corto. Después se comparan propiedades adecuadas: región acotada, distribución de visitas, tiempos de retorno, promedios o espectro de Lyapunov. Hirsch, Smale y Devaney colocan dependencia de datos y métodos numéricos en el mismo capítulo; esta cercanía conceptual ayuda a no confundir sensibilidad del flujo con inestabilidad de la implementación. Hirsch, 2013 Morris W. Hirsch, Stephen Smale y Robert L. Devaney (2013) Differential Equations, Dynamical Systems, and an Introduction to Chaos 3.ª ed. · Academic Press Ubicación consultada: cap. 7, pp. 139–158

Curvas de error de varios integradores al refinar el paso
El error cae mientras domina la discretización. Al continuar el refinamiento, redondeo y costo pueden modificar la pendiente esperada. La región útil se identifica mediante una pendiente estable y un costo declarado.

Atlas reproducible de sistemas dinámicos Función: plot_step_convergence

Descargar .py

Antes de integrar, escala variables y tiempo. Si una coordenada vale 10610^{-6} y otra 10510^5, define tolerancias absolutas que expresen la resolución física de cada escala. En un solucionador adaptativo se usa de forma esquemática

eiatoli+rtolxi.|e_i|\le \operatorname{atol}_i+\operatorname{rtol}|x_i|.

Cada tolerancia debe relacionarse con unidades y resolución relevante. Declara el criterio físico que determina cada valor.

Diagnóstico de la fuente del error

El análisis termina con una pregunta concreta para cada cifra: ¿proviene de la sensibilidad del problema, de la fórmula escogida, de la discretización o del formato numérico? Sólo después de separarlas tiene sentido reducir tolerancias o cambiar de método.

Fuentes consultadas

Obras citadas en el desarrollo; los localizadores indican los capítulos o secciones consultados.
  1. Kathleen T. Alligood, Tim D. Sauer y James A. Yorke (1996). Chaos: An Introduction to Dynamical Systems. Springer. ISBN 0-387-94677-2.

    apéndice B, pp. 567–576 · Solución numérica de EDO, error y control adaptativo en experimentos dinámicos.
  2. Armin Fuchs (2013). Nonlinear Dynamics in Complex Systems: Theory and Applications for the Life-, Neuro- and Natural Sciences. Springer. ISBN 978-3-642-33551-8.

    cap. 10, pp. 181–198; apéndice B, pp. 205–212 · Álgebra, Taylor y procedimientos numéricos usados en sistemas dinámicos.
  3. Morris W. Hirsch, Stephen Smale y Robert L. Devaney (2013). Differential Equations, Dynamical Systems, and an Introduction to Chaos. 3.ª ed. Academic Press. ISBN 978-0-12-382011-2.

    cap. 7, pp. 139–158 · Dependencia de datos, existencia y aproximación numérica de EDO.