Está en la página 1de 20

Programación Numérica

Dr. Angel Rubén Barberis

Introducción a la Teoría del Error Numérico

Departamento de Informática. Facultad de Ciencias Exactas


Universidad Nacional de Salta
Cátedra: Programación Numérica Dr. Angel R. Barberis

Teoría de Errores

1. Introducción

¿Qué es el Cálculo Numérico?

El Cálculo Numérico (más conocida como Análisis Numérico) es una disciplina de


las Matemáticas cuyo objetivo es reducir la resolución de problemas matemáticos
complejos (sistemas de ecuaciones algebraicas —lineales o no lineales—, integrales
definidas, ecuaciones diferenciales ordinarias o en derivadas parciales, etc.) a una
secuencia de simples operaciones aritméticas (suma, resta, multiplicación y división),
generalmente tras realizar una serie de aproximaciones. La solución así obtenida, es
aproximada y será, en general, distinta de la solución exacta que se obtendría resolviendo
el problema por métodos analíticos, si es que estos últimos estuvieran disponibles (lo que
no sucede en la mayoría de los casos).
El problema a resolver puede provenir de la modelización en diversas áreas o
campos de estudios, como Física, Ingeniería u otras disciplinas. En todos los casos, el
Cálculo Numérico entrará en acción únicamente luego de que dicho problema haya sido
formulado matemáticamente, no juzgando por tanto, la bondad del modelo.
Un problema resuelto numéricamente consiste en un procedimiento en el que se
enumera una secuencia de operaciones matemáticas básicas que conducen a la
aproximación de un resultado. Si bien el procedimiento puede desarrollarse con cálculos
manuales, muchos problemas involucran una inmensa cantidad de operaciones básicas
que hace imprescindible la ayuda de un computador. Es por ello, que en la mayoría de
los casos, el procedimiento numérico se convierte en un algoritmo computacional. La
implementación del algoritmo computacional, podrá realizarse a través de lenguajes de
programación de propósitos generales como Fortran, C/C++, Object Pascal, etc.;
programas o herramientas específicas del cálculo simbólico, como Maple, Derive,
Mathematica, Matlab, etc., o bien, usar herramientas que manipule hojas de cálculos
como Excel, OpenOffice Calc, GNumeric, entre otros.

¿Qué es un método numérico?

Un método numérico es una estrategia procedimental que resuelve un problema


matemático mediantes aproximaciones con cierto grado de precisión. Un problema

2
Cátedra: Programación Numérica Dr. Angel R. Barberis

matemático puede ser resuelto a través de diversas estrategias. El procedimiento


numérico asociado a cada una de ellas se le llama método numérico.
La eficiencia en el cálculo de las aproximaciones depende, en parte, de la facilidad
de implementación del algoritmo, de las características especiales propias del
procedimiento numérico, y de las limitaciones de los instrumentos de cálculo (los
computadores). Cualquier dispositivo de cálculo no podrá representar todos los números
de la recta real, por lo que la precisión de sus resultados estará supeditada al hardware
de representación numérica diseñada durante su fabricación.

2. Representación de los Números en la Computadora

Los dispositivos de cálculos (Computadoras, Tablet, Smart Phone) trabajan con


una aritmética que utiliza un número finito de dígitos. Buena parte de los números reales
poseen infinitos dígitos, por lo que su representación en dispositivos de cálculos es con
error, ya que está obligado a elegir un número finito de dígitos. Un problema con un
procedimiento numérico que incluye una enorme secuencia de operaciones aritméticas
básicas con números de gran cantidad dígitos constituye un gran desafío para el análisis
numérico en el afán de controlar los errores de representación y propagación. Conforme
se realizan estas operaciones, el error se propaga, se acumula y en algunos casos puede
llegar a crecer exponencialmente, provocando grandes discrepancias en el resultado final.

En general, dependiendo de la cantidad de bits (múltiplos de 16) que se utilice


para su representación, el esquema utilizado por la IEEE para una representación de 32
bits es:

S Exponente Mantisa

1 8 bits 23 bits

En este esquema, el S representa el bit de signo: 0 para números positivos y, 1


