Está en la página 1de 38

CAPÍTULO 5

EJERCICIOS RESUELTOS: MÉTODOS ITERATIVOS PARA


ECUACIONES LINEALES

Ejercicios resueltos1

1. Examen 21/Junio/1994. Para la inversión de una matriz cuadrada A de orden n × n,


cuya inversa existe, se ha definido la siguiente iteración

Bi+1 = Bi (2 I − A Bi ), i = 1, 2, . . .

donde I es la matriz identidad (o unidad) de orden n × n, y B1 es una matriz cualquiera


de orden n × n. Defina la matriz Ci = I − A Bi y deduzca las propiedades que debe
satisfacer dicha matriz para que la iteración anterior converja a la inversa A−1 . ¿Cuáles
son las desventajas de este método comparado con otros que usted conozca para calcular
la inversa de una matriz? Ayuda: Deduzca cotas superiores e inferiores para la norma de
la matriz Bi+1 .
Solución. Lo primero que hay que estudiar en una iteración es su punto fijo

B = B (2 I − A B), I = A B, B = A−1 ,

que en este caso es la inversa de A, como debe ser. Ahora tendremos que estudiar la
convergencia de la iteración, es decir, si

lim Bi = B = A−1 .
i→∞
1
c Francisco R. Villatoro, Carmen M. Garcı́a, Juan I. Ramos. Estas notas están protegidas por derechos de
°
copyright y pueden ser distribuidas libremente sólo con propósitos educativos sin ánimo de lucro. These notes are
copyright-protected but may be freely distributed for instructional nonprofit purposes.
96 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

Utilizando la matriz Ci , podemos escribir la iteración como

Bi+1 = Bi (I + I − A Bi ) = Bi (I + Ci ),

y como

Ci = I − A Bi = I − A Bi−1 (I + Ci−1 )

= I − A Bi−1 − A Bi−1 Ci−1

= Ci−1 − A Bi−1 Ci−1 = (I − A Bi−1 ) Ci−1

2 4 8
= Ci−1 Ci−1 = Ci−1 = Ci−2 = Ci−3 ,

obtenemos finalmente
i−1
Ci = C12 , C1 = I − A B1 .

De esta forma, siguiendo la ayuda y aplicando normas a la iteración

kBi+1 k ≤ kBi k kI + Ci k ≤ kBi k (kIk + kCi k)


i−1
= kBi k (1 + kCi k) ≤ kBi k (1 + kC1 k2 )
i ³
Y ´
j−1
= kB1 k 1 + kC1 k2 ,
j=0

que es poco útil para la demostración de convergencia.


Podemos reescribir la iteración

Bi+1 = Bi + Bi Ci , Bi+1 − Bi = Bi Ci ,

y aplicando normas
i−1 i−1
kBi+1 k − kBi k ≤ kBi k kCi k = kBi k kC12 k ≤ kBi k kC1 k2 .

Por otro lado, escribiendo la iteración como

Bi+1 = Bi + Bi Ci , Bi+1 − Bi Ci = Bi ,

y aplicando normas

kBi k = kBi+1 − Bi Ci k ≤ kBi+1 k + kBi Ci k ≤ kBi+1 k + kBi k kCi k,

con lo que
³ i−1
´
kBi+1 k ≥ kBi k (1 − kCi k) ≥ kBi k 1 − kC1 k2 .
97

Finalmente hemos logrado acotar la iteración tanto superior como inferiormente de la


forma
³ i−1
´ ³ i−1
´
kBi k 1 − kC1 k2 ≤ kBi+1 k ≤ kBi k 1 + kC1 k2 .

Por tanto para que el método converja es necesario que


i−1
lim kC1 k2 = 0,
i→∞

es decir, el radio espectral de C1 (y el valor absoluto de todos los autovalores de C1 ) deben


ser menores que la unidad. En este caso, también se cumple que

lim Ci = 0 = lim I − A Bi ,
i→∞ i→∞

con lo que
lim Bi = A−1 .
i→∞

La desventaja fundamental de este método es que B1 se tiene que escoger de tal manera
que los autovalores de C1 sean menores que la unidad. Otra desventaja es que requiere
muchas multiplicaciones de matrices (dos multiplicaciones y una suma en cada iteración).

2. ¿Para qué valores de α, la iteración

xi+1 = α xi + β, con x0 = a, β 6= 0,

converge? Es decir, ¿para qué valores de α,

lim xi ,
i→∞

existe?

Solución. Iterando obtenemos

xn = α xn−1 + β = α2 xn−2 + β α + β = · · ·

= a αn + β αn−1 + · · · + β α + β.

Definamos
s = β αn−1 + · · · + β α + β,

α s = β αn + · · · + β α,

con lo que restando


(α − 1) s = αn β − β = β (αn − 1),
98 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

y finalmente
αn − 1
xn = a αn + β .
α−1
Esta secuencia convergerá si |α| < 1 al valor

−β β
lim xn = = ,
i→∞ α−1 1−α
que corresponde al punto fijo de la iteración (sucesión), ya que si ésta converge a x̄ entonces

β
x̄ = α x̄ + β, x̄ = ,
1−α
que es el punto fijo.

3. Dados      
 10 3 1   14   0 
     
     
    (0)  
A =  2 −10 3  , b =  −5  , x =  0 ,
     
     
     
1 3 10 14 0

resuelva el sistema A x = b por el método de Gauss-Jacobi y determine la tasa de conver-


gencia usando las normas ∞ y 1. Haga lo mismo con el método de Gauss-Seidel y deduzca
cuál de ellos converge más rápidamente.

Solución.

(a) El método de Gauss-Jacobi se basa en la descomposición A = L + D + U y tiene la


iteración
x(k+1) = D−1 (b − (L + U ) x(k) ).

Operando, obtenemos la secuencia Operando, obtenemos la secuencia


   
 7/5   111/100 
   
   
(1)   (2)  
x =  1/2  , x =  6/5  ,
   
   
   
7/5 111/100

   
 0.929   0.9906 
   
   
(3)   (4)  
x =  1.055  , x =  0.9645  ,
   
   
   
0.929 0.9906
99

   
 1.01159   1.00025 
   
   
(5)   (6)  
x =  0.9953  , x =  1.0058  ,
   
   
   
1.01159 1.00025

que claramente converge a la solución exacta (1, 1, 1)> .

(b) El método de Gauss-Seidel se basa en la iteración

x(k+1) = (L + D)−1 (b − U x(k) ).

Operando, obtenemos la secuencia


   
 7/5   1.0634 
   
   
   
x(1) =  39/50 , x(2) =  1.02048  ,
   
   
   
513/500 0.987516

   
 0.995104   1.00123 
   
   
(3)   (4)  
x =  0.995276  , x =  1.00082  ,
   
   
   
1.00191 0.999632

   
 0.999792   1.00004 
   
   
(5)   (6)  
x =  0.999848  , x =  1.00003  ,
   
   
   
1.00007 0.999988

que claramente converge, y más rápidamente que el Gauss-Jacobi, a la solución exacta


(1, 1, 1)> .

(c) La tasa de convergencia del método de Gauss-Jacobi viene dada por la norma de
 
 0 3/10 1/10 
 
 
−1  
J = D (L + U ) =  −1/5 0 −3/10  ,
 
 
 
1/10 3/10 0
100 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

cuyas normas son kJk1 = 0.6 y kJk∞ = 0.5. La tasa de convergencia del método de
Gauss-Seidel viene dada por la norma de
 
 0 3/10 1/10 
 
 
 
S = (L + D)−1 U =  0 3/50 −7/25  ,
 
 
 
0 −6/125 37/500

cuyas normas son kJk1 = 227/500 = 0.454 y kJk∞ = 2/5 = 0.4. Estos resultados
confirman la convergencia más rápida observada para el método de Gauss-Seidel.

4. Examen 4/Septiembre/1996. Considere el siguiente sistema de ecuaciones

x + a y = 1,

x + y + z = 1,

b y + z = 1.

(a) Determine los valores de a y b para que el sistema tenga solución única
(b) Determine los valores de a y b para asegurar la convergencia del método de Gauss-
Jacobi para la resolución de dicho sistema
(c) Determine los valores de a y b para asegurar la convergencia del método de Gauss-
Seidel
(d) Estudiar la convergencia de los métodos anteriores y el método de Cholesky para los
valores de a y b para los que la matriz de los coeficientes del sistema es simétrica.

Solución.

(a) El sistema se puede escribir como A x = b donde


   
 1 a 0   1 
   
   
   
A= 1 1 1  , b =  1 .
   
   
   
0 b 1 1

El sistema tendrá solución única cuando A no sea singular,

|A| = 1 − a − b 6= 0, a + b 6= 1.
101

(b) El método de Gauss-Jacobi convergerá si su tasa de convergencia

kJk = kD−1 (L + U )k = kL + U k,

es menor que la unidad para alguna matriz. No sirven las norma uno e infinito, ya
que para ellas el método no converge,

kJk1 = max{1, |a| + |b|}, kJk∞ = max{2, |a|, |b|}.

Sin embargo, pueden existir normas para las que converja. La convergencia quedará
asegurada si el radio espectral, que siempre es menor o igual que cualquier norma, es
menor que la unidad. El radio espectral para el método de Gauss-Jacobi es

ρ(J) = max |λJ |,

y sus autovalores son


¯ ¯
¯ ¯
¯ ¯
¯ −λJ a 0 ¯
¯ ¯
¯ ¯
¯ ¯
|J − λJ I| = ¯ 1 −λJ 1 ¯¯ = 0,
¯
¯ ¯
¯ ¯
¯ 0 b −λJ ¯¯
¯

es decir,
−λ3J + a λJ + b λJ = 0,

que tiene como raı́ces



λJ = 0, λJ = ± a + b,

para a + b ∈ IR+ ∪ 0. Por tanto, la convergencia del método de Gauss-Jacobi requiere


que

ρ(J) = a + b < 1.

Note que a + b < 1 está incluido en dicho conjunto.

(c) El método de Gauss-Seidel convergerá si su matriz de convergencia


    
 1 0 0  0 a 0   0 a 0 
     
     
−1      
S = (L + D) U =  −1 1 0   0 0 1  = 1  ,
     0 −a 
     
     
b −b 1 0 0 0 0 ab −b
102 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

tiene radio espectral menor que la unidad. Sus autovalores son


¯ ¯
¯ ¯
¯ ¯
¯ −λS a 0 ¯
¯ ¯
¯ ¯
¯ ¯
|S − λS I| = ¯ 0 −a − λS 1 ¯ = 0,
¯ ¯
¯ ¯
¯ ¯
¯ 0 ab −b − λS ¯¯
¯

es decir,
λS (a b − (a + λS ) (b + λS )) = 0,

que tiene como soluciones

λS = 0, λ2S + λS (a + b),

es decir,
λS = −(a + b), λS = 0.

Por tanto, el método de Gauss-Seidel converge para

ρ(S) = |a + b| < 1.

Note que las condiciones de convergencia de Gauss-Jacobi y Gauss-Seidel son disjuntas


y que hay valores de (a, b) tales que uno puede converger y el otro no, y viceversa.
(d) La matriz A es simétrica para a = b = 1, por lo que el método de Gauss-Jacobi no
converge,
√ √
ρ(J) = a + a = 2 > 1,

el método de Gauss-Seidel converge cuando

ρ(S) = 2 |a| < 1.

En cuanto al método de Cholesky, no se trata de un método iterativo si no uno


directo, por lo que no se puede estudiar su convergencia. Además el método de
Cholesky requiere que la matriz A sea hermitiana y positiva definida. Si a = b = 1,
la matriz es simétrica por lo que hay que estudiar si es definida positiva. Podemos
determinar sus autovalores,
¯ ¯
¯ ¯
¯ ¯
¯ 1 − λC 1 0 ¯
¯ ¯
¯ ¯
¯ ¯
|C − λC I| = ¯ 1 1 − λC 1 ¯ = 0,
¯ ¯
¯ ¯
¯ ¯
¯ 0 1 1 − λC ¯¯
¯
103

−λ3C + 3 λ2C − λC − 1 = 0,

una de cuyas raı́ces es λC = 1, y por la regla de Ruffini,

−λ2C + 2 λC + 1 = 0

por lo que las otras dos raı́ces son



λC = 1 ± 2,

una de las cuales es negativa, por lo que no es definida positiva.


Otra posibilidad para comprobar que no es definida positiva es utilizar el signo de los
menores principales
C1 = |1| = 1 > 0,
¯ ¯
¯ ¯
¯ ¯
¯ 1 1 ¯
¯ ¯
C2 = ¯ ¯ = 0,
¯ ¯
¯ 1 1 ¯
¯ ¯

C3 = |C| = 1 − 2 = −1 < 0,

que claramente indican que no es definida, y por tanto, el método de Cholesky no es


aplicable.

5. Considere el siguiente sistema de ecuaciones

x + ay = a

ax + y + bz = b

by + z = c

(a) Determine los valores de a y b para que el sistema tenga solución única

(b) Determine los valores de a y b para asegurar la convergencia del método de Gauss-
Jacobi para la resolución de dicho sistema

(c) Determine los valores de a y b para asegurar la convergencia del método de Gauss-
Seidel

(d) Estudiar la convergencia de los métodos anteriores y el método de Cholesky para los
valores de a y b para los que la matriz de los coeficientes del sistema es simétrica.

Solución.
104 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

(a) El sistema se puede escribir como A x = b donde


   
 1 a 0   a 
   
   
   
A= a 1 b  , b= b 
   
   
   
0 b 1 c

El sistema tendrá solución única cuando A no sea singular,

|A| = 1 − a2 − b2 6= 0, a2 + b2 6= 1.

(b) El método de Gauss-Jacobi convergerá si su tasa de convergencia

kJk = kD−1 (L + U )k = kL + U k,

es menor que la unidad para alguna norma. Las norma uno e infinito nos dan la
condición
kJk1 = kJk∞ = max{|a|, |b|, |a| + |b|} = |a| + |b| < 1,

es decir, (a, b) incluido en el rombo simétrico que aparece en la siguiente figura.

0.5

−0.5

−1
−1 −0.5 0 0.5 1

Sin embargo, la condición anterior es suficiente, pero no necesaria. Una condición


suficiente y necesaria se obtiene usando el radio espectral,

ρ(J) = max |λJ |.

Los autovalores de J son

|J − λJ I| = λJ (a2 + b2 − λ2J ) = 0,

es decir, λJ ∈ {0, ± a2 + b2 }, y la convergencia del método de Gauss-Jacobi requiere
que el punto (a, b) se encuentre en el disco unidad S1 (ver figura).
105

(c) El método de Gauss-Seidel convergerá si su matriz de convergencia


 
 0 a 0 
 
 
 
S = (L + D)−1 U =  0 −a2 b ,
 
 
 
0 a2 b −b2

tiene radio espectral menor que la unidad. Sus autovalores cumplen

|S − λS I| = −λ2S (a2 + b2 + λS ) = 0,

es decir, λS ∈ {0, 0, −(a2 + b2 )}, por lo que la condición de convergencia de Gauss-


Seidel es la misma que la de Jacobi, (a, b) debe pertenecer al disco unidad.
(d) La matriz A es simétrica para todo (a, b). En cuanto al método de Cholesky, no se
trata de un método iterativo sino uno directo, por lo que no se puede estudiar su
convergencia. Además el método de Cholesky requiere que la matriz A sea hermı́tica
y positiva definida. La condición para que sea definida positiva es que sus autovalores
sean positivos,

|A − λ I| = 1 − a2 − b2 − (3 − a2 − b2 )λ + 3λ2 − λ3 = 0,

que por inspección nos conduce a λ = 1 como primera raı́z y a


p
−1 + a2 + b2 + 2λ − λ2 = 0, λ± = 1 ± a2 + b2 ,

que serán dos raı́ces positivas sólo si (a, b) pertenece al disco unidad. Sólo en dicho
caso será aplicable el método de Cholesky.
Otra posibilidad para estudiar cuando es definida positiva es utilizar el signo de los
menores principales
A1 = |1| = 1 > 0,
¯ ¯
¯ ¯
¯ ¯
¯ 1 a ¯
¯ ¯
A2 = ¯ ¯ = 1 − a2 > 0, a2 < 1
¯ ¯
¯ a 1 ¯
¯ ¯

A3 = |A| = 1 − a2 − b2 > 0, a2 + b2 < 1,

que muestra de nuevo la condición previa..

6. Examen 6/Julio/1997. Sea B una matriz real cuadrada de orden n × n tal que B x = 0
y |B| = 0.
106 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

(a) ¿Cuál es la relación entre bii y bij , donde B = (bij )?


(b) Si B = A − λ I donde λ son los autovalores de A, ¿cuál es la relación entre λ y los
coeficientes o elementos de la matriz A?
(c) ¿Cuál es la relación entre |λ|max y |λ|min y los elementos de A?
(d) Sea A una matriz cuadrada de orden n × n tal que aii = 1. Deduzca las condiciones
que deben satisfacer los coeficientes de esta matriz para que el método iterativo de
Gauss-Jacobi converja cuando se utiliza para resolver el sistema A x = b.

Solución.

(a) La ecuación B x = 0 tiene infinitas soluciones ya que |B| = 0. Sea x∗ una de estas
soluciones y sea x∗i tal que
|x∗i | = max |x∗j |,
1≤j≤n

entonces B x∗ = 0 implica que


n
X n
X
0= bij x∗j = bii x∗i + bij x∗j ,
j=1 j=1,j6=i

por lo que
n
X
|bii | |x∗i | ≤ |bij | |x∗j |,
j=1,j6=i

y, finalmente, observamos que B no es diagonalmente dominante por filas


n n
X |x∗j | X
|bii | ≤ |bij | ≤ |bij |.
j=1,j6=i
|x∗i | j=1,j6=i

(b) Si B = A − λ I entonces
bii = aii − λ, bij = aij ,

y por la condición del apartado anterior


n
X
|aii − λ| ≤ |aij |.
j=1,j6=i

(c) Aplicando la desigualdad triangular inversa

||λ| − |aii || ≤ |λ − aii |,

y el resultado del apartado anterior tenemos que se cumplen las dos desigualdades
n
X n
X
|λ| ≤ |aii | + |aij | = |aij |,
j=1,j6=i j=1
107

n
X
|λ| ≥ |aii | − |aij |,
j=1,j6=i

por lo que en los casos lı́mites podemos obtener una cota superior para el mayor
autovalor y una inferior para el menor,
n
X
|λ|max ≤ max |aij |,
i
j=1
 
n
X
|λ|min ≥ min |aii | − |aij | ,
i
j=1,j6=i

y por tanto el número de condición de A cumple que


P
|λ|max maxi nj=1 |aij |
κ(A) ≥ ≥ ³ P ´.
|λ|min mini 2 |aii | − nj=1 |aij |

(d) Sea A una matriz cuadrada de orden n × n tal que aii = 1. Deduzca las condiciones
que deben satisfacer los coeficientes de esta matriz para que el método iterativo de
Gauss-Jacobi converja cuando se utiliza para resolver el sistema A x = b.
Descomponiendo la matriz A = L + D + U , el método de Gauss-Jacobi tiene como
iteración
x(k+1) = D−1 (b − (L + U ) x(k) ),

por lo que para que converja, el radio espectral de su matriz de iteración debe ser
menor que la unidad

ρ(J) = ρ(D−1 (L + U )) = |λJ |max < 1.

Ahora bien, por ser D = I, A = I + N y los autovalores de A

λA = 1 + λJ ,

por lo que la condición de convergencia es ρ(A) < 2, pero por el apartado anterior
del ejercicio  
n
X
ρ(A) ≤ max 1 + |aij | < 2,
i
j=1,i6=j

luego
n
X
|aij | < 1.
j=1,i6=j

De forma del todo similar, ya que los autovalores son invariantes ante trasposición,
n
X
|aij | < 1.
i=1,j6=i
108 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

7. Comprobar que la matriz que determina el sistema

10 x1 − x2 = 9,

−x1 + 10 x2 − 2 x3 = 7,

−2 x2 + 10 x3 = 6,

es definida positiva. ¿Qué parámetro de relajación w escogerı́a para obtener una conver-
gencia más rápida? Escribir las 3 primeras iteraciones del método de relajación con esa
w tomando como valores iniciales x = 0. Comparar con las 3 primeras iteraciones de
Gauss-Seidel.

Solución. El sistema se puede escribir como A x = b donde


   
 10 −1 0   9 
   
   
   
A =  −1 10 −2  , b =  7 .
   
   
   
0 −2 10 6

Para comprobar que esta matriz es definida positiva podemos calcular sus autovalores

|A − λ I| = (λ − 10) (−λ2 + 20 λ − 95) = 0,

que son

λ = 10, λ = 10 ± 5,

que claramente son positivos. También podrı́amos haber aplicado la regla de los menores
principales ¯ ¯
¯ ¯
¯ ¯
¯ 10 −1 ¯
¯ ¯
A1 = |10| = 10 > 0, A2 = ¯ ¯ = 99 > 0,
¯ ¯
¯ −1 10 ¯
¯ ¯

y A3 = |A| = 950 > 0.

Como no se dice si debemos aplicar el método de relajación al método de Gauss-Jacobi


(que converge porque la matriz es diagonalmente dominante) o al de Gauss-Seidel (que
converge por lo anterior y además porque la matriz de coeficientes es simétrica y definida
positiva). Vamos a escoger este último. Descomponiendo la matriz A = L + D + U ,
tenemos que el método de Gauss-Seidel es

x(k+1) = (L + D)−1 (b − U x(k) ),


109

e introduciendo un parámetro de relajación

x(k+1) = w (L + D)−1 (b − U x(k) ) + (1 − w) x(k) ,

con lo que el error e(k) = x − x(k) sigue la ecuación

e(k+1) = ((1 − w) I − w (L + D)−1 U ) e(k) = N e(k) ,

y la convergencia del método queda garantizada si la tasa de convergencia es menor que


la unidad
ρ(N ) < 1.

Como  
 1/10 0 0 
 
 
 
(L + D)−1 =  1/100 1/10 0 ,
 
 
 
1/500 1/50 1/10
 
 0 −1/10 0 
 
 
 
(L + D)−1 U =  0 −1/100 −1/5  ,
 
 
 
0 −1/500 −1/25

tenemos que
 
 1−w w/10 0 
 
 
−1  
N = (1 − w) I − w (L + D) U =  0 1 − 99 w/100 w/5 ,
 
 
 
0 w/500 1 − 24 w/25

y por tanto su polinomio caracterı́stico es

|N − λ I| = (1 − 19 w/20 − λ) (1 − w − λ)2 ,

y el radio espectral será menor que la unidad si

|1 − w| < 1, |1 − 19 w/20| < 1,

y por tanto 0 < w < 2 (de la primera desigualdad) garantiza la convergencia del método.
Para obtener la convergencia más rápida debemos buscar el valor w∗ que minimiza el radio
110 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

espectral. Dibujando gráficamente el valor del radio espectral obtenemos que






 1 − 19 w/20 0 < w ≤ w∗
ρ(N ) = ,



 w−1 w∗ ≤w<2

por lo que el valor óptimo es


40
1 − 19 w∗ /20 = w∗ − 1, w∗ = ≈ 1.026.
39

Seguidamente vamos a realizar tres iteraciones del método de Guass-Seidel con relajación
con w∗ ,    
 12/13   0.923077 
   
   
   
x(1) =   =  ,
w  158/195   0.810256 
   
   
758/975 0.777436
   
 0.982512   0.996065 
   
   
(2)   (3)  
xw =  0.957265  , xw =  0.957798  ,
   
   
   
0.791059 0.79157

y tres iteraciones del método de Gauss-Seidel sin relajación (w = 1),


   
 9/10   0.9 
   
   
(1)    
x =  79/100  =  0.79  ,
   
   
   
379/500 0.758
   
 0.979   0.99495 
   
   
(2)   (3)  
x =  0.9495  x =  0.957475  .
   
   
   
0.7899 0.791495
Al ser el sistema de 3 × 3 la solución exacta se puede calcular por un método directo dando
 
 0.995789 
 
 
 
x =  0.957895  .
 
 
 
0.791579
111

Comparando los errores obtenidos

kx − x(3)
w k∞ = 0.000276, kx − x(3) k∞ = 0.000839,

kx − x(3)
w k1 = 0.000382, kx − x(3) k1 = 0.001343,

se observa que el método con relajación tiene una convergencia más rápida (menor error),
aunque las diferencias entre los dos métodos son pequeñas debido a que el valor óptimo
del parámetro de relajación w∗ es muy próximo a la unidad.

8. Comprobar que la matriz que determina el sistema

10 x1 − 3 x2 =2

−3 x1 + 10 x2 − 2 x3 = 3

−2 x2 + 10 x3 = 5,

es definida positiva. ¿Qué parámetro de relajación w escogerı́a para obtener una conver-
gencia más rápida? Escribir las 3 primeras iteraciones del método de relajación con esa
w tomando como valores iniciales x = 0. Comparar con las 3 primeras iteraciones de
Gauss-Seidel.

Solución. El sistema se puede escribir como A x = b donde


   
 10 −3 0   2 
   
   
   
A =  −3 10 −2  , b =  3 .
   
   
   
0 −2 10 5

Para comprobar que esta matriz es definida positiva podemos calcular sus autovalores

|A − λ I| = (λ − 10) (−λ2 + 20 ∗ λ − 87) = 0,

que son

λ = 10, λ = 10 ± 13,

que claramente son positivos. También podrı́amos haber aplicado la regla de los menores
principales ¯ ¯
¯ ¯
¯ ¯
¯ 10 −3 ¯
¯ ¯
A1 = |10| = 10 > 0, A2 = ¯ ¯ = 91 > 0,
¯ ¯
¯ −3 10 ¯
¯ ¯
112 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

y A3 = |A| = 870 > 0.

Como no se dice si debemos aplicar el método de relajación al método de Gauss-Jacobi


(que converge porque la matriz es diagonalmente dominante) o al de Gauss-Seidel (que
converge por lo anterior y además porque la matriz de coeficientes es simétrica y definida
positiva), vamos a escoger este último, que es más rápido. Descomponiendo la matriz
A = L + D + U , tenemos que el método de Gauss-Seidel es

x(k+1) = (L + D)−1 (b − U x(k) ),

e introduciendo un parámetro de relajación

x(k+1) = w (L + D)−1 (b − U x(k) ) + (1 − w) x(k) ,

con lo que el error e(k) = x − x(k) sigue la ecuación

e(k+1) = ((1 − w) I − w (L + D)−1 U ) e(k) = N e(k) ,

y la convergencia del método queda garantizada si la tasa de convergencia es menor que


la unidad
ρ(N ) < 1.

Como  
 1/10 0 0 
 
 
−1  
(L + D) =  3/100 1/10 0 ,
 
 
 
3/500 1/50 1/10
 
 0 −3/10 0 
 
 
 
(L + D)−1 U =  0 −9/100 −1/5  ,
 
 
 
0 −9/500 −1/25

tenemos que
 
 1−w 3 w/10 0 
 
 
−1  
N = (1 − w) I − w (L + D) U =  0 1 − 91 w/100 w/5 ,
 
 
 
0 9 w/500 1 − 24 w/25
113

y por tanto su polinomio caracterı́stico es

|N − λ I| = (1 − 87 w/100 − λ) (1 − w − λ)2 ,

y el radio espectral será menor que la unidad si

|1 − w| < 1, |1 − 87 w/100| < 1,

y por tanto 0 < w < 2 (de la primera desigualdad) garantiza la convergencia del método.
Para obtener la convergencia más rápida debemos buscar el valor w∗ que minimiza el radio
espectral. Dibujando gráficamente el valor del radio espectral obtenemos

0.8

0.6

0.4

0.2

0
0 0.5 1 1.5 2

por lo que el valor óptimo es

200
1 − 87 w∗ /100 = w∗ − 1, w∗ = ≈ 1.069.
187

Seguidamente vamos a realizar tres iteraciones del método de Gauss-Seidel con relajación
(0)
con w∗ con xw = 0,
   
 40/187   0.322571 
   
   
   
x(1)
w =  72/187  =  0.52618 ,
   
   
   
52/85 0.60282
   
 0.360307   0.358281 
   
   
(2)   (3)  
xw =  0.528041  , xw =  0.528723  ,
   
   
   
0.605776 0.605733
114 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

y tres iteraciones del método de Gauss-Seidel sin relajación (w = 1),


   
 1/5   0.308 
   
   
   
x(1)
w = 9/25  =  0.5068  ,
   
   
   
143/250 0.60136
   
 0.35204   0.357765 
   
   
   
x(2) =  , x(3) =  ,
w  0.525884  w  0.528365 
   
   
0.605177 0.605673
Al ser el sistema de 3 × 3 la solución exacta se puede calcular por un método directo dando
 
 0.358621 
 
 
 
x =  0.528736  .
 
 
 
0.605747

Comparando los errores obtenidos

kx − x(3)
w k∞ = 0.0017, kx − x(3) k∞ = 0.0066,

kx − x(3)
w k1 = 0.0024, kx − x(3) k1 = 0.0100,

se observa que el método con relajación tiene una convergencia más rápida (menor error),
aunque las diferencias entre los dos métodos son pequeñas debido a que el valor óptimo
del parámetro de relajación w∗ es muy próximo a la unidad.

9. ¿Puede converger un método iterativo para la resolución de un sistema de ecuaciones


lineales de la forma
x(k) = B x(k−1) + c,

siendo B una matriz singular (|B| = 0)?


Solución. El punto fijo de esta iteración es

x = B x + c, x = (I − B)−1 c,

que requiere que (I − B)−1 exista, pero no es necesario que exista B −1 . Para estudiar la
convergencia de este método, debemos estudiar la ecuación del error

e(k) = B e(k−1) ,
115

que nos indica que el método convergerá si

ρ(B) < 1.

Que B sea singular (por ejemplo, por tener un autovalor nulo) no implica que no se pueda
cumplir la condición de convergencia ρ(B) < 1. Luego la respuesta a la pregunta es
afirmativa.

10. Examen 13/Marzo/1993. Dados


   
 4 −1 0   2 
   
   
   
A =  −1 4 −1  , b =  6 ,
   
   
   
0 −1 4 2

determine

(a) el vector x tal que A x = b por factorización de Cholesky,


(b) A−1 a partir de la factorización de Cholesky,
(c) la convergencia del método de Gauss-Jacobi realizando cuatro iteraciones con el vector
inicial x(0) = 0,
(d) la convergencia del método de Gauss-Seidel realizando cuatro iteraciones con el vector
inicial x(0) = 0,
(e) el polinomio caracterı́stico de A por el método de LeVerrier y acote sus raı́ces (es
decir, los autovalores de A),
(f) la descomposición LU (es decir, A = L U donde L es una matriz triangular inferior
con unos en la diagonal principal y U es una matriz triangular superior.

Solución.

(a) Para aplicar el método directo de Cholesky es necesario que la matriz sea simétrica
y definida positiva. Para comprobar este último punto aplicaremos la regla de los
menores principales
¯ ¯
¯ ¯
¯ ¯
¯ 4 −1 ¯
¯ ¯
A1 = |4| = 4 > 0, A2 = ¯ ¯ = 15 > 0,
¯ ¯
¯ −1 4 ¯
¯ ¯

y A3 = |A| = 56 > 0, luego es definida positiva.


116 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

La factorización de Cholesky A = L L> se determina fácilmente igualando fila a fila


las matrices
    
 l11 0 0   l11 l21 l31   4 −1 0 
     
     
     
 l21 l22 0   0 l22 l32  = −1  ,
     −1 4 
     
     
l31 l32 l33 0 0 l33 0 −1 4

es decir,
2
l11 = 4, l11 = 2,

l11 l21 = −1, l21 = −1/2,

l11 l31 = 0, l31 = 0,

2 2 2
l21 + l22 = 4, l22 = 4 − 1/4 = 15/4,

l21 l31 + l22 l32 = −1, l32 = −2/ 15,

2 2 2 2
l31 + l32 + l33 = 4, l33 = 4 − 4/15 = 56/15,

por lo que  
 2 0 0 
 
 
 √ 
L =  −1/2 15/2 0 .
 
 
 √ p 
0 −2/ 15 56/15

Ahora para resolver el sistema lineal A x = L L> x = b, debemos resolver los dos
sistemas triangulares L y = b y L> x = y. El primero de ellos tiene como solución
√ q
y = (1, 13/ 15, 56/15)> ,

y el segundo,
x = (1, 2, 1)> ,
que es la solución buscada.
(b) A−1 = (L> )−1 L−1 = (L−1 )> L−1 y la inversa de la matriz L es fácil de determinar
 

 0 56/2 0 
 

1  p 
p 
L−1 = √  56/15/2 2 56/15 0 

56  

 √ √ √ 
1/ 15 4/ 15 15
117

 
 1/2 0 0 
 
 
 √ √ 
= 15/30 2/ 15 0 ,
 
 
 √ √ p 
210/420 210/105 56/15

con lo que  
 15/56 1/14 1/56 
 
 
−1 −1 > −1  
A = (L ) L =  1/14 2/7 1/14  .
 
 
 
1/56 1/14 15/56

(c) Como la matriz A es diagonalmente dominante, la convergencia del método de Gauss-


Jacobi
x(k+1) = D−1 (b − (L + U ) x(k) ),

queda garantizada. Realizaremos cuatro iteraciones con el vector inicial x(0) = 0, que
dan lugar a    
 1/2   7/8 
   
   
(1)   (2)  
x =  3/2  , x =  7/4  ,
   
   
   
1/2 7/8
   
 0.9375   0.984375 
   
   
   
x(3) =  1.9375  , x(4) =  1.96875  ,
   
   
   
0.9375 0.984375

que claramente converge a la solución exacta determinada en la pregunta anterior.


(d) Como la matriz A es simétrica y definida positiva, la convergencia del método de
Gauss-Seidel
x(k+1) = (L + D)−1 (b − U x(k) ),

queda garantizada. Realizaremos cuatro iteraciones con el vector inicial x(0) = 0,


   
 1/2   0.90625 
   
   
(1)   (2)  
x =  13/8  , x =  1.95312  ,
   
   
   
29/32 0.988281
118 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

   
 0.988281   0.998535 
   
   
(3)   (4)  
x =  1.99414  , x =  1.99927  ,
   
   
   
0.998535 0.999817
que converge más rápidamente que el Gauss-Jacobi.
(e) El método de LeVerrier nos da el polinomio caracterı́stico

p(λ) = (−1)n (λn − p1 λn−1 − p2 λn−2 − · · · − pn−1 λ − pn ) = 0,

mediante el cálculo de los coeficientes

p1 = traza (B1 ), B1 = A,
1
p2 = traza (B2 ), B2 = A (B1 − p1 I),
2
... ...
1
pn = traza (Bn ), Bn = A (Bn−1 − pn−1 I).
n
El método de LeVerrier también permite determinar la inversa
1
A−1 = (Bn−1 − pn−1 I),
pn
ya que Bn − pn I = 0.
Aplicando el método de LeVerrier en nuestro caso, obtenemos
 
 4 −1 0 
 
 
 
B1 =  −1 4 −1  , p1 = 12,
 
 
 
0 −1 4
 
 −31 4 0 
 
 
 
B2 =  4 −30 4 , p2 = −92/2 = −46,
 
 
 
1 4 −31
 
 56 0 0 
 
 
 
B3 =  0 56 0  , p2 = 168/3 = 56,
 
 
 
0 0 56
119

por lo que
p(λ) = (−1)3 (λ3 − 12 λ2 + 46 λ − 56) = 0.

Para acotar las raı́ces podemos tantear algunos valores del polinomio caracterı́stico,
aunque este no es el procedimiento más eficiente y/o adecuado,

p(1) = −21, p(2) = −4, p(3) = 1,

p(4) = 0, p(5) = −1, p(6) = 4,

con lo que tenemos, por el teorema de Bolzano, una raı́z en [2, 3] (≈ 5.59), otra en
[5, 6] (≈ 5.41) y la última es exactamente 4.
(f) Vamos a realizar una descomposición LU de tipo Doolittle (es decir, A = L U donde
L es una matriz triangular inferior con unos en la diagonal principal y U es una
matriz triangular superior). Esta factorización se determina fácilmente igualando fila
y columna, alternativamente, en el producto de matrices siguiente
    
 1 0 0   u11 u21 u31   4 −1 0 
     
     
     
 l21 1 0   0 u22 u32  =  −1 4 −1  ,
     
     
     
l31 l32 1 0 0 u33 0 −1 4

es decir,

u11 = 4, u12 = −1, u13 = 0,

l21 = −1/4, l31 = 0,

l11 l31 = 0, l31 = 0,

u22 = 4 − l21 u12 = 15/4, u23 = −1,

l32 = −1/u22 = −4/15, u33 = 4 − l32 u23 = 56/15,

por lo que
   
 1 0 0   4 −1 0 
   
   
   
L =  −1/4 1 0  , U = 0 15/4 −1 .
   
   
   
0 −4/15 1 0 0 56/15
120 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

11. Examen 9/Junio/1993. Dado el sistema A x = b, donde


   
 10 3 1   14 
   
   
   
A =  2 −10 3  , b =  −5  ,
   
   
   
1 3 10 14

resuélvalo por medio de los siguientes métodos

(a) un método directo que, a su juicio, sea el más preciso,

(b) justifique el uso del método que utilizó en (a),

(c) ¿puede resolver este sistema por el método de Gauss-Jacobi? ¿Por qué? Si lo puede
hacer, haga sólo dos iteraciones y determine la tasa de convergencia,

(d) ¿puede resolver este sistema por el método de Gauss-Seidel? ¿Por qué? Si lo puede
hacer, haga sólo dos iteraciones y determine la tasa de convergencia,

(e) utilice un parámetro de relajación w y determine para qué valores de dicho parámetro
un método de relajación converge. Para un valor w 6= 0 y w 6= 1, si para dicho valor
el método converge, haga dos iteraciones y determine la tasa de convergencia del
método de relajación que ha utilizado.

Solución. Dado el sistema A x = b, donde


   
 10 3 1   14 
   
   
   
A =  2 −10 3  , b =  −5  ,
   
   
   
1 3 10 14

resuélvalo por medio de los siguientes métodos

(a) Dado que la matriz no es simétrica, vamos a utilizar el método de Gauss-Jorda con
pivotaje total o completo. Para el primer pivote no hay que reordenar la matriz, y
tenemos    
 10 3 1 14   10 3 1 14 
   
   
   
 2 −10 3 
−5  →  0 53 −14 39 ;
  
   
   
1 3 10 14 0 −27 −99 −126
121

ahora debemos intercambiar las filas 2 y 3, y las columnas 2 y 3,


   
 10 3 1  14
 10 3 1 14 
   
   
   
 0 −99 −27 −126  →  0 −99 −27 −126  ;
   
   
   
0 −14 53 39 0 0 5625 5625

y ahora resolviendo el sistema triangular superior obtenido recordando que las


incógnitas están en el orden 2, 3, 1, tenemos

x2 = 1, x3 = (−126 + 27)(−99) = 1, x1 = 1.

(b) La ventaja del método de Gauss-Jordan con pivotaje completo es que minimiza posi-
bles diferencias cancelativas y divisiones por números cercanos pequeños, que son
susceptibles a propagación de errores.
(c) Al ser la matriz de coeficientes A diagonalmente dominante por filas, el método
iterativo de Gauss-Jacobi está garantizado que converge,

x(k) = D−1 (b − (L + U ) x(k−1) ).

Vamos a realizar dos iteraciones a partir de x(0) = 0,

x(1) = (7/5, 1/2, 7/5)> , x(2) = (111/100, 6/5, 111/100)> .

La tasa de convergencia del método de Gauss-Jacobi es el radio espectral de su matriz


de convergencia
ρ(D−1 (L + U )),

donde  
 0 3 1 
 
1  
 
J = D−1 (L + U ) =  −2 0 −3 
10 



 
1 3 0

cuyo polinomio caracterı́stico es

|J − λ I| = −3/200 − 7 λ/50 − λ3 = (1 + 10 λ) (−3 + 2 λ − 20 λ2 ) = 0,

que resolviendo la ecuación cuadrática (2 raı́ces complejas conjugadas) nos da para


el radio espectral, es decir, la tasa de convergencia del método de Gauss-Jacobi
√ √
ρ(J) = max |λJi | = max{1/10, 15/10} = 15/10 ≈ 0.387.
i
122 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

La tasa de convergencia también se puede estimar utilizando los dos últimos (en
nuestro caso los únicos) iterados del método de la forma

ke2 k1 21
ke2 k ≤ kJk ke1 k, kJk ≈ = ≈= 0.323,
ke1 k1 65

donde ei = x − xi .
(d) Al ser la matriz de coeficientes A diagonalmente dominante por filas, el método
iterativo de Gauss-Seidel está garantizado que converge (de hecho, si Gauss-Jacobi
converge entonces también lo hace Gauss-Seidel y más rápido),

x(k) = (L + D)−1 (b − U x(k−1) ).

Vamos a realizar dos iteraciones a partir de x(0) = 0,

x(1) = (7/5, 39/50, 513/500)> , x(2) = (1.0634, 1.02048, 0.987516)> .

La tasa de convergencia del método de Gauss-Jacobi es el radio espectral de su matriz


de convergencia
ρ((L + D)−1 U ),

donde  
 0 3/10 1/10 
 
 
 
S = (L + D)−1 U =  0 3/50 −7/25 
 
 
 
0 −6/125 37/500

cuyo polinomio caracterı́stico es

|J − λ I| = 9 λ/1000 + 67 λ2 /500 − λ3 ,

que resolviendo la ecuación cuadrática (2 raı́ces reales) nos da para el radio espectral,
es decir, la tasa de convergencia del método de Gauss-Seidel

ρ(S) = max |λSi | = max{0, −0.0491, 0.183} ≈ 0.183.


i

La tasa de convergencia también se puede estimar utilizando los dos últimos (en
nuestro caso los únicos) iterados del método de la forma

ke2 k1 24091
ke2 k ≤ kSk ke1 k, kSk ≈ = ≈= 0.149,
ke1 k1 161500

donde ei = x − xi .
123

(e) Vamos a aplicar el método de relajación al método iterativo de Gauss-Seidel,

x(k) = w (L + D)−1 (b − U x(k−1) ) + (1 − w) x(k−1) .

Para estudiar la convergencia de este método tenemos que calcular su tasa de con-
vergencia
ρ(SOR) = ρ((1 − w) I − w (L + D)−1 U ),

donde  
 1−w −3 w/10 −w/10 
 
 
 
SOR =  0 1 − 53 w/50 7 w/25 
 
 
 
0 6 w/125 1 − 537 w/500

cuyo polinomio caracterı́stico es


2134 1125 2
|SOR − λ I| = (w − 1 + λ) (−1 + 2 λ − 1 λ2 + (1 − λ) w − w ),
1000 1000
que resolviendo la ecuación cuadrática nos dan los autovalores

λSOR = 1 − w, λSOR = 1 − (1067 ± 13489) w/1000,

es decir,

λSOR = 1 − w, λSOR = 1 − 1.183 w, λSOR = 1 − 0.9509 w,

y la tasa de convergencia del método de Gauss-Seidel con relajación

ρ(SOR) = max |λSORi | = max {|1 − w|, |1 − 1.183 w|, |1 − 0.9509 w|},
i 0≤w≤2

será mı́nima para un w∗ y valdrá (como se puede comprobar fácilmente dibujando


las funciones en w) en la región en la que converge




 1 − 0.9509 w, 0 < w ≤ w∗ ,
1 > ρ(SOR) =



 −1 + 1.183 w, w∗ ≤ w < 1.690,

dando como valor óptimo

1 − 0.9509 w∗ = −1 + 1.183 w∗ , w∗ = 0.937,

es decir, realizaremos una subrelajación en lugar de una sobrerrelajación con una tasa
de convergencia de
ρ(SOR) ≈ 0.1088.
124 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

Vamos a realizar dos iteraciones a partir de x(0) = 0,

x(1) = (1.312, 0.73102, 0.9616)> , x(2) = (1.0988, 0.9882, 0.9882)> .

12. Examen 6/Julio/1995. Para la resolución del sistema B x = b, donde x, b ∈ IR2 , se


propone el siguiente método iterativo

x(k+1) = b + A x(k) , k ≥ 0,

donde  
 λ c 
 
A= , λ, c ∈ IR.
 
0 −λ

(a) ¿Para qué valores de λ y c existe solución única?

(b) Sea xP F el punto fijo de la iteración. Calcule xP F − x(k) para aquellos valores de λ
y c para los que existe solución única. Suponga que |λ| < 1.

(c) Para las condiciones del apartado (b), ¿cómo se comporta kxP F − x(k) k∞ y kx(k+1) −
x(k) k∞ , cuando k → ∞? ¿Es la convergencia al punto fijo independiente de c?
Justifique todos los resultados.

Solución.

(a) Para el punto fijo (I − A) xP F = b,


 
 1−λ −c 
 
  xP F = B xP F = b,
 
0 1+λ

y para que haya solución |B| = 1 − λ2 6= 0, por lo que λ 6= ±1.

(b) Calculemos las potencias de A,


    
 λ c   c   λ2 0 
2   λ   
A = AA =   = ,
    
0 −λ 0 −λ 0 λ2

    
 λ2 0   c   λ3 λ2 c 
3  2  λ   
A =A A=  = ,
    
0 λ2 0 −λ 0 −λ3
125

 
 λ4 0 
4  2 2 
A =A A = ,
 
0 λ4

y finalmente  
 λk 0 
 
Ak =  , si k es par,
 
0 λk
 
 λk λk−1 c 
 
Ak =  , si k es impar.
 
0 −λk

Para estudiar la convergencia de la iteración acotaremos el error

e(k) = xP F − x(k+1) = A e(k−1) = Ak e(0) ,

aplicando normas infinito

ke(k) k∞ = kAk e(0) k∞ ≤ kAk k∞ ke(0) k∞ ,

y utilizando las expresiones que hemos derivado previamente

kAk k∞ = max{|λk |, |λk |} = |λk |, si k es par,

kAk k∞ = max{|λk | + |λk−1 c|, | − λk |}


¯ ¯
k
¯c¯
= |λ | max{1 + ¯¯ ¯¯ , 1} si k es impar.
λ

Si c y λ tienen el mismo signo y c/λ À 1 está claro que kAk k∞ oscila entre |λ|k para
k par y |λ|k (1 + |c|/|λ|) À |λ|k , para k impar. Estas oscilaciones también ocurren
si |c|/|λ| À 1. Para fijar ideas suponga que c = α + β λγ , donde α, β y γ son
independientes de λ. Para este valor tenemos

λk + λk−1 c = λk + α λk−1 + β λk−1+β ,

y si α y β son O (1), está claro que para |λ| < 1, |λ|k−1 > |λ|k , mientras que el tercer
término es mayor que el segundo si β < 0. Una vez que k − 1 + β > 1, el tercer
término |λ|k−1+β < 1. Esto significa que la convergencia al punto fijo depende de c y
de su relación con λ. Más concretamente, depende de c/λ.
126 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

(c) Queremos estudiar

x(k+1) − x(k) = A (x(k) − x(k−1) ) = A2 (x(k−1) − x(k−2) )

= Ak (x(1) − x(0) ),

por lo que
kx(k+1) − x(k) k ≤ kAk k∞ k(x(1) − x(0) )k∞ ,

por lo que kx(k+1) − x(k) k oscila de la misma manera que ke(k) k∞ en el apartado
anterior.

13. Examen 4/Septiembre/1997. Para la resolución del sistema lineal en IRn×n de

A x = b, |A| =
6 0,

se propone el método iterativo

x(k+1) = B x(k) + c.

Se pide:

(a) Calcular o determinar B y c


(b) Las condiciones para que el método converja si B y c se mantienen fijos durante el
proceso iterativo (método estacionario)
(c) Las condiciones para que el método converja si B y c cambian durante el proceso
iterativo (método no estacionario), es decir,

x(k+1) = Bk x(k) + ck .

(d) Utilice un método de relajación para la iteración del apartado (c) y determine las
condiciones para las que dicho método converje.

Solución.

(a) La iteración
x(k+1) = Bk x(k) + ck ,

cuando converja se convertirá en

x = B x + c, ⇒ A−1 b = B A−1 b + c,

luego
c = (I − B) A−1 b = M b,
127

y, por otro lado,


M A = (I − B), ⇒ B = I − M A.

Para estudiar la convergencia del método estudiaremos el error

e(k) = x(k) − x, e(k) = B e(k−1) = B k e(0) ,

y aplicando normas
ke(k) k ≤ kBkk ke(0) k,

y para la convergencia kBk < 1. Como kBk ≥ |λB |, los autovalores tienen que ser de
módulo menor que la unidad.
(b) Para un método iterativo no estacionario

x(k+1) = Bk x(k) + Mk b, x = Bk x + Mk b,

el error toma la forma


k−1
Y
e(k) = Bk e(k−1) = Bi e(0) ,
i=0
y aplicando normas
k−1
Y
(k)
ke k≤ kBi k ke(0) k,
i=0
la condición de convergencia es
k−1
Y
kBi k < 1.
i=0

(c) Un método no estacionario de relajación se obtiene de la expresión

x(k+1) (1 + wk ) = Bk x(k) (1 + wk ) + Mk b (1 + wk ),

x(k+1) = −wk x(k+1) + (1 + wk ) Bk x(k) + (1 + wk ) Mk b,

y toma la siguiente forma (cerca de la convergencia x(k) ≈ x(k+1) ),

x(k+1) = −wk x(k) + (1 + wk ) Bk x(k) + (1 + wk ) Mk b,

que se puede escribir

x(k+1) = ((1 + wk ) Bk − wk I) x(k) + (1 + wk ) Mk b,

con lo que el error sigue la ecuación

e(k+1) = Pk e(k) , Pk ≡ (1 + wk ) Bk − wk I,
128 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

k−1
Y
e(k) = Pi e(0) ,
i=0

y tomando normas
k−1
Y
ke(k) k ≤ kPi k ke(0) k,
i=0

la iteración convergerá si
k−1
Y k−1
Y
1> kPi k = k(1 + wk ) Bk − wk Ik
i=0 i=0

k−1
Y wk
= (1 + wk ) kBk − Ik.
i=0
(1 + wk )

14. Dado el sistema A x = b, donde


   
 3 2 1   1 
   
   
   
A= 2 3 1  , b =  2 ,
   
   
   
1 1 3 3

resuélvalo por medio de los siguientes métodos

(a) por factorización de Cholesky.

(b) ¿Puede resolver este sistema por el método de Gauss-Seidel? ¿Por qué? Si lo puede
hacer, haga sólo dos iteraciones a partir de la solución nula y determine la tasa
numérica de convergencia. Además calcula la tasa exacta de convergencia. ¿Cuántas
iteraciones necesitará para alcanzar un error absoluto de 10−5 .

(c) ¿Puede resolver este sistema por el método del descenso más rápido? ¿Por qué? Si lo
puede hacer, haga sólo tres iteraciones y determine la tasa numérica de convergencia.

(d) ¿Puede resolver este sistema por el método del gradiente conjugado? ¿Por qué? Si
lo puede hacer, haga sólo tres iteraciones a partir de la solución nula y determine
la tasa numérica de convergencia. ¿Cuántas iteraciones necesitará para alcanzar un
error absoluto de 10−5 .

(e) Desarrolle un método de relajación basado en el método del gradiente conjugado.


Determine para qué valores del parámetro w el método de relajación converge. ¿Cómo
determinarı́a el w óptimo? Itere tres veces el método que ha obtenido (con el w
óptimo).
129

Solución.

(a) Se puede aplicar la factorizando de Cholesky L> L porque la matriz es simétrica


y definida positiva (demuestrelo). Operando (realice los detalles) se obtiene como
solución
x = (−5/13, 8/13, 12/13)> .

(b) El método de Gauss-Seidel es aplicable porque la matriz es simétrica y definida pos-


itiva. Dos iteraciones conducen a

x(0) = (0, 0, 0)> , x(1) = (1/3, 4/9, 20/27)> ,

x(2) = (−17/81, 136/243, 644/729)> ,

y la tasa de convergencia numérica la podemos calcular como (en norma infinito)


kx(2) − xk 46
= = 0.24,
kx(1) − xk 189
que se parece poco a la tasa de convergencia exacta

ρ((L + D)−1 U ) = 0.413.

NOTA: calculando más iteraciones nos acercamos a la tasa teórica, por ejemplo,
kx(10) − xk
= 0.413.
kx(9) − xk
Para alcanzar (en norma infinito) un error absoluto menor que 10−5 se requieren 13
iteraciones.
(c) El sistema se puede resolver al ser la matriz A simétrica y definida positiva. El
método consiste en, para la iteración k-ésima
hr(k) , r(k) i
r(k) = b − Ax(k) , tk = , x(k+1) = x(k) + tk r(k) ,
hr(k) , Ar(k) i
lo que conduce a

x(0) = (0, 0, 0)> , x(1) = (7/34, 7/17, 21/34)> ,

x(2) = (−0.170987, 0.317547, 0.806082)> ,

x(3) = (−0.154596, 0.450727, 0.90545)> .

La tasa numérica del error nos da en este caso


kx(3) − xk kx(10) − xk
= 0.77, = 0.66,
kx(2) − xk kx(9) − xk
que indica que este método es más lento que Gauss-Seidel.
130 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

(d) El sistema se puede resolver al ser la matriz A simétrica y definida positiva. El


método consiste en, para la iteración k-ésima

hr(k) , r(k) i
tk = , x(k+1) = x(k) + tk p(k) ,
hp(k) , Ap(k) i

r(k+1) = r(k) − tk Ap(k) ,


hr(k+1) , r(k+1) i
sk = , p(k+1) = r(k+1) + sk p(k) ,
hr(k) , r(k) i
con p(0) = r(0) = b − Ax(0) y con la condición de fin kr(k+1) k ≈ 0. Este método nos
da entonces

x(0) = (0, 0, 0)> , x(1) = (7/34, 7/17, 21/34)> ,

x(2) = (−14/67, 26/67, 66/67)> ,

x(3) = (−5/13, 8/13, 12/13)> = x,

esta última solución con residuo cero, como es de esperar. En tres itraciones hemos
obtenido la solución exacta, luego es un método más rápido que los dos anteriores.
Para obtener un error menor que 10−5 es necesario realizar las tres iteraciones.
(e) Sea x(k+1),CG la solución en cada iteración del método del gradiente conjugado, en-
tonces definimos el método de relajación

x(k+1) = (1 − w)x(k) + wx(k+1),CG .

Este método no es consistente, aunque converge, pero a un vector que no es solución


del problema lineal a resolver, salvo que w = 1. Es fácil ver que el método converge
a wx.

15. Dada la matriz  


 2 1 0 0 
 
 
 
 1 4 1 0 
 
A= ,
 
 0 1 4 1 
 
 
 
0 0 1 2

calcule su factorización LU por medio de los métodos de Doolittle y Crout. Calcule también
la descomposición de Cholesky y la descomposición de Cholesky modificada (L> DL).

Solución. Este ejercicio es caso particular del próximo, luego no detallaremos su solución.
131

16. Dada un sistema tridiagonal < ai , °,


bi ci > x =< di >,

b1 x1 + c1 x2 = d1 ,

a2 x1 + b2 x2 + c2 x3 = d2 ,

a3 x2 + b3 x3 + c3 x4 = d3 ,

..
.

an−1 xn−1 + bn xn = dn ,

escribe el algoritmo de factorización de Doolittle y de Crout para dicho sistema general


(Algoritmos de Thomas).

Solución. El método de Doolittle consiste en factorizar A = LU con L de diagonal unitaria,

  
 1 0 0 ··· 0   u11 u12 0 ··· 0 
  
  
  
 l21 1 0 0  0 u22 u23 0 
  
  
 ..  .. .. 
  . 
 0 l32 1 .  0 0 u33 . 
  
  
 .. .. ..   .. .. 
 . . . 0  . . un−1,n 
  
  
  
0 ··· ln,n−1 1 0 ··· 0 unn

u11 = b1 , u12 = c1 , l21 = a2 /u11 ,

ukk = bk − lk,k−1 uk−1,k , uk,k+1 = ck , lk+1,k = ak /ukk ,

k = 2, 3, . . . , n.

Y como solución del sistema, Ly = d, U x = y, obtenemos

y1 = d1 , yk = dk − lkk−1 yk−1 , k = 2, . . . n,

xn = yn /unn , xk = (yk − uk,k+1 yk+1 )/ukk , k = n − 1, . . . , 1.


132 Capı́tulo 5. Ejercicios resueltos: Métodos iterativos para ecuaciones lineales

Para la factorización de Crout el procedimiento es del todo similar,


  
 l11 0 0 ··· 0   1 u12 0 ··· 0 
  
  
  
 l21 l22 0 0   0 1 u23 0 
  
  
 ..   .. .. 

 0 l32 l33 . 


0 0 1 . . 

  
  
 .. .. ..  .. .. 
 . . . 0   . . un−1,n 
  
  
  
0 ··· ln,n−1 lnn 0 ··· 0 1

l11 = b1 , l21 = a2 , u12 = c1 /l11 ,

lkk = bk − lk,k−1 uk−1,k , lk+1,k = ak , uk,k+1 = ck /lkk ,

k = 2, 3, . . . , n.

Y como solución del sistema, Ly = d, U x = y, obtenemos

y1 = d1 /l11 , yk = (dk − lkk−1 yk−1 )/lkk , k = 2, . . . n,

x n = yn , xk = yk − uk,k+1 yk+1 , k = n − 1, . . . , 1.

También podría gustarte