Capítulo I

Teoría de errores y aritmética del computador

Cifras significativas, errores de redondeo y truncamiento, serie de Taylor y propagación del error.

1.1 Introducción a los métodos numéricos

Los métodos numéricos son técnicas que permiten resolver problemas matemáticos mediante operaciones aritméticas elementales —sumas, restas, multiplicaciones y divisiones— de modo que puedan ejecutarse en una computadora. Aparecen cuando un problema no tiene solución analítica (no se puede despejar con fórmulas exactas), o cuando obtenerla "a mano" sería impráctico.

Por ejemplo, la ecuación $x = \cos x$ no se resuelve con álgebra elemental; la integral $\int_0^1 e^{-x^2}\,dx$ no tiene primitiva en términos de funciones elementales; y un sistema de 1000 ecuaciones lineales jamás se resolvería con la regla de Cramer. En todos estos casos, un método numérico entrega una aproximación tan buena como se desee.

Contexto del curso

Este libro acompaña el curso de Métodos Numéricos (Facultad de Ingeniería Industrial, UNMSM). A lo largo de los capítulos resolveremos problemas con apoyo de software: Matlab/Octave, Python, Scilab y Excel/VBA. Cada método se presenta con su fundamento, su algoritmo en pseudocódigo y ejemplos resueltos.

Un método numérico se evalúa por tres criterios: su exactitud (cuán cerca está del valor verdadero), su estabilidad (cómo se comportan los errores al avanzar el cálculo) y su eficiencia (cuántas operaciones requiere). Como toda aproximación trae consigo un error, el primer paso del curso es entender, medir y controlar los errores.

El error en un cálculo numérico puede provenir de varias fuentes:

  • Errores inherentes (de los datos): las mediciones físicas tienen incertidumbre.
  • Errores de redondeo: la computadora almacena los números con una cantidad finita de dígitos.
  • Errores de truncamiento: se reemplaza un proceso infinito (una serie, un límite) por uno finito.
  • Errores humanos o de modelado: simplificaciones del problema real.

1.2 Cifras significativas, exactitud y precisión

Cifras significativas

Las cifras significativas de un número son los dígitos que se conocen con certeza más el primer dígito incierto. Sirven para expresar con cuánta confiabilidad se conoce una cantidad. Reglas prácticas: todo dígito distinto de cero es significativo; los ceros entre dígitos significativos lo son; los ceros a la izquierda no son significativos; los ceros a la derecha tras el punto decimal lo son.

Ejemplo 1.1

Determina el número de cifras significativas:

  • $0.004520$ tiene 4 cifras significativas ($4,5,2,0$).
  • $1.008$ tiene 4 (el cero intermedio cuenta).
  • $3.1400$ tiene 5 (los ceros finales tras el punto cuentan).
  • $45000$ es ambiguo: puede tener entre 2 y 5; se resuelve con notación científica, p. ej. $4.50\times10^{4}$ tiene 3.
Exactitud y precisión

La exactitud mide cuán cerca está un valor calculado o medido del valor verdadero. La precisión mide cuán cerca están entre sí varios valores repetidos (su dispersión). Un método puede ser muy preciso (resultados consistentes) y a la vez inexacto (sistemáticamente desviado del valor real).

Exactitud vs. precisión: la exactitud apunta al centro (valor verdadero); la precisión, al agrupamiento de los disparos.
Exactitud vs. precisión: la exactitud apunta al centro (valor verdadero); la precisión, al agrupamiento de los disparos.

En métodos numéricos buscamos ambas: resultados exactos (cercanos al valor real) y un método estable que no amplifique los errores de redondeo (precisión sostenida a lo largo del cálculo).

1.3 Tipos de error: absoluto, relativo y porcentual

Sea $x$ el valor verdadero y $\tilde{x}$ una aproximación. Definimos tres medidas del error.

Error verdadero, absoluto y relativo

Error verdadero: $E_t = x - \tilde{x}$.

Error absoluto: $E_a = |x - \tilde{x}|$.

Error relativo: $\varepsilon_r = \dfrac{|x - \tilde{x}|}{|x|}$ (con $x\neq 0$), y el error relativo porcentual $\varepsilon_{\%} = \varepsilon_r \times 100\%$.