para negativos. Para el exponente se reserva una cierta cantidad de bits (ebits), que en
el ejemplo son 8 (ebits = 8). El rango de exponentes para números representables estará
dado por  2ebits 1  1, 2ebits 1  , así para el ejemplo ebits = 8, se tendrá: [127, 128] que

3
Cátedra: Programación Numérica Dr. Angel R. Barberis

corresponde a los límites de los exponentes de un número real en simple precisión. La


mantisa tiene adjudicada la mayor cantidad de bits y representan los dígitos de precisión
en el sistema binario.

En general, sólo es posible representar un conjunto F finito de números, de la


recta real ( ⊂ ℝ), formado por elementos de la forma = ± · , donde β es la
base del sistema de numeración, t la cantidad de dígitos de precisión y e el margen de
exponentes, L ≤ e ≤ U. El valor L es el exponente más chico que puede tener un número
incluido en el conjunto F. Cualquier número real expresado con un exponente menor a
L, hará que el dispositivo de cálculo genere un error por defecto, conocido como
underflow. Por otro lado, el valor U representa el máximo exponente que el conjunto F
puede usar para aproximar un valor a un número real. Así, cualquier número que se
exprese con un exponente mayor U, hará que el dispositivo de cálculo genere un error
por exceso, conocido como overflow. El número entero m, se denomina mantisa, y verifica
la relación 0 < ≤ − 1. Todos los elementos de F son número en Punto Flotante.

Máquina Precisión t L U
Simple 2 48 -8192 8191
Cray
Doble 2 96 -16383 16384
Simple 16 6 -64 63
IBM mainframe Doble 16 14 -64 63
Extendida 16 28 -64 63
Simple 2 24 -127 128
IEEE estándar 754, 1985 Doble 2 53 -1023 1024
Extendida 2 64 -16381 16384
Calculadoras HP 10 12 -499 499
Tabla 1: Parámetros de los Sistemas de Numeración para distintas máquinas.

Un conjunto de punto flotante F queda caracterizado por cuatro parámetros: La


base β, la precisión t, y los enteros L y U tales que L ≤ e ≤ U, donde e es el exponente.
El conjunto finito F de números representables en punto flotante normalizado
puede verse como una función M(β, t, L, U) que determina todos sus elementos. Al
conjunto F= M(β, t, L, U) se denomina Malla. Cualquier número n real es necesariamente
representado por un elemento de la malla.
De esta manera, dado los parámetros β, t, L, U se conforma la malla como un
conjunto de números F= M(β, t, L, U). (ver tabla 1). Entre dos mallas diferentes, los
conjuntos de punto flotante correspondientes comparten las mismas características

4
Cátedra: Programación Numérica Dr. Angel R. Barberis

cualitativas, entre ellas, la carencia de algunas de las propiedades algebraicas de que


gozan los números reales. Estas propiedades se analizarán en la sección de propagación
del error con operaciones en punto flotante.

El conjunto F está compuesto por todos los números reales f de la forma:

= ± + + ⋯+ × = ±0, ⋯ × ,

donde los dígitos , ,⋯, son número enteros que satisfacen


0≤ ≤ −1 ; = 1, ⋯ , ≤ ≤ .
Al número entero e se lo denomina exponente y  0,d1d2dt fracción o mantisa.

La mayor mantisa con t dígitos que se puede representar es 1 − , y corresponde


a = −1, = 1 ⋯ . Ejemplo: Sea β=10 y t=5  β5=0,00001 y 1β5=0,99999.
Por lo tanto, el mayor número representable será (1 − )· .

La menor mantisa con t dígitos es el cual corresponde a =1 = =


⋯ = 0, por lo que el menor número representable (el más chico) será .

Un número real f distinto de cero, se dice que está en punto flotante normalizado,
si se encuentra expresado de la forma:
= ± · ≤ <1
En una malla compuesta por números en punto flotante normalizado (PFN),
un número ≠ 0, ∈ está acotado de la siguiente manera:
≤ | | ≤ (1 − )·

