Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
1
1
+ + +
1! 2!
N!
Representacion de numeros
Se tienen dos tipos de maquinas para representar los n
umeros:
1 Computadoras anal
ogicas, se caracterizan por resolver un
problema matematico simulandolo por un problema fsico,
resolviendolo por medicion 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 precision de los dispositivos analogicos
se encuentra directamente limitada por las mediciones fsicas
que emplean.
2 Computadoras digitales, entre las cuales tenemos las PCs;
expresan los dgitos de la representacion de un n
umero por
una secuencia discreta de cantidades fsicas. Un ejemplo de
esto es la representacion 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.
Un n
umero entero N se puede representar como
N = (n pn + n1 pn1 + + 0 )
donde p N, p > 1 es la base del sistema de numeracion y
i 0, 1, . . . , (p 1) ,
i = 0, 1, . . . , n
Ejemplo
El n
umero 18 (base 10) admite la descomposicion en base 2:
18 = 1 24 + 0 23 + 0 22 + 1 21 + 0 20 = 10010(2)
Un n
umero arbitrario se puede representar, en particular, en base 2,
como:
x = (n 2n + n1 2n1 + + o 20 + 1 21 + 2 22 + )
donde i {0, 1}. Para cualquier otra base se puede realizar esto
de manera analoga.
Ejemplo
Para n = 10, n1 = 4, n2 = 6
145,6132 0145
613200
Ejemplo
Para t = 4, e = 2, el n
umero 5420 en el sistema decimal se expresa:
0 5420
10
04
o bien
5420
04
El conjunto A de n
umeros de maquina es finito. Luego surgen las
preguntas: Como representar un n
umero x
/ A ? Ademas, dados
dos n
umeros de maquina, es posible que su suma o su producto no
sean n
umeros de maquina.
Es natural postular que la aproximacion de cualquier n
umero
x
/ A por un n
umero de maquina rd(x) deba cumplir la condicion
x rd(x) |x g|,
para todo g A.
Ejemplo
Para t = 4
rd(0,1428510 0) = 0,142910 0
rd(3,1415910 0) = 0,314210 1
0 i 9,
1 6= 0.
Entonces se forma
0.1 2 . . . t
0
a :=
0.1 2 . . . t + 10t
si 0 t+1 4,
si t+1 5
Finalmente se coloca
rd0 (x) := sign(x) a0 10b .
Nota
Cuando se aproxima un n
umero real x mediante otro n
umero x el
x x x x
si x 6= 0.
relativo es
x x
El error relativo de aproximar x por rd0 (x) es (recordar que
|a| 101 )
rd0 (x) x 5 10(t+1)
5 10t .
x
|a|
Ejemplo
Para t = 4, e = 2 tenemos
rd0 (0,3197410 110)
rd0 (0,9999710 99)
rd0 (0,01234510 99)
rd0 (0,5432110 110)
=
=
=
=
0,319710 110
/A
0,100010 100
/A
0,123510 100
/A
0,543210 110
/A
con || eps,
x R.
para x, y A,
lo cual implica
x + y
x y
x y
x/ y
:= (x + y)(1 + 1 )
:= (x y)(1 + 2 )
:= (x y)(1 + 3 )
:= (x/y)(1 + 4 )
|i | eps .
eps
|x|,
B
x, y A
a + (b + c) = 0,2337125810 4 + 0,6180000010 3,
= 0,6413712610 3,
(a + b) + c = 0,3367845210 2 0,3367781110 2,
= 0,6410000010 3.
El resultado exacto es
a + b + c = 0,64137125810 3.
Propagacion de errores
Para expresar el resultado de operaciones de punto flotante, una
notacion ha sido ampliamente aceptada, y la usaremos
frecuentemente: dada una expresion E a calcular, fl(E) denota el
valor de la expresion obtenida por aritmetica de punto flotante.
Ejemplo
fl(x y) := x y
fl a + (b + c) := a + (b + c)
fl (a + b)+ c := (a + b) + c
fl cos(x)
:= cos (x)
fl x := x
Las operaciones +, , , /, cos, , junto con algunas otras (que
posean substitutos ) seran llamadas operaciones elementales.
Como se vio, dos diferentes pero matematicamente equivalentes
maneras de evaluar la misma expresion a + b + c pueden llevar a
diferentes resultados, cuando usamos aritmetica de punto flotante.
Para propositos numericos es necesario distinguir entre distintos
esquemas de evaluacion incluso si ellos son matematicamente
equivalentes. Llamaremos algoritmo a una secuencia finita de
operaciones elementales (dadas como instrucciones de
computadora) que prescriben como calcular la solucion de un
problema a partir de una entrada de datos dada.
Formalizemos un poco la nocion de algoritmo. Supongamos que el
problema consiste en calcular los n
umeros reales y 1 , . . . , ym a
partir de las entradas x1 , . . . , xn .
x1
x = ... ,
xn
y1
y = ... ,
ym
i = 1, . . . , m.
x(i)
(i)
x1
= ... Rni ,
(i)
x ni
D i R ni ,
tal que
(i) x(i) = x(i+1) .
Ejemplo
(0)
(a, b, c) :=
a+b
c
R2 ,
(1) (u, v) := u + v R
(0)
(a, b, c) :=
a
b+c
R2 ,
(1) (u, v) := u + v R.
Ejemplo
Ejemplo
Algoritmo 2:
1 := a + b,
2 := a b,
y := 1 2 .
Algoritmo 2:
a
(0) (a, b) := b ,
a+b
(1)
(a, b, u) :=
u
ab
Algoritmo 1:
0 (0)
(a, b) :=
a2
b2
0(1) (u, v) := u v.
Algoritmo 2:
0 (0)
(a, b) :=
a+b
ab
0(1) (u, v) := u v.
y y
y
a+b
= 1
1 + 2 ,
y
y
a+b+c
el cual es peque
no si (a + b) es peque
no.
b+c 0
+ 02 ,
a+b+c 1
que es peque
no si (b + c) es peque
no.
1 (x1 , . . . , xn )
..
=
,
.
m (x1 , . . . , xn )
x := x x,
xi xi
xi
si xi 6= 0.
n
X
i (x)
j=1
xj
xj ,
n
X
j=1
(xj xj )
i = 1, . . . , m,
i (x)
xj
de donde
y1
..
y = .
ym
1 (x)
x1
..
.
m (x)
x1
...
...
1 (x)
xn
..
.
m (x)
xn
x1
.
.. = D(x)x
x
n
yi yi
=
yi
n
X
i (x) x
j xj
xj
yi
j=1
n
X
xj i (x) x
j xj
=
yi xj
xj
j=1
n
X xj i (x)
=
xj .
yi xj
j=1
Numero de condicion
Los factores de amplificacion (xj /i )i /xj 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 esta bien
condicionado. Como se puede observar, la condicion del problema
esta descrita por mn n
umeros. Por estas razones, hay una manera
mas practica de definir la condicion del problema. En algebra
lineal, usando una norma conveniente k k, el n
umero de condicion
c debera satisfacer
k(x) (x)k
kx xk
c
.
k(x)k
kxk
Ejemplo
Para (a, b, c) := a + b + c se tiene
a (a, b, c)
b (a, b, c)
c (a, b, c)
a +
b +
c
y
a
y
b
y
c
a
b
c
=
a +
b +
c .
a+b+c
a+b+c
a+b+c
Ejemplo
Para y = (a, b) := a + a2 + b,
a
a
b
1
y
1 +
a +
b
2
y
y 2 a2 + b
a +b
a
a + a2 + b
a +
b .
a2 + b
2 a2 + b
Desde que
a
a2 + b 1,
a + a2 + b
2
1
2 a +b
para b > 0;
p
x2 + 1 + 1
x2
2
y = ( x + 1 1)
=
.
x2 + 1 + 1
x2 + 1 + 1
x
(|t| < 1). Entonces calculamos
y
t2 + 1
z=
.h
t4 + 1
(x) := x
xy x + y
x/y x y
x
y
xy
x +
y si x y 6= 0
xy
xy
x 12 x
i = 0, 1, 2, . . . , r.
i = 0, 1, . . . , r
(i)
1 (u)
..
(i) (u) =
.
.
(i)
ni+1 (u)
(i)
(i)
j = 1, 2, . . . , ni+1
1 0
0
0 2
0
Ei+1 = ..
|j | eps .
.. ,
.
.
.
.
.
0 0 ni+1
Esto nos da
fl((i) (x(i) )) (i) (x(i) ) = Ei+1 (i) (x(i) ),
pero Ei+1 (i) (x(i) ) Ei+1 (i) (x(i) ) (despreciando terminos de
orden superior). Por consiguiente
fl((i) (x(i) )) (i) (x(i) ) Ei+1 (i) (x(i) ) = Ei+1 x(i+1) =: i+1 .
x(0) := x
Luego
x(1) D(0) (x) x + 1
x(2) D(1) (x(1) ) [D(0) (x)x + 1 ] + 2
..
.
Ejemplo
(2) (u, v) = u v,
1 =
1 a2
0
E1 =
1 0
0 0
pues
fl(
(0)
(x
(0)
))
(0)
(x
(0)
)=
a a
b
a2
b
Tambien
2 =
3 = 3 (a2 b2 ),
a
Con x =
,
b
0
2 b2
E2 =
0 0
1 0
|i | eps para i = 1, 2, 3.
x=
x(0)
a
b
x(1)
a+b
ab
(1) (u, v) = u v,
D(x) = (2a, 2b),
x(2) = y = a2 b2 ,
1 =
1 (a + b)
2 (a b)
2 = 3 (a b ),
E1 =
1 0
0 2
Por tanto
y 2aa 2bb + (a2 b2 )(1 + 2 + 3 ).
|i | eps
Estabilidad de un algoritmo
Ejemplo
En el ejemplo anterior, el efecto total por redondeo usando el
Algoritmo 1 es
2
a 1 b2 2 + (a2 b2 )3 a2 + b2 + |a2 b2 | eps,
y usando el Algoritmo 2