Está en la página 1de 78

Analisis de errores

Acceder a la precisi on de los resultados de los c alculos es una meta


importante en el an alisis numerico. Podemos distinguir varias
clases de error que pueden limitar esta precisi on:
Errores en los datos de entrada, provocados por limitaciones
y/o imperfecciones de los instrumentos fsicos;
Errores de redondeo, por el c alculo de n umeros que est an
representados con un n umero nito de dgitos;
Errores de aproximaci on, cuando aproximamos la soluci on de
un problema P resolviendo un problema P. Un ejemplo de
esto es la aproximaci on de una suma innita por otra nita;
e 1 +
1
1!
+
1
2!
+ +
1
N!
El error resultante de aproximaci on es llamado com unmente error
de truncamiento. Lo que hacemos es discretizar un problema: por
ejemplo cocientes diferenciales son aproximados por cocientes de
diferencias, integrales denidas por sumas nitas, etc. En dichos
casos, el error de aproximaci on es llamado error de discretizaci on.
En este captulo se analizar an los dos primeros tipos de errores.
Representaci on de n umeros
Se tienen dos tipos de m aquinas para representar los n umeros:
1 Computadoras anal ogicas, se caracterizan por resolver un
problema matem atico simul andolo por un problema fsico,
resolviendolo por medici on y retornando un resultado. Los
n umeros son representados por cantidades fsicas, como por
ejemplo, la longitud de una barra o la intensidad de un
voltaje. Es claro que la precisi on de los dispositivos anal ogicos
se encuentra directamente limitada por las mediciones fsicas
que emplean.
2 Computadoras digitales, entre las cuales tenemos las PCs;
expresan los dgitos de la representaci on de un n umero por
una secuencia discreta de cantidades fsicas. Un ejemplo de
esto es la representaci on del n umero binario 11010110 con
una secuencia de ocho diodos: el 1 se representa con el diodo
encendido, y el 0 con el diodo apagado.
La representaci on de dgitos en computadoras digitales no requiere
tanta precisi on como la representaci on de n umeros en las
computadoras anal ogicas. Nosotros estudiaremos este tipo de
computadoras.
Un n umero entero N se puede representar como
N = (
n
p
n
+
n1
p
n1
+ +
0
)
donde p N, p > 1 es la base del sistema de numeraci on y

i

_
0, 1, . . . , (p 1)
_
,
i = 0, 1, . . . , n
Ejemplo
El n umero 18 (base 10) admite la descomposici on en base 2:
18 = 1 2
4
+ 0 2
3
+ 0 2
2
+ 1 2
1
+ 0 2
0
= 10010
(2)
Un n umero arbitrario se puede representar, en particular, en base 2,
como:
x = (
n
2
n
+
n1
2
n1
+ +
o
2
0
+
1
2
1
+
2
2
2
+ )
donde
i
{0, 1}. Para cualquier otra base se puede realizar esto
de manera an aloga.
En las computadoras digitales se ha de representar los n umeros con
un n umero nito de lugares, la longitud de palabra. La
representaci on de punto jo especica un n umero jo n
1
de lugares
antes de y un n umero jo n
2
de lugares despues del punto decimal
(binario), tales que n = n
1
+ n
2
= longitud de palabra
(usualmente n
1
= 0 o n
1
= n). De este modo, un n umero x se
representa en la m aquina como (en base 2)
x = (
n
1
1
2
n
1
1
+
n
1
2
2
n
1
2
+ +
0
2
0
+
1
2
1
+
2
2
2
+ +
n
2
2
n
2
)
Ejemplo
Para n = 10, n
1
= 4, n
2
= 6
145,6132 0145 613200
En esta representaci on, la posici on del punto decimal (binario) es
ja.
Representaci on de n umeros con punto otante
M as importante es la representaci on de punto otante. Aqu el
punto decimal (binario) no se encuentra jo. Esto es hecho con un
exponente. Cada n umero puede ser representado en la forma
x = a 10
b
(x = a 2
b
) con |a| < 1, b entero
Ejemplo
30,421 = 0,30241 10
2
.
El exponente b indica la posici on del punto decimal con respecto a
la mantisa a. Rutishauser propuso la notaci on : 0,30241
10
2
En cada computadora existen, por supuesto, n umeros nitos t y e,
n = t + e, de lugares disponibles para la representaci on de mantisa
y exponente, respectivamente.
Ejemplo
Para t = 4, e = 2, el n umero 5420 en el sistema decimal se expresa:
0 5420
10
04
o bien
5420 04
Representaci on de n umeros normalizada
Una representaci on de punto otante es normalizada si el primer
dgito de la mantisa es distinto de 0. Entonces |a| 10
1
(
|a| 2
1
). Los dgitos signicativos (bits) de un n umero son los
dgitos de la mantisa sin contar ceros al principio.
En lo que sigue, consideraremos solamente representaciones de
punto otante y su aritmetica de punto otante correspondiente.
Los n umeros t y e, junto con la base B, determinan el conjunto
A R de los n umeros reales que pueden ser representados
exactamente con una computadora dada. Los elementos de A son
llamados n umeros de m aquina.
Errores de redondeo y aritmetica de punto otante
El conjunto A de n umeros de m aquina es nito. Luego surgen las
preguntas: C omo representar un n umero x / A ? Adem as, dados
dos n umeros de m aquina, es posible que su suma o su producto no
sean n umeros de m aquina.
Es natural postular que la aproximaci on de cualquier n umero
x / A por un n umero de m aquina rd(x) deba cumplir la condici on