Una de las características de todo conjunto de punto flotante F es la ser finito y tiene:
2 · ( − 1) · · ( − + 1)
números diferentes (sin incluir el cero). Todos están en punto flotante normalizados. En
la fórmula anterior:
 El factor 2 es por las dos opciones de signo que se tiene (positivo y negativo).
 Se tiene (  1) valores posibles para el dígito d1 (no puede valer cero).
 Se tiene  posibles valores para los (t  1) dígitos restantes. De esta manera hay
( − 1) · · · ⋯· = ( − 1) · fracciones positivas diferentes.

 Los valores posibles para el exponente totalizan (U − L + 1).

5
Cátedra: Programación Numérica Dr. Angel R. Barberis

Los [2 · ( − 1) · · ( − + 1)] elementos no están igualmente espaciados


sobre la recta real, sino en potencia sucesivas de .

 Distancia entre 2 representantes consecutivos

Entre dos potencias sucesivas de la base se puede obtener ( − 1 ) · mantisas


diferentes, que al ser multiplicadas por generarán los representantes que existen entre
dos potencias sucesivas de la base. Ahora, se quiere obtener la distancia entre los
representantes ri y ri+1.

Sea = . y sea = . donde = + entonces:


| − |= . − . =( + ). − . = . + . − .

 | − |=

Por lo que la distancia entre dos representantes de la malla es = . Esto


quiere decir, que la distancia está en función de la base β, el exponente e, que da la
posición relativa, y de la precisión del número t.

Como ejemplo, consideremos el conjunto de punto flotante normalizado F con


parámetros β = 2, t = 3, L = −1, U = 2. Tal conjunto F tiene
2·(2 − 1)·23−1 · (2 − (−1) + 1) = 32 números diferentes (sin incluir el cero).
Los números de F, distintos de cero, son de la forma ±(0.d1d2d3 )2 × 2e con d1 = 1,
d2, d3  { 0, 1 } y e  { −1, 0, 1, 2 }; así que las fracciones positivas distintas son:

1 0 0 1 8
 0.100 2     
2 22 23 2 16
1 0 1 5 10
 0.1012   2  3  
2 2 2 8 16
1 1 0 3 12
 0.110 2   2  3  
2 2 2 4 16
1 1 1 7 14
 0.1112   2  3  
2 2 2 8 16

Combinando estas mantisas con los exponentes, obtenemos todos los números positivos
de F que aparecen en la siguiente TABLA:

6
Cátedra: Programación Numérica Dr. Angel R. Barberis

Como se está más familiarizados con los números decimales (en base β = 10), los
32 elementos de F en formato decimal(racional) son:
4 5 6 7 8 10 12 14
 ,  ,  ,  ,  ,  ,  , 
16 16 16 16 16 16 16 16
16 20 24 28 32 40 48 56
 ,  ,  ,  ,  ,  ,  , 
16 16 16 16 16 16 16 16

Una representación de los 32 números de F en la recta real es:

 Aquellos números mayores que el máximo elemento de F y menores que el mínimo, no


pueden representarse de ninguna manera.

 Veamos la distancia que hay entre 2 representantes consecutivos de un misma


exponente:

Sea por ejemplo e = 1 y como t=3 ⇒ = 2 = 2 = =


Esto quiere decir que la distancia entre 2 consecutivos bajo la potencia e=1 es , por
lo tanto si al representante le sumamos se tendrá + = . Por lo que y
son consecutivos en la tabla.

7
Cátedra: Programación Numérica Dr. Angel R. Barberis

3. Errores en los Cálculos

Los errores no son más que la diferencia (discrepancia) entre un valor exacto y
uno aproximado en términos absolutos. El error de estimación puede ser obtenido a través
de diversas fuentes.

Clasificación:
 INHERENTE A LOS DATOS: es el error propio de los datos con los que se
cuenta. Estos errores son producidos como consecuencia del proceso de estimación
y medición. En algunos casos, son producidos por la dificultad en la representación
de los datos.

Ejemplo:
o Medición: distancia entre los puntos geográficos.
o Estimación: determinación de la hora del día.
o Representación: √2

 ANALITICO: Es el error que se comete al reemplazar un operador continuo por