$$ E_a = |x - \tilde{x}|, \qquad \varepsilon_r = \frac{|x-\tilde{x}|}{|x|}, \qquad \varepsilon_{\%}=\varepsilon_r\times 100\% $$

El error relativo es, en general, más informativo que el absoluto, porque relativiza el error al tamaño de la cantidad medida. Un error de $1\,\text{cm}$ es enorme al medir un lápiz, pero despreciable al medir una carretera.

Ejemplo 1.2

Aproximamos $\pi$ por $\tilde{x} = 22/7$. Calcula los errores.

Ver solución

Con $x=\pi=3.14159265\ldots$ y $\tilde{x}=22/7=3.14285714\ldots$

$E_a = |3.14159265 - 3.14285714| = 1.2645\times10^{-3}.$

$\varepsilon_r = \dfrac{1.2645\times10^{-3}}{3.14159265} = 4.025\times10^{-4}, \quad \varepsilon_{\%}=0.0402\%.$

La aproximación $22/7$ es buena: poco más de 3 cifras significativas correctas.

En la práctica casi nunca se conoce el valor verdadero $x$ (¡es justamente lo que buscamos!). En métodos iterativos se usa entonces el error relativo aproximado entre dos iteraciones sucesivas.

$$ \varepsilon_a = \left|\frac{x_{\text{nuevo}} - x_{\text{anterior}}}{x_{\text{nuevo}}}\right|\times 100\% $$
Criterio de paro (Scarborough)

Se detiene el cálculo cuando $|\varepsilon_a| \lt \varepsilon_s$, donde el error tolerable $\varepsilon_s$ asegura $n$ cifras significativas si $\varepsilon_s = 0.5\times 10^{2-n}\,\%$. Por ejemplo, para $n=3$ cifras: $\varepsilon_s = 0.05\%$.

Ejemplo 1.3

La función $e^{x}$ se aproxima con la serie $e^{x}=1+x+\dfrac{x^2}{2!}+\dfrac{x^3}{3!}+\cdots$. Estima $e^{0.5}$ sumando términos y controla el error aproximado hasta lograr $\varepsilon_s=0.05\%$.

Ver solución

Sumas parciales y error aproximado entre sucesivas:

  • $S_1=1$
  • $S_2=1.5$, $\varepsilon_a=33.3\%$
  • $S_3=1.625$, $\varepsilon_a=7.69\%$
  • $S_4=1.645833$, $\varepsilon_a=1.27\%$
  • $S_5=1.648438$, $\varepsilon_a=0.158\%$
  • $S_6=1.648698$, $\varepsilon_a=0.0158\% \lt 0.05\%$ ✓

Se detiene en $S_6$. El valor verdadero es $e^{0.5}=1.648721\ldots$, de modo que efectivamente se obtuvieron $3$ cifras significativas.

1.4 Aritmética del computador y error de redondeo

La computadora no almacena los números en base 10, sino en base 2 (binario), y con una cantidad finita de dígitos. Esta limitación es la causa del error de redondeo.

En un sistema posicional de base $\beta$, un número se escribe como suma de potencias de $\beta$. Por ejemplo, en base 10: $\;345.2 = 3\cdot10^2+4\cdot10^1+5\cdot10^0+2\cdot10^{-1}$. En base 2 sólo se usan los dígitos $0$ y $1$.

Ejemplo 1.4

Convierte $13_{10}$ a binario.

Ver solución

Dividimos sucesivamente entre 2 y leemos los restos de abajo hacia arriba: $13\div2=6$ r $1$; $6\div2=3$ r $0$; $3\div2=1$ r $1$; $1\div2=0$ r $1$. Entonces $13_{10}=1101_2$ (en efecto $8+4+0+1=13$).

Representación en punto flotante

Un número real se almacena en punto flotante normalizado como $\;\tilde{x}=\pm\,(1.d_1 d_2\cdots d_t)_2 \times 2^{e}$, donde $(1.d_1\cdots d_t)$ es la mantisa (con $t$ bits de fracción) y $e$ es el exponente. El estándar IEEE 754 fija el tamaño de mantisa y exponente.

$$ \tilde{x} = \pm\,(1.d_1 d_2 \cdots d_t)_2 \times 2^{e} $$

El estándar IEEE 754 define dos formatos habituales:

  • Precisión simple (32 bits): $t=23$ bits de mantisa → unas $7$ cifras decimales.
  • Precisión doble (64 bits): $t=52$ bits de mantisa → unas $15$–$16$ cifras decimales.
Épsilon de máquina

El épsilon de máquina $\varepsilon_{\text{máq}}$ es la distancia entre $1$ y el siguiente número representable; mide la resolución relativa del sistema. En doble precisión $\varepsilon_{\text{máq}}=2^{-52}\approx 2.22\times10^{-16}$. El error relativo de redondeo de cualquier número cumple $\;\varepsilon_r \le \tfrac{1}{2}\varepsilon_{\text{máq}}$ (redondeo) o $\le \varepsilon_{\text{máq}}$ (truncado/chopping).

Los números de máquina no están distribuidos uniformemente: se espacian más conforme crece la magnitud.
Los números de máquina no están distribuidos uniformemente: se espacian más conforme crece la magnitud.

El redondeo explica por qué $0.1+0.2 \neq 0.3$ exactamente en la computadora: $0.1$ es periódico en binario ($0.0001100110011\ldots_2$) y no admite representación exacta con mantisa finita.

Hay dos formas de recortar la mantisa: truncado (descartar los dígitos sobrantes) y redondeo simétrico (al más cercano). El redondeo tiene menor error y es el modo por defecto de IEEE 754.

1.5 Error de truncamiento y la serie de Taylor

El error de truncamiento aparece al reemplazar un proceso infinito por uno finito. La herramienta central para analizarlo es la serie de Taylor, que es además el fundamento de muchos métodos numéricos (Newton, Euler, Runge-Kutta, integración numérica).

Teorema de Taylor

Si $f$ tiene $n+1$ derivadas continuas en un intervalo que contiene a $a$ y a $x$, entonces

$f(x)=\displaystyle\sum_{k=0}^{n}\frac{f^{(k)}(a)}{k!}(x-a)^k + R_n(x),$

donde el residuo (forma de Lagrange) es $\;R_n(x)=\dfrac{f^{(n+1)}(\xi)}{(n+1)!}(x-a)^{n+1}\;$ para algún $\xi$ entre $a$ y $x$.

$$ f(x)=\sum_{k=0}^{n}\frac{f^{(k)}(a)}{k!}(x-a)^k + \underbrace{\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-a)^{n+1}}_{R_n(x)\;=\;\text{error de truncamiento}} $$

El residuo $R_n(x)$ es el error de truncamiento del polinomio de grado $n$. Aunque no conocemos $\xi$, sí podemos acotar $R_n$ usando una cota de $|f^{(n+1)}|$ en el intervalo. Observa que si $h=x-a$ es pequeño, el error decae como $O(h^{n+1})$.

Ejemplo 1.5

Aproxima $e^{0.5}$ con el polinomio de Taylor de grado $3$ alrededor de $a=0$ y acota el error.

Ver solución

Para $f(x)=e^x$ se tiene $f^{(k)}(0)=1$, así que $P_3(x)=1+x+\tfrac{x^2}{2}+\tfrac{x^3}{6}$. Evaluando en $x=0.5$:

$P_3(0.5)=1+0.5+0.125+0.0208333=1.6458333.$

Cota del error: $R_3=\dfrac{e^{\xi}}{4!}(0.5)^4$ con $0\lt \xi\lt 0.5$. Como $e^{\xi}\lt e^{0.5}\lt 1.65$, $\;|R_3|\lt \dfrac{1.65}{24}(0.0625)=4.30\times10^{-3}.$

El error real es $|1.648721-1.645833|=2.89\times10^{-3}$, en efecto menor que la cota.

Ejemplo 1.6

Aproxima $\cos(0.1)$ con $P_2(x)=1-\tfrac{x^2}{2}$.

Ver solución

$P_2(0.1)=1-0.005=0.995$. El valor verdadero es $\cos(0.1)=0.99500417\ldots$, de modo que el error de truncamiento es $\approx 4.17\times10^{-6}$ (del orden del primer término omitido, $x^4/24$).

Visualización interactiva (requiere JavaScript).
Polinomios de Taylor de $\sin x$ alrededor de $a=0$. Mueve el grado $n$ y observa cómo $T_n$ se ajusta a la curva en un entorno cada vez mayor.
Aproximación de $\cos x$ por sus polinomios de Taylor de grados 2, 4 y 6 alrededor del origen.
Aproximación de $\cos x$ por sus polinomios de Taylor de grados 2, 4 y 6 alrededor del origen.

1.6 Propagación del error y condicionamiento

Cuando los datos de entrada traen error, éste se propaga a través de las operaciones. Conviene saber qué operaciones amplifican el error y cuáles lo atenúan.

Propagación en operaciones

Para la suma y resta, los errores absolutos se suman: $E_a(x\pm y)\le E_a(x)+E_a(y)$.

Para el producto y cociente, los errores relativos se suman: $\varepsilon_r(xy)\approx \varepsilon_r(x)+\varepsilon_r(y)$.

Propagación a través de una función

Si $\tilde{x}$ aproxima a $x$ con error pequeño $\Delta x=x-\tilde{x}$, entonces el error en $f$ se estima con la primera derivada:

$\Delta f \approx f'(\tilde{x})\,\Delta x, \qquad |\Delta f|\approx |f'(\tilde{x})|\,|\Delta x|.$

Ejemplo 1.7

Se mide $x=2.00$ con error absoluto $0.01$. ¿Qué error tiene $f(x)=x^{3}$?

Ver solución

$f'(x)=3x^2$, así $|\Delta f|\approx 3(2.00)^2(0.01)=0.12$. El valor es $f=8.00$, por lo que el error relativo de $f$ es $0.12/8=1.5\%$, exactamente el triple del error relativo de $x$ ($0.01/2=0.5\%$). En general, $\varepsilon_r(x^n)\approx n\,\varepsilon_r(x)$.

Número de condición

El número de condición de $f$ en $x$ mide cuánto amplifica $f$ el error relativo de la entrada:

$\kappa = \left|\dfrac{x\,f'(x)}{f(x)}\right|.$

Si $\kappa\approx 1$ el problema está bien condicionado; si $\kappa\gg 1$ está mal condicionado (pequeños errores de entrada producen grandes errores de salida).

Ejemplo 1.8

Calcula el número de condición de $f(x)=\sqrt{x}$.

Ver solución

$f'(x)=\dfrac{1}{2\sqrt{x}}$, entonces $\kappa=\left|\dfrac{x\cdot \tfrac{1}{2\sqrt{x}}}{\sqrt{x}}\right|=\dfrac12.$ La raíz cuadrada atenúa el error (está muy bien condicionada): el error relativo de salida es la mitad del de entrada.

Un caso peligroso es la cancelación catastrófica: al restar dos números casi iguales se pierden cifras significativas, porque las cifras coincidentes se anulan y sólo sobreviven los últimos dígitos (los menos confiables).

Ejemplo 1.9

Evalúa $y=\sqrt{x^2+1}-x$ para $x=1000$ en aritmética de 7 cifras.

Ver solución

Directamente, $\sqrt{1000001}\approx 1000.0005$ y $1000.0005-1000=0.0005$: ¡sólo una cifra significativa sobrevive! Reescribiendo (racionalizando):

$y=\dfrac{1}{\sqrt{x^2+1}+x}=\dfrac{1}{2000.0005}=4.999999\times10^{-4},$

que conserva todas las cifras. Reformular la expresión evita la cancelación.

Cancelación catastrófica: al restar cantidades próximas, el error relativo del resultado se dispara.
Cancelación catastrófica: al restar cantidades próximas, el error relativo del resultado se dispara.

1.7 Ejercicios propuestos

Resuelve y verifica tu respuesta. Marca la alternativa correcta y luego despliega la solución.

1 2 3 4 5 6 7 8 9 10 11 12 13 14
1

¿Cuántas cifras significativas tiene el número $0.004520$?

a) 3
b) 4
c) 5
d) 6
e) 7
Ver respuesta
Alternativa b) 4

Los ceros a la izquierda no cuentan; $4,5,2,0$ son significativos (el cero final tras el punto sí cuenta): 4.

3

Para $x=10$, $\tilde{x}=9.8$, el error relativo porcentual es:

a) 0.2\%
b) 1\%
c) 2\%
d) 2.04\%
e) 20\%
Ver respuesta
Alternativa c) 2\%

$\varepsilon_{\%}=\tfrac{0.2}{10}\times100\%=2\%$.

5

El épsilon de máquina en doble precisión IEEE 754 ($2^{-52}$) es aproximadamente:

a) $1.19\times10^{-7}$
b) $2.22\times10^{-16}$
c) $1.0\times10^{-10}$
d) $2.22\times10^{-8}$
e) $4.94\times10^{-324}$
Ver respuesta
Alternativa b) $2.22\times10^{-16}$

$2^{-52}\approx 2.22\times10^{-16}$.

6

El error de truncamiento al usar un polinomio de Taylor proviene de:

a) el redondeo de la mantisa
b) omitir los términos de orden superior de la serie
c) la conversión a binario
d) la cancelación catastrófica
e) la división por cero
Ver respuesta
Alternativa b) omitir los términos de orden superior de la serie

Truncar la serie infinita en el grado $n$ descarta el residuo $R_n$.

7

Si $x$ se conoce con error relativo del $1\%$, el error relativo de $x^{3}$ es aproximadamente:

a) 1\%
b) 2\%
c) 3\%
d) 0.33\%
e) 9\%
Ver respuesta
Alternativa c) 3\%

$\varepsilon_r(x^n)\approx n\,\varepsilon_r(x)=3\times1\%=3\%$.

8

La cancelación catastrófica ocurre al:

a) sumar muchos números pequeños
b) restar dos cantidades casi iguales
c) multiplicar por cero
d) dividir por un número grande
e) redondear hacia abajo
Ver respuesta
Alternativa b) restar dos cantidades casi iguales

Al restar números próximos se anulan las cifras coincidentes y se pierden cifras significativas.

9

El número de condición de $f(x)=\sqrt{x}$ es:

a) 2
b) 1
c) 1/2
d) x
e) $\sqrt{x}$
Ver respuesta
Alternativa c) 1/2

$\kappa=\left|\tfrac{x f'(x)}{f(x)}\right|=\left|\tfrac{x/(2\sqrt{x})}{\sqrt{x}}\right|=\tfrac12$.

10

¿Cuál de estos números NO se puede representar exactamente en punto flotante binario?

a) 0.5
b) 0.25
c) 0.1
d) 0.75
e) 0.125
Ver respuesta
Alternativa c) 0.1

$0.1$ es periódico en binario; los demás son fracciones diádicas (potencias de 2) exactas.

11

Aproximando $\cos(0.1)$ con $P_2(x)=1-\tfrac{x^2}{2}$ se obtiene:

a) 0.990
b) 0.995
c) 0.999
d) 1.000
e) 0.985
Ver respuesta
Alternativa b) 0.995

$P_2(0.1)=1-0.005=0.995$.

12

El redondeo simétrico de $3.14159$ a $4$ cifras significativas es:

a) 3.141
b) 3.142
c) 3.140
d) 3.1416
e) 3.14
Ver respuesta
Alternativa b) 3.142

La quinta cifra es $5$ (con cola $9$), de modo que la cuarta se redondea hacia arriba: $3.142$.

13

Según el criterio de Scarborough, para garantizar $n=3$ cifras significativas el error porcentual debe ser menor que:

a) 5\%
b) 0.5\%
c) 0.05\%
d) 0.005\%
e) 50\%
Ver respuesta
Alternativa c) 0.05\%

$\varepsilon_s=0.5\times10^{2-n}\%=0.5\times10^{-1}\%=0.05\%$.

14

El error absoluto $E_a$ y el relativo $\varepsilon_r$ se relacionan por:

a) $E_a=\varepsilon_r\cdot|x|$
b) E_a=|x|/\varepsilon_r
c) $\varepsilon_r=E_a\cdot|x|$
d) E_a=\varepsilon_r+|x|
e) \varepsilon_r=E_a-|x|
Ver respuesta
Alternativa a) $E_a=\varepsilon_r\cdot|x|$

Por definición $\varepsilon_r=E_a/|x|$, luego $E_a=\varepsilon_r\cdot|x|$.