4 votos

¿Son estas dos funciones numéricamente estables?

Se dan dos funciones (idénticas) $$f(x)=\sqrt{x^2+1}-1 \\ g(x)= \frac{x^2}{\sqrt{x^2+1}+1}$$

¿Son las especificaciones de cálculo para $f$ y $g$ ¿estable numéricamente?

No tengo ni idea de cómo se puede resolver esto y puede que necesite saberlo en el examen : /

He leído que algo es estable si no hay errores de redondeo que sumen y por tanto den una mala solución. En otras palabras, si algo (en este caso las funciones) es insensible a un pequeño desorden / cambio. Así lo he entendido yo.

Pero, ¿cómo se puede comprobar esto para estas dos funciones? ¿Debo elegir manualmente algunos valores muy pequeños, insertarlos en la función. Luego hacer pequeños cambios con los valores insertados, y luego comparar ambas soluciones? Si los cambios son grandes $\rightarrow$ numéricamente inestable, sino numéricamente estable.

¿No hay una manera mejor de hacer esto? Si no, ¿funcionaría mi idea barata?

0 votos

Tal vez estudiando el número de condición de cada función básica que hay que componer para conseguir $f$ y los de $g$ . Pero eso parece mucho trabajo

7voto

gammatester Puntos 7985

Ambas funciones (idénticas) tienen la serie de Taylor en 0

$$f(x) = \frac{1}{2}x^2-\frac{1}{8}x^4+O(x^6)$$

Imagina lo que ocurre, si quieres calcular $f(x)$ para $x^2 < \frac{1}{2}\epsilon$ , donde $\epsilon$ es el épsilon de la máquina para su aritmética de punto flotante (es decir $1+\epsilon \approx 1$ ) y $\approx$ denota el resultado de las operaciones en coma flotante:

Usted obtiene $$f(x) = \sqrt{x^2+1}-1 \approx \sqrt{1}-1 \approx 0$$ y para $$g(x) = \frac{x^2}{\sqrt{x^2+1}+1} \approx \frac{x^2}{\sqrt{1}+1} \approx \frac{x^2}{2}$$ es decir, recuperamos el término principal de la serie de Taylor.

Para resumir: $f(x)$ sufre de redondeo y cancelación (alias pérdida de importancia ) y es inútil para los argumentos pequeños, $g(x)$ se redondea también pero no hay cancelación y dará un resultado fiel cercano a cero.

Actualización: He aquí algunas cifras reales. Primero para $f(x)$ con $t=\sqrt{x^2+1}, y=t-1$

x= 0.001000000000000  t= 1.000000499999880  y=    4.99999875058777E-007
x= 0.000100000000000  t= 1.000000005000000  y=    4.99999996961265E-009
x= 0.000010000000000  t= 1.000000000050000  y=    5.00000041370186E-011
x= 0.000001000000000  t= 1.000000000000500  y=    5.00044450291171E-013
x= 0.000000100000000  t= 1.000000000000000  y=    4.88498130835069E-015
x= 0.000000010000000  t= 1.000000000000000  y=    0.00000000000000E+000
x= 0.000000001000000  t= 1.000000000000000  y=    0.00000000000000E+000
x= 0.000000000100000  t= 1.000000000000000  y=    0.00000000000000E+000

se puede ver que si $x$ se hace pequeño, el $t$ se acercan a 1 y para $x \le 0.00000001$ la diferencia en coma flotante $t-1$ es cero (todos los dígitos significativos se pierden).

Para $g(x)$ con $d=\sqrt{x^2+1}+1, y=x^2/d$ parece que

x= 0.000100000000000  d= 2.000000005000000  y=    4.99999998750000E-009
x= 0.000010000000000  d= 2.000000000050000  y=    4.99999999987500E-011
x= 0.000001000000000  d= 2.000000000000500  y=    4.99999999999875E-013
x= 0.000000100000000  d= 2.000000000000000  y=    4.99999999999999E-015
x= 0.000000010000000  d= 2.000000000000000  y=    5.00000000000000E-017
x= 0.000000001000000  d= 2.000000000000000  y=    5.00000000000000E-019
x= 0.000000000100000  d= 2.000000000000000  y=    5.00000000000000E-021

Aquí el $d$ se redondea a 2 para $x \le 0.00000001$ pero en este caso no se pierden dígitos significativos ( $d\approx 2$ con muy buena precisión).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X