un operador discreto o al truncar una serie infinita.
Ejemplo:
=1+ + + + ⋯+ +⋯
! ! !

=1+ + !

⇒ = + + ⋯+ +⋯
! !

 ARITMETICO: son aquellos que se generan al tratar de representar el resultado


de una operación aritmética (+,, x, %).
Ejemplo:
o + =1
o Luego = 0.333333, = 0.666666
o ⇒ 0.33333 + 0.66666 = 0.999999

8
Cátedra: Programación Numérica Dr. Angel R. Barberis

4. Expresión del Error

El error numérico se puede expresar de tres maneras diferentes. Esto es:

Error absoluto: Dado un valor exacto x y su aproximación ̅ se define al error absoluto


( x)  0 tenemos una aproximación por defecto
como: ( x)  x  x 
( x)  0 tenemos una aproximación por exceso

Error relativo: Dado un valor exacto x y su aproximación x definimos al error relativo


xx  ( x) ( x)
como:  ( x)   
x x x

* Tanto el error absoluto como el relativo expresan cotas del error producido *

Error porcentual: Dado un valor exacto x y su aproximación x , obtenemos  (x ) y


definimos al error porcentual como  %  100  (x) .

5. Criterios para la elección del representante

Dado un valor exacto x  y su aproximación ̅  Maya(β, t, L, U). Sea = +

donde a es la mantisa formada por los t dígitos más significativos de x, en formato de


PFN, y b la mantisa normalizada formada por los dígitos restantes de x que no fueron
incluidos en a. Luego, se puede elegir entre dos formatos para representar un valor
aproximado en la maya:

1) Representación por Corte o Truncamiento:


̅=

2) Representación por Redondeo Simétrico:


+1 ≥ 0.5
̅=
< 0.5

Ejemplo: Sea x = 35,7663852 y una maya = M(10, 6, L, U)  t = 6, luego su expresión


es x = 0,357663  102 + 0,852  104 entonces se tiene:

9
Cátedra: Programación Numérica Dr. Angel R. Barberis

Representación por Corte o Truncamiento: ̅ = 0,357663 × 10


Representación por Redondeo Simétrico: ̅ = 0,357664 × 10 debido a que 0,852 0,5

6. Cotas del Error de Representación

Error por Truncamiento o Corte

Se adopta como representante de x, el mayor representante que sea menor que x.


Este número cumple con las siguientes condiciones.
1) ̅ pertenece a la Maya, es decir ̅ ∈ ( , , , )
2) ̅ <
1) Error Absoluto: Sea ∈ℝ y ̅ un representante próximo a x, tal que ̅ < y
∈ ( , , , ) Entonces ∆( ) = | − ̅ |
La cota del error absoluto ∆( ) es:
∆( ) = | − ̅ | ≤
La cota representa el mayor error que se puede cometer al aproximar a . Como la
distancia entre 2 representantes consecutivos es ,y están entre ambos, entonces
| − ̅ | nunca va a superar a r1 x r2

2) Error Relativo ( ) :

| ̅| ∆( ) ∆( )
( )=
| |
= | |
= | ̅|
entonces la cota es ( ) ≤

Demostración: Se sabe que en PFN es | | = ≤ <1


1
⇒ . ≤ . <

⇒ ≤| |<
( )

Luego como | − | ≤ (2)


Entonces m.a.m (1) y (2) se tiene
| − | ≤| |
| − |
⇒ ≤ ≤ ≤
| |

| − ̅|
⇒ ≤
| |

10
Cátedra: Programación Numérica Dr. Angel R. Barberis

Error por Redondeo Simétrico

Sea la maya = M(β, t, L, U) y dos representantes consecutivos y y sea ℝ


tal que < < Entonces: x
r1 r2

+
2
El representante de será de los dos consecutivos, el más cercano. Sea ̅ el
representante más próximo a , esto es:
Si > , entonces ̅ =

Si < , entonces ̅ =

Luego la diferencia entre y ̅ en valor absoluto va a ser menor que | − | es decir:


| − ̅ |<| − |