x rd(x)

|x g|, para todo g A.


Ejemplo
Para t = 4
rd(0,14285
10
0) = 0,1429
10
0
rd(3,14159
10
0) = 0,3142
10
1
En general se procede como sigue: x / A se normaliza primero a
x = a 10
b
, donde |a| 10
1
. Supongamos que la representaci on
decimal de |a| es dada por
|a| = 0.
1

2
. . .
i

i+1
. . . , 0
i
9,
1
= 0.
Entonces se forma
a

:=
_
0.
1

2
. . .
t
si 0
t+1
4,
0.
1

2
. . .
t
+ 10
t
si
t+1
5
Finalmente se coloca
rd

(x) := sign(x) a

10
b
.
Nota
Cuando se aproxima un n umero real x mediante otro n umero x

el
error que resulta es (x x

). El error absoluto es |x x

| y el error
relativo es

x x

x x

si x = 0.
El error relativo de aproximar x por rd

(x) es (recordar que


|a| 10
1
)

rd

(x) x
x


5 10
(t+1)
|a|
5 10
t
.
Con la abreviaci on eps = 5 10
t
podemos escribir
rd

(x) = x(1 + ), con || eps .


La cantidad eps = 5 10
t
es llamada precisi on de la m aquina.
En el sistema binario, podemos denir todo lo anterior
an alogamente.
Siempre que rd

(x) A, se podr a denir correctamente


rd

(x) := rd(x). Sin embargo, esto no siempre ocurre como se


muestra en el siguiente ejemplo.
Ejemplo
Para t = 4, e = 2 tenemos
rd

(0,31974
10
110) = 0,3197
10
110 / A
rd

(0,99997
10
99) = 0,1000
10
100 / A
rd

(0,012345
10
99) = 0,1235
10
100 / A
rd

(0,54321
10
110) = 0,5432
10
110 / A
En el primer y segundo caso el exponente es muy grande para el
espacio: entonces tenemos un overow de exponente (sobreujo).
El tercer y cuarto casos son instancias de un underow, esto es, el
exponente del n umero representado es muy negativo. En estos
casos podemos prevenir el underow deniendo
rd(0,012345
10
99) = 0,0123
10
99 A.
rd(0,54321
10
110) = 0 A.
Como el overow y el underow son poco frecuentes y requieren
un tratamiento especial, para simplicar la teora asumiremos en
adelante que e = . De este modo tendremos rd := rd

, y
aseguraremos que
rd : R A
rd(x) = x(1 + ) con || eps, x R.
Como los resultados de las operaciones aritmeticas no son
necesariamente n umeros de m aquina, requeriremos denir
operaciones de punto otante, +

, /

, las cuales son


denidas como:
x +

y := rd(x + y),
x

y := rd(x y),
x

y := rd(x y),
x/

y := rd(x/y),
para x, y A,
lo cual implica
x +

y := (x + y)(1 +
1
)
x

y := (x y)(1 +
2
)
x

y := (x y)(1 +
3
)
x/

y := (x/y)(1 +
4
)
_

_
|
i
| eps .
De lo anterior se observar a que las operaciones de punto otante
no satisfacen las leyes conocidas para las operaciones aritmeticas
usuales. Por ejemplo,
x +

y = x, si |y| <
eps
B
|x|, x, y A
La precisi on de m aquina eps puede tambien denirse entonces
como
eps = mn{g A/1 +

g > 1 g > 0}.


