Guía de Análisis Numérico para Estudiantes
Guía de Análisis Numérico para Estudiantes
L. Héctor Juárez V.
Departamento de Matemáticas,
Universidad Autónoma Metropolitana.
hect@[Link]
18 de diciembre de 2019
2 L. Héctor Juárez V.
Prólogo
Hace diez años inició un nuevo programa de maestría en la División de Ciencias Básicas
e Ingeniería de la Universidad Autónoma Metropolitana, plantel Iztapalapa. Se trata de la
Maestría en Ciencias Matemáticas Aplicadas e Industriales. Desde su comienzo el coordina-
dor del programa, y uno de sus impulsores más entusiastas, el Dr. Joaquín Delgado, sugirió
a los profesores la producción de material didáctico para apoyar la enseñanza de los cursos.
El presente documento tiene su origen en dicha iniciativa y el material que contiene se ha
utilizado por diferentes profesores, durante varios años, para impartir la U.E.A. Análisis
Numérico.
El material incluye los temas cubiertos en un periódo trimestral y equivalente a 50
horas frente a grupo. Se recomienda que un mínimo de 12 horas de las 50 se dediquen
a taller de cómputo, en donde los alumnos experimenten con los diferentes algoritmos y
métodos analizados en clase de teoría. Cabe aclarar que el material también puede utilizarse
en cursos con estudiantes avanzados (del último año) de ciencias básicas e ingenieria de
nivel licenciatura. Los prerrequisitos son: cálculo en una y varias variables, algebra lineal, y
ecuaciones diferenciales ordinarias. En particular se recomienda como apoyo para la U.E.A.
Análisis Numérico del nuevo programa de la licenciatura en matemáticas, así para la U.E.A.
Métodos Numéricos del tronco básico profesional.
Los temas se escogieron para cubrir un mínimo de material que permita introducir al
estudiante a este fascinante campo de la matemática aplicada, con el objeto de que adquiera
la formación y madurez necesaria que le permita abordar otros temas más avanzados y/ó
especializados del análisis numérico. Se hace énfasis en el análisis y comprensión de los mé-
todos y algoritmos, así como de los alcances y limitaciones de los mismos. Esperamos que
el estudiante no solo aprenda a utilizar los métodos, sino que además sea capaz de elejir y
diseñar la mejor estrategia para algún problema en particular.
1. Aritmética Computacional 7
1.1. Representación de números en computadora . . . . . . . . . . . . . . . . . . . 7
1.1.1. Representación de números enteros . . . . . . . . . . . . . . . . . . . . 8
1.1.2. Representación de punto flotante . . . . . . . . . . . . . . . . . . . . . 8
1.1.3. Limitaciones en la representación de números en computadora . . . . . 10
1.2. Errores de redondeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1. Forma normalizada de un número . . . . . . . . . . . . . . . . . . . . . 11
1.2.2. Forma de punto flotante: truncamiento y redondeo . . . . . . . . . . . 11
1.2.3. Epsilon de máquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3. Aritmética de punto flotante . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.1. Sistema de números de punto flotante . . . . . . . . . . . . . . . . . . 14
1.3.2. Operaciones de punto flotante . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.3. Axioma fundamental de la arimética de punto flotante . . . . . . . . . 14
1.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2. Condicionamiento y Estabilidad 19
2.1. Normas de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.1. Normas en espacios vectoriales . . . . . . . . . . . . . . . . . . . . . . 19
2.1.2. Continuidad y equivalencia de normas . . . . . . . . . . . . . . . . . . 21
2.1.3. Normas matriciales inducidas . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.4. Cálculo de normas matriciales . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.5. La norma–2 de una matriz . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.6. Propiedades de las normas matriciales . . . . . . . . . . . . . . . . . . 27
2.2. Condicionamiento y estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.1. Condicionamiento de un problema . . . . . . . . . . . . . . . . . . . . 29
2.2.2. Número de condición absoluto . . . . . . . . . . . . . . . . . . . . . . . 29
3
4 L. Héctor Juárez V.
1. Modelación del proceso. La solución numérica de problemas no puede ser mejor que
el modelo subyacente. Un modelo matemático de un problema en particular siempre
parte de hipótesis simplificadoras y generalmente no describe el fenómeno de manera
exacta.
2. Medida de datos para el problema. Los datos observados ó los parámetros asocia-
dos a un problema pocas veces son exactos. Cuando se obtienen datos de un problema
generalmente hay limitaciones en los equipos de medición y los datos son obtenidos
5
6 L. Héctor Juárez V.
Aritmética Computacional
7
8 L. Héctor Juárez V.
Ejemplo 1.1. Si se usan 16 bits para representar los números enteros en la memoria de la
computadora, el número −173 puede representarse por
1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1
↑ ↑ ↑ ↑ ↑ ↑
signo 27 25 23 22 20
“−”
Ejemplo 1.2. Rango de enteros. Determinar el rango de enteros que puede representarse
en una computadora de 16 bits.
Solución. El 1er bit es para el signo. Sobran 15 bits, con los cuales pueden representarse
los números del 0 al 111111111111111 = 215 − 1 = 32767. Además, como el 0 se representa
por 0000000000000000, es redundante utilizar 1000000000000000 para representar -0, así que
podemos representar un número adicional que puede ser −215 ó 215 . Por lo tanto, el rango
de enteros que podemos representar con una computadora de 16 bits es de -32768 a 32767
o bien de -32767 a 32768
donde β es la base del sistema (β = 10 para el sistema decimal y β = 2 para el sistema bina-
rio), e representa el exponente y t ≥ 1 es la precisión de la máquina. La m se puede escoger
1 m
como: t ≤ m < 1, (la mantisa es m), ó 1 ≤ m < β t , (la mantisa es t ), dependiendo de la
β β
arquitectura.
Análisis Numérico 9
Ejemplo 1.3. La IBM 370 ó la 3000 consistía de un bit indicador del signo, un exponente e
de 7 bits en base β = 16, y una mantisa m de 24 bits (en total 32 bits), con t=64. Cualquier
1
número en esta arquitectura es de la forma: m16e−64 con t ≤ m < 1.
β
Por ejemplo, el número de máquina
0 1000010 101100110000010000000000
en donde:
el primer bloque (de 1 bit) representa “+”,
el segundo bloque (de 7 bits) representa 26 + 21 = 66,
el tercer bloque (de 24 bits) representa 2−1 + 2−3 + 2−4 + 2−7 + 2−8 + 2−14 .
0 1000010 101100110000010000000001
= 179.0156402587890625
Lo anterior significa que el número de máquina original debe representar no sólo a 179.015625,
sino también a un número infinito de números reales que se encuentran entre este número y
sus números de máquina más cercanos. Por otro lado, en esta arquitectura, el número más
pequeño que se puede representar es:
0 0000000 000100000000000000000000
= 2−4 · 160−64 = 16−65 ≈ 10−78
El ejemplo anterior muestra que la limitación más fuerte para representar números en
una computadora digital es que sólo se puede contar con un número finito de bits para
cualquiera de las arquitecturas. Por lo que, en una computadora digital
Ejemplo 1.4. La forma decimal normalizada se ilustra con los siguientes números:
1
x1 = − = −0.90909090 . . . × 10−1 ,
11
1500
x2 = = 0.13636363 . . . × 103 ,
11
√
x3 = 2 = 0.141421356 . . . × 101 .
1. Truncamiento. Se cortan los dígitos dt+1 , dt+2 , . . . para obtener f l(x) = ±0.d1 d2 · · · dt ×
10n .
2. Redondeo. Se forma la suma d1 d2 · · · dt .dt+1 +0.5 (en donde el punto que está entre
dt y dt+1 es un punto decimal). La parte decimal de f l(x) es d1 d2 · · · dt−1 δt , la cual se
obtiene de la parte entera del resultado de la suma anterior.
12 L. Héctor Juárez V.
Ejemplo 1.5. La representación del número x2 = 1500/11 en punto flotante con trunca-
miento a seis y siete cifras es, respectivamente
Por otro lado, para obtener su representación con redondeo se hace lo siguiente:
Si se toman seis cifras decimales, se obtiene 136363.6 + 0.5 = 136364.1, cuya parte
entera es 136364. Por lo tanto, f l(x2 ) =0.136364×103 (con δ6 = 4 6= d6 = 3).
Proposición. El error que resulta al reemplazar un número real x por su número de pun-
to flotante se denomina error de redondeo. Este error esta acotado por |x − f l(x)| ≤
p 1−t
10 |x|, con p = 1 cuando se hace redondeo y p = 2 cuando se hace truncamiento.
2
Demostración. (Caso por truncamiento). Sea x = 0.d1 d2 · · · dt dt+1 · · ·×10n y f l(x) =0.d1 d2 · · · dt ×
10n su representación de punto flotante, entonces
[Link]+1 dt+2 · · ·
≤ 10
0.d1 d2 · · ·
debido a que
[Link]+1 dt+2 · · · ≤ d1 .d2 d3 · · ·
Por lo tanto
|x − f l(x)| ≤ 101−t |x|
cuando se hace truncamiento. El caso por redondeo se puede demostrar en forma análoga.
Análisis Numérico 13
maq = β 1−t
Para cada número real x, existe un número de punto flotante x0 tal que
|x − x0 | ≤ maq |x|.
Por lo tanto, concluimos que la computadora tiene una propiedad sencilla pero muy útil,
expresada en el siguiente axioma:
Axioma fundamental de la arimética de punto flotante: Para todo x, y ∈ F existe
con || ≤ maq tal que
x ~ y = (x ∗ y)(1 + ). (1.7)
Es decir, cada operación en la aritmética de punto flotante es exacta salvo un error relativo
de a lo más maq .
Por lo tanto, si x, y son números de punto flotante, se satisface
para algún , con || ≤ maq , siempre y cuando los resultados se mantengan dentro del
sistema de punto flotante F.
Algunas de las propiedades fundamentales de las operaciones en el sistema de números
reales son válidas para las operaciones en el sistema de punto flotante, otras no lo son. Por
ejemplo, las leyes conmutativa de suma y multiplicación si son válidas en punto flotante:
x ⊕ y = y ⊕ x, x⊗y =y⊗x
(x ⊗ y) ⊗ z 6= x ⊗ (y ⊗ z).
Por ejemplo, si x = maq /3, y = 3maq , z = maq /11, entonces en el sistema de punto flotante
IEEE de doble precisión, obtenemos en el ambiente MATLAB
x ⊗ (y ⊗ z) = 9.952403865943302 × 10−49 ,
(x ⊗ y) ⊗ z = 9.952403865943303 × 10−49 ,
16 L. Héctor Juárez V.
en donde se observa una diferencia en el último dígito. La situación puede ser más crítica con
la suma y la resta. Puede suceder fácilmente que (x ⊕ y) ⊕ z sea muy diferente a x ⊕ (y ⊕ z)
con aritmética de baja precisión. De la misma manera, la ley distributiva x(y + z) = xy + xz
no es válida en aritmética de punto flotante.
1.4. Ejercicios
1. Verificar que (0,0001100110011 . . .)2 = 1/10
4. El siguiente algoritmo, debido a Cleve Moler, estima la unidad de redondeo del dispo-
sitivo utilizado para realizar cálculos:
a = 4/3, b = a − 1, c = 3 b, e = 1 − c.
b) ¿Qué produce el algoritmo cuando se utiliza aritmética decimal de seis dígitos con
redondeo?
6. Evaluar 1/(1 − cos x) para valores de x en radianes cercanos al cero. ¿Cómo se puede
evitar la resta de dos números casi iguales en el denominador? Probar con x = 10−3 ,
10−6 , 10−12 , maq , etc.
p(x) = (x − 2)9
= x9 − 18x8 + 144x7 − 672x6 + 2016x5 − 4032x4 + 5376x3
− 4608x2 + 2304x − 512
Graficar este polinomio para los valores x = 1.9200, 1.9199, 1.9198,. . ., 2.0800 (en no-
tación MATLAB se escribe x = 1.9200:0.0001:2.0800) utilizando la forma expandida
del mismo. Graficar de nuevo el polinomio, pero ahora utilizando la forma factorizada
del mismo. Intente explicar lo que sucede. Se incluye el código MATLAB :
x = (1.9200:0.0001:2.0800)0 ;
y = x.ˆ9 - 18*x.ˆ8 + 144*x.ˆ7 - 672*x.ˆ6 + 2016*x.ˆ5 - 4032*x.ˆ4 + 5376*x.ˆ3 - ...
4608*x.ˆ2 + 2304*x - 512;
plot(x,y,0 g0 )
hold on
y = (x-2).ˆ9;
plot(x,y,0 r0 )
hold off
18 L. Héctor Juárez V.
Capítulo 2
Condicionamiento y Estabilidad
2. kαxk = |α|kxk, ∀ α ∈ R, ∀x ∈ V .
19
20 L. Héctor Juárez V.
Aparte de las normas–p, las normas más útiles en las aplicaciones son las normas–p
pesadas, en donde cada una de las coordenadas del vector tiene su propio peso. Dada la
norma k · k, una norma con peso puede escribirse como
kxkW = kW xk,
S∞ = {x ∈ Rn : kxk∞ = 1}.
Entonces
kx0 k ≤ kxk ≤ kx1 k, ∀ x ∈ S∞ .
Es decir,
kx0 kkyk∞ ≤ kyk ≤ kx1 kkyk∞ .
22 L. Héctor Juárez V.
Por lo tanto,
mkyk∞ ≤ kyk ≤ M kyk∞ , ∀ y ∈ Rn
kAxk
kAk := sup = sup kAxk (2.1)
x6=~0 kxk kxk=1
Nótese que estamos designando con el símbolo k · k tanto la norma vectorial como la norma
matricial inducida. Sin embargo, no debe haber confusión cuando se trate de una u otra,
dado que el argumento será un vector o una matriz y claramente indicará de que caso se
trata. De la definición se infiere que para calcular la norma de una matriz dada A, basta
con calcular el supremo de kAxk sobre la esfera unitaria en la norma correspondiente.
x2 x2
(2,2)
(0,1) A
(1,0) x1 (1,0) x1
x2 x2
(2,2)
(0,1) A
(1,0) x1 (1,0) x1
x2 x2
(2,2)
(0,1) A
(1,0) x1 (1,0) x1
es necesario obtener fórmulas explícitas para calcular las normas matriciales inducidas. A
continuación se muestra como obtener dichas fórmulas para las normas–1, 2 e ∞.
en donde se representa la matriz por sus vectores columna: A = [~a1 | ~a2 | . . . | ~an ], siendo ~ai
el i–ésimo vector columna o bien por sus coeficientes aij con 1 ≤ i, j ≤ n.
Demostración. Sea S1 = {x ∈ Rn : nj=1 |xj | = 1} la esfera unitaria en la norma–1, y sea
P
Si logramos exhibir un vector x ∈ S1 que satisfaga la igualdad kAxk1 = máx k~aj k1 , entonces
1≤j≤n
habremos demostrado la aseveración. Escogiendo x = ej0 = (0, . . . , 1, . . . , 0)T (el número 1
en la j0 –ésima entrada), en donde k~aj0 k1 = máx k~aj k1 , se obtiene
1≤j≤n
.
La norma–∞ de una matriz: Utilizando un argumento muy similar al anterior se puede
demostrar que la norma-∞ de una matriz A ∈ Rn×n es igual a la siguiente máxima suma
por renglón
Xn
kAk∞ = máx |aij |. (2.3)
1≤i≤n
j=1
1 1 −2
Solución. kAk1 = máxima suma por columnas (en valor absoluto) = 3; mientras que
kAk∞ = máxima suma por renglón (en valor absoluto) =4.
Análisis Numérico 25
En este caso es más complicado hacer el cálculo para encontrar la fórmula explícita. Para
ello necesitamos los conceptos de valor propio, vector propio, así como del radio espectral
de una matriz. Por ello revisaremos brevemente estos conceptos antes de intentar encontrar
dicha fórmula.
Valores y vectores propios de una matriz. Dada una matriz A de n × n se dice que
λ ∈ C es un valor propio de la matriz si existe x ∈ Rn tal que
x 6= ~0 y Ax = λx, (2.4)
2. det[A − λI] = 0.
−1 0 −2
su polinomio característico es
−1 − λ 0 1
p(λ) = det[A − λI] = 2 −λ 1 = (−1 − λ)(−λ)(−2 − λ) − λ
−1 0 −2 − λ
= −λ[λ2 + 3λ + 3]
√ √
−3 + 3i −3 − 3i
y sus valores propios son (raíces del polinomio): λ1 = 0, λ2 = , λ3 = .
2 2
26 L. Héctor Juárez V.
Propiedad sobre los vectores propios de una matriz simétrica. Cualquier matriz
simétrica real A de n × n tiene un conjunto completo de vectores propios y este conjunto es
ortonormal. Es decir, si A = AT , entonces A tiene n vectores propios ~u1 , . . . , ~un ∈ Rn tales
que (
1 si i = j ,
~uTi ~uj = δij =
0 si i 6= j .
n
!T n n n
X X X X
kAxk22 = (Ax)T (Ax) = xT AT Ax = αi ~ui AT A αj ~uj = αi ~uTi αj λj ~uj
i=1 j=1 i=1 j=1
n
X n
X
= αi2 λi ≤ máx λi αi2 .
i=1 i=1
Pn
Tomando kxk2 = 1, se encuentra que kxk22 = xT x = 2
i=1 αi = 1, y de la expresión anterior
se obtiene
kAxk22 ≤ máx λi = ρ(AT A).
Para obtener la igualdad basta exhibir algún x ∈ R con kxk2 = 1 y kAxk22 = máx λi . Se
propone tomar a x = ~us , el vector propio de AT A correspondiente al mayor valor propio (es
decir, λs = máx λi ). Claramente k~us k2 = 1, y además
kA~us k22 = (A~us )T A~us = ~uTs AT A~us = ~uTs λs ~us = λs k~us k22 = λs = máx λi = ρ(AT A).
p
Concluimos que kAk2 = ρ(AT A).
Análisis Numérico 27
1 1 −2
−1 −4 5
El polinomio característio de AT A es
p √
cuyas raíces son λ1 = 0, λ2 = 3, λ3 = 9. Por lo tanto kAk2 = ρ(AT A) = 9 = 3.
para cualquier valor propio de ~ui de A. Por lo tanto, si A es una matriz simétrica entonces
q p p
kAk2 = ρ(AT A) = ρ(A2 ) = [ρ(A)]2 = ρ(A).
0 1 2
su polinomio característico es p(λ) = det [A − λI] = λ(2 − λ)(λ − 3). Por lo tanto kAk2 =
ρ(A) = 3.
2. ρ(A) ≤ kAk.
Una norma matricial no natural (no inducida). La norma matricial no inducida más
conocida es la denominada norma de Hilbert-Schmidt o norma de Frobenius definida por
1
n X
n 2
X
2
kAkF = |aij |
i=1 j=1
1 1 2
p √
es kAkF = (−1)2 + 22 + (−1)2 + 12 + 12 + 22 = 12. No es posible expresar la norma de
Frobenius en la forma supkxk=1 kAxk para alguna norma vectorial k · k.
Además, al realizar las operaciones dictadas por el algoritmo para resolver el problema,
se introducen también errores de redondeo. Algunos algoritmos ‘amortiguan’ dichos errores,
pero otros los ‘amplifican’. Por esta razón es importante considerar la siguiente propiedad:
Ejemplo 2.6. El producto de una matrix por un vector se puede expresar mediante la función
f : Rn → Rn , f (x) = Ax ∀x ∈ Rn , A ∈ Rn×n .
en donde k · k es la norma matricial inducida por la norma vectorial. Obsérvese que en este
caso el número de condición absoluto no depende de x. En otros problemas si dependerá de
la instancia x.
Si denotamos la derivada f 0 (x) por J(x) (el Jacobiano en caso que f sea una función de
varias variables), entonces
Ejemplo 2.9. Consideremos una vez más el problema de obtener el escalar f (x) = x1 − x2
a partir del vector x = (x1 , x2 )T ∈ R2 . Utilizando la norma k · k∞ en R2 , anteriormente
encontramos que
J(x) = [1 − 1] y kJ(x)k∞ = 2,
32 L. Héctor Juárez V.
así que
kJ(x)k∞ kxk∞ 2 máx{|x1 |, |x2 |}
K= =
|f (x)| |x1 − x2 |
y, en consecuencia, el problema de la sustracción de dos números es mal condicionado cuando
ambos números son muy cercanos, lo cual coincide con nuestra intuición sobre el “error de
cancelación”.
Ejemplo 2.11. El cálculo de los valores propios de una matriz no simétrica es frecuente-
mente un problema mal condicionado. Por ejemplo, la matriz
" #
1 1000
A=
0 1
tiene valores propios λ1 = 1, λ2 = 1. Si perturbamos uno de los coeficientes fuera de la
diagonal, digamos el coeficiente 0, por 0.001 obtenemos la matriz
" #
0 1 1000
A = ,
0.001 1
cuyos valores propios son ahora λ01 = 0, λ02 = 2, obteniendo un cambio drástico en los valores
propios. De hecho, esto mismo sucede con la matriz
" #
1 10n
,
0 1
Análisis Numérico 33
Si la matriz A es singular (no invertible) entonces existe un vector x no cero tal que A x = 0,
por lo que de (2.9) obtenemos K = ∞.
Por otro lado, cuando la matriz A es no-singular (invertible), entonces
Por lo tanto, de (2.9) se obtiene K ≤ kA−1 k kAk, es decir K = αkAk kA−1 k para alguna
0 < α ≤ 1. Para ciertos valores de x, α = 1 y
K = kAk kA−1 k.
Dado que hay una correspondencia 1–1 entre x y b (pues A es invertible), podemos calcular
el “peor número de condición”
kAxk kAxk
K = sup Kb = sup kA−1 k = kA−1 k sup = kA−1 k kAk,
b∈Rn b∈Rn kxk x∈Rn kxk
b6=~
0 b6=~
0 x6=~
0
Nota. En los dos ejemplos anteriores el máximo número de condición del problema fue
kA−1 k kAk cuando la matriz es invertible. Esta expresión es muy común en el álgebra lineal
numérica, y se le llama número de condición de la matriz A, y se escribe
kA−1 k kAk, si A es no singular,
K(A) =
∞, si A es singular.
Observación: Si A ∈ Rn×n es una matriz simétrica no singular, kAk2 = ρ(A) = λmáx (A),
por lo que en la norma-2:
λmáx (A)
K(A) = cond(A) =
λmı́n (A)
donde λmáx (A) = máx{|λ| : λ es valor propio de A}, y λmı́n (A) se define en forma análoga.
n K(Hn )
10 1,6 × 1013
20 2,45 × 1028
40 7,65 × 1058
Estos números de condición crecen muy rápidamente con n. Un sistema H20 x = b no puede
resolverse en forma apropiada en doble precisión ya que K(H20 ) ∼ 1028 . La matriz de Hilbert
es un prototipo de una matriz mal condicionada y (ver Gautschi)
√
( 2 + 1)4n+4
K(Hn ) = kHn k2 kHn−1 k2 ∼ √ cuando n → ∞.
215/4 πn
Análisis Numérico 35
tn−1
1 t1 t21 · · · 1
n−1
1 t2 t22 · · · t2
∈ Rn×n ,
Vn = .. .. .. . . .. con t1 , t2 , . . . , tn ∈ R.
. . . . .
1 tn t2n · · · tn−1
n
1 −π/4 n( π + 1 ln 2)
K(Vn ) = kVn k1 kVn−1 k1 ∼ e e 4 2 cuando n → ∞.
π
Algunos valores numéricos se muestran en la tabla siguiente
n K(Vn )
10 1,36 × 104
20 1,05 × 109
40 6,93 × 1018
80 3,15 × 1038
En aritmética IEEE de doble precisión sólo es posible calcular estos números de condición
para n = 10, 20 y 40.
1. Un problema f : X → Y
Mínimamente, el resultado fe(x) es afectado por errores de redondeo, pero también, y depen-
diendo de las circunstacias, puede ser alterado por otras complicaciones como, por ejemplo,
otros programas corriendo al mismo tiempo o también por tolerancias de convergencia. Así
que fe(x) puede tomar valores diferentes en corridas diferentes, es decir fe puede ser un mapeo
multivariado.
kfe(x) − f (e
x)k ke
x − xk
= O(maq ) para algún x
e tal que = O(maq ). (2.10)
kf (e
x)k kxk
Análisis Numérico 37
En palabras, la anterior definición puede expresarse como “un algoritmo estable proporciona
una respuesta casi correcta cuando se proporcionan datos casi correctos”.
Dato Resultado
(exacto) x → redondeo + algoritmo → f˜(x)
(perturbado) x̃ → solución analítica → f (x̃)
|x̃1 − x1 | |x̃2 − x2 |
= O(maq ), = O(maq ).
|x1 | |x2 |
38 L. Héctor Juárez V.
kf˜(x) − f (x)k
.
kf (x)k
Como se supone que el algoritmo es retroestable, entonces
kx̃ − xk
f˜(x) = f (x̃) para algún x̃ tal que = O(maq ),
kxk
y el error relativo se puede estimar de la siguiente manera
entonces concluir que si el algortimo es estable, entonces la precisión final refleja el número
de condición. Es decir, el mejor algoritmo para la mayoría de los problemas no produce
mejores resultados que calcular la solución exacta para datos ligeramente perturbados.
2.3. Ejercicios
1. Verificar que k · k2 y k · k∞ son normas en Rn .
Sugerencia: Sea |xk | = máx1≤i≤n |xi | = kxk∞ , entonces (n|xk |p )1/p ≥ kxkp ≥ (|xk |p )1/p .
0 00
4. Demostrar que si dos normas || · || y || · || son equivalentes a una tercera || · || , entonces
estas son equivalentes entre sí.
Es decir, la norma infinito de A es la máxima suma por renglón (en valor absoluto).
7. Dadas dos matrices A, B ∈ Rn y la norma matricial inducida k·k, probar las siguientes
propiedades:
0 −1 2 −2 −1 −3
y el algoritmo
" #
x1
f˜ : R2 → R, f = f l(x1 ) ⊕ f l(x2 ),
x2
16. Dar una estimación del error relativo cuando se resuelve el problema de encontrar
la solución de un sistema de ecuaciones A x = b, suponiendo que se utiliza doble
precisión y que el número de condición de A es del orden de 106 .