1) Error Absoluto:
Se sabe que la diferencia entre dos representantes consecutivos es | − | = (1)
Por lo tanto la mayor diferencia entre y ̅ será igual a la mitad de | − | , es decir:
1
| − |≤ | − |
2
Por (1) se tiene que ∆( ) = | − ̅ | ≤

2) Error Relativo:
Teniendo en cuenta el concepto de normalización se sabe que ≤| |< (2)
Si consideramos la primera desigualdad de (2) y la multiplicamos miembro a miembro
con (x), se tiene
1
| − ̅ |≤
2
≤| |
1
| − ̅ |≤ | |
2
1 1
| − ̅ | 2 | − ̅ | 2
⇒ ≤ ⇔ ≤
| | | |

| − ̅ | 1
( )= ≤
| | 2

11
Cátedra: Programación Numérica Dr. Angel R. Barberis

7. Cotas del Error Aritmético

Sea ∈ℝ/ = + , donde a es la mantisa de x truncada a t dígitos significativos,


y = − formado por los dígitos de de las posiciones ( + 1) en adelante. Como
debe estar en PFN, entonces se la multiplica por . Así se tiene = .

Cota del Error de Truncamiento o por Corte

Al tratarse de la representación por Corte o Truncamiento se tiene que ̅ =

a) Error Absoluto:
∆( ) = | − | = | + − |
∆( ) = | | (1)

Como 0 ≤ < 1 , entonces ∆( ) = | − | ≤

b) Error Relativo:
∆( ) | − |
( )= = = =
| | | |

Como ≤ <1 ⇒ ( )≤ , se toma = por qué hace más grande la función.


⇒ ( )≤

Cota del Error por Redondeo Simétrico

a) Error Absoluto:
 Si ≥ 0.5 entonces por definición de Redondeo Simétrico, se suma una unidad al
digito de la posición de la mantisa a. Esto es = +1

Luego
∆( ) = | − | = | + −( +1 )|
=| + − − |
=| − |= | − 1| (1)

Acotando | − 1| se tiene:

12
Cátedra: Programación Numérica Dr. Angel R. Barberis

Se sabe que en PFN ≤ <1 ⇒ −1≤ −1<0 ⇒− ≤ −1<0

Multiplicando por (−1) se tiene: 0 < −( − 1) ≤ (2)

Luego (2) es equivalente a 0 < | − 1| ≤ (3)

Teniendo en cuenta (3), y volviendo a (1) se concluye:


1
∆( ) ≤
2

 Si < 0.5 , entonces el Redondeo Simétrico de coincide con el obtenido por la


representación por truncamiento o Corte a dígitos significativos para la mantisa.
O sea : =
Luego
∆( ) = | − | = | + − | ⇒ ∆( ) ≤

Como 0 ≤ < ⇒ ∆( ) <

 Por lo tanto, la Cota del Error Absoluto en la representación aritmética del resultado
de alguna operación es:
1
∆( ) ≤
2

b) Error Relativo:

∆( ) | | | |
 Si ≥ 0.5 ⇒ = +1 ⇒ ( )=
| |
= | |
≅ | |

1 1
⇒ ( )= 2 ≅ 2
+ +1

1 1 − 1 −
⇒ ( )= 2 = 2 = 2
( + )

Como siempre está en PFN, entonces ≤ <1

 Si tiende a un número más grande, entonces ( ) tiende a ser más chico.


 Si tiende a un número más chico, entonces ( ) tiende a ser más grande.

13
Cátedra: Programación Numérica Dr. Angel R. Barberis

Como está acotado, entonces el caso más desfavorable es cuando = , entonces el


error relativo (x) es:
1
1
( )=2 ⇒ ( )=
2

 cuando < 0.5 se tiene:

Como < 0.5 , no se suma 1 a , entonces = .


∆( ) | |
Luego ( ) ≅ | |
⇒ ( )≅
| |
= = (1)

Como ≤ < 1 , entonces el caso más desfavorable es cuando = , luego, volviendo a


(1), se tiene:
1
1
( )=2 ⇒ ( )=
2

 Por lo tanto, la Cota del Error Relativo en la representación aritmética del resultado
de alguna operación es:
1
( )=
2

8. Error de Propagación en las operaciones básicas

El error de propagación es aquel que se produce al operar con números aproximados.


Sean , , ∈ ℝ y , , ̅ ∈ Maya, tal que = ± ∆( ), = ± ∆( ), = ∘ , = ∘

Propagación con errores inherentes (datos inexactos)

Suma = +

Error Absoluto: = + = + ∆( ) + + ∆( )
⇒ = ( + ) + ∆( ) + ∆( )
⇒ | − | = |∆( ) + ∆( )| < |∆( )| + |∆( )|
⇒ ∆( ) = | − ̅| < |∆( )| + |∆( )|

14
Cátedra: Programación Numérica Dr. Angel R. Barberis

Error Relativo:
| − | |∆( ) + ∆( )| ∆( ) ∆( )
( )= = = +
| | | + | + +

∆( ) ∆( ) ∆( ) ∆( )
⇒ ( )= + = ( )+ ( )
+ + + +

⇒ ( )≤ ( ) + ( )
+ +

⇒ ( )≤ ( )+ ( )
+ +

Resta = −

Error Absoluto: = − = + ∆( ) − − ∆( )
= ( − ) + ∆( ) − ∆( )
⇒ − ( − ) = ∆( ) − ∆( ) ⇒ − = ∆( ) − ∆( )
Luego ∆( ) = | − | = |∆( ) − ∆( )| ≤ |∆( )| + |∆( )|
⇒ ∆( ) ≤ |∆( )| + |∆( )|

Error Relativo:
| − | |∆( ) − ∆( )|
( )= =
| | | − |

∆( ) ∆( ) | − ̅| | | | − | | | | | | − ̅| | | | − |
( )= − = · − · = · − ·
| − | | − | | − | | | | − | | | | − | | | | − | | |

| | | | | | | |
⇒ ( )= ( )− ( ) ≤ ( )+ ( )
| | | | | | | |


( )≤ ( )+ ( )
− −

15
Cátedra: Programación Numérica Dr. Angel R. Barberis

Producto = ·

Error Absoluto: = = [ + ∆( )] · [ + ∆( )]
·
= + ∆( ) + ∆( ) + ∆( )∆( )
⇒ = + ∆( ) + ∆( )
se desprecia a ∆( )∆( ) por
⇒ − = ∆( ) + ∆( )
ser un error demasiado chico.
Por lo tanto, ∆( ) = | − | = | ∆( ) + ∆( )|
∆( ) ≤ | ̅ |∆( ) + | |∆( )

Error Relativo:
| − | | | ∆( ) | | ∆( ) ∆( ) ∆( )
( )≅ ≤ + = +
| | | · | | · | | | | |

( )≤ ( )+ ( )

Cociente = /

Error Absoluto:
∆( ) ∆( ) ∆( )
= = ∆( ) = · ∆( ) (1)
∆( )

Teniendo en cuenta la serie geométrica de | | < 1 se tiene:

= = + + + +⋯
1−

(− ) = − + − +⋯=
1+
∆( )
Luego, si =1y = < 1 se tiene

1 ∆( ) ∆( ) ∆( ) ∆( )
=1− + − +⋯ ≅ 1−
∆( )
1+
é ≅

Volviendo a (1) se tiene:

+ ∆( ) ∆( ) + ∆( ) [ + ∆( )]∆( ) ∆( ) ∆( ) ∆( )∆( )
= · 1− = − = + − +

16
Cátedra: Programación Numérica Dr. Angel R. Barberis

∆( )
− = − ∆( )
∆( )
⇒ ∆( ) = | − | = − ∆( )

Por lo tanto,
∆( )
∆( ) ≤ + − ∆( )

Error Relativo:
∆( )
− ∆( )
| − | ∆( ) ∆( ) ∆( )
( )= = = − ∆( ) · = − = | ( ) − ( )|
| |

Por lo tanto,
( ) ≤ | ( )| + |− ( )|

Propagación con errores inherentes y errores en las operaciones

En este caso, a las cotas encontradas anteriormente en 1) se les suma el error


