Está en la página 1de 72

Aritmética de precisión finita

Filánder A. Sequeira
Chavarría

F. A. Sequeira MA1006, II-2016


Introducción

Considere la siguiente operación aritmética:

(1 + 10−15 − 1) × 1030 .

¿Cuál es el valor que se obtiene en la calculadora?

En la calculadora se obtiene: 0
MATLAB retorna: 1.110223024625157e+15
Mientras que el valor exacto es:

(1 + 10−15 − 1) × 1030 = (1 + 10−15 − 1) × 1030


= 10−15 × 1030 = 1015 .

La razón de estos problema de cálculo se debe a que las he-


rramientas computacionales utilizan una cantidad finita de dígi-
tos decimales.
F. A. Sequeira MA1006, II-2016
Introducción

Considere la siguiente operación aritmética:

(1 + 10−15 − 1) × 1030 .

¿Cuál es el valor que se obtiene en la calculadora?

En la calculadora se obtiene: 0
MATLAB retorna: 1.110223024625157e+15
Mientras que el valor exacto es:

(1 + 10−15 − 1) × 1030 = (1 + 10−15 − 1) × 1030


= 10−15 × 1030 = 1015 .

La razón de estos problema de cálculo se debe a que las he-


rramientas computacionales utilizan una cantidad finita de dígi-
tos decimales.
F. A. Sequeira MA1006, II-2016
Introducción

Considere la siguiente operación aritmética:

(1 + 10−15 − 1) × 1030 .

¿Cuál es el valor que se obtiene en la calculadora?

En la calculadora se obtiene: 0
MATLAB retorna: 1.110223024625157e+15
Mientras que el valor exacto es:

(1 + 10−15 − 1) × 1030 = (1 + 10−15 − 1) × 1030


= 10−15 × 1030 = 1015 .

La razón de estos problema de cálculo se debe a que las he-


rramientas computacionales utilizan una cantidad finita de dígi-
tos decimales.
F. A. Sequeira MA1006, II-2016
Introducción

Considere la siguiente operación aritmética:

(1 + 10−15 − 1) × 1030 .

¿Cuál es el valor que se obtiene en la calculadora?

En la calculadora se obtiene: 0
MATLAB retorna: 1.110223024625157e+15
Mientras que el valor exacto es:

(1 + 10−15 − 1) × 1030 = (1 + 10−15 − 1) × 1030


= 10−15 × 1030 = 1015 .

La razón de estos problema de cálculo se debe a que las he-


rramientas computacionales utilizan una cantidad finita de dígi-
tos decimales.
F. A. Sequeira MA1006, II-2016
Introducción

Considere la siguiente operación aritmética:

(1 + 10−15 − 1) × 1030 .

¿Cuál es el valor que se obtiene en la calculadora?

En la calculadora se obtiene: 0
MATLAB retorna: 1.110223024625157e+15
Mientras que el valor exacto es:

(1 + 10−15 − 1) × 1030 = (1 + 10−15 − 1) × 1030


= 10−15 × 1030 = 1015 .

La razón de estos problema de cálculo se debe a que las he-


rramientas computacionales utilizan una cantidad finita de dígi-
tos decimales.
F. A. Sequeira MA1006, II-2016
Sistemas de precisión finita
(Números de punto flotante)

Definición
Sea N ∈ N tal que N ≥ 1. Además, sean L, U ∈ Z tales que L <
U . El conjunto de número de precisión finita, F(N, L, U )
se define como:

F(N, L, U ) := {0} ∪ (−1)s (0.d1 d2 . . . dN ) × 10e / s ∈ {0, 1} ,


n

di ∈ {0, 1, . . . , 9} con d1 6= 0 y
o
e ∈ {L, L + 1, . . . , U − 1, U } .

s es el bit de signo y N es el número de dígitos de precisión.


d1 d2 . . . dN se denomina la mantisa.
e es el exponente y toma valores enteros. También se
pueden considerar los casos L = −∞ y/o U = +∞.
F. A. Sequeira MA1006, II-2016
Sistemas de precisión finita
(Números de punto flotante)

Definición
Sea N ∈ N tal que N ≥ 1. Además, sean L, U ∈ Z tales que L <
U . El conjunto de número de precisión finita, F(N, L, U )
se define como:

F(N, L, U ) := {0} ∪ (−1)s (0.d1 d2 . . . dN ) × 10e / s ∈ {0, 1} ,


n

di ∈ {0, 1, . . . , 9} con d1 6= 0 y
o
e ∈ {L, L + 1, . . . , U − 1, U } .

s es el bit de signo y N es el número de dígitos de precisión.


d1 d2 . . . dN se denomina la mantisa.
e es el exponente y toma valores enteros. También se
pueden considerar los casos L = −∞ y/o U = +∞.
F. A. Sequeira MA1006, II-2016
Sistemas de precisión finita
(Números de punto flotante)

Por ejemplo, considere el sistema F(6, −2, 4) y nótese que

−3434.42 = −0.343442 × 104 ∈ F(6, −2, 4)

0.001946 = 0.194600 × 10−2 ∈ F(6, −2, 4)

835.8275 = 0.8358275 × 103 6∈ F(6, −2, 4)

−0.000407257 = −0.407257 × 10−3 6∈ F(6, −2, 4)

7 = 0.700000 × 101 ∈ F(6, −2, 4)

− = −(0.33333333333 . . .) × 100 6∈ F(6, −2, 4)


1
3
F. A. Sequeira MA1006, II-2016
Sistemas de precisión finita
(Números de punto flotante)

Por ejemplo, considere el sistema F(6, −2, 4) y nótese que

−3434.42 = −0.343442 × 104 ∈ F(6, −2, 4)

0.001946 = 0.194600 × 10−2 ∈ F(6, −2, 4)

835.8275 = 0.8358275 × 103 6∈ F(6, −2, 4)

−0.000407257 = −0.407257 × 10−3 6∈ F(6, −2, 4)

7 = 0.700000 × 101 ∈ F(6, −2, 4)

− = −(0.33333333333 . . .) × 100 6∈ F(6, −2, 4)


1
3
F. A. Sequeira MA1006, II-2016
Sistemas de precisión finita
(Números de punto flotante)

Por ejemplo, considere el sistema F(6, −2, 4) y nótese que

−3434.42 = −0.343442 × 104 ∈ F(6, −2, 4)

0.001946 = 0.194600 × 10−2 ∈ F(6, −2, 4)

835.8275 = 0.8358275 × 103 6∈ F(6, −2, 4)

−0.000407257 = −0.407257 × 10−3 6∈ F(6, −2, 4)

7 = 0.700000 × 101 ∈ F(6, −2, 4)

− = −(0.33333333333 . . .) × 100 6∈ F(6, −2, 4)


1
3
F. A. Sequeira MA1006, II-2016
Sistemas de precisión finita
(Números de punto flotante)

Por ejemplo, considere el sistema F(6, −2, 4) y nótese que

−3434.42 = −0.343442 × 104 ∈ F(6, −2, 4)

0.001946 = 0.194600 × 10−2 ∈ F(6, −2, 4)

835.8275 = 0.8358275 × 103 6∈ F(6, −2, 4)

−0.000407257 = −0.407257 × 10−3 6∈ F(6, −2, 4)

7 = 0.700000 × 101 ∈ F(6, −2, 4)

− = −(0.33333333333 . . .) × 100 6∈ F(6, −2, 4)


1
3
F. A. Sequeira MA1006, II-2016
Sistemas de precisión finita
(Números de punto flotante)

Por ejemplo, considere el sistema F(6, −2, 4) y nótese que

−3434.42 = −0.343442 × 104 ∈ F(6, −2, 4)

0.001946 = 0.194600 × 10−2 ∈ F(6, −2, 4)

835.8275 = 0.8358275 × 103 6∈ F(6, −2, 4)

−0.000407257 = −0.407257 × 10−3 6∈ F(6, −2, 4)

7 = 0.700000 × 101 ∈ F(6, −2, 4)

− = −(0.33333333333 . . .) × 100 6∈ F(6, −2, 4)


1
3
F. A. Sequeira MA1006, II-2016
Sistemas de precisión finita
(Números de punto flotante)

Por ejemplo, considere el sistema F(6, −2, 4) y nótese que

−3434.42 = −0.343442 × 104 ∈ F(6, −2, 4)

0.001946 = 0.194600 × 10−2 ∈ F(6, −2, 4)

835.8275 = 0.8358275 × 103 6∈ F(6, −2, 4)

−0.000407257 = −0.407257 × 10−3 6∈ F(6, −2, 4)

7 = 0.700000 × 101 ∈ F(6, −2, 4)

− = −(0.33333333333 . . .) × 100 6∈ F(6, −2, 4)


1
3
F. A. Sequeira MA1006, II-2016
Propiedades de F(N, L, U )
1 La mantisa está acotada por

10−1 ≤ d1 d2 . . . dN ≤ 1 − 10−N .

2 El número positivo más grande es

xmáx = (1 − 10−N ) · 10U .

3 El número positivo más pequeño es

xmín = 10L−1 .

4 El conjunto F(N, L, U ) es de cardinalidad finita. Más


precisamente,

card(F(N, L, U )) = 2(10 − 1)10N −1 (U − L + 1) + 1 .

F. A. Sequeira MA1006, II-2016


Propiedades de F(N, L, U )
1 La mantisa está acotada por

10−1 ≤ d1 d2 . . . dN ≤ 1 − 10−N .

2 El número positivo más grande es

xmáx = (1 − 10−N ) · 10U .

3 El número positivo más pequeño es

xmín = 10L−1 .

4 El conjunto F(N, L, U ) es de cardinalidad finita. Más


precisamente,

card(F(N, L, U )) = 2(10 − 1)10N −1 (U − L + 1) + 1 .

F. A. Sequeira MA1006, II-2016


Propiedades de F(N, L, U )
1 La mantisa está acotada por

10−1 ≤ d1 d2 . . . dN ≤ 1 − 10−N .

2 El número positivo más grande es

xmáx = (1 − 10−N ) · 10U .

3 El número positivo más pequeño es

xmín = 10L−1 .

4 El conjunto F(N, L, U ) es de cardinalidad finita. Más


precisamente,

card(F(N, L, U )) = 2(10 − 1)10N −1 (U − L + 1) + 1 .

F. A. Sequeira MA1006, II-2016


Propiedades de F(N, L, U )
1 La mantisa está acotada por

10−1 ≤ d1 d2 . . . dN ≤ 1 − 10−N .

2 El número positivo más grande es

xmáx = (1 − 10−N ) · 10U .

3 El número positivo más pequeño es

xmín = 10L−1 .

4 El conjunto F(N, L, U ) es de cardinalidad finita. Más


precisamente,

card(F(N, L, U )) = 2(10 − 1)10N −1 (U − L + 1) + 1 .

F. A. Sequeira MA1006, II-2016


Ejemplo

Los elementos de F(1, 0, 1) corresponden a:


0 ±0.4 × 100 ±0.7 × 101
±0.1 × 100 ±0.4 × 101
±0.8 × 100
±0.1 × 101 ±0.5 × 100
±0.2 × 100 ±0.5 × 101 ±0.8 × 101
±0.2 × 101 ±0.6 × 100
±0.9 × 100
±0.3 × 100 ±0.6 × 101
±0.3 × 101 ±0.7 × 100 ±0.9 × 101

Nótese que:

xmín = 0.1×100 , xmáx = 0.9×101 y card(F(1, 0, 1)) = 37 .

F. A. Sequeira MA1006, II-2016


Ejemplos de sistemas de precisión finita

En general, la mayor cantidad de números esta acumulada cerca


de cero, mientras que los números que se alejan de mismo, están
cada vez más distanciados entre sí.

F. A. Sequeira MA1006, II-2016


Aproximación de un real en precisión finita

Dado x ∈ R, se denota por fl(x) a su representación (o aproxi-


mación) en F(N, L, U ). En el caso de una aproximación, esta
puede ser por truncamiento o por redondeo.
Si
x = (−1)s (0.d1 d2 . . . dN dN +1 dN +2 . . .) × 10e ,
entonces

Por truncamiento:

fl(x) := (−1)s (0.d1 d2 . . . dN ) × 10e .

Por redondeo:
(−1)s (0.d1 d2 . . . dN ) × 10e si dN +1 < 5


fl(x) :=
(−1)s 0.d1 d2 . . . dN + 10−N × 10e si dN +1 ≥ 5
 

F. A. Sequeira MA1006, II-2016


Aproximación de un real en precisión finita

Dado x ∈ R, se denota por fl(x) a su representación (o aproxi-


mación) en F(N, L, U ). En el caso de una aproximación, esta
puede ser por truncamiento o por redondeo.
Si
x = (−1)s (0.d1 d2 . . . dN dN +1 dN +2 . . .) × 10e ,
entonces

Por truncamiento:

fl(x) := (−1)s (0.d1 d2 . . . dN ) × 10e .

Por redondeo:
(−1)s (0.d1 d2 . . . dN ) × 10e si dN +1 < 5


fl(x) :=
(−1)s 0.d1 d2 . . . dN + 10−N × 10e si dN +1 ≥ 5
 

F. A. Sequeira MA1006, II-2016


Aproximación de un real en precisión finita

Dado x ∈ R, se denota por fl(x) a su representación (o aproxi-


mación) en F(N, L, U ). En el caso de una aproximación, esta
puede ser por truncamiento o por redondeo.
Si
x = (−1)s (0.d1 d2 . . . dN dN +1 dN +2 . . .) × 10e ,
entonces

Por truncamiento:

fl(x) := (−1)s (0.d1 d2 . . . dN ) × 10e .

Por redondeo:
(−1)s (0.d1 d2 . . . dN ) × 10e si dN +1 < 5


fl(x) :=
(−1)s 0.d1 d2 . . . dN + 10−N × 10e si dN +1 ≥ 5
 

F. A. Sequeira MA1006, II-2016


Aproximación de un real en precisión finita

Dado x ∈ R, se denota por fl(x) a su representación (o aproxi-


mación) en F(N, L, U ). En el caso de una aproximación, esta
puede ser por truncamiento o por redondeo.
Si
x = (−1)s (0.d1 d2 . . . dN dN +1 dN +2 . . .) × 10e ,
entonces

Por truncamiento:

fl(x) := (−1)s (0.d1 d2 . . . dN ) × 10e .

Por redondeo:
(−1)s (0.d1 d2 . . . dN ) × 10e si dN +1 < 5


fl(x) :=
(−1)s 0.d1 d2 . . . dN + 10−N × 10e si dN +1 ≥ 5
 

F. A. Sequeira MA1006, II-2016


Aproximación de un real en precisión finita

Por ejemplo, si se considera F(3, −2, 2) y el número irracional



2 2 ≈ 0.282842712474 . . . × 101 ,

entonces

Por truncamiento: fl(2 2) = 0.282 × 101 .

Por redondeo: fl(2 2) = 0.283 × 101 .

F. A. Sequeira MA1006, II-2016


Aproximación de un real en precisión finita

Por ejemplo, si se considera F(3, −2, 2) y el número irracional



2 2 ≈ 0.282842712474 . . . × 101 ,

entonces

Por truncamiento: fl(2 2) = 0.282 × 101 .

Por redondeo: fl(2 2) = 0.283 × 101 .

En general, fl(x) es un valor que puede ser menor, igual o mayor


que x.

F. A. Sequeira MA1006, II-2016


Desbordamiento

El número fl(x) puede “salirse” de F(N, L, U ).

Números del sistema de precisión finita F(N, L, U ) en azul. Conjunto de


todos los números reales, R, en rojo.
F. A. Sequeira MA1006, II-2016
Errores

Errores
Se consideran dos maneras de medir el error al representar x por
fl(x). Estos son:

Error absoluto: |x − fl(x)|

|x − fl(x)|
Error relativo: , si x 6= 0
|x|

F. A. Sequeira MA1006, II-2016


Errores

Por ejemplo, sean

x1 = 1.31 con fl(x1 ) = 1.30

y
x2 = 0.12 con fl(x2 ) = 0.11
Los errores absolutos vienen dados por:

|x1 − fl(x1 )| = |x2 − fl(x2 )| = 0.01 ,

mientras que, los errores relativos son:

|x1 − fl(x1 )| |x2 − fl(x2 )|


= 0.0076335 y = 0.0833333.
|x1 | |x2 |

F. A. Sequeira MA1006, II-2016


Errores

Por ejemplo, sean

x1 = 1.31 con fl(x1 ) = 1.30

y
x2 = 0.12 con fl(x2 ) = 0.11
Los errores absolutos vienen dados por:

|x1 − fl(x1 )| = |x2 − fl(x2 )| = 0.01 ,

mientras que, los errores relativos son:

|x1 − fl(x1 )| |x2 − fl(x2 )|


= 0.0076335 y = 0.0833333.
|x1 | |x2 |

F. A. Sequeira MA1006, II-2016


Errores

Por ejemplo, sean

x1 = 1.31 con fl(x1 ) = 1.30

y
x2 = 0.12 con fl(x2 ) = 0.11
Los errores absolutos vienen dados por:

|x1 − fl(x1 )| = |x2 − fl(x2 )| = 0.01 ,

mientras que, los errores relativos son:

|x1 − fl(x1 )| |x2 − fl(x2 )|


= 0.0076335 y = 0.0833333.
|x1 | |x2 |

F. A. Sequeira MA1006, II-2016


Errores

Del ejemplo anterior, nótese que los errores absolutos muestran


que fl(x1 ) está tan cerca de x1 , como fl(x2 ) de x2 . Por otro
lado, los errores relativos establecen que fl(x1 ) representa mejor
a x1 que fl(x2 ) a x2 , lo cual es cierto, ya que cerca de cero
(como es el caso de x2 ) hay la mayor cantidad de números de
punto flotante, mientras que si están lejos de cero, hay menos
posibles valores para usar como representaciones.

En general, para este curso nos interesará principalmente el error


relativo.

F. A. Sequeira MA1006, II-2016


Errores

Del ejemplo anterior, nótese que los errores absolutos muestran


que fl(x1 ) está tan cerca de x1 , como fl(x2 ) de x2 . Por otro
lado, los errores relativos establecen que fl(x1 ) representa mejor
a x1 que fl(x2 ) a x2 , lo cual es cierto, ya que cerca de cero
(como es el caso de x2 ) hay la mayor cantidad de números de
punto flotante, mientras que si están lejos de cero, hay menos
posibles valores para usar como representaciones.

En general, para este curso nos interesará principalmente el error


relativo.

F. A. Sequeira MA1006, II-2016


Dígitos significativos

Definición
Se dice que fl(x) aproxima a x con t dígitos significativos, si
t es el mayor entero no-negativo para el cual se cumple que:

|x − fl(x)|
< 5 × 10−t .
|x|

Del ejemplo anterior, se puede apreciar que fl(x1 ) aproxima a


x1 con dos dígitos significativos, mientras que fl(x2 ) aproxima a
x2 con un único dígito significativo.

F. A. Sequeira MA1006, II-2016


Dígitos significativos

Definición
Se dice que fl(x) aproxima a x con t dígitos significativos, si
t es el mayor entero no-negativo para el cual se cumple que:

|x − fl(x)|
< 5 × 10−t .
|x|

Del ejemplo anterior, se puede apreciar que fl(x1 ) aproxima a


x1 con dos dígitos significativos, mientras que fl(x2 ) aproxima a
x2 con un único dígito significativo.

F. A. Sequeira MA1006, II-2016


Cota superior para el error relativo

Teorema
Sea fl(x) la representación punto flotante de un número real x.
Entonces,

101−N por truncamiento,




|x − fl(x)| 

|x|  1 · 101−N por redondeo.

2

Este resultado sugiere que representar un número mediante re-


dondeo es mejor que por truncamiento, ya que la cota superior
de redondeo es la mitad que la de truncamiento.

F. A. Sequeira MA1006, II-2016


Cota superior para el error relativo

Teorema
Sea fl(x) la representación punto flotante de un número real x.
Entonces,

101−N por truncamiento,




|x − fl(x)| 

|x|  1 · 101−N por redondeo.

2

Este resultado sugiere que representar un número mediante re-


dondeo es mejor que por truncamiento, ya que la cota superior
de redondeo es la mitad que la de truncamiento.

F. A. Sequeira MA1006, II-2016


Operaciones aritméticas en precisión finita

Definición
Sea F(N, L, U ) un sistema de precisión finita, y considere x, y ∈
F(N, L, U ), y defina:

fl(x op y) := fl fl(x) op fl(y) ,

donde op es una de las siguientes operaciones aritméticas:

+, −, ·, ÷.

Además, √ p 
fl( x) := fl fl(x) .

F. A. Sequeira MA1006, II-2016


Operaciones aritméticas en precisión finita

Definición
Sea F(N, L, U ) un sistema de precisión finita, y considere x, y ∈
F(N, L, U ), y defina:

fl(x op y) := fl fl(x) op fl(y) ,

donde op es una de las siguientes operaciones aritméticas:

+, −, ·, ÷.

Además, √ p 
fl( x) := fl fl(x) .

F. A. Sequeira MA1006, II-2016


Ejemplo de operaciones en precisión finita

Ejemplo 1
Compare los resultados de las operaciones

(2.03 × 1.72) × 1.75 y 2.03 × (1.72 × 1.75)

en el sistema F(2, −3, 3) el cual utiliza redondeo como método


de aproximación.

Solución. En este sistema y con redondeo se tiene


fl(2.03) = 0.20 × 101 = 2
fl(1.72) = 0.17 × 101 = 1.7
fl(1.75) = 0.18 × 101 = 1.8

F. A. Sequeira MA1006, II-2016


Ejemplo de operaciones en precisión finita

Ejemplo 1
Compare los resultados de las operaciones

(2.03 × 1.72) × 1.75 y 2.03 × (1.72 × 1.75)

en el sistema F(2, −3, 3) el cual utiliza redondeo como método


de aproximación.

Solución. En este sistema y con redondeo se tiene


fl(2.03) = 0.20 × 101 = 2
fl(1.72) = 0.17 × 101 = 1.7
fl(1.75) = 0.18 × 101 = 1.8

F. A. Sequeira MA1006, II-2016


Ejemplo de operaciones en precisión finita

Así,
1 fl(2.03×1.72) = fl(2×1.7) = fl(3.4) = 0.34×101 = 3.4
y con ello

fl (2.03 × 1.72) × 1.75 = fl(3.4 × 1.8) = fl(6.12)
= 0.61 × 101 = 6.1

2 fl(1.72 × 1.75) = fl(1.7 × 1.8) = fl(3.06) =


0.31 × 101 = 3.1 y luego

fl 2.03 × (1.72 × 1.75) = fl(2 × 3.1) = fl(6.2)
= 0.62 × 101 = 6.2

Nótese que en un sistema de precisión finita, la operación


multiplicación NO es asociativa !

F. A. Sequeira MA1006, II-2016


Ejemplo de operaciones en precisión finita

Así,
1 fl(2.03×1.72) = fl(2×1.7) = fl(3.4) = 0.34×101 = 3.4
y con ello

fl (2.03 × 1.72) × 1.75 = fl(3.4 × 1.8) = fl(6.12)
= 0.61 × 101 = 6.1

2 fl(1.72 × 1.75) = fl(1.7 × 1.8) = fl(3.06) =


0.31 × 101 = 3.1 y luego

fl 2.03 × (1.72 × 1.75) = fl(2 × 3.1) = fl(6.2)
= 0.62 × 101 = 6.2

Nótese que en un sistema de precisión finita, la operación


multiplicación NO es asociativa !

F. A. Sequeira MA1006, II-2016


Ejemplo de operaciones en precisión finita

Así,
1 fl(2.03×1.72) = fl(2×1.7) = fl(3.4) = 0.34×101 = 3.4
y con ello

fl (2.03 × 1.72) × 1.75 = fl(3.4 × 1.8) = fl(6.12)
= 0.61 × 101 = 6.1

2 fl(1.72 × 1.75) = fl(1.7 × 1.8) = fl(3.06) =


0.31 × 101 = 3.1 y luego

fl 2.03 × (1.72 × 1.75) = fl(2 × 3.1) = fl(6.2)
= 0.62 × 101 = 6.2

Nótese que en un sistema de precisión finita, la operación


multiplicación NO es asociativa !

F. A. Sequeira MA1006, II-2016


Cálculo de normas

Ejemplo 2
Dado el vector

x = (1, 0.01, 0.01, . . . , 0.01)t ∈ R1+10 ,


4

| {z }
104 veces

determine la norma kxk2 en F(2, −3, 3). Calcule el error relativo


usando redondeo.

Solución. Observe que kxk2 = 12 + 104 · 0.012 y con ello:

fl(12 ) = fl(1) = 0.10 × 101 = 1


fl(0.012 ) = fl(0.0001) = 0.10 × 10−3 = 0.0001
fl(104 ) = fl(10000) = 0.10 × 105 (OVERFLOW !)
∴ fl(104 ) = 0.99 × 103 = 990

F. A. Sequeira MA1006, II-2016


Cálculo de normas

Ejemplo 2
Dado el vector

x = (1, 0.01, 0.01, . . . , 0.01)t ∈ R1+10 ,


4

| {z }
104 veces

determine la norma kxk2 en F(2, −3, 3). Calcule el error relativo


usando redondeo.

Solución. Observe que kxk2 = 12 + 104 · 0.012 y con ello:

fl(12 ) = fl(1) = 0.10 × 101 = 1


fl(0.012 ) = fl(0.0001) = 0.10 × 10−3 = 0.0001
fl(104 ) = fl(10000) = 0.10 × 105 (OVERFLOW !)
∴ fl(104 ) = 0.99 × 103 = 990

F. A. Sequeira MA1006, II-2016


Cálculo de normas

Ejemplo 2
Dado el vector

x = (1, 0.01, 0.01, . . . , 0.01)t ∈ R1+10 ,


4

| {z }
104 veces

determine la norma kxk2 en F(2, −3, 3). Calcule el error relativo


usando redondeo.

Solución. Observe que kxk2 = 12 + 104 · 0.012 y con ello:

fl(12 ) = fl(1) = 0.10 × 101 = 1


fl(0.012 ) = fl(0.0001) = 0.10 × 10−3 = 0.0001
fl(104 ) = fl(10000) = 0.10 × 105 (OVERFLOW !)
∴ fl(104 ) = 0.99 × 103 = 990

F. A. Sequeira MA1006, II-2016


Cálculo de normas

Ejemplo 2
Dado el vector

x = (1, 0.01, 0.01, . . . , 0.01)t ∈ R1+10 ,


4

| {z }
104 veces

determine la norma kxk2 en F(2, −3, 3). Calcule el error relativo


usando redondeo.

Solución. Observe que kxk2 = 12 + 104 · 0.012 y con ello:

fl(12 ) = fl(1) = 0.10 × 101 = 1


fl(0.012 ) = fl(0.0001) = 0.10 × 10−3 = 0.0001
fl(104 ) = fl(10000) = 0.10 × 105 (OVERFLOW !)
∴ fl(104 ) = 0.99 × 103 = 990

F. A. Sequeira MA1006, II-2016


Cálculo de normas

fl(104 · 0.012 ) = fl(0.099) = 0.99 × 10−1 = 0.099


fl(12 + 104 · 0.012 ) = fl(1.099) = 0.11 × 101 = 1.1
√ √
fl( 12 + 104 · 0.012 ) = fl( 1.1) = fl(1.048808848) =
0.10 × 101 = 1

∴ fl(kxk2 ) = 1 .

Por otro lado, el valor exacto corresponde a kxk2 = 2,
con lo que:

kxk2 − fl(kxk2 ) 2−1

kxk2 = √ ≈ 0.2928932188 < 5×10−1 .
2

Así, la representación fl(kxk2 ) sólo tiene un dígito


significativo.

F. A. Sequeira MA1006, II-2016


Cálculo de normas

fl(104 · 0.012 ) = fl(0.099) = 0.99 × 10−1 = 0.099


fl(12 + 104 · 0.012 ) = fl(1.099) = 0.11 × 101 = 1.1
√ √
fl( 12 + 104 · 0.012 ) = fl( 1.1) = fl(1.048808848) =
0.10 × 101 = 1

∴ fl(kxk2 ) = 1 .

Por otro lado, el valor exacto corresponde a kxk2 = 2,
con lo que:

kxk2 − fl(kxk2 ) 2−1

kxk2 = √ ≈ 0.2928932188 < 5×10−1 .
2

Así, la representación fl(kxk2 ) sólo tiene un dígito


significativo.

F. A. Sequeira MA1006, II-2016


Cálculo de normas

fl(104 · 0.012 ) = fl(0.099) = 0.99 × 10−1 = 0.099


fl(12 + 104 · 0.012 ) = fl(1.099) = 0.11 × 101 = 1.1
√ √
fl( 12 + 104 · 0.012 ) = fl( 1.1) = fl(1.048808848) =
0.10 × 101 = 1

∴ fl(kxk2 ) = 1 .

Por otro lado, el valor exacto corresponde a kxk2 = 2,
con lo que:

kxk2 − fl(kxk2 ) 2−1

kxk2 = √ ≈ 0.2928932188 < 5×10−1 .
2

Así, la representación fl(kxk2 ) sólo tiene un dígito


significativo.

F. A. Sequeira MA1006, II-2016


Cálculo de normas

fl(104 · 0.012 ) = fl(0.099) = 0.99 × 10−1 = 0.099


fl(12 + 104 · 0.012 ) = fl(1.099) = 0.11 × 101 = 1.1
√ √
fl( 12 + 104 · 0.012 ) = fl( 1.1) = fl(1.048808848) =
0.10 × 101 = 1

∴ fl(kxk2 ) = 1 .

Por otro lado, el valor exacto corresponde a kxk2 = 2,
con lo que:

kxk2 − fl(kxk2 ) 2−1

kxk2 = √ ≈ 0.2928932188 < 5×10−1 .
2

Así, la representación fl(kxk2 ) sólo tiene un dígito


significativo.

F. A. Sequeira MA1006, II-2016


Cálculo de normas

fl(104 · 0.012 ) = fl(0.099) = 0.99 × 10−1 = 0.099


fl(12 + 104 · 0.012 ) = fl(1.099) = 0.11 × 101 = 1.1
√ √
fl( 12 + 104 · 0.012 ) = fl( 1.1) = fl(1.048808848) =
0.10 × 101 = 1

∴ fl(kxk2 ) = 1 .

Por otro lado, el valor exacto corresponde a kxk2 = 2,
con lo que:

kxk2 − fl(kxk2 ) 2−1

kxk2 = √ ≈ 0.2928932188 < 5×10−1 .
2

Así, la representación fl(kxk2 ) sólo tiene un dígito


significativo.

F. A. Sequeira MA1006, II-2016


Cálculo de normas

fl(104 · 0.012 ) = fl(0.099) = 0.99 × 10−1 = 0.099


fl(12 + 104 · 0.012 ) = fl(1.099) = 0.11 × 101 = 1.1
√ √
fl( 12 + 104 · 0.012 ) = fl( 1.1) = fl(1.048808848) =
0.10 × 101 = 1

∴ fl(kxk2 ) = 1 .

Por otro lado, el valor exacto corresponde a kxk2 = 2,
con lo que:

kxk2 − fl(kxk2 ) 2−1

kxk2 = √ ≈ 0.2928932188 < 5×10−1 .
2

Así, la representación fl(kxk2 ) sólo tiene un dígito


significativo.

F. A. Sequeira MA1006, II-2016


Cancelación catastrófica

Definición
Cuando se restan valores casi idénticos, salvo en los últimos dígi-
tos, ocurre que los dígitos significativos se cancelen, quedando
únicamente los dígitos menos significativos en el resultado. A
esto se le conoce como cancelación catastrófica.

Por ejemplo, las funciones:



2 sen2 x

1 − cos(x)

si x 6= 0 2
si x 6= 0
 

x2
 
f (x) := y g(x) := x2
 1  1
 si x = 0 
 si x = 0
2 2

son teóricamente iguales, pero numéricamente diferentes. Esto


ya que f (x) produce una cancelación catastrófica para valores de
x cercanos a cero.
F. A. Sequeira MA1006, II-2016
Cancelación catastrófica

Definición
Cuando se restan valores casi idénticos, salvo en los últimos dígi-
tos, ocurre que los dígitos significativos se cancelen, quedando
únicamente los dígitos menos significativos en el resultado. A
esto se le conoce como cancelación catastrófica.

Por ejemplo, las funciones:



2 sen2 x

1 − cos(x)

si x 6= 0 2
si x 6= 0
 

x2
 
f (x) := y g(x) := x2
 1  1
 si x = 0 
 si x = 0
2 2

son teóricamente iguales, pero numéricamente diferentes. Esto


ya que f (x) produce una cancelación catastrófica para valores de
x cercanos a cero.
F. A. Sequeira MA1006, II-2016
Cálculo de raíces

Ejemplo 3
Determine en F(3, −5, 5) las soluciones de la ecuación
x2 + 28x + 1 = 0 .

Solución. Las raíces de la ecuación cuadrática son


√ √
−b + b2 − 4ac −b − b2 − 4ac
x1 = y x2 = .
2a 2a
Sin embargo en este sistema de precisión finita el cálculo de la
raíz x1 , cuyo valor exacto es

x1 = −0.3575995623 . . . × 10−1

muestra poca precisión al utilizar la expresión anterior.

F. A. Sequeira MA1006, II-2016


Cálculo de raíces

Ejemplo 3
Determine en F(3, −5, 5) las soluciones de la ecuación
x2 + 28x + 1 = 0 .

Solución. Las raíces de la ecuación cuadrática son


√ √
−b + b2 − 4ac −b − b2 − 4ac
x1 = y x2 = .
2a 2a
Sin embargo en este sistema de precisión finita el cálculo de la
raíz x1 , cuyo valor exacto es

x1 = −0.3575995623 . . . × 10−1

muestra poca precisión al utilizar la expresión anterior.

F. A. Sequeira MA1006, II-2016


Cálculo de raíces

En efecto, observe que:


p p 
fl( b2 − 4ac) = fl 0.784 × 103 − 0.400 × 101
p 
= fl 0.78 × 103
= fl(27.92848009 . . .) = 0.279 × 102 .
Luego,

−0.280 × 102 + 0.279 × 102


 
fl(x1 ) = fl = −0.500 × 10−1 .
0.200 × 101

Se tiene un error relativo


|x1 − fl(x1 )|
≈ 0.3982120022 < 5 × 10−1 ,
|x1 |
donde la representación fl(x1 ) posee un dígito significativo.

F. A. Sequeira MA1006, II-2016


Cálculo de raíces

En efecto, observe que:


p p 
fl( b2 − 4ac) = fl 0.784 × 103 − 0.400 × 101
p 
= fl 0.78 × 103
= fl(27.92848009 . . .) = 0.279 × 102 .
Luego,

−0.280 × 102 + 0.279 × 102


 
fl(x1 ) = fl = −0.500 × 10−1 .
0.200 × 101

Se tiene un error relativo


|x1 − fl(x1 )|
≈ 0.3982120022 < 5 × 10−1 ,
|x1 |
donde la representación fl(x1 ) posee un dígito significativo.

F. A. Sequeira MA1006, II-2016


Cálculo de raíces

En efecto, observe que:


p p 
fl( b2 − 4ac) = fl 0.784 × 103 − 0.400 × 101
p 
= fl 0.78 × 103
= fl(27.92848009 . . .) = 0.279 × 102 .
Luego,

−0.280 × 102 + 0.279 × 102


 
fl(x1 ) = fl = −0.500 × 10−1 .
0.200 × 101

Se tiene un error relativo


|x1 − fl(x1 )|
≈ 0.3982120022 < 5 × 10−1 ,
|x1 |
donde la representación fl(x1 ) posee un dígito significativo.

F. A. Sequeira MA1006, II-2016


Cálculo de raíces

Ahora, se obtiene una mejor aproximación de la raíz usando:


2c
x1 = − √ ,
b+ b2 − 4ac
con la cual se obtiene:
0.200 × 101
 
fl(x1 ) = fl −
0.280 × 102 + 0.279 × 102
= fl(−0.03577817531 . . .)
= −0.358 × 10−1 .
Se tiene un error relativo
|x1 − fl(x1 )|
≈ 0.00111979356 < 5 × 10−3 ,
|x1 |
donde la representación fl(x1 ) posee tres dígitos significativos.

F. A. Sequeira MA1006, II-2016


Cálculo de raíces

Ahora, se obtiene una mejor aproximación de la raíz usando:


2c
x1 = − √ ,
b+ b2 − 4ac
con la cual se obtiene:
0.200 × 101
 
fl(x1 ) = fl −
0.280 × 102 + 0.279 × 102
= fl(−0.03577817531 . . .)
= −0.358 × 10−1 .
Se tiene un error relativo
|x1 − fl(x1 )|
≈ 0.00111979356 < 5 × 10−3 ,
|x1 |
donde la representación fl(x1 ) posee tres dígitos significativos.

F. A. Sequeira MA1006, II-2016


Expansiones de Taylor

Ejemplo 4
Evalúe la función f (x) = ex − x − 1 en x = 0.01, utilizando el
sistema F(5, −∞, +∞) y redondeo.

Solución. Se sigue que


fl(f (0.01)) = fl(e0.01 − 0.01 − 1)

= fl fl(1.010050167 . . .) − 1.01
= fl( 1.0101
| {z− 1.01} ) = 0.00001.
cancelación catastrófica

Sin embargo, el valor exacto es: f (0.01) = 0.00005016708 . . ., con


lo que
|0.00005016708 − 0.00001| 
0 dígitos

≈ 0.99 . . . < 5 × 100 significativos
|0.00005016708|

F. A. Sequeira MA1006, II-2016


Expansiones de Taylor

Ejemplo 4
Evalúe la función f (x) = ex − x − 1 en x = 0.01, utilizando el
sistema F(5, −∞, +∞) y redondeo.

Solución. Se sigue que


fl(f (0.01)) = fl(e0.01 − 0.01 − 1)

= fl fl(1.010050167 . . .) − 1.01
= fl( 1.0101
| {z− 1.01} ) = 0.00001.
cancelación catastrófica

Sin embargo, el valor exacto es: f (0.01) = 0.00005016708 . . ., con


lo que
|0.00005016708 − 0.00001| 
0 dígitos

≈ 0.99 . . . < 5 × 100 significativos
|0.00005016708|

F. A. Sequeira MA1006, II-2016


Expansiones de Taylor

Ejemplo 4
Evalúe la función f (x) = ex − x − 1 en x = 0.01, utilizando el
sistema F(5, −∞, +∞) y redondeo.

Solución. Se sigue que


fl(f (0.01)) = fl(e0.01 − 0.01 − 1)

= fl fl(1.010050167 . . .) − 1.01
= fl( 1.0101
| {z− 1.01} ) = 0.00001.
cancelación catastrófica

Sin embargo, el valor exacto es: f (0.01) = 0.00005016708 . . ., con


lo que
|0.00005016708 − 0.00001| 
0 dígitos

≈ 0.99 . . . < 5 × 100 significativos
|0.00005016708|

F. A. Sequeira MA1006, II-2016


Expansiones de Taylor

Para evitar lo anterior, considere la serie de Taylor para ex :


+∞ n
X x x2 x3
ex = = 1+x+ + + ...
n! 2! 3!
n=0

x2 x3 x4
con lo que ex − x − 1 = 2! + 3! + 4! + . . ., y así

0.012 0.013 0.014


       
fl(f (0.01)) = fl fl + fl + fl + ...
2 6 24

= fl 0.00005 + 0.00000016666 + . . .
= fl(0.00005016666) = 0.000050167.

Esta representación posee cinco dígitos significarivos.

F. A. Sequeira MA1006, II-2016


Expansiones de Taylor

Para evitar lo anterior, considere la serie de Taylor para ex :


+∞ n
X x x2 x3
ex = = 1+x+ + + ...
n! 2! 3!
n=0

x2 x3 x4
con lo que ex − x − 1 = 2! + 3! + 4! + . . ., y así

0.012 0.013 0.014


       
fl(f (0.01)) = fl fl + fl + fl + ...
2 6 24

= fl 0.00005 + 0.00000016666 + . . .
= fl(0.00005016666) = 0.000050167.

Esta representación posee cinco dígitos significarivos.

F. A. Sequeira MA1006, II-2016


Ejercicio

Ejercicio
ex − 1
En el sistema F(3, −1, 1), evalúe f (x) := para x = 0.001.
x
Utilice truncamiento como método de aproximación.

Solución.
Por evaluación directa: fl(f (0.001)) = 0 (No es una
buena aproximación !)
Valor exacto: f (0.001) = 1.001000500166708 . . .
Usando Taylor de ex se tiene que:
ex − 1 x x2 x3
= 1+ + + + ...
x 2! 3! 4!
lo que da un represetanción: fl(f (0.001)) = 1, la cual tiene
3 dígitos significativos.
F. A. Sequeira MA1006, II-2016
Ejercicio

Ejercicio
ex − 1
En el sistema F(3, −1, 1), evalúe f (x) := para x = 0.001.
x
Utilice truncamiento como método de aproximación.

Solución.
Por evaluación directa: fl(f (0.001)) = 0 (No es una
buena aproximación !)
Valor exacto: f (0.001) = 1.001000500166708 . . .
Usando Taylor de ex se tiene que:
ex − 1 x x2 x3
= 1+ + + + ...
x 2! 3! 4!
lo que da un represetanción: fl(f (0.001)) = 1, la cual tiene
3 dígitos significativos.
F. A. Sequeira MA1006, II-2016
Ejercicio

Ejercicio
ex − 1
En el sistema F(3, −1, 1), evalúe f (x) := para x = 0.001.
x
Utilice truncamiento como método de aproximación.

Solución.
Por evaluación directa: fl(f (0.001)) = 0 (No es una
buena aproximación !)
Valor exacto: f (0.001) = 1.001000500166708 . . .
Usando Taylor de ex se tiene que:
ex − 1 x x2 x3
= 1+ + + + ...
x 2! 3! 4!
lo que da un represetanción: fl(f (0.001)) = 1, la cual tiene
3 dígitos significativos.
F. A. Sequeira MA1006, II-2016
Ejercicio

Ejercicio
ex − 1
En el sistema F(3, −1, 1), evalúe f (x) := para x = 0.001.
x
Utilice truncamiento como método de aproximación.

Solución.
Por evaluación directa: fl(f (0.001)) = 0 (No es una
buena aproximación !)
Valor exacto: f (0.001) = 1.001000500166708 . . .
Usando Taylor de ex se tiene que:
ex − 1 x x2 x3
= 1+ + + + ...
x 2! 3! 4!
lo que da un represetanción: fl(f (0.001)) = 1, la cual tiene
3 dígitos significativos.
F. A. Sequeira MA1006, II-2016

También podría gustarte