domingo, 13 de febrero de 2022

Aproximaciones. Errores absolutos y relativos



Descarga este artículo aquí.

En este post trataremos cotas y aproximaciones por corte y redondeo para números reales expresados en notación punto flotante. Vamos, por tanto; a introducir esta notación antes que nada:

(Definición, notación punto flotante) Sean $\sigma \in \{ -1,1\}, B\in \mathbb{N}_{\geq 2}, N\in \mathbb{N}_{\geq 1}$ y $a_1, a_2,...$ números reales $(a_1\neq 0)$ entre $1$ y $B-1$; se acostumbra a denotar: $$\sigma (a_1 B^{N-1} + a_2 B^{N-2} + \dotsb ) \equiv \sigma B^N (. a_1a_2\dotsb )_B$$
Esta notación recibe el nombre de notación punto flotante.

Se puede garantizar que para cualquier $x\in \mathbb{R} \setminus \{ 0 \}$, existen $\sigma, B, N$ y coeficientes $a_1,a_2,...$ garantizando las condiciones de la definición y notación previa. Es importante resaltar que no hay unicidad en dicha representación. Por ejemplo, ya que $0.99999...=1$, se tiene: $1= 1\cdot 10(.1)_{10} = 1\cdot 10^{0}(.9999...)_{10}$. A partir de esta definición, se trabajan las aproximaciones por corte y redondeo con la siguiente definición:

(Definiciones, aproximaciones por corte y redondeo) Dado un número en representación flotante $x= \sigma B^N (.a_1a_2 \dotsb)_B$ (con los convenios establecidos en la definición), para un $m\in \mathbb{N}_{\geq 1}$ dado; definimos a la aproximación por corte a $m$ cifras como: $$x_C ^{(m)} = B^N \sigma (.a_1a_2 \dotsb a_m)_B$$
En el caso de las aproximaciones por redondeo a $m$ cifras, se define:
$$x_R ^{(m)} = \begin{cases} B^N \sigma (.a_1 a_2 \dotsb a_m)_B & , (.a_{m+1}a_{m+2}\dotsb)_B < \frac{1}{2} \\ B^N \sigma ((.a_1a_2 \dotsb a_m)_B + (.0\dotsb _{\, (m-1)} \dotsb 1)_B) & , (.a_{m+1}a_{m+2}\dotsb)_B \geq \frac{1}{2} \end{cases}$$

Surgen resultados acerca del error absoluto y relativo en ambas aproximaciones:

Proposición

Sea $x = \sigma B^n (.a_1a_2 \dotsb)_B$ representado en punto flotante, se tiene: $$\Delta x_C ^{(m)} \leq B^{N-m} \quad \Delta x_R ^{(m)} \leq \frac{1}{2}B^{N-m} \quad \delta x_C ^{(m)} \leq \frac{1}{a_1} B^{1-m} \quad \delta x_R ^{(m)} \leq \frac{1}{2a_1} B^{1-m}$$ , donde $\Delta \tilde{x} , \delta \tilde{x}$ denotan el error absoluto y relativo, respectivamente; de la aproximación $\tilde{x} \simeq x$.

Proof: Recordemos que el error absoluto se define como la distancia entre el valor real y el valor aproximado: $\Delta \tilde{x} = |x-\tilde{x}|$. Así:

$$\Delta x_C ^{(m)} = |x-x_C^{(m)}| = B^N (.0 \dotsb 0a_{m+1}a_{m+2}\dotsb)_B \leq B^N (.0\dotsb 0 (B-1)(B-1)\dotsb)_B$$

Escrito en notación corriente:

$$\Delta x_C ^{(m)} \leq B^{N}((B-1)B^{-m} + \dotsb) = B^{N-m} (B-1)(B^{-1} + B^{-2} + \dotsb)$$

Ya que $(B-1)(B^{-1}+B^{-2} + \dotsb) = (B-1)(\frac{1}{1-1/B}-1) = 1$ ($B\geq 2$), se deduce la primera desigualdad. Para trabajar la segunda, se separan dos casos: Si $(.a_{m+1}a_{m+2} \dotsb)_B < \frac{1}{2}$, la desigualdad es inmediata pues:

$$\Delta x_R ^{(m)} = B^N (.0 \dotsb 0a_{m+1}a_{m+2}\dotsb)_B \leq \frac{1}{2}B^{N-m}$$

Si por el contrario $(.a_{m+1}a_{m+2}\dotsb)_B \geq \frac{1}{2}$, se tiene ($|x_R ^{(m)}| > |x|$):

$$\Delta x_R ^{(m)} = |x_R ^{(m)}|-|x| = B^N ((.0...1)_B - (.0...0a_{m+1}a_{m+2}\dotsb)_B) \leq B^N (B^{-m}- \frac{1}{2}B^{-m})$$

