Beruflich Dokumente
Kultur Dokumente
1/69
Índice
1. Representación de números reales en bases arbitrarias 4
3. Redondeo 16
5. Cancelación numérica 25
5.1. Ecuación de segundo grado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6. Sumas 28
6.1. Análisis de estabilidad numérica . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2. Algunas aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.3. Análisis de estabilidad numérica en el cálculo de ex . . . . . . . . . . . . . . . 40
2/69
7. Análisis de primer orden de la sensibilidad numérica 42
7.1. Símbolos de Landau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.2. Análisis de primer orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8. Ejercicios 47
Referencias 69
3/69
Representación de números reales en bases
arbitrarias
Un estudio sobre el desarrollo histórico del sistema de los números reales muestra que el sistema
decimal no ha sido el único que se ha utilizado, sino que se han usado otros sistemas como el
de base 20 y 60 entre otros. Actualmente las computadoras usan sistemas de base 2, 8 y 16,
entre otros.
Ejemplo 1.1. Representar el número decimal periódico x = 123.456 en el sistema binario.
x0 = 123 y x1 = 0.456
4/69
Parte entera Parte fraccionaria
x0 = 2(61) + 1 2 · x1 = x2 + x−1 , x2 = 0.912, x−1 = 0
61 = 2(30) + 1 2 · x2 = x3 + x−2 , x3 = 0.825, x−2 = 1
30 = 2(15) + 0 2 · x3 = x4 + x−3 , x4 = 0.651, x−3 = 1
15 = 2(7) + 1 2 · x4 = x5 + x−4 , x5 = 0.303, x−4 = 1
7 = 2(3) + 1 2 · x5 = x6 + x−5 , x6 = 0.606, x−5 = 0
3 = 2(1) + 1 2 · x6 = x7 + x−6 , x7 = 0.213, x−6 = 1
.. .. ..
1 = 2(0) + 1 . . .
La parte entera binaria se lee de abajo hacia arriba, y la parte fraccionaria de arriba hacia
abajo, por lo que el resultado es x = 1111011.011101 · · · , que se puede representar en forma
normalizado como:
x = (0.1111011011101 · · · ) × 27 .
5/69
Teorema 1.1. Si β ≥ 2 es un entero y x ∈ R, x 6= 0, entonces x se representa en la
forma β−cimal estandarizada:
∞
!
X
x=± x−ν β −ν × β e ≡ ± (0.x−1 x−2 · · · ) × β e , (1)
ν=1
con e ∈ Z y x−ν ∈ {0, 1, . . . , β − 1}. Más aún, existe una única representación de tipo (1)
con x−1 6= 0 y con la propiedad de que para cualquier n ∈ N, existe un ν ≥ n tal que
x−ν 6= β − 1 . (2)
Demostración. Una prueba se da en Hämmerlin and Hoffmann 1991 [1], y sigue el siguiente
razonamiento:
Para la existencia de la representación, sea x ∈ R, x 6= 0. Entonces el signo de x queda
únicamente determinado si x > 0 o x < 0, y el número entero e := min{k ∈ Z : |x| < β k }.
Sea
x1 := β −e |x| ,
Suponga por el contrario que existe un primer índice n − 1 tal que z−(n−1) 6= 0. Es claro
que se puede suponer que z−(n−1) ≥ 1.
Puesto que
∞ ∞ ∞
X X X
z−(n−1) β −(n−1) = (−z−ν )β −ν ≤ |z−ν |β −ν ≤ (β − 1)β −ν
ν=n ν=n ν=n
∞
" # (3)
X 1
β −ν = (β − 1)β −n −(n−1)
= (β − 1) 1 =β ,
1−
ν=n β
y−ν = 0 y x−ν = β − 1,
para todo ν ≥ n.
Pero esto contradice con el supuesto de que x1 satisface la propiedad (2), por lo que
z−ν = 0
para todo ν ∈ N.
Así que las dos expansiones deben ser lo mismo.
Las bases más usados son β = 2 (binario), 8 (octal), 10 (decimal) y 16 (hexadecimal) donde
los dígitos en este último caso son 0, 1, · · · , 9, A, B, C, D, E y F.
8/69
Sistemas de punto flotante
∈ {1, − ≤ ≤
d1 2, . . . , β 1}, L e U
fl(β, t, L, U ) = ±0.d1 d2 · · · dt × β e
∪{±0. 00 · · · 0}} ,
di ∈ {0, 1, . . . , β − 1}, i = 2 : t
| {z
t ceros
donde β es un número entero ≥ 2 que se llama base del sistema, t también es un número
entero > 0 que se le llama precisión del sistema, y [L, U ] es el rango del exponente e con L
entero negativo y U entero positivo.
por lo que se dice que los números punto flotante distintos de cero tienen formato normali-
zado. Al número m se le llama mantisa de x.
Existe una forma alternativa para normalizar los números punto flotante, pero aquí se sigue la
notación de Hämmerlin and Hoffmann 1991 [1], Buchanan and Turner 1992 [2], y Stoer and
Bulirsch 1993 [3].
10/69
En un sistema binario, d1 es siempre 1 y no hay necesidad de almacenarlo, por lo que se gana
un bit extra de precisión para un campo de ancho dado (así el número 1 se le considera un bit
escondido).
El sistema IEEE DP (formato doble) es un sistema binario de 64 bits: 1 bit para el signo,
11 bits para el exponente e y 52 bits para la mantisa m (equivalente entre 15 y 16 dígitos
decimales significativos).
12/69
C IMPRESION DE RESULTADOS EN PRECISION DOBLE
C
C2345678...
DOUBLE PRECISION NUMERO, RAIZC
NUMERO = .145D+3
RAIZC = -DSQRT(NUMERO)
WRITE(6,10)RAIZC
10 FORMAT(/,8X,’ EL RESULTADO DE LA RAIZ ES:’,1X,D21.15)
END
13/69
Números subnormales
Dos números importantes en el sistema fl(β, t, L, U ) son
L−1 −t
βU ,
xmin = β y xmax = 1 − β
14/69
Dado que en el sistema binario:
L−1
xmin = 1. 00 · ·
| {z } · 0 ×2 ,
t−1 ceros
y se guarda su mantisa solamente los t − 1 ceros (el 1 está oculto), se aprovechan los espacios
que ocupan dichos ceros para almacenar otros números más pequeños de la forma:
que se les llama números subnormales. Estos números no están normalizados y por consi-
guiente son menos precisos.
15/69
Redondeo
Definición 3.1. Un número real x 6= 0 está en el intervalo normalizado del S.P.F. si:
16/69
Teorema 3.1. Sea β ≥ 2 un entero par, t ∈ Z+ y x ∈ R, x > 0 representado por
Más aún:
x+ − x− = β e−t .
En este caso se dice que x− se obtiene por truncamiento, pues simplemente se descartan los
dígitos di , i ≥ t + 1.
Casos especiales
definido por
19/69
iv). Redondeo al más cercano:
x− si |x| < xmax y |x − x− | < |x − x+ |
si |x| < xmax y |x − x− | > |x − x+ |
x+
red(x) =
∞ si x > xmax
−∞ si x < −xmax
En el caso de un empate |x − x− | = |x − x+ | :
1) En un sistema binario (β = 2), se escoge el red(x) como el flotante que tenga su
bit menos significativo igual a 0 (Overton, 2002 [4]).
2) Si β > 2, el red(x) puede ser más complicado pero una forma simple es elegir el
flotante cuyo último dígito significativo sea par (redondeo al par más cercano).
El estándar IEEE usa por defecto el modo de redondeo al más cercano, y es la que se usa casi
siempre en la práctica. En adelante se referirá por redondeo a dicho modo.
20/69
Ejercicio 3.1. Sea x en un sistema binario dado por
Demuestra que
Ejemplo 3.1. Redondeos al par más cercano con dos dígitos significativos:
21/69
Teorema 3.2. Sea β ≥ 2 un entero par, t ∈ Z+ y x ∈ R, x 6= 0, con representación
x = ±(0.d1 d2 · · · dt · · · ) × β e ,
Dos talleres numéricos que simulan la aritmética flotante en FORTRAN y en MATLAB, son
TALLER.EXE y TALLER.m . En ellos se pueden simular las operaciones básicas, resolver un
sistema lineal de 2 ecuaciones algebraicas, resolver una ecuación de segundo grado, entre otros.
Se recomienda hacer simulaciones con ellos.
24/69
Cancelación numérica
Al realizar la “resta” en el sistema de punto flotante, se puede presentar un fenómeno numérico
conocido como cancelación numérica. Por ejemplo, si a = .34567835 y b = .34567823, se
tiene que
a − b = .00000012 = .12 × 10−6 .
Sin embargo, en una A.P.F. de 7 dígitos significativos y redondeo al más cercano par se tiene
Durante la resta se han perdido dígitos significativos que garantizaban la buena exactitud y
precisión de los números, y los resultados de a − b y fl(a − b) no coinciden ni por redondeo.
25/69
Ecuación de segundo grado
Se presenta el problema de cancelación catastrófica en el cálculo de las raíces de la ecuación
polinomial cuadrática:
ax2 + bx + c = 0, a, b, c ∈ R.
∆ = b2 − 4ac .
Si ∆ < 0, entonces ambas raíces son complejas y conjugadas, y están dadas por:
p
b |∆|
x1,2 = − ± i.
2a 2a
x1,2 = −b/2a .
Si ∆ > 0, entonces ambas raíces son reales y distintas, y se pueden calcular con dos métodos
diferentes:
26/69
Método 1. Aplicando la fórmula clásica:
√
−b ± ∆
x1,2 = .
2a
Método 2. En el método 1, no se toma en cuenta el problema de la cancelación numérica
en el cálculo de las raíces. Para evitar dicho problema, se aplican las fórmulas de Vieta de la
siguiente forma:
a) Si b > 0, se calculan: √
−b − ∆
x1 = ,
2a
y
c 2c
x2 = ≡− √ .
ax1 b+ ∆
b) Si b < 0, se calculan: √
−b + ∆
x1 = ,
2a
y
c 2c
x2 = ≡ √ .
ax1 −b + ∆
El método 1 es numéricamente inestable, mientras que el método 2 es numéricamente estable.
27/69
Sumas
Análisis de estabilidad numérica
Problema 6.1. Para a1 , a2 , . . . , an en R, calcular
Xn
S= ak .
k=1
Algoritmo 6.1. El algoritmo estándar para calcular la suma del problema 6.1 está dado
por:
sum ← 0.0
Para k = 1 : n, hacer
sum ← sum + ak
Terminar.
Lema 6.1. Si ak ∈ fl (β, t, L, U ), k = 1 : n, entonces
n n n
!
X X Y
fl ak = ak ∗ (1 + εj )
k=1 k=1 j=k
donde |εj | ≤ u, j = 1 : n, ε1 = 0.
28/69
Demostración. Inducción sobre n.
Para n = 2 se tiene que
con ε1 ≡ 0 y |ε2 | ≤ u.
Se supone cierta la hipótesis de inducción para n > 2, y se probará la igualdad para n + 1.
n+1 n n
! ! ! ! !
X X X
fl ak =: fl fl ak + an+1 = fl ak + an+1 (1 + εn+1 )
k=1 k=1 k=1
n
!
X
= fl ak (1 + εn+1 ) + an+1 (1 + εn+1 )
k=1
n
X n
Y
= ak ∗ (1 + εj ) (1 + εn+1 ) + an+1 (1 + εn+1 )
k=1 j=k
n+1
X n+1
Y
= ak ∗ (1 + εj ), ε1 = 0, |εj | ≤ u, j = 2 : n + 1 .
k=1 j=k
29/69
Lema 6.2. Sea n entero positivo tal que nu < 0.01 y 0 < |εj | ≤ u para j = 1 : n.
n
Y
Si (1 + εj ) = 1 + δn , entonces |δn | ≤ 1.01nu.
j=1
Así que
n n n
|δn | ≤ nu + u2 + u3 + · · · + un
2 3 n
n(n − 1) 2 n(n − 1)(n − 2) 3 n(n − 1)(n − 2)(n − 3) 4
= nu + u + u + u + · · · + un
2! 3! 4!
.01 (.01)2 (.01)3 (.01)n−1
< nu + nu + + + ··· +
2! 3! 4! n!
1 1 1 1
= nu + nu + + + ··· +
200 60 000 24 000 000 n! × 102(n−1)
30/69
∼
= nu + nu(0.005 + 0.00001666 · · · + 0.000000041666 · · · + · · · )
∼
= nu + nu(0.00501670833 · · · ) ≤ 1.01nu .
Por lo tanto, la suma de números positivos hecha en orden natural por el algoritmo
6.1 es numéricamente estable. Sin embargo, esto no garantiza que el resultado que
se obtiene de la suma sea exacto.
C). Si ak < 0, k = 1 : n, entonces
n n
X X
ak = |ak | .
k=1 k=1
Por lo que la desigualdad (7) sigue siendo válida, así que el algoritmo 6.1 también es
numéricamente estable, para este caso.
33/69
Teorema 6.2 (Análisis de error retrospectivo). Si ak ∈ fl (β, t, L, U ), k = 1 : n, y si
nu < 0.01, entonces
n n
!
X X
fl ak = ak ,
b
k=1 k=1
Lo anterior sugiere construir algoritmos más efectivos que el algoritmo estándar 6.1 para la
suma de n números arbitrarios. Investiga sobre el algoritmo “divide y vencerás”.
Ejemplo 6.1. Calcula la suma en orden creciente y decreciente en el sistema fl(10, 4, −9, 9)
con redondeo al par más cercano, de los siguientes números: a1 = 1.234 × 101 , a2 =
3.453 × 100 , a3 = 3.441 × 10−2 , a4 = 4.667 × 10−3 y a5 = 9.876 × 10−4 .
Porcentaje de error ∼
= 0.08 % . Porcentaje de error ∼
= 0.02 % .
x x2 x3
e =1+x+ + + ···
2! 3!
Para x < 0, la serie de Taylor es alternante, por lo que puede haber resultados desastrosos
por cancelación numérica.
conocido como fórmula de dos pasos (uno para calcular la media y la otra para la desviación
estándar). Para una mejor eficiencia, se puede usar la fórmula equivalente de un solo paso
" n
!#1/2
1 X
σ= x2k − nx 2 . (10)
n−1
k=1
37/69
4. Método de sustitución prospectiva. Un sistema triangular inferior está dada por
`11 x1 = c1
`21 x1 + `22 x2 = c2
(11)
··· ··· ··· ···
`n1 x1 + `n2 x2 + · · · + `nn xn = cn
La solución del sistema triangular inferior (11) se obtiene mediante el método de sustitución
prospectiva:
Pk−1
c1 ck − i=1 `ki xi
x1 = , xk = , `kk 6= 0, k = 2 : n .
`11 `kk
38/69
5. Método de sustitución retrospectiva. Un sistema triangular superior está dada por
La solución del sistema triangular superior (12) se obtiene mediante el método de sustitu-
ción retrospectiva:
Pn
dn dk − i=k+1 rki xi
xn = , xk = , rkk 6= 0, k = n − 1 : −1 : 1 .
rnn rkk
39/69
Análisis de estabilidad numérica en el cálculo de ex
Se considera el valor exacto de ex dado por el polinomio de Taylor
x2
x xn
y =e =1+x+ + ··· + , n = n(x) ,
2! n!
Así que
n n
X |x|k X |x|k
|b
y − y| ≤ |δn−k+1 | ≤ 1.01(nu) = 1.01(nu)e|x| . (13)
k! k!
k=0 k=0
κ =: e−2x > 1 .
Así que para x << −1, el método de la serie de Taylor es numéricamente inestable.
41/69
Análisis de primer orden de la sensibilidad
numérica
Símbolos de Landau
Sean f, g : D ⊆ R → R, donde g(x) 6= 0 para x ∈ D.
1. Se dirá que f (x) = O(g(x)) cuando x → x0 si existe una constante C > 0 y δ > 0 tal
que
f (x)
g(x) ≤ C
2. Se dirá que f (x) = o(g(x)) cuando x → x0 si para cualquier constante C > 0 existe
δ > 0 tal que
f (x)
g(x) ≤ C
D). f (x) = O(g1 (x)) y g1 (x) = O(g2 (x)) ⇒ f (x) = O(g2 (x)).
E). f1 (x) = O(g1 (x)) y f2 (x) = O(g2 (x)) ⇒ f1 (x) · f2 (x) = O(g1 (x) · g2 (x)).
Algunos ejemplos:
x2 x4
1). f (x) = + ⇒ f (x) = O(x2 ) cuando x → 0.
2 24
x2 x4
2). f (x) = + ⇒ f (x) = o(x) cuando x → 0.
2 24
43/69
1 3 1 2 5
3). f (n) = n + n − n ⇒ f (n) = O(n3 ) cuando n → ∞.
3 2 6
donde
ψ(δx)
−→ 0 cuando δx → 0 ,
kδxk∞
El análisis del error prospectivo dada por la fórmula (14), se llama análisis de error de primer
orden para el problema y = f (x).
Ejemplo 7.1. Hacer el análisis de sensibilidad numérica del problema de calcular:
a
z= , a 6= 0 , b 6= 0 .
b
Solución.
∂z ∂z
∆z = δa + δb + ψ(δx) , δx = (δa, δb)
∂a ∂b
δa a
= − 2 δb + ψ(δx)
b b
a δa δb b
= − + ψ(δx) ,
b a b a
de donde
∆z δa δb b
= − + ψ(δx),
z a b a
45/69
y
∆z δa δb b
z ≤ a + b + a |ψ(δx)| .
Así que
∆z
≤ 2 max δa ,
δb
+ ψ ∗ (δx) ,
z a b
donde
∗
b b 2
∗ 2
ψ (δx) = |ψ(δx)| = O kδxk∞ , lo que implica que ψ (δx) = O kδxk∞ .
a a
46/69
Ejercicios
Representación de números reales en bases arbitrarias
1. ¿Qué problema práctico dio origen a los números racionales y reales?
2. Convertir los números siguientes en base dada a otra indicada.
A). (0.25)10 = ( ? )2 , B). (0.30)10 = ( ? )2 , C). (0.30)10 = ( ? )3 , D). (0.666 · · · )10 =
( ? )3 ¿Todo número decimal finito es binario finito?
3. Escribe los siguientes números binarios en números decimales en su forma estandarizada:
−101.1111 , 111.010010001 y −0.00001011 011 .
4. Demuestra que la representación β−cimal estandarizada de todo número racional es un
número mixto periódico, es decir, de la forma:
±(0.a1 a2 · · · ak b1 b2 ...bs ) × β p
1. Recordando que fl(a) = a(1 + δ), para algún δ con |δ| ≤ u, verifique que si:
√
1.
A). fl10 = 0.25 B). fl10 2 = 1.414214
4.
1.
C). fl10 = 0.3333333 D). fl10 (π) = 3.14159265359
3.
1
¿Cuánto vale δ? ¿Cuánto vale u (la unidad de redondeo)? ¿Es |δ| ≤ u?
2
2. En una aritmética de punto flotante (A.P.F.) ¿Es cierto que:
(b − (a + b)) + a = 0 ?
4. En una A.P.F. de 5 dígitos significativos con redondeo, halla la solución positiva más chica
51/69
de la ecuación:
fl(123.45 + a) = a .
5. En una A.P.F. de 5 dígitos significativos con redondeo, halla la solución positiva más grande
de la ecuación:
fl(123.45 + b) = 123.45 .
Cancelación numérica
1. En general se evita la cancelación numérica con el fin de obtener métodos numéricamente
estables. Sin embargo, existen casos en donde evitarla nos conduce a resultados sorpren-
dentemente absurdos. En una aritmética de punto flotante de 4 decimales con redondeo,
para a = 0.8717 y b = 0.8719, calcula el punto medio c = 12 (a + b) del intervalo [a, b].
¿De qué otra manera se puede calcular c?
2. Escribe la forma conveniente para evaluar, evitando cancelación numérica, cada una de las
siguientes funciones:
√
A). f (x) = ln(x − x2 − 1), para x >> 1 .
B). f (x) = (a + x)n − an , para x ∼
= 0.
C). f (x) = ex − x − 1, para x ∼
= 0.
3. Evalúa f (x) = (1 − cos x)/x2 , para x = 1, 0.1, 0.01, . . . , 10−19 , en precisión simple y
52/69
doble. Estudia tus resultados.
4. Elabora un buen programa, usando sólo aritmética real, para el cálculo de las raíces (reales
o complejas) de la ecuación de segundo grado ax2 + bx + c = 0: 1. Sin evitar cancelación
catastrófica, y 2. Evitando cancelación catastrófica. Prueba tu programa con las ecuaciones
siguientes e imprima los resultados de cada una.
5. En el año 250 A. de C., el matemático griego Arquímedes estimó el número π como sigue.
Consideró un círculo con diámetro 1 y circunferencia π. Inscribió un cuadrado. El perímetro
del cuadrado es menor que la circunferencia, y este es una cota inferior de π. Luego,
Arquímedes consideró un octágono inscrito, un dieciseiságono, etc., cada vez duplicaba el
número de lados del polígono inscrito y obtenía una mejor aproximación de π. Usando un
polígono inscrito y un circunscrito de 96 lados, pudo mostrar que 223/71 < π < 22/7.
Existe una forma recursiva para estas estimaciones.
A). Sea pn el perímetro del polígono inscrito con 2n lados. Entonces p2 es el perímetro del
53/69
√
cuadrado inscrito, p2 = 2 2. En general:
q p
n
pn+1 = 2 2(1 − 1 − (pn /2n )2 ) , n ≥ 2. (15)
donde
p √
rn+1 = 2(1 − 1 − (pn /2n )2 ), r3 = 2/(2 + 2) .
Muestra que
rn
rn+1 = √ , n ≥ 3. (16)
2 + 4 − rn
C). Usa la iteración (16) para calcular rn , n = 3, 4, . . . , 90, en simple presición y n =
3, 4, . . . , 550 en doble precisión (esta modificación lo propuso W. Kahan).
D). Observa que eventualmente, 4 − rn se redondeará a 4, y consecuentemente la fórmula
(16) se verá afectada también por errores de redondeo para n0 s grandes. ¿Nos debemos
preocupar por esto? 54/69
6. Considera los tres puntos (x, y) del plano:
Es obvio que hay una línea recta que mejor se ajusta a estos puntos. Para hallar la recta
b de ajuste óptimo, según el criterio de mínimo de cuadrados, se suelen usar las
y = bb + mx
populares fórmulas:
x1 y1 + x2 y2 + x3 y3 − 1/3(x1 + x2 + x3 )(y1 + y2 + y3 )
m
b = , y
(x21 + x22 + x23 ) − 1/3(x1 + x2 + x3 )2
1 m
(y1 + y2 + y3 ) − (x1 + x2 + x3 )
bb = b
3 3
A). Calcula los valores para bb y m
b en aritmética real, y a continuación el valor de y para
x = 5 201 480.0
B). Repita el inciso anterior usando para m
b la fórmula alternativa:
x1 y1 + x2 y2 + x3 y3 − 1/3(x1 + x2 + x3 )(y1 + y2 + y3 )
m
b =
(x1 − x)2 + (x2 − x)2 + (x3 − x)2
55/69
C). Haz un cuadro comparativo de tus resultados con los valores exactos:
m
b = 1, bb = −5 101 478.0 y y = 100 002.0 .
Sumas
1. En una A.P.F. de 5 decimales con redondeo, calcula el valor límite de la sucesión sn+1 =
fl(sn + a), n ≥ 0, con s0 = 0.0, para a = 1.0, 51.0, 100.0, y 555.0 ¿Cuál es tu conjetura?
56/69
Algoritmo 8.1. El algoritmo estándar para calcular el producto P está dado por:
prod ← 1.0
Para k = 1 : n, hacer
prod ← prod ∗ ak
Terminar.
Demuestra que:
A). [Análisis de error retrospectivo].
n n
!
Y Y
fl ak = a1 ak (1 + εk ) , donde |εk | ≤ u, k = 2 : n
k=1 k=2
n
Y
= ak ,
b donde b
a1 = a1 , b
ak = ak (1 + εk ), k = 2 : n.
k=1
= xT yb , donde ybk = yk (1 + δk ), k = 1 : n ,
donde S2P ≡ nk=1 (xk − x)2 (compare con la fórmula de dos pasos dado por (9)).
P
K SUMA TERM
2 1.0000000 1.5000000
3 2.5000000 1.1250000
4 3.6250000 0.5625000
5 4.1875000 0.2109375
63/69
6 4.3984380 0.0632813
7 4.4617190 0.0158203
8 4.4775390 0.0033901
9 4.4809290 0.0006356
10 4.4815650 1.0593960E − 004
11 4.4816700 1.5890940E − 005
12 4.4816860 2.1669460E − 006
13 4.4816880 2.7086830E − 007
C). Ejecuta tu programa para x = ±1.5, ±5.5, ±10.5, ±15.5 y ±20.5. ¿Cuáles son los
errores relativos apriori y aposteriori, en cada caso? Comenta.
D). ¿En qué paso de la recursión se da la cancelación numérica para x = −20.5? ¿De qué
otra forma calcularías e−20.5 ? Comenta.
64/69
Análisis de primer orden de la sensibilidad numérica
1. Demuestra para la función ψ de la fórmula (14) que
ψ(δx)
lim = 0 sı́ y sólo si ψ(δx) = o(kδxk∞ ) cuando δx → 0 .
δx→0 kδxk∞
donde
|a| |b| |a|
κ ≡ 2 · max , =2 ,
|z| |z| |z| 65/69
es tal que 2 < κ < 2β 2 .
B). Ahora, sean a, b ∈ R, a > b > 0 de órdenes distintos. Usando el hecho de que
donde β −(t−1) < κu < β −(t−3) , (es decir, para fines prácticos, κu ∼
= β −(t−2) ).
5. Análisis de sensibilidad numérica del problema de cálculo de raíces de una ecuación cua-
drática con respecto a los coeficientes. Sea la ecuación ax2 + bx + c = 0 con coeficientes
reales con a 6= 0 tales que b2 − 4ac > 0, y con raíces r1 y r2 (r1 6= r2 ). Usando la
aproximación del primer orden
∂r1 ∂r1 ∂r1
∆r1 = δa + δb + δc + ψ ,
∂a ∂b ∂c
con
ψ
−→ 0 cuando (δa, δb, δc) → 0 ,
max{|δa|, |δb|, |δc| }
66/69
demuestra que
|∆r1 | |r1 | + |r2 | |δa| |δb| |δc|
≤ + + + ψ∗ ,
|r1 | |r2 − r1 | |a| |b| |c|
donde
ψ∗
−→ 0 cuando (δa, δb, δc) → 0 ,
max{|δa|, |δb|, |δc| }
y por lo tanto
|∆r1 | |δa| |δb| |δc|
≤ κ · max , , + ψ∗ ,
|r1 | |a| |b| |c|
en donde
|r1 | + |r2 |
κ =: 3 ,
|r2 − r1 |
es el número de condición del problema del cálculo de la raíz r1 .
Observa que es el mismo número de condición del problema del cálculo de la raíz r2 .
¿Qué puedes concluir cuando r1 es muy cercano a r2 ? En particular, ¿Qué se concluye
cuando r1 = r2 ?
6. Las raíces de la ecuación x2 − 4x + 4 = 0, son r1 = r2 = 2.
A). Verifica que las raíces rb1 y rb2 de la ecuación x2 − 4x + (4 − ε) = 0, con 0 < ε 1,
√ √ √
están dadas por rb1 = 2− ε y rb2 = 2+ ε. Luego, se tiene que |b r1, 2 − 2| / |2| = 21 ε;
67/69
y en consecuencia, si ε = 10−6 , las raíces se ven perturbadas, respecto a ε, por un
factor de 103 .
B). Muestra que las raíces rb1 y rb2 de la ecuación (1 − ε)x2 − 4x + 4 = 0, con 0 < ε 1,
están dadas por √ √
2−2 ε 2+2 ε
rb1 = y rb2 = ,
1−ε 1−ε
√
En consecuencia, se tiene que |b r1, 2 − 2| / |2| ∼
= ε. Y por lo tanto, para ε = 10−6 las
raíces se ven perturbadas por un factor de 2·103 .
C). Repite el análisis anterior para la ecuación x2 − (4 + 2ε)x + 4 = 0, donde 0 < ε 1.
7. Si el número de condición κ(σ) para la varianza muestral de n valores observados
x1 , x2 , . . . , xn de n variables aleatorias i.i.d., se define como
2 kxk2
κ(σ) =: √ , (17)
n − 1σ
en donde x = (x1 , x2 , . . . , xn )T y σ definido por (9), demuestra que
κ(σ) ≥ 2 .
Compara la definición de κ(σ) con los resultados obtenidos en el ejercicio 5(C) de la sección
anterior.
68/69
Referencias
[1] Hämmerlin, G., Hoffmann, K-H.: Numerical Mathematics. Springer-Verlag, 1991.
[2] Buchanan, J.L., Turner, P.R.: Numerical Methodos and Analysis. McGraw-Hill, Inc.,
1992.
[3] Stoer, J., Bulirsch, R.: Introduction to Numerical Analysis. Springer-verlag, 1993.
[4] Overton, M.L.: Numerical Computing with IEEE Floating Point Arithmetic. SIAM, 2001.
[6] Eldén, L., Wittmeyer-Koch, L.: Numerical Analysis An Introduction. Academic Press,
Inc., 1990.
[7] Heath, M.T.: Scientific Computing: An Introductory Survey. McGraw-Hill, N.Y., 2nd
Edition, 2002.
69/69