producido en la operación  : ∆(∘) ó (∘), así por ejemplo en la suma = + se tiene:

 Error Absoluto: ∆( ) ≤ |∆( )| + |∆( )| + |∆(+)|


 Error Relativo: ( ) ≤ ( )+ ( ) + (+)

En general, la propagación de errores crece en la medida que se efectúan más y


más operaciones, aunque eventualmente llegan a disminuir por efecto de compensación
de los errores de redondeos cuando estas se combinan.

Graficas de Procesos

Cada una de las operaciones vistas anteriormente puede ser representada a través
de una gráfica de proceso.

17
Cátedra: Programación Numérica Dr. Angel R. Barberis

a) Suma b) Resta
( + )= ( )+ ( ) + (+) ( − )= ( )− ( ) + (−)
+ + − −

(+ (
 
-
+ + + +

X Y X Y

(x) (y) (x) (y)

c) Multiplicación d) Cociente
( · ) = ( ) + ( ) + (·) ( / ) = ( ) − ( ) + (/)

( ()
 ) 
1 1 1 1

X Y X Y

(x) (y) (x) (y)

Ejemplo: =
()
( )= .0 + ( ) + (+) . 1 − ( ) + (/) 
( )= ( ) + (+) − ( ) + (/)
1 1
Sea = mayor{ ( ), ( ), (+), (/)}
⇒ ( )≤ + − + (+
 ) b
⇒ ( )≤( + 1)
1
⇒ ( )≤ (b)
1+ 1+

1) lim = 1 a

(1)=0 (a)
2) lim = lim 2 = 2
→ →

18
Cátedra: Programación Numérica Dr. Angel R. Barberis

9. Propagación del Error en Operaciones con Punto


Flotante

La representación de un número exacto ∈ ℝ puede verse como = ± , donde


≤ es el error aritmético por redondeo simétrico. Luego se define la función flotante
( ) = (1 + ) que representa un número exacto en la maya.
Las operaciones con números exactos en los ℝ gozan de la propiedad asociativa,
mientras que las operaciones con números aproximados ( ∈ Maya) no gozan de dicha
propiedad.

Ejemplo:
= + + + > > > Representantes exactos.
=( ( )+ + )
=( ( )+ + )

Entonces
= = en ℝ
≠ ≠ en la Maya.

= ( ( ( )+ )+ )
= ( ( + )(1 + ) + + )
= ( ( + )(1 + ) + (1 + ) + )
=( ( + )(1 + ) + (1 + ) + )(1 + )

=( + )(1 + ) + (1 + ) + (1 + )

Teorema: Cuando → 0 entonces (1 + ) ≤ 1 + 1.01

⇒ ≤( + + + ) + 1.01 (3 +3 +2 + )

− ≤ 1.01 (3 +3 +2 + ) (1)
= ( ( ( + )+ )+ )
=⋯
= ( + )(1 + ) + (1 + ) + (1 + )
=⋯
≤( + + + ) + 1.01 (3 +3 +2 + )

− ≤ 1.01 (3 +3 +2 + ) (2)

19
Cátedra: Programación Numérica Dr. Angel R. Barberis

El lado derecho de (2) es más chico que en (1), debido a que en (2) las mayores constantes
(3 en este caso) multiplica a y que son más chicas que ,y en (1).

Por lo tanto, conviene sumar primero los números más chicos.

Ejemplo:
Sea:
= 104.2 = 0.1042 ∗ 10 =4
= 0.0843 = 0.843 ∗ 10
= 0.0162 = 0.162 ∗ 10

1) =( + )+
= 104.2
+ = 0.0843
+ = 104.2843  PFN = 0.1042 ∗ 10

( + ) = 104.2
+ = 0.0162
( + ) + = 104.2162  PFN = 0.1042 ∗ 10

0.0162
( )= = 0.00015532
104.3005

2) =( + )+
= 0.0843
+ = 0.0162
+ = 0.1005
+ = 104.2
( + )+ = 104.3005  PFN = 0.1043 ∗ 10

0.005
( )= = 0.0000479384
104.3005

∴ ( )< ( )

20

También podría gustarte