Por tanto: $\Delta x_R ^{(m)} \leq \frac{1}{2}B^{N-m}.$ En el caso de los errores relativos, usaremos muchísimo el hecho: $|x| \geq B^{N-1}a_1$. Así:

$$\delta x_C ^{(m)} = \frac{\Delta x_C ^{(m)}}{|x|} \leq \frac{1}{B^{N-1}a_1} B^{N-m} = \frac{1}{a_1}B^{1-m}$$

Mismo razonamiento para el error relativo de la aproximación por redondeo. $\square$

Para caracterizar cómo de buena es una aproximación determinada, entra en juego la definición de cifras significativas:

(Definición, Cifras significativas) Para un $x=\sigma B^N(.a_1a_2 \dotsb)_B$, una aproximación $\tilde{x} \simeq x$ tiene $m$ cifras significativas correctas si, y solo si: $\Delta \tilde{x} \leq \frac{1}{2}B^{N-m}$.

Se puede establecer cierta "caracterización" a partir del error relativo:

Proposición

Sea $x = \sigma B^N (.a_1a_2 \dotsb)_B$ y $\tilde{x}\simeq x$ una aproximación de $x$. Entonces: $$\delta \tilde{x} \leq \frac{1}{2a_1}B^{1-m} \underset{(i)}{\Longleftarrow} \tilde{x} \text{ guarda } m \text{ c.s.c } \underset{(ii)}{\Longleftarrow} \ \delta \tilde{x} \leq \frac{1}{2(1+a_1)}B^{1-m}$$

Proof: Supongamos que $\tilde{x}$ guarda $m$ cifras significativas correctas. Esto es: $\Delta \tilde{x} \leq 1/2 B^{N-m}$. Ya que $|x|>a_1B^{N-1}$, la implicación $(i)$ se infiere de manera directa. Si suponemos ahora la cota del error relativo $\delta \tilde{x} \leq \frac{1}{2(1+a_1)}B^{1-m}$, trabajamos el error absoluto:

$$\Delta \tilde{x} = |x| \cdot \delta \tilde{x} \leq |x| \cdot \frac{1}{2(1+a_1)}B^{1-m}$$

Si logramos probar $|x|\leq (1+a_1)B^{N-1}$, de locos porque tendríamos la desigualdad ya probada. En efecto:

$$|x| = B^N (.a_1 ...)_B \leq B^N(a_1 B^{-1} + (B-1)(B^{-2}+B^{-3}+\dotsb)) = B^{N-1}(1+a_1)$$

, donde hemos usado la serie geométrica de razón $0<1/B <1$. Se concluye la prueba. $\square$

Estas propiedades nos van a permitir asegurar, en condiciones no tan favorables al conocimiento, cómo de buena es la aproximación que trabajamos. A la hora de trabajar con operaciones sobre los errores absoluto y relativo, surgen varios resultados relevantes:

(Errores relativos y absolutos) Sean $x,y\in \mathbb{R}$ y $\tilde{x}, \tilde{y}$ aproximaciones respectivas. Entonces: $\Delta (\tilde{x} \pm \tilde{y}) \leq \Delta \tilde{x} + \Delta \tilde{y}$. Respecto a los errores relativos:
$$\delta (\tilde{x} \cdot \tilde{y}) \leq \delta \tilde{x} + \delta \tilde{y} + \delta \tilde{x} \delta \tilde{y} \lesssim \delta \tilde{x} + \delta \tilde{y} \ ; \ \delta \left ( \frac{\tilde{x}}{\tilde{y}} \right ) \lesssim \delta \tilde{x} + \delta \tilde{y}$$
Además, si $n\in \mathbb{N} \Rightarrow \delta (\tilde{x}^n) \lesssim n \cdot \delta \tilde{x}$. En el caso de $x,\tilde{x} >0\Rightarrow \delta (\sqrt[n]{\tilde{x}}) \lesssim \frac{1}{n} \cdot \delta \tilde{x}$.

Veamos algún ejercicio práctico:

Determinar el número de cifras significativas correctas a tomar en $\pi, e$ para calcular $\sqrt{\frac{\pi \cdot e}{\pi +e}}$ con tres cifras significativas válidas. Para reducir el problema, buscamos tomar $m$ cifras significativas válidas en $\pi, e$ simultáneamente. Esto es, siendo $\hat{\pi} \simeq \pi, \hat{e} \simeq e$: $\Delta \hat{\pi}, \Delta \hat{e} \leq \frac{1}{2}10^{1-m}$. Se tiene:
$$\begin{eqnarray} \delta \left ( \sqrt{\frac{\hat{\pi} \hat{e}}{\hat{\pi}+\hat{e}}} \right ) \end{eqnarray} \lesssim \frac{1}{2} \delta \left ( \frac{\hat{\pi} \hat{e}}{\hat{\pi} + \hat{e}} \right ) \lesssim \frac{1}{2} \left ( \delta \hat{\pi} + \delta \hat{e} + \delta (\hat{\pi} + \hat{e}) \right )$$
Para proceder con el error relativo de la suma, lo transformamos a error absoluto:
$$\begin{eqnarray} \delta \left ( \sqrt{\frac{\hat{\pi} \hat{e}}{\hat{\pi}+\hat{e}}} \right ) \lesssim \frac{1}{2} \left ( \delta \hat{\pi} + \delta \hat{e} + \frac{\Delta (\hat{\pi} + \hat{e})}{\pi + e} \right ) \end{eqnarray} \leq \frac{1}{2} \left ( \frac{\Delta \hat{\pi}}{\pi} + \frac{\Delta \hat{e}}{e} + \frac{\Delta \hat{\pi} + \Delta \hat{e}}{\pi + e} \right )$$
Aplicando la cota respectiva de las cifras significativas:
$$\begin{eqnarray} \delta \left ( \sqrt{\frac{\hat{\pi} \hat{e}}{\hat{\pi}+\hat{e}}} \right ) \lesssim \frac{1}{4} 10^{1-m} \left ( \frac{1}{\pi} + \frac{1}{e} + \frac{2}{\pi + e} \right ) \end{eqnarray} < \frac{1}{4}10^{-m}\cdot 1'1 = \frac{11}{4}10^{-m}$$
Teniendo en cuenta que $\Delta x = x\cdot \delta x$, buscamos el primer natural $m$ que garantice: $\Delta x \leq \frac{1}{2} 10^{1-3} = \frac{1}{2} 10^{-2}$ $\left ( \sqrt{\frac{\pi \cdot e}{\pi +e}} \simeq 1.2072 \right )$. Para ello, formalizamos:
$$\Delta x < 1.21 \cdot \frac{11}{4}10^{-m} = \frac{1331}{400}10^{-m} \leq \frac{1}{2}10^{-2} \Longleftrightarrow m\geq \log_{10} \left ( \frac{133100}{200} \right ) \simeq 2'8231$$
Por tanto, basta con tomar $m=3$ cifras significativas correctas en $\pi, e$ para conseguir aproximar $\sqrt{\frac{\pi \cdot e}{\pi +e}}$ con tres cifras significativas correctas.

Las cotas proporcionadas pueden ser exactas o no según el contexto. Por lo que se recomienda siempre terminar un ejercicio de este estilo verificando si se pueden tomar menos cifras significativas para asegurar las condiciones deseadas. En el ejemplo previo, $m=2$ es inviable.

Ejercicios planteados:

  1. Se definen las aproximaciones $\hat{\sqrt{j}} \simeq \sqrt{j}$, para $2\leq j \leq k \geq 3$. Demostrar que: $$\sum_{n=2}^k \Delta \hat{\sqrt{n}} \leq \frac{1}{\sqrt{2}} 10^{-m} \Longrightarrow \sum_{n=2}^k \frac{1}{\hat{\sqrt{n}}} \ \text{guarda } m \text{ c.s.c}$$ , para todo $m\geq 1$. Solución.
  2. Sean $\hat{x} \simeq x, \hat{y} \simeq y$ dos aproximaciones respectivas. Si $\hat{x}, \hat{y}>0$ y existen $p,q\in \mathbb{N}$ tales que: $2^{-p} \leq 1-\hat{y} / \hat{x} \leq 2^{-q}$; probar que la diferencia $x-y$ pierde entre $q$ y $p$ cifras significativas correctas. Deducir así que aproximar los valores de $f(x) = x-\sin x$ directamente en torno a $x=0$ es altamente inviable.
  3. Utilizar el Teorema de Taylor para evitar la pérdida de cifras significativas al evaluar la función $$f(x) = \frac{\ln (1+x)+ \ln (1-x) + x^2}{x^4}$$ , en $x=0'1$; sabiendo que la calculadora empleada solo trabaja con redondeo a cinco cifras.
  4. Sea $x_A \simeq x$ con todas sus cifras significativas correctas. Acotar los errores absolutos y relativos de aproximar $f(x)$ por $f(x_A)$ en los siguientes casos: $$x_A = 2'78 \quad ; \quad f(x) = 2\arcsin \left ( \frac{e^{x-2}}{3} \right )$$ $$x_A = 0'397 \quad ; \quad f(x) = 2^{\sqrt{3x-1}}$$
  5. Determinar cuántas cifras significativas se deben tomar en $\pi , e, \sqrt{2}$ y $\varphi$ (razón áurea) para aproximar: $$\sqrt[3]{\pi e -1} \sqrt{\frac{1}{\varphi} +\sqrt{2\pi}}$$ , con 4 cifras significativas correctas.

No hay comentarios: