Documente Academic
Documente Profesional
Documente Cultură
Apuntes de clase
1 Introducción 1
2 Nociones preliminares 3
2.1 Normas vectoriales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Normas matriciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
iii
iv Apuntes de clase de Análisis Numérico I
Introducción
El análisis numérico es un área de las matemáticas que tiene por objeto el desarrollo de
métodos para resolver numéricamente problemas matemáticos en diferentes areas de la
matemática, así como el estudio profundo de las propiedades analíticas de dichos métodos.
Los métodos numéricos se expresan mediante algoritmos, los cuales usualmente se
implementan usando un lenguaje de programación y se ejecutan en un computador elec-
trónico, el cual realiza un número finito de operaciones numéricas y lógicas, con el fin
de aproximar la solución de un problema matemático mediante una respuesta numérica.
Dado que un computador electrónico no puede representar de forma adecuada las can-
tidades que considera la teoría, y los métodos pueden tener comportamientos anómalos,
parte de la teoría del análisis numérico corresponde a el análisis de errores y al estudio
de la estabilidad de los algoritmos. La teoría del análisis de errores es indispensable para
conocer a fondo la naturaleza de un problema y las limitaciones de los métodos desarrolla-
dos para resolverlo. Mediante la caracterización del comportamiento de los errores de un
método, podemos identificar si una respuesta numérica es confiable o no. Además, que la
compresión de los errores generados nos permiten avizorar posibles soluciones y mejoras
a los problemas algorítmicos.
En este curso, nos centraremos principalmente en el estudio de las ecuaciones lineales
y los métodos numéricos asociados para resolver numéricamente dos tipos de problemas
importantes que provienen del álgebra y análisis lineal.
1
2 Apuntes de clase de Análisis Numérico I
científico en general. El análisis numérico cubre la necesidad de obtener métodos para re-
solver un problema matemático en particular; además, al mismo tiempo muchos métodos
desarrollados en el análisis numérico proveen técnicas poderosas para analizar problemas
teóricos. La generalidad de los resultados teóricos no es el único objetivo del análisis nu-
mérico. Los métodos estudiados en el análisis numérico son susceptibles de ser modificados
para aprovechar las particularidades de cada problema, con el fin de desarrollar métodos
que sean aplicables, más eficientes computacionalmente, más rápidos, más estables, etc;
y que tomen en cuenta las limitaciones tecnológicas para su aplicación.
Capítulo 2
Nociones preliminares
Una de las estructuras más comunes en análisis numérico es la matriz. Para dos enteros
positivos m y n, el conjunto de las matrices (compuestas por elementos reales) de tamaño
m×n será notado por Rm×n o Cm×n si los elementos de las matrices son números complejos.
A los elementos de Rn×1 los llamaremos vectores columna (o simplemente vectores si no
hay riesgo de confusión) y lo identificaremos con el espacio vectorial Rn . Rm×n tiene
una estructura de espacio vectorial lineal, por tanto utilizaremos las operaciones usuales
que proporciona dicha estructura: suma de vectores, multiplicación de un vector por un
escalar, etc.
La transpuesta de una matriz A se notará por A> , en particular, el transpuesto de un
vector columna x está dado por x> ∈ R1×n , el cual será llamado vector fila.
Si A tiene entradas complejas notaremos por A∗ o AH la matriz transpuesta y conju-
gada compleja de A.
Si A ∈ Rn×m diremos que es cuadrada si n = m, caso contrario diremos que A es
rectangular.
de una matriz cuadrada A ∈ Rn×n es la suma de los elementos de su diagonal,
La traza P
i.e. tr(A) = ni=1 aii .
La multiplicación de dos matrices A ∈ Rm×n y B ∈ Rn×p está definida por C = AB,
donde C ∈ Rm×p es un matriz cuyas entradas están definidas por
n
X
cij = aik bkj , i = 1, . . . , m, y j = 1, . . . , p. (2.1)
k=1
(b) kvkV = 0, ⇐⇒ v = 0,
3
4 Apuntes de clase de Análisis Numérico I
Ker(A) = {v ∈ V : Av = 0} ⊂ V,
Rang(A) = {w ∈ W : w = Av, v ∈ V } ⊂ W.
1. acotada: si existe una constante k > 0, tal que: |a(v, w)| ≤ kkvkkwk, ∀(v, w) ∈
V × V.
6. coerciva: si existe una constante c > 0 tal que a(v, v) > ckvk2 , ∀v ∈ V.
7. producto escalar si a es simétrica y definida
p positiva, y en este caso se escribe h·, ·i
en lugar de a(·, ·). La aplicación: x 7→ hx, xi definida en un espacio con producto
escalar X, define una norma en X, llamada norma inducida.
Una propiedad muy importante de un producto escalar es la desigualdad de Cauchy-
Schwarz :
|hv, wi| ≤ kvkkwk, ∀v, w ∈ V.
donde la norma utilizada en el lado derecho corresponde a la norma inducida por el
producto escalar.
Observación 1.
p q
Demostración. Dado que log(ab) = log(a) + log(b) = log(a p ) + log(b q ) , entonces tenemos
que en virtud de la monotonía y la convexidad de la función exponencial se sigue que
1 1
log(ap ) + log(bq )
ab ≤ e p q
1 p 1 q
≤ elog(a ) + elog(b )
p q
1 1
= ap + bq .
p q
1 1
con p y q tales que + = 1.
p q
Xn
|hx, yi| = xi y i
i=1
n
X |xi | |yi |
≤ kxkp kykq
i=1
kxkp kxkq
aplicando la desigualdad de Young, se tiene
n
X |xi |p |yi |q
≤ kxkp kykq
i=1
pkxkpp qkxkqq
1 1
≤ kxkp kykq + = kxkp kykq ,
p q
1 1 p+q p
y como 1 = + = implica que pq − q = p de donde q
= p − 1. Consecuentemente
p q pq
n
! 1q
X
kx + ykpp ≤ p
|xi + yi | kxkp + kykp
i=1
= kx + ykpp−1 kxkp + kykp ,
m
X
• kAk1 = máx |aij |.(inducida por la norma vectorial k · k1 )
j=1,...,n
i=1
Definición 6. Sea k · kM una norma matricial, y k · kV1 , k · kV2 dos normas vectoriales,
entonces decimos que k · kM es compatilbe o consistente con con la normas vectoriales
k · kVi , i = 1, 2 si,
kAxkV1 ≤ kAkM kxkV2 ,
y decimos que k · kM es submultiplicativa si
kABkM ≤ kAkM kBkM , para cualquier par de matrices A, B.
Tenemos las siguientes observaciones respecto de la definición anterior:
8 Apuntes de clase de Análisis Numérico I
• Las normas matriciales inducidas por una norma vectorial son siempre compatibles.
En lo que sigue, salvo que se especifique lo contrario, trabaremos con normas consisten-
tes y submultiplicativas. La equivalencia de normas matriciales, representada por una
desigualdad análoga a (2.2):
2.3 Ejercicios
kAxk
1. Demuestre que si k · k es una norma vectorial, entonces |kAk| := sup define
x6=0 kxk
una norma sobre el espacio de las matrices Rm×n .
2. Demuestre que una norma matricial inducida por una norma vectorial es compatible
con la norma vectorial que la induce.
3. Demuestre que la norma matricial inducida kAk∞ se puede calcular como kAk∞ =
n
X
máx |aij |.
i=1,...,m
j=1
5. Pruebe que para una norma matricial inducida k · k, se tiene siempre que kIk = 1,
donde I denota la matriz identidad, y que kABk ≤ kAkkBk. ¿Para qué norma
matricial no se cumple kIk = 1?.
8. Verifique los axiomas de norma para la norma de Frobenius y verifique que además
es submultiplicativa.
11. Demuestre que la norma kAk∆ := máx(|aij |) es una norma, y además que no es
i,j
submultiplicativa.
El análisis de errores es uno de los puntos nodales del análisis numérico. No solamente
es necesario establecer métodos para la resolución numérica de un problema, sino que es
necesario investigar su naturaleza numérica y los métodos creados para su resolución. De
este estudio se derivan dos conceptos muy importantes en el análisis de errores: el condi-
cionamiento de un problema y la estabilidad de un algoritmo, lo cuales introducimos
formalmente durante el desarrollo de este capítulo. El principal propósito del análisis nu-
mérico es desarrollar y estudiar métodos eficientes para resolver numéricamente problemas
matemáticos que surgen de las aplicaciones prácticas. Esto no sería posible sin la teoría
de perturbación y análisis de errores ya que al conocer los posibles errores se cometen y
su caracterización podemos pensar en estrategias para minimizarlo.
Lo que entendemos por error es la distancia que existe entre la solución de un problema
y un elemento “cercano” a dicha solución. A éste elemento “cercano” será llamado solución
aproximada. Los resultados numéricos son afectados por diferentes fuentes de error que
se propagan durante la resolución de un problema y finalmente provocan errores en las
respuestas. Como veremos, en general no es posible evitar el error, pero en muchos casos
es posible establecer cotas superiores e inferiores.
1
x1 + x2 = 1,
10000
x1 + x2 = 2.
11
12 Apuntes de clase de Análisis Numérico I
Para responder a la pregunta de cuan pequeños son los errores en los resultados, si se
comenten errores pequeños en los datos primero precisemos lo que entendemos por error.
Sea x̄ ∈ R una solución exacta y x̂ un valor que aproxima a x̄, entonces se definen los
siguientes errores:
A) B)
x̄ = 0,5 × 10−4 x̄ = 5000
x̂ = 0,4 × 10−4 x̂ = 4950
Error absoluto 0,1 × 10−4 50
Error relativo 0,2(20 %) 0,01(1 %)
Continuando con la discusión sobre el análisis de errores consideramos una de las prin-
cipales fuentes de error en los datos: la representación de un número en un computador
electrónico. En un computador no tenemos a disposición todos los números reales. Es-
ta limitación de orden tecnológico se debe que la capacidad de almacenamiento de un
computador es finita, pero por otro lado sabemos que no en general los números reales
no tiene una representación finita común. Al no tener todos los números reales se hace
necesario la consideración de problemas matemáticos adicionales. En particular, surge el
problema de cómo representar un número real tomando en cuenta la disponibilidad de
memoria de computador electrónico y la forma en que se almacenan los números en ésta.
z = ade , (3.2)
donde:
`
X
a=v ai d−i , : es llamada mantisa y v ∈ {1, −1}, a es 0 o un número tal que
i=1
ai ∈ {0, 1, . . . , d − 1}, a1 6= 0 (normalizado) y d−1 < |a| < 1.
± 0.a1 a2 a3 · · · a` · de (3.3)
Los números: `, emax , y emin determinan los números que se pueden representar en un
computador. En base a estos parámetros se define el conjunto de los números representa-
bles notado por F, el cual consiste en el conjunto de todos los números de punto flotante
que tienen la forma (3.2).
Todo número x ∈ R que satisface:
puede ser representado por un número en F, y ésta se conoce conoce como representación
de punto flotante de x y se notará por x̂ o f l(x).
Si |x| es menor que el número representable más pequeño, es decir, |x| < demin −1 , se
llama “underflow”, mientras que si |x| > demax (1 − d−` ), se llama “overflow”. En ambos
casos se excede la capacidad de representación de una máquina.
Es usual también representar a la mantisa a como:
a = (0.a1 a2 . . . a` )
14 Apuntes de clase de Análisis Numérico I
donde la posición de cada coeficiente ai indica que éste multiplica a la d−i para i =
1, 2 . . . , `.
Ejemplo 4. Por ejemplo, si queremos representar el número π con una precisión eps =
10−7 entonces se tiene que:
De estos métodos, el método del redondeo es el que produce menos error, pero a cambio
introduce una operación adicional y por tanto un costo computacional mayor.
De la relación (3.4), el error relativo de la representación en punto flotante se puede
estimar como:
d1−`
|x − f l(x)| para redondeo simétrico (rounding),
≤ eps := 2
1−`
|x| d para truncamiento (chopping).
>> (1+eps)-1
ans =
2.220446049250313e-16
>> (2+eps)-2
ans =
0
((((a + ε) + ε) + ε) + · · · + ε) = a + (ε + · · · + ε).
xˆ◦y − x ◦ y
= ⇐⇒ xˆ◦y − x ◦ y = (x ◦ y),
x◦y
2. Si |y| << 1, entonces x/y puede provocar errores absolutos y relativos muy grandes.
Lo mismo ocurre para x · y y |y| >> 1.
2
1. q q
1 1
x x+ x
+ x− x
16 Apuntes de clase de Análisis Numérico I
r r
1 1
2. x + − x −
x x
s r r
1 1
3. 2x − 2 x + x−
x x
√ √
x2 + 1 − x2 − 1
4. √
x
La cual fácilmente puede incurrir en overflow a pesar de que las componentes del vector
estén en F. Por ejemplo, si x1 = 1060 , en el proceso de cálculo tendremos que calcular x21 =
10120 que no puede ser representado y nos lleva a un cometer un overflow. Sin embargo,
este problema puede ser fácilmente solucionado parcialmente si usamos la fórmula calcular
la norma euclidiana de un vector es:
p
kxk2 = s (x1 /s)2 + (x2 /s)2 + . . . + (xn /s)2 ,
con s = 1060 , u otro valor normalizante. Note que si existen valores pequeños en las
componentes xi . Por ejemplo si xi = 1 entonces xi /s puede, por otro lado, incurrir en un
underflow, i.e. xi /s = 10−60 ≤ eps y se reconoce como 0.
Igualdad en orden: =
˙
Considere la expansión en serie de Taylor de orden 2 de la función seno, notada por sin,
alrededor de 0. Esto es
1 1
sin(x) = sin(0) + cos(0)x − sin(ξ)x2 = x − sin(ξ)x2 , con ξ ∈ [0, x].
2 |2 {z }
=o(|x|)=O(|x|2 )
Utilizaremos la notación:
sin(x)=x
˙ ⇐⇒ sin(x) = x + o(|x|).
kg(x)k
donde o(kh(x)k) significa que lı́m =0.
x→x0 kh(x)k
1 | sin(ξ)x2 | 1
= | sin(ξ)||x| → 0, cuando x → 0, para todo x ∈ [0, x], pues | sin(ξ)| ≤ 1
2 |x| 2
˙ 0 (x)(x̂ − x),
Si f es differenciable en x, entonces f (x̂) − f (x)=f cuando x → x̂.
E = {x̃ ∈ R : |x̃ − x| ≤ δx },
kx − x̄k ≤ δkx̄k, ∀x ∈ U,
Observación 2.
• Si no existe Kabs finito entonces se dice que el problema está mal definido.
• Los números de condición Kabs y Krel son una medida de proporcionalidad de los
errores en las soluciones con respecto a los errores en los datos.
f: R2 −→ R
>
a
7→ x = a + b.
b
0 1
Solución. Para este problema se tiene que: f (a, b) = , entonces
1
0
x 1
x1
Kabs,1 = kf (a, b)k = sup
1 1
/
(x1 ,x2 )6=(0,0) x2
1
x2
1
|x1 + x2 |
= sup = 1. (3.9)
(x1 ,x2 )6=(0,0) |x1 | + |x2 |
Ax = b. (3.10)
20 Apuntes de clase de Análisis Numérico I
Note que este problema tiene solución única si, y sólo si: det(A) 6= 0. En general, A y b
son los datos de una ecuación lineal, por lo que notamos a este problema como (f, (A, b)),
y su función solución f : Rn×n × Rn −→ Rn está dada por:
f (A, b) := A−1 b = x.
En este caso, el análisis de condición relativo busca la menor constante Krel tal que
para (Â, b̂) → (A, b) y x̂ = Â−1 b̂. Donde la norma del último término está definida en
Rn×n × Rn .
Puesto que éste problema depende de dos parámetros: A y b, por lo que conviene
analizarlo en dos etapas:
o equivalentemente:
kf (v + h) − f (v) − Df (v)hk
lı́m =0 (3.12)
khk→0 khk
Observación 3.
• Note que f está definida en U , mientras que Df (v) está definida en todo V .
• f es Fréchet-diferenciable en U si f es Fréchet-diferenciable en todo punto v ∈ U .
• En general se aplican los mismos resultados conocidos que para la derivada de
funciones vectoriales.1 .
1
Ver por ejemplo: Donato, P. Calcul differentiel pour la license: Cours, exercises et problèmes résolus,
Dunod, 2000.
Introducción al análisis de errores 21
I = (A + tC)(A + tC)−1
dI d
⇔ = [(A + tC)(A + tC)−1 ]
dt dt
d(A + tC) −1 d(A + tC)−1
= (A + tC) + (A + tC)
dt dt
−1
d(A + tC)
= C(A + tC)−1 + (A + tC)
dt
d(A + tC)−1
0 −1 −1
⇒ g (A, C) = = −(A + tC) C(A + tC) t=0
dt
t=0
= −A−1 CA−1
K(A) := kAkkA−1 k,
2
Ver Brandt, K. and Syskind M., The Matrix Cookbook, 2008, http://matrixcookbook.com .
22 Apuntes de clase de Análisis Numérico I
Observación 4.
• K(A) ≥ 1.
• K(αA) = K(A).
• det(A) = 0 ⇐⇒ K(A) = ∞.
máx kAxk
kxk=1
• K(A) = , generaliza el número de condición para matrices que no son
mı́n kAxk
kxk=1
cuadradas.
1
Solución. Podemos observar que: K(A)∞ = kA−1 k∞ kAk∞ = , que según el análisis
ε
normado, la matriz A es mal condicionada para valores pequeños de ε. Por otro lado,
resolviendo el sistema:
1 0 x1 b
= 1
0 ε x2 b2
se tiene que:
1 0 x1 b1
= −1 ,
0 1 x2 ε b2
−1 1 0
y que A = . Dado que el sistema de ecuaciones es fácilmente resuelto sin
0 1ε
incurrir en mayores problemas causados por las pequeñas variaciones del dato ε, parece
que la matriz es “artificialmente” mal condicionada dado que los errores en los datos no
se “amplifican” en los resultados.
k |f 0 (x)| |x| k∞
krel = . (3.16)
kf (x)k∞
Aquí |f 0 (x)| corresponde a la matriz cuyas componentes son los valores absolutos de
la matriz |f 0 (x)|.
f : R2 →R
(a, b)7→a · b.
Para este problema se tiene que kabs ≤ |a| + |b| y krel ≤ 2 (en norma uniforme).
Por tanto la multiplicación componente-a-componente es una operación bien condicio-
nada en el sentido del análisis componente-acomponente.
24 Apuntes de clase de Análisis Numérico I
entonces:
k|f 0 (A, b)(|C|, |d|)|k∞ k| − A−1 ||C||x| + |A−1 ||d|k∞
≤
kA−1 bk∞ kxk∞
por lo tanto, tomando (|C|, |d|) = (|A|, |b|), se tiene:
pn (x) = a0 + a1 x + a2 x2 + · · · + an xn ,
y su versión aproximada:
donde = (a, b) es tal que || ≤ eps. Hay que notar que éste reemplazo, no es único
y en consecuencia se tiene una familia de funciones {fˆ}, que se representa por por fˆ y
R̂ = fˆ(E) = ∪φ∈{fˆ} φ(E) es la imagen del conjunto de datos E por fˆ.
f a+b
(a, b) 7→ .
2
fˆ fˆ
ˆ
(a, b) 7→ (a+̂b)÷2 y ˆ +̂ (b÷2).
(a, b) 7→ (a÷2) ˆ
26 Apuntes de clase de Análisis Numérico I
kfˆ(x) − f (x)k ˙
≤ σf Kf eps, para eps → 0 y x ∈ E.
kf (x)k
Por lo tanto, σK ≤ 1.
σf Kf ≤ σh Kh + σg Kg Kh .
Demostración.
Por lo tanto,
kf (x) − fˆ(x)k ˙
≤(σg Kg Kh + σh Kh ) eps, para eps → 0.
kf (x))k
Introducción al análisis de errores 27
con lo cual
σn ≤ σn−1 + 1 (3.17)
1
Como σ2 = σ+ ≤ ≤ 1. La relación de recurrencia (3.17) implica que σn ≤ n − 1=
K+
número de operaciones realizadas para hacer una suma. En conclusión, el algoritmo Sn
para la suma es estable.
kx − x̌k ˙
≤ηf , para eps → 0. (3.18)
kxk
|xi − x̌i | ˙
máx ≤ηf , para eps → 0. (3.19)
i |xi |
Los indicadores de estabilidad del análisis progresivo y regresivo verifican para un proble-
ma (f, x):
σf ≤ σr , (3.20)
pues se tiene que, para cada x ∈ E, existe x̌ tal que f (x̌) = fˆ(x) que verifica (3.19), por
lo tanto:
kf (x) − fˆ(x)k kf (x) − f (x̌)k ˙ kx − x̌k ˙
= ≤krel ≤krel ηf ≤ krel σr eps, para eps → 0.
kf (x)k kf (x)k kxk
Finalmente, por la definición de σf , se tiene que, σr ≤ σf .
Por tanto, si un problema es estable en el sentido del análisis regresivo, también es
estable en el sentido del análisis progresivo.
Ejemplo 19. (Análisis regresivo del producto escalar) El producto escalar en Rn está
definido por:
n
X
h·, ·i : Rn × Rn → R : hx, yi := xi y i ,
i=1
el cual puede ser escrito mediante una fórmula recursiva como sigue
hx, yi := xn yn + hx̄, ȳi,
Introducción al análisis de errores 29
|x̌i − xi | ˙
Nos queda por verificar que ≤n eps, para toto i = 1, . . . , n con n ∈ N y n ≥
|xi |
2. En efecto, tomando en cuenta nuestra hipótesis inductiva, para i = 1, . . . , n − 1:
|xi − x̌i | =|xi − ži (1 + 2 )|
≤|xi − ži | + 2 |ži |
≤|xi − ži | + eps|ži |
˙ i − ži | + eps|xi | + (n − 1)eps2 |xi |,
≤|x para eps → 0.
| {z }
=o(eps)
3.9 Ejercicios
1. Considere una matriz real de tamaño 2 × 2. Considere una fórmula exacta para la
inversa y analice los errores de punto flotante que ocurren en la evaluación de las
operaciones de dicha matriz.
2. La mayoría de computadores electrónicos utiliza un dígito extra para realizar las
operaciones de punto flotante llamado dígito guardián, para éstas máquinas, se vió en
clase que fl(x±y) = (x+y)(1+), con || ≤ eps. Sin embargo, existen computadores
que no utilizan el dígito guardián y en tal caso se tiene que fl(x ± y) = x(1 + 1 ) +
y(1 + 2 ), con |i | ≤ eps, i = 1, 2. Calcule fl(z(x + y)) en función de la operación
exacta y sus errores (análogo a lo realizado en clase).
Pn
3. Estime el error de redondeo cometido al realizar la operación i=1 xi en punto
flotante. Considere que xi ∈ R, i = 1, . . . , n y fl(x ± y) = (x + y)(1 + ).
4. Considere el siguiente algoritmo para calcular una norma de un vector x ∈ Rn .
1. m = máx{|xi |, i = 1, . . . , n}.
2. yi = xi /m, i = 1, . . . , n.
p
3. N x = m (y12 + y22 + · · · + yn2 ).
Explique ¿Por qué es mejor calcular la norma de x de ésta manera? ¿Qué se evita
con ésto?
5. Entre las dos fórmulas siguientes para evaluar la varianza de un vector x ∈ Rn :
n
2 1X
S = (xi − x̄)2 (a)
n i=1
n
!
1 X
S2 = x2i − nx̄2 . (b)
n−1 i=1
AX = B,
Introducción al análisis de errores 31
(a) Cual es la función solución de éste problema si los errores ocurren solamente
en B ?
(b) Cual es la función solución de éste problema si los errores ocurren solamente
en A es dato?
(c) Cual es la función solución de éste problema si los errores ocurren en A y B.
(d) Estimar Kabs y Krel en los casos anteriores.
Rn 3 x 7→ x> x ∈ R.
Recuerde que la“función solución” de este problema es aquella que asigna los datos
a sus respectivas soluciones. Considerando p como único dato, se pide lo siguiente:
R 3 x 7→ |x| ∈ R+ .
1 2 −1
13. Considere la matriz 0 1 0 , con ε > 0. Determine el número de condición
0 0 1/ε
(en norma infinito) de la matriz en función de ε. Analizar el número de condición
en función del crecimiento de ε.
32 Apuntes de clase de Análisis Numérico I
15. Dado un vector u, la proyección ortogonal pru (v) de un vector v sobre u, está dado
por la expresión pru (v) = (hu, vi/hu, ui)u. Demostrar que:(utilizar la norma vectorial
k · k2 ).
16. Demuestre que para cualquier matriz ortogonal (real) Q, se tiene que K2 (Q) = 1
(número de condición de Q en norma-2). ¿Qué hay de este resultado para otras
normas?
17. Analice el problema de la intersección de dos rectas en el plano, definiendo para ello,
un sistema lineal que relaciones los datos y las incógnitas.
19. Considere las matrices de Hilbert Hn (ij) = hij = 1/(i + j − 1), con 1 ≤ i, j ≤ n.
Resuelva numericamente los sistemas Hn x = b, con un dato b = [1 1 1 . . . 1]> , y
construya una tabla para diferentes valores de n del error relativo que se comete en
cada sistema y el número de condición de la matriz. Obtener conclusiones.
kx̃ − xk kAx̃ − bk
≤ kAkkA−1 k
kxk kbk
21. Sean las funciones diferenciables f , g, y h definidas en R con valores en R, tales que
f = h ◦ g demuestre que
σh
σf ≤ + σg ,
Kg
22. Sea A una matriz no singular, y δA una pequeña perturbación que distorsiona A en
à = A + δA. Sea k · k una norma submultiplicativa tal que kIk = 1. Demostrar lo
siguiente:
1+
K(Ã) ≤ K(A).
1−
Introducción al análisis de errores 33
24. Analice la estabilidad del algoritmo que multiplica una matriz por un vector, en el
sentido del análisis regresivo componente-a-componente.
26. Demuestre que el producto escalar de dos vectores es estable en el sentido del análisis
regresivo normado. Utilice la norma k · k1 .
27. Analice la estabilidad en el sentido del análisis progresivo del problema (f, x), donde
n
n f X
R 3 x 7−→ x2i
i=1
Utilice la norma k · k1 .
34 Apuntes de clase de Análisis Numérico I
Capítulo 4
35
36 Apuntes de clase de Análisis Numérico I
2 2 1 1
1
Ejemplo 21. Resolver el sistema Ax = b, con A = 2 2 0 y b = 0 Con estos
0 −2 −3 0
datos efectuamos el algoritmo gaussiano especificando las operaciones sobre las filas Fi de
la matriz extendida (A|b). El superíndice indica el paso de eliminación, mientras que el
elemento encuadrado corresponde al pivote de la eliminación.
1 2 2 1 1
(2) (1) (1)
A(1) = 1
2
2 0 0 F2 = F2 − 21 F1 ⇒ L1 = − 12 1
0 −2 −3 0 0 1
1 2 2 1 1
(3) (2) (2)
A (2)
= 0
1 −1 − 12 F3 = F3 + 2F2 ⇒ L2 = 1
0 −2 −3 0 2 1
6
1 2 2 1 5
A(3) = 0 1 −1 − 12 ⇒ x = − 10 3
.
1
0 0 −5 −1 5
Observemos que, A(3) = L2 A(2) = L2 (L1 A(1) ) = L2 L1 A, entonces, A = L−1 L−1 A(3) .
| 1 {z 2 } |{z}
=:L =:U
Además las matrices, llamadas de Frobenius Li son fácilmente invertibles, basta cambiar
de signo a los elementos bajo la diagonal:
−1 −1
1 1 1 1
− 1 1 = 12 1 y 1 = 1 ,
2
1 1 2 1 −2 1
por tanto
21 2 1 1 2 2
1 2 0 = 12 1 1 −1
2
0 −2 −3 −2 1 −5
Observemos que la solución del sistema se logró aplicando las mismas operaciones al vector
b. Para formalizar el proceso para una matriz cualquiera, vamos a deducir el algoritmo de
factorización LU .
38 Apuntes de clase de Análisis Numérico I
Paso 1
(1)
a11 6= 0
(1) (1) (1)
a11 a12 ··· a1n (1) (1) 1
a(1) a(1) (1) `i1 = ai1 /a11 −`21 1
··· a1n
A(1)
= A = 21 22
⇒ L1 = ..
(2) (1) (1)
... .. .. Fi = Fi −`i1 F1 ..
. ··· . . .
(1) (1) (1) i = 2, . . . , n −`n1 1
an1 an2 ··· ann
Paso 2
(2)
a22 6= 0
(1) (1) (1) 1
a11 a12 ··· a1n (2) (2)
(2) (2) `i2 = ai2 /a22 1
0 a22 ··· a2n
A(2) = .
.. ..
(3) (2) (2) ⇒ L2 =
−`32 . .
..
Fi = Fi −`i2 F2 .. .
. ··· .
(2) (2) i = 3, . . . , n .
0 an2 ··· ann −`n2 1
..
.
Paso k
(k)
akk 6= 0
(1) (1) (1) (1)
a11 a12 · · · a1k · · · a1n
(2) (2) (2)
a22 · · · a2k · · · a2n
(k) (k)
`ik = aik /akk
.. .. ..
. . .
A(k) = (k) (k)
(k+1)
Fi = Fi −`ik Fk
(k) (k)
akk · · · akn
i = k + 1, . . . , n
.. ..
. .
(k) (k)
ank · · · ann
1
...
1
⇒ Lk =
−`k+1k . .
.. .
.
−`nk 1
A(k+1) = Lk A(k) , k = 1, . . . , n − 1.
U = An = Ln−1 · · · L2 L1 A,
Métodos directos para la resolución de sistemas lineales 39
Teorema 2. Sea A ∈ Rn×n una matriz no singular tal que los pivotes en el algoritmo
de eliminación gaussiana no se anulan, entonces existe L ∈ Rn×n triangular inferior,
con los elementos de su diagonal igual a uno y U ∈ Rn×n triangular superior tal que
A = LU.
Observación 5.
0 1
• No toda matriz invertible tiene factorización LU, por ejemplo .
1 0
• Existen matrices singulares que tienen factorización LU.
• La factorización LU no es única.
• La factorización LU del Teorema 2, donde L es tal que los elementos de su diagonal
son todos 1, sí es única.
• El algoritmo de factorización LU fue desarrollado entre 1950 y 1960 y fue declarado
como uno de los 10 algoritmos con más influencia en la ciencia y la ingeniería.
• El algoritmo de factorización LU termina en n − 1 pasos, si la matriz es de tama-
ño n. Un número finito de pasos es característica de los métodos directos. Este
algoritmo
no funciona
para todas las matrices invertibles, por ejemplo la matriz
1 0 2
A = 1 0 −1 .
2 1 0
Con estas consideraciones escribimos el algoritmo de factorización LU basado en el
algoritmo de eliminación gaussiana:
Datos: Matriz A ∈ Rn×n que satisface las hipótesis del Teorema 2
Resultados: L ∈ Rn×n y U ∈ Rn×n como en el Teorema 2
for k=1:n-1 do
for i=k+1:n do
aik
`ik =
akk
for j=k+1:n do
aij ← aij − `ik akj
end
end
end
Algorithm 3: Algoritmo de factorización LU
40 Apuntes de clase de Análisis Numérico I
1 × 10−4 1 1
(1) (2) (1) 4 (1) 1
A = F2 = F2 −1 × 10 F1 ⇒ L1 =
1 12 −1 × 104 1
1 × 10−4 1 × 10−4
1 1 1 1
A(2) = = ,
0 1 − 104 2 − 104 0 −9999 −9998
si suponemos que las operaciones se efectúan en una máquina con 3 dígitos de precisión
entonces:
1 × 10−4
(2) 1 1 0
A = 4 4 ⇒x=
0 1 × 10 1 × 10 1
Métodos directos para la resolución de sistemas lineales 41
Nuevamente, suponiendo que los cálculos se efectúan en una máquina con 3 dígitos de
precisión tenemos:
(2) 1 12 1
à = ⇒x=
0 11 1
Los efectos de los errores de redondeo que causan esta discrepancia de las soluciones
ocurren cuando calculamos los coeficientes de la matriz de Frobenius en ambos casos, en el
primero es de 1 × 104 mientras en el segundo es de 1 × 10−4 y donde se obtiene la solución
correcta. La idea es justamente mantener los términos |`ij | lo más pequeños posible. Esto
se puede garantizar justamente intercambiando las filas que tienen el pivote más grande
(en valor absoluto).
Note que, no sólo ocurren errores de redondeo que nos pueden llevar a una solución
incorrecta, sino que eventualmente el algoritmo de eliminación gaussiana puede fallar
debido a que un pivote se anule, sin que la matriz sea necesariamente singular.
La operación de intercambio de filas se puede expresar por medio de una matriz de per-
mutación, es decir,
Ã(k) = Pk A(k) ,
A = P1 L−1 −1 −1
1 P2 L2 · · · Pn−1 Ln−1 U = L̃U ;
U = A(4) = L4 P4 L3 P3 L2 P2 L1 P1 A(1) ,
por tanto
A = A(1) = P1 L−1 −1 −1
1 P2 L2 P3 L3 P4 L4 U
−1
= P1 P2 P3 P4 (P4 P3 P2 L−1 −1 −1 −1
1 P2 P3 P4 )(P4 P3 L2 P3 P4 )(P4 L3 P4 )L4 U
| {z } | {z }
=P =L
1 1
... ...
1 1
1 1
Pk P = Pk
k
−`k+1 k 1 −`i∗ k ··· 1
.. .. .. ..
. .
. .
−`i∗ k ··· 1 −`k+1 k 1
−`n k 1 −`n k 1
1
..
.
1
1
=
−`i∗ k 1
.. ...
.
−`k+1 k · · · 1
−`n k 1
Métodos directos para la resolución de sistemas lineales 43
1 −6 −1 1 1 −6 −1 4 8 8
A(1) = 2 1 0 ⇒ Ã(1) = 1 2 1 0 = 2 1 0
4 8 8 1 4 8 8 1 −6 −1
4 8 8 1 4 8 8 4 8 8
A(2) = −3 −4 ⇒ Ã(2) = 1 −3 −4 = −8 −3
−8 −3 1 −8 −3 −3 −4
4 8 8
A(3) = −8 −3 ,
−23/8
por lo tanto, tenemos que
1 1 1 1 4 8 8
A = 1 1/2 1 1 1 −8 −3
1 1/4 1 1 3/8 1 −23/8
1/4 1 4 8 8
= 1/2 3/8 1 −8 −3
1 −23/8
Nota: Tener en cuenta que, en general, la inversa de una matriz triangular, no nece-
sariamente es triangular.
El algoritmo de eliminación gaussiana con pivoteo parcial por filas prueba el siguiente
teorema:
44 Apuntes de clase de Análisis Numérico I
Teorema 3. Sea A ∈ Rn×n una matriz no singular, entonces existe una matriz de per-
mutación P ∈ Rn×n , L ∈ Rn×n triangular inferior, con los elementos de su diagonal
igual a uno y U ∈ Rn×n triangular superior tal que:
P A = LU.
Entonces, podemos escoger los li (y análogamente los ri ), de modo que los datos
resulten más “uniformes ”
q
li = a2i1 + · · · + a2in = kAi k
li = máx |aij |
1≤i≤n
Xn
li = |aij | i = 1, . . . , n
i=1
Por ejemplo, en el caso del escalonamiento por filas resolvemos el sistema precondicio-
nado
Dl Ax = Dl b.
Para una solución aproximada x0 podemos calcular su residuo r(x0 ) = b − Ax0 , por
lo tanto, el lado derecho de (4.6) es dato, de esta manera podemos encontrar una aproxi-
mación ∆xˆ 0 del error, generando así la sucesión:
ˆ 0
x̂1 = x0 + ∆x
ˆ 1
x̂2 = x̂1 + ∆x
..
.
ˆ k,
x̂k+1 = x̂k + ∆x
ˆ k es la solución aproximada de A∆xk = r(xk ).
donde ∆x
El análisis de condición del refinamiento iterativo se puede hacer fácilmente si los
errores ocurren en A y se asume que existe δA ∈ Rn×n tal que (A + δA)x0 = b:
kx − x̂1 k ˆ 0k
kx − x0 − ∆x ˆ 0k
k∆x0 − ∆x kδAk
= = ≤ K(A)
kxk kxk kxk kAkkxk
y tomando en cuenta que kbk ≤ kAkkxk, se tiene que:
kx − x̂1 k kδAk
≤ K(A) .
kxk kbk
Teorema 4. Bajo las hipótesis del Teorema 2, para un sistema lineal: Ax = b, con
A ∈ Rn×n y b ∈ Rn , el algoritmo de eliminación gaussiana calcula una solución
aproximada x̂, tal que
Teorema 5. Bajo las hipótesis tel Teorema 3, para un sistema lineal Ax = b, con
b ∈ Rn×n , el algoritmo de eliminación gaussiana con pivoteo parcial por filas calcula
una solución aproximada x̂ tal que
kA − Âk∞ ˙ 3
Âx̂ = b, para una matriz  con ≤2n ρn (A)eps (eps → 0).
kAk∞
αmax
Donde ρn (A) := y αmax es el mayor coeficiente (en valor absoluto)
máx1≤i,j≤n |aij |
que se calcula durante la eliminación gaussiana.
Matriz Pivoteo ρn ≤
Invertible Si 2n−1
Diagonal dominante No 2
Tridiagonal Si 2
Simétrica definida positiva No 1
Con respecto al análisis regresivo, tenemos los siguientes indicadores, que nos permiten
verificar la calidad de una solución aproximada x̂:
|r(x̂)|i
ηC (x̂) = máx .
i=1,...,n (|A||x̂| + |b|)i
a11 . . . a1j . . . a1n `11 u11 . . . u1j ... u1n
.. .. .. .. ... . . . .. ..
. . . . . .
ak1 . . . akj . . . akn = `k1 . . . `ki . . . `kk ujj . . . ujk . . . ujn
. .. .. . .. . . .. ..
.. . ..
. . . . .
an1 . . . anj . . . ann `n1 ... `nk . . . `nn unn
mı́n{k,j}
X
akj = `kp upj ,
p=1
mı́n{j,k}
X
akj = `kp upj j = k, . . . , n.
p=1
min{i,k}
X
aik = `ip upk i = k + 1, . . . , n.
p=1
Si A ∈ Rn×n es sdp, entonces algunas de las propiedades más importantes de este tipo
de matrices son:
1. A es invertible.En efecto, para x 6= 0 se tiene que 0 < x> Ax 6= 0, en consecuencia
ker(A) 6= 0.
2. aii > 0, para todo i = 1 . . . , n. Esto es verdad, pues 0 < e>
i Aei = aii .
3. máx |aij | = máx |aii |. Esta propiedad se sigue de calcular: 0 < (e> >
i − ej )A(ei −
i,j∈{1,...,n} i=1,...,n
ej ) = e> i Ae i − 2e > >
i Aej + ej Aej
4. Sus valores propios son todos reales y positivos. En efecto, si x es un valor propio, i.e.
x> Ax
Ax = λx. De la definición positiva de A, entonces x> Ax = λx> x, entonces, > =
x x
λ.
Métodos directos para la resolución de sistemas lineales 49
6. En cada paso del algoritmo de eliminación gaussiana, cada matriz menor principal,
Aii , es sdp. Aii se obtiene eliminando la fila i y la columna i de la matriz A. Esto
se sigue utilizando el teorema del teorema fundamental del álgebra lineal.
a11 a>
! !
1
A= , L1 = , ` = [`21 , . . . , `n1 ]> .
a à −` I
a11 a>
! !
1 0
L1 A = , =⇒ L1 AL> 1 = , ` = [`21 , . . . , `n1 ]> .
0 Ã 0 Ã
Teorema 8. Una matriz A ∈ Rn×n es simétrica definida positiva si, y sólo si existe
una matriz diagonal D con sus componentes positivas tal que
A = LDL> .
1 1 1
Como D = diag(d1 , . . . , dn ) entonces podemos escribir D = D 2 D 2 , donde D 2 =
1 1
(d1 , . . . , dn ), y en consecuencia, si A es sdp se tiene que existe L̃ tal que
2 2
1 1 1 1
A = L̃DL̃> = L̃D 2 D 2 L̃> = L̃D 2 (L̃D 2 )> = LL> ,
1
donde L := L̃D 2 . Por tanto si A es sdp existe L triangular inferior tal que A = LL> .
Sin embargo, para evitarnos cálculos numéricos realizamos esta factorización aplicando
el algoritmo de Doolitle, que para el caso de matrices sdp es más eficiente ya que aprovecha
la simetría de A.
50 Apuntes de clase de Análisis Numérico I
, para k = 1, . . . , n.
Además, de (4.7) y tomando en cuenta que la matriz L es diagonal, solo resta calcular
los elementos de L que están bajo la diagonal, los cuales despejamos de:
k−1
X
aik = `ip `pk + `ik `kk
p=1
4.10 Factorización QR
Métodos directos para la resolución de sistemas lineales 51
es decir, la primera columna se proyecta en un vector que yace sobre el eje de la primera
componente. La idea de la factorización QR es reemplazar las matrices de Frobenius por
proyecciones ortogonales sobre el primer eje.
Ha =a − 2prju a
ha, ui
a−2 u
hu, ui
52 Apuntes de clase de Análisis Numérico I
2
=a− uu> a
hu, ui
2 >
= I− uu a
hu, ui
• Son simétricas:
• Son ortogonales:
u = (a − Ha) = a ∓ kak2 e1
−kak si a1 < 0,
u=a+ = a + sign(a1 )kake1
kak si a1 > 0,
(k)
Paso k akk 6= 0
(2) (2) (2)
σ1 a12 · · · a1k · · · a1n
(3) (3)
σ2 · · · a2k · · · a2n (k)
a
.. .. .. (k) kk
. . . a = ...
A(k) = Qk−1 A(k−1) = (k) (k)
akk · · ·
akn
(k)
ank
.. ..
. .
(k) (k)
ank · · · ann
Ik−1
⇒ Qk =
In−k+1 + βuk uk >
54 Apuntes de clase de Análisis Numérico I
entonces
La matriz que representa una rotación (en sentido horario) en el plano en un ángulo
θ, está dado por:
cos(θ) sin(θ) c s
G(θ) := =:
− sin(θ) cos(θ) −s c
La idea es encontrar una rotación de Givens con un ángulo α tal que elimine la segunda
componente de a = [a1 a2 ]> , es decir:
G(α)a = ±kak2 e1 .
c2 1
s2 + c2 = 1 ⇒ s2 (1 + 2
)=1⇒s= √ , con t = c/s
s 1 + t2
s2 1
s2 + c2 = 1 ⇒ c2 ( 2 + 1) = 1 ⇒ c = √ , con t = s/c
c 1 + t2
c a1 1
Si |a2 | > |a1 | t = = s= √ c = st
s a2 1 + t2
s a2 1
Si |a2 | < |a1 | t = = c= √ s = ct
c a1 1 + t2
Con esta elección del parámetro t se evita un posible “overflow”, pues |t| < 1.
56 Apuntes de clase de Análisis Numérico I
La matriz Gij (θ) tiene las entradas (Gi,j (θ)) ([i, j], [i, j]) = G(θ), el resto de las entradas
coinciden con las de una matriz identidad In . Además, se elige θ de tal forma que:
q !
a a2i + a2j
G(θ) i = ,
aj 0
luego
a1
a1
.. ..
.
.
ai−1
ai−1 q
cai + saj a2i + a2j
ai+1
ai+1
Gij (θ)a =
.. =
..
.
.
a
j−1 aj−1
−sa + ca
i j 0
.
.. ..
.
an an
Notemos que la multiplicación de una matrix A por una matriz de Givens Gi,j , sólo afecta
a las columnas i y j. Las matrices de Givens pueden ser utilizadas de diferentes maneras
para construir una matriz ortogonal Q tal que
Qa = ±kak2 e1 .
Una vez más es importante aclarar que las matrices Gij no son construidas explícitamente
sino que están representadas por el par (i, j) y las cantidades c y s. Tomando en cuenta
Métodos directos para la resolución de sistemas lineales 57
donde di representa la distancia entre el punto (xi , yi ) dado y el punto de la recta (xi , zi ).
Es decir di = yi − zi , i = 1, . . . , n. Debemos minimizar la función derivable f (α, b) =
P n 2
i=1 (yi − αxi − b) , donde m es la pendiente de la recta y b es el punto de corte de la
recta en el eje de las coordenadas.
Las condiciones necesarias (y suficientes puesto que f es convexa) de optimalidad son:
n
∂f X
= 2(yi − αxi − b)(−xi ) = 0
∂α i=1
58 Apuntes de clase de Análisis Numérico I
n
∂f X
= 2(yi − αxi − b)(−1) = 0
∂b i=1
De las dos ecuaciones anteriores se obtiene el sistema cuya solución caracteriza la recta
buscada
Pn 2 Pn Pn
Pi=1 xi i=1 xi α i=1 xi yi
n = P n
i=1 xi n b i=1 yi
> >
El sistema
como una ecuación normal A Ax = A b, con A =
anterior se puedeescribir
x1 1 y1
.. .. α ..
. . , x = ,yb=.
b
xn 1 yn
En general si un sistema está sobrecondicionado y no es posible hallar x tal que
Ax = b, al menos podemos buscar x tal que kAx − bk22 sea mínima (problema de mínimos
cuadrados).
x resuelve el problema de mínimos cuadrados mı́nx∈Rn kAx − bk22 ssi satisface A> (Ax−
b) = 0, en efecto si esto ocurre, Ax − b es ortogonal al espacio generado por las columnas
de A y puesto que A(x − y) está en este espacio para todo y,
hb − Ax, A(x − y)i = 0 ⇐⇒
kb − Ayk2 = kb − Ax + Ax − Ayk22 = kb − Axk22 + kA(x − y)k22 ≥ kb − Axk22 ,
2
∀y
por tanto x es mínimo.
Para resolver la ecuación normal A> Ax = A> b podemos realizar la factorización QR
de A y así tenemos el sistema
RR> x = A> b (4.9)
Si A tiene rank(A) = n, entonces RR> es simétrica definida positiva y podemos utilizar
el algoritmo de Cholesky para resolver (4.9), o directamente descomponemos (4.9) en dos
sistemas, los cuales se pueden resolver utilizando el algoritmo de sustitución progresiva
una sola vez.
4.12 Ejercicios
1. Resolver los siguientes sistemas utilizando los métodos indicados:
(a) Gauss y Gauss con pivoteo parcial por filas
−3x1 + 2x2 − 0,5x3 = 21
−2x1 − 4x2 − 1,5x3 = 1
3x1 − 3x2 = 12
Métodos directos para la resolución de sistemas lineales 59
2. Sea T una matriz no singular y k · k una norma vectorial. Muestre que la función
N (x) = kT xk es una norma.
9. Dar un ejemplo de una matriz invertible y con a11 6= 0, para la cual el método de
Eliminación Gaussiana falla. Explicar por qué falla. ¿Qué procedimiento utilizaría
para superar el problema?
60 Apuntes de clase de Análisis Numérico I
13. Con un contraejemplo, demuestre que una matriz cuadrada que tiene factorización
LU , no es necesariamente invertible.
14. En el algoritmo de factorización LU con estrategia de pivoteo por filas se tiene que
A = P1 L−1 −1
1 P2 L2 · · · Pn−1 Ln−1 U = L̃U ;
donde L̃ no es una matriz triangular inferior. Demuestre que, sin embargo, es posible
escribir, a partir de la identidad anterior, la siguiente identidad
P A = LU,
16. Escriba un ejemplo de una matriz simétrica que no tenga factorización de Cholesky.
17. Considere el vector a = (3, 4)> . Encuentre la reflexión de Householder tal que Ha =
(kak2 , 0)> y realice un gráfico explicativo.
22. Considere una matrix cualquiera de datos de tamaño 2 × 7, encuentre la recta que
pasa por esos puntos en el sentido de los mínimos cuadrados, resuelva utilizando la
descomposición QR y luego aplique el método de Choleski.
8 2 21 4
1 0 −1 −1
23. Considere la matriz A = 15 −1 3
. Aplique el algoritmo de factori-
4
2 −13 1 27
zación QR aplicando pivoteo por columnas en cada paso. En que caso es útil esta
estrategia?
26. Es cierto que un sistema sobredeterminado siempre tiene una única solución que
minimiza la norma euclideana al cuadrado del residuo?
27. Cuál de las siguientes propiedades de la matriz A ∈ Rm×n de un sistema lineal indica
que la solución de un sistema en el sentido de los mínimos cuadrados no es única
(Justificar).
28. Demuestre que la multiplicación por una matriz ortogonal, preserva la norma ecli-
diana de un vector.
30. Según su criterio, qué casos una factorización es más eficiente que otra, si se quiere
resolver un sistema lineal: ¿LU o QR?
62 Apuntes de clase de Análisis Numérico I
Capítulo 5
63
64 Apuntes de clase de Análisis Numérico I
f (x + h) − 2f (x) + f (x − h)
F 00 (x) ≈ , para h → 0, (5.1)
h2
la cual tiene un orden de error cuadrático ie. o(h2 ), cuando h → 0.
Para aplicar la fórmula anterior, definimos las cantidades:
Sean A ∈ Rn×n una matriz no singular y b ∈ Rn ; buscamos una solución para el sistema
Ax = b usando una sucesión de aproximaciones. La idea es descomponer la matriz A en
la forma A = M − N , y considerar la siguiente ecuación
M x = N x + b.
Si M es invertible, entonces tenemos una ecuación del tipo
x = M −1 N x + M −1 b,
la cual genera métodos iterativos del tipo
x(k+1) = M −1 N x(k) + M −1 b.
= Bx(k) + c, (5.4)
B := M −1 N, c := M −1 b.
Así tenemos el siguiente esquema iterativo general
es verdadera.
0 = lı́m B k x = lı́m λk x,
k→∞ k→∞
=⇒0 = lı́m kλk xk = lı́m |λ|k
k→∞ k→∞
y ésto último se da sólo si |λ| < 1. En consecuencia ρ(B) < 1. Para verificar que el recíproco
es cierto, utilizamos el siguiente resultado, que puede ser encontrado en Quarteroni, p.25
Propiedad 1.13: Para ε > 0 existe al menos una norma matricial consistente k · k, la cual
depende de la matriz B tal que
x(k) − x = B(x(k−1) − x)
= B(B(x(k−2) − x))
= B 2 (x(k−2) − x)
..
.
= B k (x(0) − x).
Una implicación directa del Teorema 9 es que el método iterativo estacionario (5.4) es
convergente para cualquier valor inicial x(0) si, y solamente si kBk < 1; ya que para una
kAxk
matriz A ∈ Rn×n se sigue que ρ(A) ≤ kAk, donde kAk = sup , para alguna norma
x6=0 kxk
vectorial k · k.
De la misma manera, se sigue inmediatamente del último teorema que un método ite-
rativo estacionario converge para cualquier valor inicial x(0) si para alguna norma matricial
se tiene que kBk ≤ 1.
µi := 1 − ωλi i = 1, . . . , n
y por tanto
1 − ω(máx λi ) ≤ µi ≤ 1 − ω(mı́n λi )
i i
2
si suponemos que 0 < mı́ni λi y si 0 < ω < , se sigue que
máxi λi
máxi λi
−1 = 1 − 2 < 1 − ω(máx λi ) ≤ µi ≤ 1 − ω (mı́n λi ) < 1 ⇒ |µi | < 1.
máxi λi i i
| {z }
>0
Por tanto el método de Richardson converge para cualquier valor inicial, y para la
2
matriz de iteración B = I − ωA, siempre que 0 < mı́ni λi y si 0 < ω < .
máxi {λi }
Resolución de sistemas a gran escala 69
lo que implica que ρ(B) < 1 y de acuerdo al Teorema 9 el método es convergente. Resu-
miendo tenemos que el método de Jacobi es convergente para cualquier valor inicial si A
es una matriz diagonal dominante (por filas o columnas).
La matriz adjunta de una matriz B, con respecto a este producto escalar se puede deter-
minar como sigue:
> >
(Bx, y) = y > ABx = y > ABA−1 Ax = (ABA−1 )> y Ax = (x, (ABA−1 ) y)
| {z }
:=B ∗
>
=⇒ B ∗ = (ABA−1 ) = (A−1 )> B > A> = A−1 B > A
donde la última igualdad se sigue debido a que A (y por tanto lo es también A−1 ) es
simétrica definida positiva. Ahora demostremos que el método de Gauss-Seidel es conver-
gente si A es simétrica definida positiva. para comprobar esta afirmación, necesitamos el
siguiente resultado preliminar:
Teorema 10. Sean B y su adjunta B ∗ con respecto al producto escalar (·, ·). Si la
matriz B̃ := I − B ∗ B satisface:
n
X
1
A es diagonal dominante por filas ssi: |aii | > |aij |, para todo i = 1, . . . , n.
j6=i
70 Apuntes de clase de Análisis Numérico I
La condición (5.8) expresa que B es definida positiva, con respecto al producto escalar
(·, ·) dado por (5.7).
B ∗ = A−1 B > A
>
= A−1 I − (D + L)−1 A A
>
= A−1 I − A> (D + L)−1 A
>
= A−1 A − (D + L)−1 A
−1
= I − (D + L)> A
= I − (D + U )−1 A.
>
= (D + L)−1 Ax D (D + L)−1 Ax = ξ > Dξ > 0 ∀x 6= 0.
| {z } | {z }
:=ξ > :=ξ
lo último se debe a que D es simétrica definida positiva; luego (5.9) nos da como conse-
cuencia que ρ(B) < 1 y por el Teorema 9 el método de Gauss-Seidel es convergente.
Definición 20. Sea una sucesión (x(k) )k∈N tal que x(k) → x, cuando k → ∞. Se dice
que la sucesión (x(k) )k∈N converge a x con orden r, si, y sólo si
kx(k+1) − xk
lı́m r = C,
k→∞ kx(k) − xk
kx(k+1) − x(k) k
≤≈0 (5.13)
kx(k) k
la cual se activa cuando el error relativo de dos iteraciones consecutivas es muy pequeño,
es decir el algoritmo para si ya no es capaz de mejorar la solución.
1 − ω mı́n λi = ω máx λi − 1,
i=1,...,n i=1,...,n
2
de donde el ω̄ que minimiza el radio espectral es ω̄ = , para el cual
máx λ + mı́n λ
i=1,...,n i=1,...,n
máx λ − ω mı́n λ
i=1,...,n i=1,...,n 2
ρ(B) = −1− .
máx λ + ω mı́n λ K(A) + 1
i=1,...,n i=1,...,n
ω(Bx(k) + c) + (1 − ω)x(k)
= (ωB + (1 − ω)I) x(k) + |{z}
ωc
| {z }
=B =c
y tomamos esta última cantidad como x(k+1) . Por ejemplo, el método de Gauss-Seidel
que corresponde al método
M x(k+1) = N x(k) + b,
i−1
!
(k+1) 1 X (k+1)
xi = (N x(k) )i + bi − mik xk
dii k=1
n i−1
!
1 X (k)
X (k+1)
= − aik xk + bi − aik xk
aii i+1 k=1
n i−1
!
1 X (k)
X (k+1)
= bi − aik xk − aik xk , i = 1, . . . , n
aii i+1 k=1
(k+1)
Notar que el método de Gauss-Seidel hace uso de las componentes xi calculadas
anteriormente, esta característica es heredada del algoritmo de sustitución progresiva. El
método de Jacobi, por el contrario, no hace uso de las componentes calculadas en los pasos
anteriores. Ahora introducimos el parámetro ω de relajación en el método de Gauss-Seidel,
como sigue:
74 Apuntes de clase de Análisis Numérico I
n i−1
!
(k+1) ω X (k)
X (k+1) (k)
xi = bi − aik xk − aik xk + (1 − ω)xi , i = 1, . . . , n
aii i+1 k=1
este esquema es conocido como método SSOR, el cual, en contraste al método SOR no es
tan sensitivo a la elección del parámetro de relajación ω.
Resolución de sistemas a gran escala 75
x(k+1) = M −1 N x(k) + M −1 b
= (I − M −1 A)x(k) + M −1 b
= x(k) + M −1 (b − Ax(k) )
= x(k) + M −1 r(k) (5,4)
W (I − B)W −1
k
X k
X
(k) (i)
x̃ = γki x , γki = 1, k = 0, 1, 2, . . . .
i=0 i=0
k
X
ésta vez el polinomio de grado k está definido por pk (λ) = γki λi . en este contexto, el
i=0
residuo r(k) = b − Ax(k) se puede expresar como
El caso más importante es aquel en que los polinomios utilizados para éste propósito son
los polinomios de Chebyshev.
I Asumiremos que los valores propios λi , i = 1, . . . , n de la matriz M −1 A son reales y
satisfacen 0 < a ≤ λi ≤ b
76 Apuntes de clase de Análisis Numérico I
φ0 (x)y = 0, ∀y ∈ Rn (5.20)
1 1
Ax = b =⇒ φ(x) − φ(y) = x> Ax − |{z}
b> x − y > Ay + b> y
2 >
2
=x Ax
1 1
= − x> Ax − y > Ay + x> Ay
2 2
1
= − (x − y)> A(x − y) < 0
2
=⇒ φ(x) < φ(y) ∀y ∈ Rn , y 6= x.
donde,
αk es el paso tomado en cada iteración, y
p(k) es la dirección.
En este sentido, estas dos cantidades son escogidas de manera que en cada paso nos
acercamos más al mínimo de φ, i.e: φ(x(k+1) ) < φ(x(k) ).
Resolución de sistemas a gran escala 77
Hay que recordar que el residuo es una medida de cuan lejos estamos de satisfacer
la ecuación Ax = b. Para poder determinar el valor del paso αk debemos pensar que
éste paso debe ser tomado en la dirección p(k) de tal manera que minimize φ por tanto
queremos minimizar la función sin restricciones f (α) := φ(x(k) + αp(k) ). El α óptimo, que
denotaremos por αk debe satisfacer que
df (αk ) >
0= = φ0 (x(k) + αk p(k) )p(k) = φ0 (x(k+1) )r(k) = r(k+1) r(k) ,
dα
es decir, que los residuos son ortogonales!. De la última ecuación podemos despejar αk :
>
0 = r(k+1) r(k) = (b − Ax(k+1) )> r(k)
>
= (b − Ax(k) )> r(k) − αk p(k) Ar(k)
> >
= r(k) r(k) − αk r(k) Ar(k)
>
r(k) r(k)
=⇒ αk = >
. (5.22)
r(k) Ar(k)
Por tanto podemos escribir el algoritmo para el método del descenso más profundo.
Datos: A ∈ Rn×n s.d.p., b ∈ Rn , x(0) ∈ Rn
Resultados: x(k) solución aproximada de Ax = b
k=0
r(0) = b − Ax(0)
while r(k) > tol do
r(k) = b − Ax(k)
>
r(k) r(k)
αk = >
r(k) Ar(k)
x(k+1) = x(k) + αk r(k)
end
Algorithm 10: Algoritmo del descenso más profundo.
El método del descenso más profundo es un ejemplo de los métodos de proyección
de una dimensión. Su convergencia está fuertemente determinada por los valores propios
A y por las dirección ortogonal al residuo que se elige en cada paso, lo que provoca un
efecto de “zig-zag” en la convergencia de las soluciones aproximadas. Esto, a su vez, puede
provocar una gran cantidad de iteraciones antes de llegar a una aproximación adecuada
de la solución.
y donde las columnas de U corresponden a los vectores propios asociados a los λi corres-
pondientes. Tomando en cuenta esta descomposición espectral, se tiene que si xi son los
coeficientes de x en la base formada por las columnas ui de U , entonces
X X X
x> Qx = xi u >
i Q xj u > > > > >
j = x U (U ΣU )U x = x Σx = λi x2i .
i j i
Si consideramos el error e(k) = x(k) −x, en la norma de energía inducida por A, tenemos
que
2 > > >
ke(k+1) kA = e(k+1) Ae(k+1) = −r(k+1) e(k+1) = −r(k+1) (e(k) + αk r(k) )
> >
= −(r(k) + αk Ar(k) )> e(k) = e(k) Ae(k) − αk r(k) r(k) .
Para obtener una estimación del error utilizamos la desigualdad de Kantorovich que es-
tablece que para una matriz real y simétrica, con valores propios positivos; para todo x
se tiene que
p> Aq = 0
propiedad que, hace que el conjunto: {p(0) , p(1) , . . . , p(n−1) } sea linealmente independiente,
en efecto, para escalares α1 , . . . , αn−1
n−1 n−1
!
X X
0= αi p(i) ⇒ 0=A αi p(i)
i=0 i=0
n−1
!
> X
⇒ 0 = p(j) A αi p(i)
i=0
n−1
X >
⇒ 0= αi p(j) Ap(i) , (5.25)
i=0
>
Si multiplicamos la última identidad por la cantidad p(k) A podemos despejar σk :
n−1
> X >
p(k) A(x − x0 ) = σi p(k) Ap(i)
i=0
>
= σk p(k) Ap(k)
>
p(k) A(x̄ − x0 )
=⇒ σk = >
.
p(k) Ap(k)
Esta expresión para σk todavía depende de x̄, que es desconocida, pero podemos aprove-
char la A-ortogonalidad una vez más para encontrar una expresión más conveniente de
los coeficientes σk . En efecto,
x(k) = x(k−1) + αk−1 p(k−1)
= x(k−2) + αk−2 p(k−2) + αk−1 p(k−1)
..
.
= x(0) + α0 p(0) + α1 p(1) + · · · + αk−1 p(k−1)
> >
=⇒ p(k) Ax(k) = p(k) Ax(0) ,
gracias a esta identidad tenemos:
> > >
p(k) A(x̄ − x(0) ) = p(k) A(x̄ − x(k) ) + p(k) A(x(k) − x(0) )
| {z }
=0
(k) > (k)
=p r ,
de donde
>
r(k) p(k)
σk = >
= αk , (5.28)
p(k) Ap(k)
lo cual indica que los pasos y las direcciones tomadas en (5.26) son aquellos de la combi-
nación lineal en (5.27), por tanto el método no solo converge, sino que lo hace en n pasos!
Esto nos lleva a pensar que el método del GC es un método directo, pues conocemos de
antemano el número de pasos requeridos para obtener una solución, sin embargo, en la
práctica el método del GC se comporta como un método iterativo ya que los efectos de los
errores de rendondeo impiden la convergencia teórica en n pasos, haciendo en la práctica
necesarias iteraciones adicionales para obtener una mejor aproximación de la solución.
Del análisis anterior conocemos que si disponemos de un n direcciones A-ortogonales, el
método del GC converge teóricamente en n pasos. Entonces, la pregunta ahora es ¿Cómo
generar el conjunto de direcciones {p(0) , p(1) , . . . , p(n−1) } ? Recordemos que éstas deben
cumplir con la propiedad de ser A-ortogonales. El proceso de Gram-Schmidt se puede
generalizar para construir un conjunto de vectores A-ortogonales a partir de un conjunto
de vectores linealmente independiente, sin embargo, veremos que se pueden aprovechar
las propiedades de los residuos para generar {p(0) , p(1) , . . . , p(n−1) }. Definimos la función
h : Rk → R como
h(σ) := φ(x(0) + σ0 p(0) + σ1 p(1) + · · · + σk−1 p(k−1) ), (5.29)
la cual es estrictamente convexa y continua, por tanto, tiene un único mínimo que satisface:
0 = ∇h(σ̄),
Resolución de sistemas a gran escala 81
Lema 4. En el k–ésimo paso del método del gradiente conjugado se satisface la si-
guiente relación de ortogonalidad:
>
r(k) p(i) = 0 para i = 0, . . . , k − 1. (5.30)
Demostración. En efecto, para x(1) = x(0) + α0 p(0) se tiene que h(σ0 ) = φ(x(0) + α0 p(0) ),
por tanto, si α0 es el mínimo de h, entonces
>
0 = h0 (α0 ) = φ0 (x(1) )> p(0) = (b − Ax(1) )> p(0) = r(1) p(0) ,
y (5.30) se cumple para k = 1.
Ahora, suponemos que se cumple
>
r(k−1) p(i) = 0 para i = 0, . . . , k − 2. (5.31)
Como x(k) = x(k−1) + αk p(k−1) entonces el residuo es r(k) = r(k−1) − αk−1 Ap(k−1) . Si
>
multiplicamos la última identidad por p(k−1) y usamos (5.31), se deduce que
> > >
p(i) r(k) = p(i) r(k−1) −αk−1 p(i) Ap(k−1) = 0,
| {z } | {z }
=0 =0 (A-ort)
para i = 0, . . . , k − 2 . Para i = k − 1, tenemos que
> >
p(k−1) r(k) = p(k−1) (b − Ax(k) )
>
= p(k−1) (b − Ax(k−1) − αk−1 Ap(k−1) )
> >
= p(k−1) r(k−1) − αk−1 p(k−1) Ap(k−1)
>
(k−1) > (k−1) r(k−1) p(k−1) >
=p r − p(k−1) Ap(k−1)
p (k−1) > Ap(k−1)
(k−1) > (k−1) (k−1) > (k−1)
=p r −r p = 0,
y así (5.30) queda demostrado.
La relación (5.30) juega un papel central en el método del gradiente conjugado, ya que
nos permitirá construir de manera eficiente el conjunto de direcciones (A-ortogonales)
de descenso. Precisamente, buscamos un coeficiente βk que sirva para calcular la nueva
dirección a partir de la anterior. Por tanto, escribimos
p(k) = r(k) + βk p(k−1) , (5.32)
82 Apuntes de clase de Análisis Numérico I
donde además, los coeficientes βk que son a determinar deben cumplir con el requerimiento
>
que los p(k) sean A-ortogonales. Por tanto, multiplicamos (5.32) por p(k−1) A tenemos que
> > >
p(k−1) Ap(k) = p(k−1) Ar(k) + βk p(k−1) Ap(k−1)
Teorema 12. Sunpongamos que la k-ésima iteración del algoritmo del GC no coincide
con la solución x̄, entonces las siguientes propiedades son satisfechas
>
r(k) r(i) = 0, ∀i = 0, . . . , k − 1, (5.33)
span{r , r , . . . , r } = span{r , Ar(0) , . . . , Ak r(0) }
(0) (1) (k) (0)
(5.34)
span{p(0) , p(1) , . . . , p(k) } = span{r(0) , Ar(0) , . . . , Ak r(0) } (5.35)
>
p(k) Ap(i) = 0 ∀i = 0, . . . , k − 1, , (5.36)
Resolución de sistemas a gran escala 83
Por otro lado, tenemos que r(k+1) = r(k) − αk Ap(k) , ie. r(k+1) es una combinación lineal de
r(k) y Ap(k) . Pero considerando nuestra hipótesis inductiva dada precisamente por (5.33)
- (5.36) observamos que
y de esta última se tiene que Ap(k) satisface Ap(k) ∈ span{Ar(0) , . . . , Ak+1 r(0) } ⊂ K(r(0) , k+
1). En consecuencia
r(k+1) ∈ span{r(0) , Ar(0) , . . . , Ak+1 r(0) },
la cual se combina con nuestra hipótesis inductiva (5.34) nos conduce a concluir que
Para concluir la inclusión en el otro sentido, utilizamos ahora la hipótesis inductiva (5.35)
para deducir que
r(i+1) − r(i)
por otro lado, de r(i+1) = r(i) − αi Ap(i) se tiene que Ap(i) = , para i = 1, . . . , k
αi
de aquí que
combinando ésta ultima expresión con hipótesis inductiva se sigue finalmente queda
span{p(0) , p(1) , . . . , p(k+1) } = span{p(0) , p(1) , . . . , r(k+1) } ya que p(k+1) = r(k+1) + βk+1 p(k) .
= span{r(0) , Ar(0) , . . . , Ak r(0) , r(k+1) } por inducción
= span{r(0) , r(1) , . . . , r(k) , r(k+1) } por (5.34)
= span{r(0) , Ar(0) , . . . , Ak+1 r(0) } por (5.34) para k + 1
Ahora, demostraremos la propiedad (5.36) de que las direcciones p(i) son A-ortogonales
para k + 1. Por construcción tenemos que p(k+1) = r(k+1) + βk+1 p(k) . Multiplicando la
identidad anterior por Ap(i) se sigue que
> >
p(k+1) Ap(i) = r(k+1) + βk+1 p(k) Ap(i)
84 Apuntes de clase de Análisis Numérico I
>
(k+1) > (i) p(k) Ar(k+1) >
=r Ap − p(k) Ap(i) .
p (k) > Ap(k)
>
de la última expresión se sigue que si i = k entonces p(k+1) Ap(k) = 0 debido a la
definición de βk+1 . Por nuestra hipótesis de inducción, las direcciones p(0) , p(1) , . . . , p(k)
son A-ortogonales, así que (5.30) implica que
Gracias a éste Teorema podemos modificar el algoritmo del GC para que sea más
eficiente. En efecto, podemos escribir
> > >
r(k) p(k) r(k) r(k) r(k) p(k−1)
αk = >
= >
+ βk >
.
p(k) Ap(k) p(k) Ap(k) p(k) Ap(k)
| {z }
=0 por (5.30)
5.10 Ejercicios
1. Utilizando los criterios de convergencia conocidos explique si se puede asegurar que
los siguientes métodos convergen a la solución del problema Ax = b. Completar el
cuadro con si, no o marque con una x en caso de que no se pueda decidir.
1 2 −1
1 0,5
A1 = , A2 = 0 1 0
0,5 1
0 0 2
4 1
4 2
A3 =
4 3
4 4
Implemente el método escogido en Matlab y presente los resultados con sus respec-
tivas conclusiones.
Muestre que si el rango de A es n, λmı́n (A> A) > 0 y 0 < w < 2/λmáx (A> A) entonces
el método converge. ¿Hacia la solución de qué problema converge este método?
9. Demuestre la convergencia del método de Jacobi para una matriz diagonal domi-
nante stricta por columnas.
86 Apuntes de clase de Análisis Numérico I
10. Escriba los pseudocódigos completos para los trés métodos iterativos clásicos vistos
en clase. Incluyendo criterios de parada bien seleccionados.
13. Una generalización del método de Jacobi se obtiene mediante un proceso sobrere-
lajación. El método JOR se obtiene utilizando la siguiente matriz de integración
BJOR = ωBJ + (1 − ω)I, donde BJ corresponde a la matriz de iteración del método
de Jacobi. Demuestre que si A es simétrica definida positiva entonces el método
JOR converge si 0 < ω < 2/ρ(D−1 A).
14. Sea un conjunto de vectores {p(0) , p(1) , . . . , p(n−1) } A-ortogonales. Demuestre que tal
conjunto es linealmente independiente.
15. Demuestre que los residuos r(k) en el método del Gradiente Conjugado son ortogo-
nales al espacio de Krylov K(r(0) , k − 1).
20. Demuestre que minimizar la función 12 x> Ax−b> x utilizando las direcciones p(k) = ek ,
donde ek representa los vectors canónicos de Rn , es equivalente a un paso del método
de Gauss-Seidel.
Capítulo 6
Este capítulo está dedicado a otro de los problemas más importantes del álgebra lineal,
que es el cálculo de los valores propios de una matriz; y consecuentemente de los vectores
propios asociados. Como es conocido, este problema consiste en hallar todos los valores
(λ, x) ∈ C × Rn \{0} asociados a una matriz A ∈ Rn×n , los cuales satisfacen la ecuación:
Ax = λx. (6.1)
Como en el capítulo anterior, nos interesa este problema no sólo para matrices generales
sino también para matrices estructuradas eg. matrices simétricas definidas positivas, etc.
λ : V ⊂ Rn×n −→ C (6.2)
Ax0 = λ0 x0 y AT y0 = λ0 y0 ,
para todo C ∈ Rn×n . Para ver esto, tomemos C ∈ Rn×n , como λ0 es una raíz simple del
polinomio caracterísitico PA , entonces
∂
0 6= PA0 (λ0 ) = PA+tC (λ)|t=0
|∂λ {z }
derivada direccional de PA
87
88 Apuntes de clase de Análisis Numérico I
kxkkyk 1
Kabs = kλ0 (A)k = T
= (6.5)
|x y| |cos(θ)|
kAk 0 kAk
Krel = kλ (A)k = (6.6)
|λ0 | |λ0 cos(θ)|
0 1 0 1 |xT C T y| kCkkxkkyk
Kabs = kλ (A)k = sup |λ (A)C| = sup T
≤ T y| ,
C6=0 kCk C6=0 kCk |x y| kCk|x
en consecuencia
1
Kabs ≤ .
|cos(θ)|
La igualdad se tiene, pues si C = yxT en particular
|xT C T y| xT (yxT )T y xT xy T y kxk2 kyk2
|λ0 (A)C| = = = = ,
|xT y| |xT y| |xT y| |xT y|
además
kxy T zk |y T z|
kCk = kxy T k = sup = kxk sup = kxkkyk
z6=0 kzk z6=0 kzk
xk k
i.e. kzk k −→ 1 y zn −→ η1 , por tanto kxk k
= ± kzzk k −→ ±η1
Desventajas
1. Solo calculamos el vector propio asociado al valor propio más grande (en valor
absoluto)
QT AQ = Λ = diag(λ1 , . . . , λn ) (6.9)
Puesto que, por el teorema de Abel, clásico del álgebra, no existe un procedimiento
basado en operaciones aritméticas a radicales que pueda calcular las raíces de un polino-
mio, no podemos determinar Q en un número finito de pasos. Por tanto, la idea es tratar
de transformar A a una forma lo más cercana posible a una forma diagonal con matrices
ortogonales.
Por ejemplo, si tratamos de hacer esto con transformaciones de Househölder
∗ ∗ ··· ∗ ∗ ∗ ··· ∗ ∗ 0 ··· 0
∗ ∗ ··· ∗
Q1 · 0 ∗ · · · ∗ ·Q˜1 T ∗ ∗ · · · ∗
−−→ −
− −
→
.. .. . . .. .. .. . . .. .. .. . . ..
. . . . . . . . . . . .
∗ ∗ ··· ∗ 0 ∗ ··· ∗ ∗ ∗ ··· ∗
y podemos observar que esto no es posible, pues lo que se hace por la izquierda es destruido
por lo que se hace por la derecha.
La situación cambia si queremos transformar a una forma tridiagonal
∗ ∗ 0 ··· 0
∗ ∗ ··· ∗ ∗ ∗ ··· ∗ ∗ ∗ ∗ ··· ∗
∗ ∗ ··· ∗ 0 ∗ ··· ∗
P1 · ·P1 0 ∗ ∗ · · · ∗
.. .. . . .. −→ .. .. . . .. −→ (6.10)
. . . . . . . . .. .. .. . .
. . . .
∗ ∗ ··· ∗ 0 ∗ ··· ∗
0 ∗ ∗ ··· ∗
Gracias al Lema 5 hemos transformado nuestra matriz en una matriz tridiagonal equi-
valente, y por tanto reducimos el cálculo de los valores propios ad euna matriz simétrica
A al cálculo de la matriz tridiagonal equivalente.
Note que A = QR, si A0 = RQ, entonces
además
(A0 )T = (A0 )T QT Q = QT RT QT Q = QT AT Q = QT AQ = A0 . (6.11)
Gracias a las ideas anteriores definimos la siguiente sucesión de matrices (Algoritmo QR)
{Ak }k=1,2,... que se genera de la siguiente forma
92 Apuntes de clase de Análisis Numérico I
1) A1 = A
2) FactorizarAk = Qk Rk (6.12)
3) Ak+1 = Rk Qk
2. Se sigue de 6.11
Teorema 14. Sea A ∈ Rn×n simétrica tal que λ1 , . . . , λn son sus valores propios tales que
2. lı́mk→∞ Rk = Λ,
k
(k)
3. aij = O | λλji | , para i > j
Ak = Q1 Q2 · · · Qk Rk Rk−1 · · · R1 .
| {z }| {z }
=:Pk =:Uk
Ak+1 = Qk+1 Rk+1 = QTk · · · QT1 AQ1 · · · Qk = Pk−1 APk ⇒ APk = Pk Ak+1
Cálculo de Valores y Vectores Propios 93
Ak+1 = AAk = A(Pk Uk ) = (Pk Ak+1 )Uk = Pk Qk+1 Rk+1 Uk = Pk+1 Uk+1 ,
donde Pk+1 es ortogonal y Uk+1 es triangular superior, por tanto concluimos que Ak =
Pk Uk , la cual corresponde a su factorización QR. Además, puesto que A es simétrica, se
tiene la descomposición
Se puede asumir que Q tiene descomposición LU , esto puede hacerse intercambiando las
finlas de A, así es posible escribir
k
λi
lij → 0 , ∀i 6= j
λj
puesto que |λj | > |λi | si j > i, que es el caso, pues la matriz es triangular superior, por
tanto
Λk L(Λk )−1 = I + Ek con Ek → 0 cuando k → ∞.
Reemplazando en 6.13, se sigue que
Ak = Q(I + Ek )Λk U.
Ak = QQ̃k R̃Λ k
U.
|{z} | {z }
Q R
Pk = QQ̃k , Uk = R̃k Λk U,
por tanto
T
Qk = Pk−1 Pk = Q̃Tk−1 QT QQ̃k = Q̃Tk−1 Q̃k −→ I
−1 −1 −1
Rk = Uk Uk−1 = R̃k Λk RR−1 Λ−(k−1) R̃k−1 = R̃k ΛR̃k−1 −→ Λ,
para k −→ ∞ y
lı́m Ak = lı́m Qk Rk = lı́m Rk = Λ
k→∞ k→∞ k→∞
94 Apuntes de clase de Análisis Numérico I
Un análisis más profundo muestra que el método converge también cuando existen
valores propios múltiples, i.e. λ1 = · · · = λj ; sin embargo, el método tiene problemas
si λi = −λi+1 . Si λi , λi+1 están muy cerca en valor absoluto, el método converge muy
lentamente.
Se puede mejorar si se utiliza una estrategia de cambio; la idea es tratar de llevar a
ambos valores propios cerca del origen para reducir el cociente
λi+1
| |.
λi
1. A1 = A
2. Ak − σk I = Qk RK (Factorización QR)
3. Ak+1 = Rk Qk + σk I
1. Ak+1 = QTk Ak Qk ∼ Ak
2. (A − σk I) · · · (A − σ1 I) = Q1 · · · Qk Rk · · · R1
Además de los valores propios también queremos calcular los vectores propios, los cuales
se calculan como sigue:
Si Q es ortogonal, entonces
A ≈ QT ΛQ , Λ = diag(λ1 , · · · , λn )
Q ≈ [η1 , η2 , . . . , ηn ]
A −→ A1 = P AP T ,
2. Aproxima los valores propios con el algoritmo QR (con rotaciones de Givens apli-
cadas a A1
(k)
GA1 GT ≈ Λ, Ω = producto rotaciones Gij
6.3 Ejercicios
1. Demuestre que el método de la potencia es un caso particular del algoritmo QR
para el cálculo de valores propios.
encuentre una corrección δ para la aproximación λ̂j tal que kr(δ)k2 sea mínima.
[1] Biswa Nath Datta. Numerical linear algebra and applications. Siam, 2010.
[3] Gene H Golub and Charles F Van Loan. Matrix computations, volume 3. JHU Press,
2012.
[4] Andreas Hohmann and Peter Deuflhard. Numerical analysis in modern scientific
computing: an introduction, volume 43. Springer Science & Business Media, 2012.
[5] A Quarteroni and R Sacco. F. saleri scientific computing with matlab, 2003.
[6] Alfio Quarteroni and Alberto Valli. Numerical approximation of partial differential
equations, volume 23. Springer Science & Business Media, 2008.
[7] Yousef Saad. Iterative methods for sparse linear systems. Siam, 2003.
97