Adem as, las operaciones de punto otante no son asociativas o
distributivas.
Ejemplo:t = 8 Con
a := 0,23371258
10
4,
b := 0,33678429
10
2,
c := 0,33677811
10
2.
a +

(b +

c) = 0,23371258
10
4 +

0,61800000
10
3,
= 0,64137126
10
3,
(a +

b) +

c = 0,33678452
10
2

0,33677811
10
2,
= 0,64100000
10
3.
El resultado exacto es
a + b + c = 0,641371258
10
3.
Propagaci on de errores
Para expresar el resultado de operaciones de punto otante, una
notaci on ha sido ampliamente aceptada, y la usaremos
frecuentemente: dada una expresi on E a calcular, (E) denota el
valor de la expresi on obtenida por aritmetica de punto otante.
Ejemplo
(x y) := x

_
a + (b + c)
_
:= a +

(b +

c)

_
(a + b) + c
_
:= (a +

b) +

_
cos(x)
_
:= cos

(x)

x
_
:=

x

Las operaciones +, , , /, cos,

, junto con algunas otras (que


posean substitutos ) ser an llamadas operaciones elementales.
Como se vio, dos diferentes pero matem aticamente equivalentes
maneras de evaluar la misma expresi on a + b + c pueden llevar a
diferentes resultados, cuando usamos aritmetica de punto otante.
Para prop ositos numericos es necesario distinguir entre distintos
esquemas de evaluaci on incluso si ellos son matem aticamente
equivalentes. Llamaremos algoritmo a una secuencia nita de
operaciones elementales (dadas como instrucciones de
computadora) que prescriben como calcular la soluci on de un
problema a partir de una entrada de datos dada.
Formalizemos un poco la noci on de algoritmo. Supongamos que el
problema consiste en calcular los n umeros reales y
1
, . . . , y
m
a
partir de las entradas x
1
, . . . , x
n
.
Si introducimos los vectores
x =
_

_
x
1
.
.
.
x
n
_

_
, y =
_

_
y
1
.
.
.
y
m
_

_
,
entonces resolver el problema signica determinar el valor
y = (x) donde
: D R
m
, D R
n
,
y
i
=
i
(x
1
, . . . , x
n
), i = 1, . . . , m.
En cada paso del c alculo hay un conjunto de operandos de
n umeros. Una sola operaci on calcula un nuevo n umero a partir de
uno o m as operandos del conjunto de operandos. El nuevo n umero
es un resultado intermedio o el nal.
Una operaci on corresponde a una transformaci on del conjunto de
operandos. Escribiendo estos consecutivamente como vectores,
x
(i)
=
_

_
x
(i)
1
.
.
.
x
(i)
n
i
_

_
R
n
i
,
podemos asociar a cada operaci on elemental un mapeo elemental

(i)
: D
i
R
n
i+1
, D
i
R
n
i
,
tal que

(i)
_
x
(i)
_
= x
(i+1)
.
Dado un algoritmo, entonces su secuencia de operaciones
elementales da lugar a la descomposici on de en una secuencia de
mapeos elementales

(i)
: D
i
D
i+1
, i = 0, 1, . . . , r, D
j
R
n
j
,
=
(r)

(r1)

(0)
, D
0
= D, D
r+1
R
n
r+1
= R
m
,
que caracteriza al algoritmo.
Ejemplo
Para (a, b, c) = a + b + c, consideremos los dos algoritmos
:= a + b, y := c + y := b + c, y := a + . Las
descomposiciones son:

(0)
(a, b, c) :=
_
a + b
c
_
R
2
,
(1)
(u, v) := u + v R
y

(0)
(a, b, c) :=
_
a
b + c
_
R
2
,
(1)
(u, v) := u + v R.
Ejemplo
Para (a, b) := a
2
b
2
se tienen los algoritmos Algoritmo 1:

1
:= a a,

2
:= b b,
y :=
1

2
,
Ejemplo
Algoritmo 2:

1
:= a + b,

2
:= a b,
y :=
1

2
.
Sus descomposiciones correspondientes son
Algoritmo 1:

(0)
(a, b) :=
_
a
2
b
_
,
(1)
(u, v) :=
_
u
v
2
_
,
(2)
(u, v) := u v.
Algoritmo 2:

(0)
(a, b) :=
_
_
a
b
a + b
_
_
,
(1)
(a, b, u) :=
_
u
a b
_
,
(1)
(a, b, u) := uv.
N otese que las descomposiciones de los algoritmos pueden ser
simplicadas:
Algoritmo 1:

(0)
(a, b) :=
_
a
2
b
2
_
,
(1)
(u, v) := u v.
Algoritmo 2:

(0)
(a, b) :=
_
a + b
a b
_
,
(1)
(u, v) := u v.
Estrictamente hablando, los mapeos
(0)
no son elementales. Sin
embargo lo m as importante al hacer las descomposiciones es que
las componentes de los mapeos intermedios sean elementales, para
poder hacer as el an alisis de error que se estudiar a a continuaci on.
bf Ejemplo:
y := a + b + c,
y := rd((a + b) + c)
= rd(a + b) +

c
= (a + b)(1 +
1
) +

c
= [(a + b)(1 +
1
) + c](1 +
2
)
= (a + b + c)
_
1 +
a + b
a + b + c

1
(1 +
2
) +
2
_
.
Despreciamos el termino
1

2
por ser de grado superior; luego el
error relativo (al haber calculado primero (a + b)) es

y
:=
y y
y
=
y
y
1
a + b
a + b + c

1
+
2
,
el cual es peque no si (a + b) es peque no.
Si se hubiese calculado primero (b + c) tendriamos

y

b + c
a + b + c

1
+

2
,
que es peque no si (b + c) es peque no.
Vamos a hacer ahora un an alisis diferencial de error de un
algoritmo para calcular y := (x) si esta funci on est a dada por la
descomposici on:
=
(r)
o
(r1)
o . . . o
(0)
.
Para este n necesitamos investigar como los errores de entrada,
as como los errores por redondeo acumulados durante el curso del
algoritmo afectan el resultado nal. Iniciamos esta investigaci on
considerando solamente los errores de entrada x.
Supongamos que la funci on
: D R
m
, =
_

1
(x
1
, . . . , x
n
)
.
.
.

m
(x
1
, . . . , x
n
)
_

_
,
est a denida en un conjunto abierto D de R
n
, y que sus funciones
componentes
i
, i = 1, 2, . . . , n, poseen derivadas continuas en D.
Sea x un valor aproximado de x.
Entonces denotamos por
x
i
:= x
i
x
i
, x := x x,
al error absoluto x
i
y x, respectivamente. El error relativo de x
i
es
denido como la cantidad

x
i
:=
x
i
x
i
x
i
si x
i
= 0.
Reemplazando x por x obtenemos el resultado y := (x) en vez de
y = (x). Expandiendo en series de Taylor y despreciando los
terminos de mayor orden, tenemos
y
i
:= y
i
y
i
=
i
(x)
i
(x)
n

j=1
(x
j
x
j
)

i
(x)
x
j
=
n

j=1

i
(x)
x
j
x
j
, i = 1, . . . , m,
de donde
y =
_

_
y
1
.
.
.
y
m
_

_

_

1
(x)
x
1
. . .

1
(x)
x
n
.
.
.
.
.
.

m
(x)
x
1
. . .

m
(x)
x
n
_

_
_

_
x
1
.
.
.
x
n
_

_
= D(x)x,
con la matriz jacobiana D(x).
La cantidad

i
(x)
x
j
representa la sensitividad con que y
i
reacciona
a las perturbaciones x
j
de x
j
.
Si y
i
= 0 para i = 1, . . . , m y x
j
= 0 para j = 1, . . . , n entonces se
tiene:

y
i
=
y
i
y
i
y
i

j=1

i
(x)
x
j
x
j
x
j
y
i
=
n

j=1
_
x
j
y
i

i
(x)
x
j
_
x
j
x
j
x
j
=
n

j=1
_
x
j
y
i

i
(x)
x
j
_

x
j
.
N umero de condici on
Los factores de amplicaci on (x
j
/
i
)
i
/x
j
para el error relativo
son llamados n umeros de condicionamiento. Si alguno de estos
n umeros es en valor absoluto muy grande, se dice que el problema
es mal condicionado. En otro caso, se dice que est a bien
condicionado. Como se puede observar, la condici on del problema
est a descrita por mn n umeros. Por estas razones, hay una manera
m as pr actica de denir la condici on del problema. En algebra
lineal, usando una norma conveniente , el n umero de condici on
c deber a satisfacer
(x) (x)
(x)
c
x x
x
.
Ejemplo
Para (a, b, c) := a + b + c se tiene

y

a
y
(a, b, c)
a

a
+
b
y
(a, b, c)
b

b
+
c
y
(a, b, c)
c

c
=
a
a + b + c

a
+
b
a + b + c

b
+
c
a + b + c

c
.
El problema estar a bien condicionado cuando los sumandos a, b, c
sean peque nos comparados con a + b + c (por ejemplo, cuando
todos tengan el mismo signo).
Ejemplo
Para y = (a, b) := a +

a
2
+ b,

y

a
y
_
1 +
a

a
2
+ b
_

a
+
b
y
1
2

a
2
+ b

b
a

a
2
+ b

a
+
a +

a
2
+ b
2

a
2
+ b

b
.
Desde que

a
2
+ b

1,

a +

a
2
+ b
2

a
2
+ b

1 para b > 0;
tendremos que es bien condicionado si b > 0, y mal
condicionado si b a
2
.
Cuando se substraen dos n umeros x, y A del mismo signo, uno
debe tener cuidado con la cancelaci on (esto es, cuando los n umeros
tienen valores absolutos casi iguales). Por ejemplo, para calcular
y =
_
x
2
+ 1 1
cuando el valor de x es cercano a cero, se sugiere calcular
equivalentemente
y = (
_
x
2
+ 1 1)

x
2
+ 1 + 1

x
2
+ 1 + 1
=
x
2

x
2
+ 1 + 1
.
Para evitar desbordamientos (overow, underow)
z :=
x
2
+ y
2
_
x
4
+ y
4
en caso |x| < |y|, hacemos t :=
x
y
(|t| < 1). Entonces calculamos
z =
t
2
+ 1

t
4
+ 1
.h
Para las operaciones aritmeticas (x = 0, y = 0)
(x, y) := x y
xy

x
+
y
(x, y) := x/y
x/y

x

y
(x, y) := x y
xy

x
x y

x
+
y
x y

y
si x y = 0
(x) :=

x

x

1
2

x
Se sigue que la multiplicaci on, divisi on, y raz cuadrada no son
peligrosas. Si los operandos son del mismo signo, la adici on no es
peligrosa.
En efecto, tendremos que
|
x+y
| m ax{|
x
|, |
y
|}
Si los operandos tienen signos distintos, entonces almenos uno de
los factores

x
x + y

y
x + y

es mayor que uno; entonces los


errores ser an amplicados, y dr asticamente amplicados si x y.
Un algoritmo para calcular la funci on : D R
m
, D R
n
, para
un dado x = (x
1
, . . . , x
n
)
T
D corresponde a la descomposici on
de en mapeos elementales
(i)
, i = 0, 1, . . . , r. Luego y = (x)
se obtiene por una cadena de resultados intermedios
x
(0)
:= x
(0)
(x
(0)
) = x
(1)

(r)
(x
(r)
) = x
(r+1)
= y.
Suponemos de nuevo que cada
(i)
es continuamente diferenciable
en D
i
, y denotemos por
(i)
el mapeo remanente

(i)
=
(r)

(r1)

(i)
: D
i
R
m
, i = 0, 1, 2, . . . , r.
Entonces
(0)
.
De la regla de la cadena, tenemos
D(x) = D
(r)
(x
(r)
) D
(r1)
(x
(r1)
) D
(0)
(x),
D(x
(i)
) = D
(r)
(x
(r)
)D
(r1)
(x
(r1)
) D
(i)
(x
(i)
), i = 0, 1, . . . , r.
En el c alculo con punto otante bajo la inuencia de los errores de
entrada y los errores por redondeo en lugar de los resultados
intermedios x
(i)
se obtienen valores aproximados x
(i)
con
x
(i+1)
= (
(i)
(x
(i)
)).
De esto se obtiene, para los errores absolutos x
(i)
= x
(i)
x
(i)
,
x
(i+1)
= [(
(i)
(x
(i)
))
(i)
(x
(i)
)] + [
(i)
(x
(i)
)
(i)
(x
(i)
)].
Usando series de Taylor, y despreciando terminos de orden superior:

(i)
(x
(i)
)
(i)
(x
(i)
) D
(i)
(x
(i)
)x
(i)
.
Como
(i)
es elemental, o bien involucra s olo operaciones
elementales independientes, tenemos que
(
(i)
(u)) = rd(
(i)
(u)).
N otese ahora que
(i)
: D
i
D
i+1
R
n
i+1
es un vector de
funciones componentes
(i)
j
: D
i
R,

(i)
(u) =
_

(i)
1
(u)
.
.
.

(i)
n
i+1
(u)
_

_
.
As, podemos trabajar con las componentes. De este modo:
(
(i)
j
(u)) = rd(
(i)
j
(u)) = (1 +
j
)
(i)
j
(u),
|
j
| eps, j = 1, 2, . . . , n
i+1
Entonces podemos simplemente escribir
(
(i)
(u)) = (I + E
i+1
)
(i)
(u).
Con la matriz identidad I y la matriz diagonal de error
E
i+1
=
_

1
0 0
0
2
0
.
.
.
.
.
.
.
.
.
0 0
n
i+1
_

_
, |
j
| eps .
Esto nos da
(
(i)
(x
(i)
))
(i)
(x
(i)
) = E
i+1

(i)
(x
(i)
),
pero E
i+1

(i)
(x
(i)
) E
i+1

(i)
(x
(i)
) (despreciando terminos de
orden superior). Por consiguiente
(
(i)
(x
(i)
))
(i)
(x
(i)
) E
i+1

(i)
(x
(i)
) = E
i+1
x
(i+1)
=:
i+1
.
Por lo anterior, x
(i+1)
puede ser expresado con una aproximaci on
de primer orden como
x
(i+1)

i+1
+ D
(i)
(x
(i)
) x
(i)
= E
i+1
x
(i+1)
+ D
(i)
(x
(i)
) x
(i)
, para i 0, x
(0)
:= x.
Luego
x
(1)
D
(0)
(x) x +
1
x
(2)
D
(1)
(x
(1)
) [D
(0)
(x)x +
1
] +
2
.
.
.
y = x
(r+1)
D
(r)
D
(0)
x + D
(r)
D
(1)

1
+ +
r+1
.
Finalmente, llegamos a la f ormula que describe el efecto de los
errores de entrada x y los errores de redondeo
i
en el resultado
y = x
(r+1)
= (x):
y D(x) x + D
(1)
(x
(1)
)
1
+ + D
(r)
(x
(r)
)
r
+
r+1
= D(x) x + D
(1)
(x
(1)
) E
1
x
(1)
+ + D
(r)
(x
(r)
) E
r
x
(r)
+ E
r+1
y.
Ejemplo
Para los dos algoritmos que calculan y = (a, b) = a
2
b
2
dados
tenemos:
Algoritmo 1:
x = x
(0)
=
_
a
b
_
, x
(1)
=
_
a
2
b
_
, x
(2)
=
_
a
2
b
2
_
, x
(3)
= y = a
2
b
2
,

(1)
(u, v) = u v
2
,
(2)
(u, v) = u v,
D(x) = (2a, 2b)
D
(1)
(x
(1)
) = (1, 2b), D
(2)
(x
(2)
) = (1, 1),

1
=
_

1
a
2
0
_
, E
1
=
_

1
0
0 0
_
,
pues
(
(0)
(x
(0)
))
(0)
(x
(0)
) =
_
a

a
b
_

_
a
2
b
_
.
Tambien

2
=
_
0

2
b
2
_
, E
2
=
_
0 0

1
0
_
.

3
=
3
(a
2
b
2
), |
i
| eps para i = 1, 2, 3.
Con x =
_
a
b
_
,
y 2aa 2bb + a
2

1
b
2

2
+ (a
2
b
2
)
3
.
An alogamente para el algoritmo 2:
x = x
(0)
=
_
a
b
_
, x
(1)
=
_
a + b
a b
_
, x
(2)
= y = a
2
b
2
,

(1)
(u, v) = u v,
D(x) = (2a, 2b), D
(1)
(x
(1)
) = (a b, a + b),

1
=
_

1
(a + b)

2
(a b)
_
,
2
=
3
(a
2
b
2
), E
1
=
_

1
0
0
2
_
, |
i
| eps .
Por tanto
y 2aa 2bb + (a
2
b
2
)(
1
+
2
+
3
).
Estabilidad de un algoritmo
Un algoritmo es llamado numericamente m as estable que otro para
calcular (x) si, para un conjunto dado de datos x, el efecto total
de redondeo del primero es menor que el del otro.
Ejemplo
En el ejemplo anterior, el efecto total por redondeo usando el
Algoritmo 1 es

a
2

1
b
2

2
+ (a
2
b
2
)
3


_
a
2
+ b
2
+|a
2
b
2
|
_
eps,
y usando el Algoritmo 2
|(a
2
b
2
)(
1
+
2
+
3
)| 3|a
2
b
2
| eps .
Esto muestra que el algoritmo 2 es numericamente m as estable
que el algoritmo 1 siempre que
1
3
< |a/b|
2
< 3; en otro caso el
algoritmo 1 es m as estable.

También podría gustarte