Metodos Iterativos para Sistemas de Ecuaciones Lineales PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 61

15 mm

15 mm 15 mm

Elena Nito del Bosque


Ana Gómez15Pérez
mm
10 mm
Sistemas Diferenciales
Exteriores: el teorema de
Frobenius
Métodos iterativos para sistemas
Exterior Differential Systems: Frobenius
de ecuaciones lineales
theorem
Iterative methods for systems of linear equations
Trabajo Fin de Grado
Departamento de Análisis
Trabajo Fin de Grado
Matemático
Grado en Matemáticas
La Laguna,
La Laguna,Julio
Octubre
de 2018de 2016

Dirigido por
Domingo Hernández Abreu
Agradecimientos

A Domingo Hernández Abreu por su excelente orientación


durante todo el proceso de realización del proyecto.
A mi familia y amigos por su apoyo incondicional.
Resumen · Abstract

Resumen

En la presente memoria se estudian diversos métodos iterativos para resolver


sistemas lineales de ecuaciones. Inicialmente se incluye una breve introducción
sobre los métodos directos. A continuación se pasa a analizar los métodos iterati-
vos clásicos de Jacobi y Gauss-Seidel ası́ como la convergencia, particularizando
en el análisis de las matrices estrictamente diagonal dominantes e irreducible-
mente diagonal dominantes. Asimismo, se considera el método de relajación,
estudiando su convergencia en función del parámetro de relajación, en concreto
para matrices consistentemente ordenadas. También se introduce otra clase de
métodos iterativos basados en subespacios de Krylov: el método del Gradien-
te Conjugado para matrices simétricas y definidas positivas, y el método del
residual mı́nimo generalizado para cualquier matriz arbitraria. Finalmente se
presentan algunos ejemplos comparando los diferentes métodos según su tiem-
po CPU, error y número de iteraciones para sistemas lineales resultantes de
la discretización espacial de la ecuación en derivadas parciales con coeficientes
constantes de tipo difusión-convección-reacción.

Palabras clave: Métodos iterativos-Jacobi-Gauss-Seidel-Subespacios de Krylov-


Gradiente Conjugado-Residual mı́nimo generalizado-Precondicionamiento-
Discretización espacial de EDPs.
Abstract

In this project several iterative methods are studied to solve linear systems of
equations. First, a brief introduction about the direct methods are included.
Next, the classic iterative methods of Jacobi and Gauss-Seidel are considered.
A convergence analysis focusing on strictly diagonally dominant and irreducibly
diagonally dominant matrices is presented. Likewise, the relaxation method is
considered by studying its convergence as a function of the relaxation parame-
ter, specifically, for consistently ordered matrices. Also, other classes of iterative
methods based on Krylov subspaces are introduced: the Conjugate Gradient met-
hod, for symmetric and positive definite matrices, and the generalized minimal
residual method for any nonsingular matrix. Finally, some examples are illus-
trated comparing the different methods according to their CPU time, error and
number of iterations for linear systems arising from the spatial discretization of
diffusion-convection-reaction partial differential equations with constant coeffi-
cients.

Keywords: Iterative methods-Jacobi-Gauss-Seidel-Krylov subspaces-Gradient


Conjugate-Generalized minimal residual-Preconditioning-Spatial discretization
of PDEs.
Contenido

Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Resumen/Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

1. Métodos iterativos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Métodos iterativos de punto fijo y algunos tipos especiales de matrices . . . . . . 4
1.3. Método de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4. Método de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5. Método de relajación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2. Métodos basados en subespacios de Krylov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


2.1. Subespacios de Krylov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2. Método del Gradiente Conjugado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1. Método del Gradiente Conjugado para matrices simétricas y
definidas positivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.2. Método del Gradiente Conjugado para ecuaciones normales . . . . . . . . 28
2.3. Método del residual mı́nimo generalizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4. Iteraciones precondicionadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3. Ilustración Numérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1. Aplicación a la discretización espacial de EDPs . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Bibliografı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Póster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
1
Métodos iterativos básicos

1.1. Introducción
A lo largo de este trabajo estudiaremos diferentes métodos para resolver grandes siste-
mas lineales de ecuaciones
Ax = b con A ∈ RN×N regular, b ∈ RN , (1.1)
o bien, en forma desarrollada
N
X
akj xj = bk , k = 1, . . . , N,
j=1

con x∗ = A−1 b ∈ R solución única. Mediante métodos directos se obtiene la solución exacta
en un número finito de pasos. El método directo más clasico es el método de la Eliminación
Gaussiana, el cual consiste en descomponer la matriz A en el producto LU donde L es una
matriz triangular inferior y U es matriz triangular superior, de modo que el sistema Ax = b
resulta equivalente a dos sistemas triangulares Ly = b y U x = y que a su vez se resuelven por
sustitución hacia delante y hacia atrás. En [3, Cap.3-4] pueden encontrarse diversos resultados
que permiten garantizar la existencia de una descomposición LU bajo condiciones adecuadas.
En particular, de [3, p.144], si det(A(1 : k, 1 : k)) 6= 0 para k = 1, . . . , N , entonces existe una
única descomposición A = LU , con lii = 1, 1 ≤ i ≤ N .
Por otra parte, si A es una matriz simétrica y definida positiva, es decir, A> = A y
w> Aw > 0 para todo w ∈ RN \{0}, entonces A se puede factorizar de forma única según la
descomposición de Cholesky como A = LL> donde L es una matriz triangular inferior con
elementos diagonales positivos [3, p.163]. Por tanto, determinar la solución del sistema Ax = b
equivale a resolver dos sistemos triangulares Ly = b y L> x = y.
Tanto la descomposición LU como la de Cholesky requieren O(N 3 ) operaciones.
Otro tipo diferente de descomposición para una matrix rectangular A se denomina
descomposición QR, que consiste en factorizar A ∈ RM ×N en un producto de una matriz
ortogonal Q ∈ RM ×M y una matriz triangular R ∈ RM ×N , (ver [3, p.245]). Recordemos que
una matriz Q ∈ RM ×M se dice ortogonal si QQ> = Q> Q = I. Además, la matriz rectangular
R ∈ RM ×N se dice triangular superior si Rij = 0, para todo i > j.
En particular, esta descomposición QR se utiliza para hallar las soluciones de proble-
mas de mı́nimos cuadrados. Además, el sistema de ecuaciones normales A> Ax = A> b puede
simplificarse en dos sistemas más sencillos y = Q> b y Rx = y, ya que 0 = A> (b − Ax) =
R> Q> (b − Ax) = R> (Q> b − Rx).
Finalmente, el calculo de las matrices Q y R puede realizarse en O(M N 2 ) operaciones
por muchos algoritmos entre los que destacaremos: el método de Householder que podemos
encontrar en [3, p.248], una modificación del método de ortonormalización de Gram-Schmidt
y el método de rotaciones de Givens que veremos en el Capı́tulo 2.
A continuación introducimos un ejemplo donde se refleja el alto coste computacional
que pueden conllevar los métodos directos.
2 Ana Gómez Pérez

Ejemplo 1.1. El problema de Dirichlet para la ecuación de Poisson con condiciones de frontera
homogéneas en el cuadrado unidad,

 ∂2u ∂2u

− 2 − =f en Ω := (0, 1)2 ,
∂x ∂y 2 (1.2)
u= 0 en Γ := ∂[0, 1]2 ,

donde f : [0, 1]2 −→ R es una función continua y la función u : [0, 1]2 −→ R debe determinarse.
Asumimos que el problema (1.2) tiene una única solución u que es continua y dos veces
continuamente diferenciable en Ω.
Consideramos una malla de puntos equidistantes que abarque [0, 1]2
1
xk = kh, yj = jh, k, j = 0, 1, ..., M + 1, h= (1.3)
M +1
2 2
Con respecto a la malla (1.3), la ecuación de Poisson − ∂∂xu ∂ u
2 − ∂y 2 = f se considera
solamente en el interior, con puntos (xk , yj ), 1 ≤ k, j ≤ M , mientras que las derivadas parciales
se aproximan por diferencias centrales de segundo orden,

∂2u −u(xk−1 , yj ) + 2u(xk , yj ) − u(xk+1 , yj )




 − 2 (xk , yj ) = + O(h2 ),
∂x h2






∂2u −u(xk , yj−1 ) + 2u(xk , yj ) − u(xk , yj+1 ) (1.4)
− 2 (xk , yj ) = + O(h2 ),
h2



 ∂y




k, j = 1, ..., M,

siempre que u ∈ C 4 ([0, 1]2 ). Truncando los términos O(h2 ) en (1.4), se obtiene el sistema lineal
de N = M 2 ecuaciones lineales

−Uk−1,j − Uk,j−1 + 4Uk,j − Uk,j+1 − Uk+1,j = h2 fk,j , 1 ≤ j, k ≤ M (1.5)


para las aproximaciones, Uk,j ≈ u(xk , yj ) con Uk,0 = U0,j = 0 y fk,j = f (xk , yj ) para
k, j = 1, 2, ..., M , donde la matriz asociada se puede escribir como
 (1)
−I

A
 .. 
 −I A(1) .
 
A=


 .. .. 
 . . −I 
−I A(1)

con A(1) = T ridiag(−1, 4, −1). En la Sección 3.1 se dará una expresión aún más compacta
para la matriz A usando el denominado producto de Kronecker de matrices.
En concreto, las ecuaciones (1.5) se escriben en forma matricial de la siguiente manera,
Métodos iterativos para sistemas de ecuaciones lineales 3

4 −1 −1
 
   
U1,1 f1,1
 −1 . . . .. ..
 
. .   .   . 
   .   . 

 .. .. ..

  .   . 
 . . −1 .   . 
 
 . 
 
  .
 .   .. 

 −1 4 −1 
    
U  f 
 ..   M,1   M,1 
.
 
 −1 4 −1   U
 1,2 
  f
 1,2 

   .   . 
 .. . .. .. 
−1 . .
 .   . 

 . . . 
  . 
 
 . 
 

.. .. .. ..
  .   . 
   .   . 

 . . . −1 . 
  .   . 
−1 −1 4
   

 ..

  UM,2   fM,2 
. 
 . 
  
 .  = h2  .. 
   
 
 .. ..   .   . 
. . −1
 
 ..   .. 
     
   .   . 
 .. .. ..     
 . . .   .   . 
   .   . 

 .. .. ..

  .   . 
 . . .  
 . 
 
 . 

   .   . 
 .. .. −1   .   . 
. .
 
 U1,M   f1,M 
     
 
 −1 4 −1  
 . 
 
 . 

   ..   .. 
 .. .. ..     

 . −1 . .

  . 
 . 
 . 
 . 

 .. .. ..

  .   . 
 . . . −1  UM,M fM,M
−1 −1 4
| {z }
:=A

La matriz A ∈ RN ×N es una matriz sparse (dispersa) y servirá de referencia para las


clases de matrices que introduciremos en el desarrollo de este capı́tulo.

Observación 1.2. En el lado izquierdo de la ecuación (1.5) aparecen aproximaciones para


u(x, y) en el punto (xk , yj ) y cuatro puntos vecinos (xk±1 , yj±1 ) para todo (i, j). Por ello el
esquema es conocido como fórmula de 5 puntos. Por otra parte, el orden dado en la cuadrı́cula
de puntos para obtener la formulación matricial se conoce como orden lexicográfico (por filas).

En las siguientes secciones, introduciremos los métodos iterativos de Jacobi, Gauss-


Seidel y sobre relajación sucesiva. En general, estos métodos consideran un vector inicial arbi-
trario x(0) y calculan sucesivamente vectores x(1) , x(2) , x(3) , ... de acuerdo al método aplicado.
Cualquiera de estos métodos involucrarán:
Una o dos operaciones matriciales, cada una de las cuales requiere N 2 multiplicaciones.
Varias operaciones pequeñas, por ejemplo, calcular la suma de vectores que requiere un
total de O(N ) operaciones aritméticas.
En total, la ejecución de una sola iteración requiere O(N 2 ) operaciones aritméticas.
Si el rendimiento del método iterativo es suficientemente bueno después de un número consi-
derable de n  N iteraciones, entonces la cantidad total será considerablemente menor que
O(N 3 ) operaciones ariméticas, que es el costo asociado a métodos directos como la eliminación
gaussiana, la descomposición de Cholesky o la factorización QR.
En el Capı́tulo 2 presentaremos los subespacios de Krylov en los que se basarán los
métodos iterativos que estudiaremos: método de Gradiente Conjugado para matrices simétricas
y definidas positivas y su variante GCNR para el caso general tratado a través del sistema
de ecuaciones normales AT Ax = AT b. Seguidamente desarrolaremos el método del residual
4 Ana Gómez Pérez

mı́nimo generalizado para cualquier matriz regular. Por último se presentarán sus variantes
precondicionadas para una mayor eficiencia de los métodos.
Finalmente, en la Sección 3 se realizarán diferentes ejemplos en Matlab comparando los
tiempos de computación, los errores y el número de iteraciones de los métodos tanto directos
como iterativos.

Observación 1.3. Durante las siguientes secciones haremos uso de la siguiente notación. Sea
A = (aij ) ∈ RN ×N y v ∈ RN , definimos las siguientes normas.
La p-norma de la matriz A es
kAkp := máx kAvkp , 1≤p≤∞ (1.6)
kvkp =1

!1/p
n
|vj |p
P
donde la p-norma del vector v es kvkp := , 1 ≤ p < ∞, y kvk∞ = máx |vj |.
j=1 1≤j≤n
N
P N
P
Recordemos kAk1 := máx |aij | y kAk∞ := máx |aij |.
1≤j≤N i=1 1≤i≤N j=1
Por otra parte, sean λ1 , ..., λN autovalores de A, denominamos al radio espectral de A
como
ρ(A) := máx |λi |.
i=1,...,N

Con esto, kAk2 = ρ(A∗ A) siendo A∗ la matriz traspuesta conjugada de A. Además, si A es


p

simétrica, kAk2 = ρ(A).


Finalmente, definimos el número de condición de A regular con respecto a la norma
matricial k · k como el número real cond(A) := kAkkA−1 k. En particular, denotamos condp (A)
al número de condición de la matriz A con respecto a la norma (1.6). Además,
s
λmáx (A∗ A)
cond2 (A) = .
λmı́n (A∗ A)
Por otra parte, es interesante tener en cuenta el número de condición espectral
máx{|λi (A)/i = 1, . . . , N }
condsp (A) :=
mı́n{|λi (A)/i = 1, . . . , N }
Claramente, cond2 (A) = condsp (A) si A es simétrica.

1.2. Métodos iterativos de punto fijo y algunos tipos


especiales de matrices
Una clase de método iterativo que produce una aproximación a la solución x∗ de la
ecuación (1.1) es la obtenida reformulando Ax = b como una ecuación de punto fijo de la
forma:

x = Hx + z (1.7)
donde H ∈ RN ×N es una matriz de iteración adecuada y z ∈ RN un vector fijo. Luego, lo
único que necesitamos exigir es que la solución x∗ ∈ RN sea el único punto fijo de (1.7). La
iteración del método del punto fijo que corresponde a (1.7) viene dada por

x(n+1) = Hx(n) + z, n = 0, 1, ... (1.8)


donde x(0) ∈ RN es un vector inicial arbitrario.
Métodos iterativos para sistemas de ecuaciones lineales 5

Definición 1.4. El método de punto fijo (1.8) para determinar la solución x∗ ∈ RN de (1.1)
es convergente si, para cualquier valor inicial x(0) ∈ RN , se cumple

lı́m kx(n) − x∗ k = 0
n→∞
donde k · k : RN → R es una norma vectorial cualquiera en RN . En caso de que el método no
converja, entonces se dice divergente.

Observación 1.5. En lo que sigue denotamos por σ [M ] al conjunto de autovalores, o espectro,


de la matriz M y ρ(M ) = máx |λ| su radio espectral.
λ∈σ(M )
Dada una norma vectorial k·k en RN consideramos la norma matricial inducida definida
kM xk
como kM k := sup = sup kM xk con M ∈ RN ×N . Observar que kM k ≥ ρ(M ), pues
x6=0 kxk kxk=1
tomando λ ∈ σ [M ] con |λ| = ρ(M ) y v 6= 0 autovector de M asociado a λ, entonces kM k ≥
kM vk |λ|kvk
= = ρ(M ).
kvk kvk

Para abordar la convergencia de métodos iterativos de punto fijo consideramos el si-


guiente Teorema (de Von Neumann) cuya prueba puede encontrarse en [5].

Teorema 1.6. ([5, p.256]) Para una matriz A ∈ RN ×N , los siguientes enunciados son equi-
valentes:
1. σ[A] ⊂ {λ ∈ C : |λ| < 1}.
2. Existe una norma vectorial k · k : RN → R tal que kAk < 1.

Aν es convergente.
P
3. La serie
ν=0
4. Aν → 0 para ν → ∞.
P∞
Si se cumple al menos una de las anteriones condiciones, entonces (I − A)−1 = ν=0 Aν .

Teorema 1.7. El método iterativo (1.8) es convergente si y sólo si ρ(H) < 1.

Demostración. Puesto que x∗ = Hx∗ + z, se tiene que x(n+1) − x∗ = H(x(n) − x∗ ), n ≥ 0.


Luego,
x(n) − x∗ = Hn (x(0) − x∗ ) , n ≥ 0. (1.9)
Por lo tanto, la convergencia es equivalente a que se verifique la condición Hn → 0 para
n → ∞. Esto es a su vez, por el Teorema 1.6, equivalente a ρ(H) < 1. 

A efectos de mejorar la tasa de convergencia del método (1.8) interesa que ρ(H) sea lo
menor posible. Esta afirmación está justificada por los dos resultados siguientes.

Lema 1.8. Para toda matriz H ∈ RN ×N y para cada ε > 0 existe una norma vectorial
k · k : RN → R tal que kHk ≤ ρ(H) + ε.
1
Demostración. Definiendo a := ρ(H)+ε
obtenemos ρ(aH) = aρ(H) < 1 y, por el Teorema 1.6,
existe una norma vectorial k · k :R →
N R tal que kaHk < 1. Luego, kHk ≤ ρ(H) + ε. 

Como una consecuencia directa del Lema 1.8 y la Observación 1.5 obtenemos el siguiente

Corolario 1.9. Para toda matriz H ∈ RN ×N ,


ρ(H) = ı́nf{kHk / k · knorma matricial inducida por una norma vectorial real}.

6 Ana Gómez Pérez

A continuacion, estudiaremos un teorema que nos proporciona una cota del error.

Teorema 1.10. Sea H ∈ RN ×N una matriz arbitraria. Para cada ε > 0, existe una norma
vectorial k · k : RN → R tal que el método iterativo (1.8) cumple

kx(n) − x∗ k ≤ (ρ(H) + ε)n kx(0) − x∗ k, n ≥ 0.

Demostración. Aplicando (1.9) y el Lema 1.9, tenemos que


kx(n) − x∗ k ≤ kHkn kx(0) − x∗ k ≤ (ρ(H) + ε)n kx(0) − x∗ k, n = 0, 1, ... 

Antes de introducir los métodos iterativos clásicos, consideramos algunas clases de


matrices especiales.

Definición 1.11. Una matriz B = (bkj ) ∈ RN ×N se denomina reducible si existen conjuntos


K, J ⊂ {1, ..., N } tales que
K=
6 ∅, J =
6 ∅, K ∩ J = ∅, K ∪ J = {1, ..., N } ,
(1.10)
bkj = 0, ∀k ∈ K, j ∈ J .
En otro caso, la matriz se dice irreducible.
 
1 20
Ejemplo 1.12. La matriz −1 1 0 es reducible considerando K = {1, 2} y J = {3}.
3 01

Observación 1.13. Sea Ax = b un sistema de ecuaciones con A regular. Si la matriz A =


(akj ) ∈ RN ×N es reducible, entonces el sistema lineal se puede descomponer en dos sistemas
más pequeños con dimensiones |K| y |J |. En efecto de la Definición 1.11
(i) Primero, determinamos las incógnitas xk , para k ∈ K:
X
akj xj = bk , k ∈ K.
j∈K

(ii) Luego, determinamos las incógnitas xk , para k ∈ J :


X X
akj xj = bk − akj xj , k ∈ J.
j∈J j∈K

El siguiente resultado describe cuándo una matriz tridiagonal es irreducible. Observe-


mos que A = (aij ) ∈ RN ×N es tridiagonal si aij = 0 para todo i, j ∈ {1, ..., N } con |i − j| ≥ 2.

Proposición 1.14. Una matriz tridiagonal es irreducible si y sólo si cada uno de sus elemen-
tos no diagonales son distintos de cero.

Demostración. Sea B = (bkj ) ∈ RN ×N una matriz tridiagonal.


” =⇒ ” Supongamos que B es irreducible y veamos que los elementos no diagonales son
distintos de cero.
Para cualquier ı́ndice k∗ ∈ {1, ..., N − 1}, definimos los conjuntos K = {1, ..., k∗ } y
J = {k∗ + 1, ..., N }. Para cualquier k ∈ K y j ∈ J con |k − j| ≥ 2 se tiene que bkj = 0 y debido
a que la matriz B es irreducible, entonces bk∗ ,k∗ +1 6= 0. Análogamente, podemos concluir que
bk∗ +1,k∗ 6= 0 intercambiando los papeles de K y J .
” ⇐= ” Sean ahora dos conjuntos cualesquiera K, J ⊂ {1, ..., N } verificando (1.10). Entonces
existen k ∈ K, j ∈ J adyacentes, es decir, j = k + 1 o j = k − 1. Por hipótesis, para estos
ı́ndices bkj 6= 0. Por tanto, B es irreducible. 

A continuación veamos algunas propiedades de las matrices irreducibles.


Métodos iterativos para sistemas de ecuaciones lineales 7

Lema 1.15. Sea B = (bkj ) ∈ RN ×N una matriz irreducible.


1. Para cada matriz diagonal D ∈ RN ×N , la matriz B + D es irreducible.
2. Si ckj ∈ R, con ckj 6= 0, entonces la matriz (ckj bkj ) ∈ RN ×N es irreducible.
Demostración. Si una matriz es irreducible, entonces esta propiedad, por definición, no cambia
si se añaden elementos arbitrarios a la diagonal. También se mantiene la propiedad si se
multiplican los elementos no diagonales por cantidades no nulas arbitrarias. 
Definición 1.16. Una matriz B = (bkj ) ∈ RN ×N se dice irreduciblemente diagonal domi-
nante por filas si B es irreducible y, además, satisface que

N
P
|bkj | ≤ |bkk |, k = 1, ..., N.




 j=1

j6=k
N
(1.11)
P
|bkj | < |bkk |, para al menos un k ∈ {1, ..., N }.




 j=1

j6=k

Definición 1.17. Una matriz B = (bkj ) ∈ RN ×N se dice irreduciblemente diagonal domi-


nante por columnas si B es irreducible y, además, satisface que

PN
|bkj | ≤ |bjj |, j = 1, ..., N.




 k=1

j6=k
PN
|bkj | < |bjj |, para al menos un j ∈ {1, ..., N }.




 k=1

j6=k

Ejemplo 1.18. La matriz correspondiente al Ejemplo 1.1 es una matriz irreduciblemente dia-
gonal dominante por filas y columnas.
Teorema 1.19. Si una matriz B = (bkj ) ∈ RN ×N es irreduciblemente diagonal dominante,
entonces es regular.
Demostración. Presentamos la prueba para el caso de dominancia diagonal por filas. Para
el caso por columnas es análoga. Por reducción al absurdo, supongamos que B no es una
matriz regular. Entonces existe un vector x ∈ RN , x 6= 0, tal que Bx = 0. Definimos los
conjuntos de ı́ndices K := {k / |xk | = kxk∞ }, J := {k / |xk | < kxk∞ }. Es claro que K ∪ J =
{1, ..., N }, K ∩ J = ∅ y K =6 ∅. Entonces, también J =
6 ∅, pues de lo contrario |xk | = kxk∞ se
cumplirı́a para todos los ı́ndices k, y entonces, dado que Bx = 0,
N
X
|bkk ||xk | ≤ |bkj ||xj |, k = 1, 2, ..., N
j=1
j6=k

producirı́a una contradicción con la segunda condición de (1.11). Ahora, como B es irreducible,
existen k∗ ∈ K, j∗ ∈ J , con bk∗ j∗ 6= 0. Luego,
N
X |xj |
|bk∗ k∗ | ≤ |bk∗ j | ,
j=1
|xk∗ |
j6=k∗

|xj∗ |
siendo |bk∗ j∗ | 6= 0, < 1 y |xj | ≤ |xk∗ | = kxk∞ para j ∈ {1, ..., N }. Luego,
|xk∗ |
N N
X |xj | X
|bk∗ j | < |bk∗ j |,
j=1
|xk∗ | j=1
j6=k∗ j6=k∗

lo que contradice la primera condición de (1.11). 


8 Ana Gómez Pérez

1.3. Método de Jacobi


Dada una matriz A ∈ RN ×N regular y un vector b ∈ RN , el sistema lineal (1.1) es
equivalente a decir que:
N
X
akk xk = bk − akj xj , k = 1, ..., N. (1.12)
j=1
j6=k

Podemos escribir (1.12) en forma matricial como Dx = b − (L + R)x usando la descomposición:

       
a11 . . . . . . a1N a11 0 0 0 0 a12 . . . a1N
 . ..  .. 
 . .. ..  . .. ..
.   ..
    
 . . .  
  .   a21
  . .

= + +

 .. ..     .. . . ..   ..
 
.. .. 
 . . .   .   . . . . aN −1N 
aN 1 . . . . . . aN N 0 aN N aN 1 . . . aN N −1 0 0 0
| {z } | {z } | {z } | {z }
:=A :=D :=L :=R
(1.13)

Definición 1.20. Sea una matriz A = (akj ) ∈ RN ×N regular tal que akk 6= 0 para k =
1, ..., N . Dado un vector inicial x(0) ∈ RN , el método de Jacobi para el sistema Ax = b es:
 
N
(n+1) 1  X (n) 
xk = bk − akj xj  , k = 1, ..., N, n ≥ 0. (1.14)
akk j=1
j6=k

Observación 1.21. En forma matricial, el método de Jacobi queda de la forma:


x(n+1) = D−1 b − D−1 (L + R)x(n) = HJ x(n) + z
donde z = D−1 b y la matriz de iteración es
a12 a1N
 0 a11
... a11

 .. .. .. 
a21 . . .
 
−1
 a22 
HJ = −D (L + R) = −  ..
. (1.15)
 .. .. aN −1,N


. . . 
 aN −1,N −1 
aN 1 aN,N −1
aN N
... aN N
0

El siguiente teorema da una condición suficiente para la convergencia del método de Jacobi.

Teorema 1.22. El método de Jacobi es convergente si se cumple alguna de las siguientes


condiciones:
N
P
1. A es estrictamente diagonal dominante por filas: |akj | < |akk |, k = 1, 2, ..., N.
j=1
j6=k

N
P
2. A es estrictamente diagonal dominante por columnas: |akj | < |ajj |, j = 1, 2, ..., N.
k=1
k6=j

Demostración. Cada una de las condiciones implica directamente que el método de Jacobi es
factible, esto es que akk 6= 0 para k = 1, ..., N .
i) La primera condición equivale a decir que kHJ k∞ < 1, lo cual implica ρ(HJ ) < 1.
Métodos iterativos para sistemas de ecuaciones lineales 9

ii) La segunda condición equivale a k − (L + R)D−1 k1 < 1. Además, las matrices HJ


y −(L + R)D−1 son semejantes ya que DHJ D−1 = −(L + R)D−1 . Luego, σ [HJ ] =
σ −(L + R)D−1 y por lo tanto,
ρ (HJ ) = ρ −(L + R)D−1 ≤ k − (L + R)D−1 k1 < 1.



Muchos sistemas lineales que provienen de la discretización espacial de EDPs involucran


matrices que no satisfacen las suposiciones relativamente fuertes del Teorema 1.22. El siguien-
te teorema también implica la convergencia del método de Jacobi bajo condiciones menos
restrictivas.

Teorema 1.23. Sea A ∈ RN ×N una matriz irreduciblemente diagonal dominante. Entonces


el método de Jacobi es convergente.

Demostración. Presentamos la prueba para el caso de dominancia diagonal por filas. Para el
caso por columnas la prueba es análoga. Primero veamos que el método está bien definido. Por
reducción al absurdo, supongamos que existe algún elemento nulo en la diagonal de la matriz
A. Por la Definición 1.16, entonces todas las entradas de la misma fila serı́an iguales a cero,
pero esto contradice que A sea irreducible.
Ahora, para ver la convergencia del método, tenemos que ver que ρ(HJ ) < 1, o lo que es
lo mismo, que para todo λ ∈ C con |λ| ≥ 1, la matriz HJ − λI es regular. Por el Teorema 1.19,
es suficiente ver que HJ − λI es una matriz irreduciblemente diagonal dominante. Pongamos
HJ − λI := (bkj ) y veamos que cumple las condiciones de la Definición 1.16:
(i) Como A es una matriz irreducible, de (1.13) y el Lema 1.15, concluimos que A+D = L+R,
HJ = −D−1 (L + R) y HJ − λI son irreducibles.
(ii) Además, se tiene que:
N N N
X X X |akj |
|akj | ≤ |akk | ⇒ |bkj | = ≤ 1 ≤ |λ| = |bkk |, k = 1, ..., N.
j=1 j=1 j=1
|akk |
j6=k j6=k j6=k

N
P
Por otra parte, existe k ∈ {1, ..., N } tal que |akj | < |akk |. Luego, para este k
j=1
j6=k

N N
X X |akj |
|bkj | = < 1 ≤ |λ| = |bkk |.
j=1 j=1
|akk |
j6=k j6=k

Por tanto, la matriz HJ − λI es una matriz irreduciblemente diagonal dominante y, por


consiguiente, es regular. 

1.4. Método de Gauss-Seidel


(n) (n)
Para el método de Jacobi (1.14) se consideran los valores x1 , ..., xk−1 para calcular
(n+1) (n+1) (n+1)
xk . Sin embargo, podemos considerar intuitivamente que las aproximaciones x1 , ..., xk−1
(n) (n) (n+1)
son mejores que x1 , ..., xk−1
para calcular xk ,
por lo que se puede definir el siguiente
método de iteración de punto fijo en el que se van sustituyendo las antiguas aproximaciones
(n) (n) (n+1) (n+1)
x1 , ..., xk−1 por las nuevas x1 , ..., xk−1 conforme se van calculando.

Definición 1.24. Sea A = (akj ) ∈ RN ×N una matriz regular donde akk 6= 0 para k = 1, ..., N .
Dado un vector inicial x(0) ∈ RN , el método de Gauss-Seidel para la solución del sistema lineal
de ecuaciones Ax = b viene dado por:
10 Ana Gómez Pérez

 
k−1 N
(n+1) 1  X (n+1)
X (n) 
xk = bk − akj xj − akj xj , k = 1, ..., N, n ≥ 0.
akk j=1 j=k+1

En forma matricial, el método de Gauss-Seidel es


x(n+1) = (D + L)−1 b − (D + L)−1 Rx(n) = HGS x(n) + z para n = 0, 1, ...
donde z = (D + L)−1 b y la matriz de iteración es HGS = −(D + L)−1 R.

A efectos de obtener resultados sobre la convergencia del método de Gauss-Seidel in-


troducimos previamente los siguientes dos lemas.

Definición 1.25. El módulo de una matriz A = (akj ) ∈ RN ×N es |A| := (|akj |) ∈ RN ×N .

Definición 1.26. Sean matrices A, B ∈ RN ×M . Escribimos A ≤ B si aij ≤ bij para todo


i, j. En particular, A ≥ 0 si aij ≥ 0 para todo i, j.

Lema 1.27. Sean matrices A, B ∈ RN ×N . Entonces:


(i) |A| ≥ 0.
(ii) |A + B| ≤ |A| + |B|.
(iii) |AB| ≤ |A||B|.
(iv) kAk∞ = k|A|k∞ = k|A|ek∞ con e = (1, ..., 1)T ∈ RN .
(v) |A| ≤ |B| ⇒ kAk∞ ≤ kBk∞ .

Demostración. Es trivial. 

Lema 1.28. Sean matrices S, T ∈ RN ×N tales que |S| ≤ T y ρ(T ) < 1. Entonces
I − S es regular y |(I − S)−1 | ≤ (I − T )−1 .

k1 k1 k1
P P P
Demostración. Por el Lema 1.27, obtenemos que Sj ≤ |S|j ≤ T j .

j=k0 j=k0 j=k0
∞ ∞ ∞
k1 ∞
P
j Sj
P
Puesto que ρ(T ) < 1, tenemos que T −→ 0 para k0 ≤ k1 , k0 , k1 → ∞. Luego,

j=k0 j=0


es convergente. Por lo tanto, por el Teorema 1.6, I −S es regular y (I −S)−1 = S j . Además,
P
j=0
|(I − S)−1 | ≤ ∞
P j
P∞ j −1 .
j=0 |S| ≤ j=0 T = (I − T ) 

Una condición preliminar que es suficiente para la convergencia del método de Gauss-
Seidel viene dada por el siguiente teorema.

Teorema 1.29. Para toda matriz estrictamente diagonal dominante por filas A ∈ RN ×N se
cumple que kHGS k∞ ≤ kHJ k∞ < 1.

Demostración. Una matriz A ∈ RN ×N es estrictamente diagonal dominante por filas si y sólo


si kHJ k∞ < 1. Por lo tanto, nos queda ver que kHGS k∞ ≤ kHJ k∞ . Para ello veremos que
|HGS |e ≤ kHJ k∞ e con e = (1, ..., 1)T .
Por el Lema 1.27, sabemos que kHGS k∞ = k|HGS |ek∞ . Además, por ser D−1 L y
D−1 R matrices estrictamente triangulares inferior y superior, respectivamente, tenemos que
|HJ | = |D−1 L| + |D−1 R|. (1.16)
Métodos iterativos para sistemas de ecuaciones lineales 11

Por lo tanto,
|HGS | = | − (D + L)−1 R|
= | − (I + D−1 L)−1 D−1 R)|
≤ |(I + D−1 L)−1 ||D−1 R)|
≤ (I − |D−1 L|)−1 |D−1 R)|
donde la última desigualdad sigue del Lema 1.28, con S = −D−1 L y T = | − D−1 L|. Ahora
de (1.16) obtenemos que:
|HGS | ≤ (I − |D−1 L|)−1 (|HJ | − I) + I − |D−1 L|
 
−1 −1
= I + (I − |D L|) (|HJ | − I).
Luego,
|HGS | e ≤ e + (I − |D−1 L|)−1 (|HJ |e − e).
−1
NP
Como (I − |D−1 L|)−1 = |D−1 L|j ≥ I y |HJ |e ≤ kHJ k∞ e, con kHJ k < 1, sigue que
j=0
" #
−1
NP
|HGS | e ≤ e + −1 j
|D L| (kHJ k∞ − 1) e ≤ kHJ k∞ e. 
j=0

De forma análoga, enunciaremos un resultado similar para matrices estrictamente dia-


gonal dominantes por columnas.

Teorema 1.30. Sea A ∈ RN ×N estrictamente diagonal dominante por columnas. Entonces,


k(D + L)HGS (D + L)−1 k1 ≤ kDHJ D−1 k1 < 1. En particular, el método de Gauss-Seidel
converge.

Demostración. Es análoga a la del Teorema 1.29. Primero observamos que A es estrictamente


diagonal dominante por columnas si y sólo si k(R + L)D−1 k1 < 1, o bien, kDHJ D−1 k1 < 1.
Sean Hb J := DHJ D−1 = −(LD−1 + RD−1 ) y H b GS := (D + L)HGS (D + L)−1 = −R(D +
L)−1 = −(RD−1 )(I + LD−1 )−1 . Luego, por Lema 1.28
b GS | ≤ |RD−1 ||I + LD−1 |−1 ≤ |RD−1 |(I − |LD−1 |)−1
|H h  i −1
= |H b J | − I + I − |LD−1 | I − |LD−1 |
 
b J | − I I − |LD−1 | −1 .

= I + |H

Premultiplicando por e> :


−1
e> |H
b GS | ≤ e> + e> (|H
b J | − I) I − |LD−1 | .
−1 −1
NP
Ahora I − |LD−1 | = |LD−1 | ≥ I, mientras que e> (|H
b J | − I) ≤ e> kH
b J k1 − e> .
j=0
Luego: e> |H
b GS | ≤ e> + e> (kH
b J k1 − 1) = e> kH
b J k1 , y entonces, kH
b GS k1 ≤ kH
b J k1 < 1. 

Observación 1.31. De los Teoremas 1.29 o 1.30 no se deduce que ρ(HGS ) ≤ ρ(HJ ). De hecho,
presentamos el siguiente contraejemplo de matriz estrictamente diagonal dominante, tanto  por
filas como por columnas, en el que ρ(HJ ) = 0 y 0 < ρ(HGS ) < 1, para todo a ∈ −1 2
, 12 , con
a 6= 0.
 
1 a −a
a
Ejemplo 1.32. Sea A =  2 1 a  con a ∈ − 21 , 21 de modo que A es estrictamente dia-

a
− 2 −a 1
gonal dominante por filas y por columnas. Además, si |a| = 12 , entonces A es irreduciblemente
diagonal dominante. Para esta matriz se tiene que las matrices de iteración del método de
Jacobi y de Gauss-Seidel, respectivamente, son
12 Ana Gómez Pérez

 

0 −a a
 0 −a a
a a2 a2
HJ = − 2 0 −a , HGS = 0 −a − 2 .
 
2
a a2 2
2
a 0 a a a
0 −a( 2 − 2 ) a2 + ( 2 − 2 )
Por tanto, calculando sus correspondientes radios espectrales, tenemos que
1 n √ p √ p o
0 = ρ(HJ ) < ρ(HGS ) = máx 0, a(−a2 − a 8 + a3 , a(−a2 + a 8 + a3 < 1,

4
 1 1
para todo a ∈ − 2 , 2 , a 6= 0.
Otra condición suficiente menos restrictiva para la convergencia del método de Gauss-
Seidel se da en el siguiente
Teorema 1.33. Sea A ∈ RN ×N matriz irreduciblemente diagonal dominante por filas o co-
lumnas. Entonces el método de Gauss-Seidel es convergente.
Demostración. Consideramos el caso de dominancia diagonal por filas. El caso por columnas
es análogo.
Sea A = (akj ) ∈ RN ×N una matriz irreduciblemente diagonal dominante por filas.
Se garantiza que el método de Gauss-Seidel está bien definido tal como demostramos en el
Teorema 1.23.
Para ver la convergencia del método de Gauss-Seidel necesitamos demostrar que
ρ(HGS ) < 1, o lo que es lo mismo, que para todo λ ∈ C con |λ| ≥ 1, la matriz HGS − λI es
regular. Observemos que HGS − λI = −(D + L)−1 (λD + λL + R).
Sea λ ∈ C con |λ| ≥ 1 y λ 6= 0, veamos que M = (λD + λL + R) es regular. Por el
Teorema 1.19, es suficiente ver que M es irreduciblemente diagonal dominante por filas.
1. Por el Lema 1.15, concluimos que M es irreducible.
2. Ahora, veamos que M satisface las condiciones (1.11):
k−1
X N
X N
X
|λakj | + |akj | ≤ |λ| |akj | ≤ |λ||akk |, k = 1, ..., N. (1.17)
j=1 j=k+1 j=1
j6=k

Además, existe al menos un k para el que se cumple la desigualdad estricta en (1.17). 


Observación 1.34. Sin las condiciones adecuadas para la matriz A, cualquiera de los métodos,
Jacobi o Gauss-Seidel, puede converger mientras que el otro no.
 
1 −2 2
Ejemplo 1.35. (a) Sea A = −1 1 −1 con la descomposición de (1.13). Calculando las
−2 −2 1
matrices de iteración de los métodos de Jacobi y Gauss-Seidel:
   
0 2 −2 0 2 −2
−1 −1
HJ = −D (L + R) = 1 0 1  y HGS = −(D + L) R = 0 2 −1
22 0 0 8 −6

de modo que ρ(HJ ) = 0 y ρ(HGS ) = 2(1+ 2). Luego, el método de Jacobi es convergente,
mientras que el método de Gauss-Seidel no.
(b) A continuación, veamos un ejemplo en el cual el método
 de Gauss-Seidel
 converge pero el
2 1 1
método de Jacobi no. Dada la siguiente matriz A = 12 −2 2 −2 entonces las matrices de
−1 1 2
   
0 −1 −1 0 −1 −1 √
1 1
iteración son: HJ = 2 0 2  y HGS = 0 −1 1  de modo que ρ(HJ ) = 21 5
2 1 −1 0 2 0 0 1
y ρ(HGS ) = 12 , respectivamente. Por tanto, el método de Gauss-Seidel converge, mientras
que el método de Jacobi no.
Métodos iterativos para sistemas de ecuaciones lineales 13

1.5. Método de relajación


A continuación, introducimos el método de relajación asociado al método de Gauss-
Seidel. Dado w ∈ R y x(n) aproximación a x∗ solución de Ax = b, el método de relajación
computa una siguiente aproximación mediante
x(n+1) = wb
x(n+1) + (1 − w)x(n) , n ≥ 0 (1.18)
siendo b(n+1)
x la solución de avance de Gauss-Seidel partiendo x(n) . Observar que para la
solución de avance de Gauss-Seidel se cumple que
h i
b(n+1) = (D + L)−1 b − (D + L)−1 Rx(n) = x(n) + (D + L)−1 b − Ax(n) .
x

El método de relajación (1.18) coincide entonces con


h i
x(n+1) := x(n) + w(D + L)−1 b − Ax(n) .

Estas dos últimas expresiones permiten interpretar ambos métodos en términos del vector
residual Ax(n) − b.

Observación 1.36. Para el método de Jacobi, se puede definir el método de relajación análo-
gamente como x(n+1) := (1 − w)x(n) + wb x(n+1) con xb(n+1) = x(n) + D−1 (b − Ax(n) ). No
obstante, nuestro análisis se centrará en el método de relajación asociado a Gauss-Seidel. Se
puede encontrar un análisis de convergencia para el método de relajación de Jacobi en [4,
p.360-362].

Definición 1.37. Sea A = (akj ) ∈ RN ×N con akk 6= 0 para k = 1, ..., N . El método de


relajación (SOR) asociado al método de Gauss-Seidel para la solución de Ax = b es:
 
k−1 N
(n+1) (n+1) (n) (n)
X X
akk xk = w bk − akj xj − akj xj  + (1 − w)akk xk , 1 ≤ k ≤ N, n ≥ 0.
j=1 j=k+1

En forma matricial, x(n+1) = (D + wL)−1 wb + ((1 − w)D − wR) x(n) , n ≥ 0, con matriz
 
de iteración:
H(w) = (D + wL)−1 ((1 − w)D − wR) . (1.19)

Podemos observar que para w = 0, H(0) = I; mientras que para w = 1 el método de relajación
coincide con el método de Gauss-Seidel, esto es, H(1) = HGS .

Observación 1.38. Para matrices arbitrarias A ∈ RN ×N no es posible, en general, dar una


expresión explı́cita para ρ(H(w)). Por tanto, en general, no es posible determinar exactamente
un valor óptimo para el párametro de relajación.

Teorema 1.39 (Kahan). Sea A = (akj ) ∈ RN ×N con akk 6= 0 para 1 ≤ k ≤ N , y H(w) la


matriz de iteración (1.19) del método de relajación. Entonces,
ρ(H(w)) ≥ |w − 1|, w ∈ R.

Demostración. Sean λ1 , ..., λN ∈ C los autovalores de H(w), contando con sus multiplicidades.
De (1.19), sigue que
N
Y
λk = det(I − wD−1 L)−1 det((1 − w)I − wD−1 R) = (1 − w)N ,
k=1

donde la última igualdad es consecuencia de que L y R son estrictamente triangulares. Por lo


tanto, existe al menos un λk , 1 ≤ k ≤ N , tal que |λk | ≥ |1 − w|. 
14 Ana Gómez Pérez

Corolario 1.40. Si el método de relajación es convergente entonces 0 < w < 2.

Demostración. Para w 6∈ (0, 2) se cumple, por el Teorema 1.39, que ρ(H(w)) ≥ 1. 

Una condición suficiente para la convergencia del método de relajación viene dada por el
siguiente teorema.

Teorema 1.41 (Ostrowski, Reich). Sea A ∈ RN ×N una matriz simétrica y definida (po-
sitiva o negativa). El método de relajación es convergente para cada 0 < w < 2, es decir,
ρ(H(w)) < 1 para 0 < w < 2.

Demostración. Suponemos sin pérdida de generalidad que A ∈ RN ×N es una matriz definida


positiva. Entonces A es regular, sus autovalores son positivos y akk = eT
k Aek > 0, para todo
1 ≤ k ≤ N , siendo ek el k-ésimo vector canónico de RN . Por lo tanto, el método está bien
definido. Para demostrar la convergencia del método en primer lugar observamos que
H(w) = (D + wL)−1 [(D + wL) − wA] = I − w(D + wL)−1 A.
Como la matriz A es regular, podemos escribir
  −1
1
H(w) = I − 2 2A−1 D+L = I − 2(Q + I)−1 = (Q − I)(Q + I)−1 ,
w
1
de modo que H(w) es una función racional de Q := 2A−1 w

D + L − I. A continuación
veremos que
σ [Q] ⊂ {λ ∈ C / Reλ > 0}. (1.20)
 
λ−1
Habiendo demostrado (1.20), como σ [H(w)] = / λ ∈ σ[Q] , se tendrı́a que
λ+1
λ−1 |λ|2 − 2Reλ + 1
= < 1, para Reλ > 0,
λ+1 |λ|2 + 2Reλ + 1
y ρ(H(w)) < 1, lo cual demostrarı́a la convergencia del método de relajación.
Nos quedarı́a demostrar (1.20). Sea λ ∈ C autovalor de Q y x ∈ CN , x 6= 0, tal que
Qx = λx. Considerando la definición de Q y premultiplicando por x∗ A, siendo x∗ el vector
traspuesto conjugado de x,
1 2
λ(x∗ Ax) = x∗ AQx = 2x∗ ( D + L)x − x∗ Ax = (x∗ Dx) + 2(x∗ Lx) − x∗ Ax.
w w
Como A y D son matrices definidas positivas, entonces x∗ Ax > 0 y x∗ Dx > 0. Luego,
2 ∗ 2
Reλ(x∗ Ax) = (x Dx) + 2Re(x∗ Lx) − x∗ Ax = (x∗ Dx) + x∗ (L + L∗ )x − x∗ Ax
w w
siendo L∗ la matriz traspuesta conjugada de L. Además, A es real y simétrica, por lo que
L∗ = LT = R. En definitiva,
2 ∗ 2
Reλ(x∗ Ax) = (x Dx) + x∗ (L + R)x − x∗ (D + L + R)x = ( − 1)(x∗ Dx).
w w
Como 0 < w < 2, se deduce entonces que Reλ > 0. 

Ahora consideraremos una clase amplia de matrices para la cual el radio espectral de
la matriz de iteración H(w) puede expresarse en función del parámetro w y ası́ poder elegirlo
de modo óptimo.

Definición 1.42. Sea A = (akj ) ∈ RN ×N una matriz con la descomposición (1.13) y akk 6= 0
para todo k. Se dice que A es una matriz consistentemente ordenada si los autovalores de la
matriz
J (α) := αD−1 L + α−1 D−1 R, α ∈ C, α 6= 0, (1.21)
son independientes de α, es decir, si se cumple que σ[J (α)] = σ[J (1)] para todo α ∈ C, α 6= 0.
Métodos iterativos para sistemas de ecuaciones lineales 15

Observación 1.43. Para una interpretación del concepto de matriz consistentemente ordenada
en términos de grafos remitimos al lector en [7, Sec. 4.2.5].

Lema 1.44. Sea A ∈ RN ×N consistentemente ordenada y HJ la matriz de iteración (1.15)


del método de Jacobi. Entonces, λ ∈ σ(HJ ) si y sólo si −λ ∈ σ(HJ ).

Demostración. Por (1.21), J (1) = −HJ y J (−1) = HJ . La prueba sigue del hecho de que
J (1) y J (−1) tienen los mismos autovalores. 

El siguiente teorema establece una relación entre los autovalores de HJ y H(w).

Teorema 1.45. Sea A ∈ RN ×N matriz consistentemente ordenada y w ∈ R, w 6= 0.


λ+w−1 √
λ ∈ σ [H(w)] ⇐⇒ = λµ con µ ∈ σ[HJ ].
w
Demostración. Sea λ ∈ C. Tenemos que
 
λ+w−1
λI − H(w) = w(I + wD−1 L)−1 I + D−1 (λL + R) .
w
λ+w−1
∈ σ −D−1 (λL + R) .
 
Luego, λ ∈ σ [H(w)] si y sólo si
w
√ √
 
1
Observamos que si λ 6= 0, entonces D−1 (λL + R) = λ D−1 ( λL + √ R) y, puesto
λ
que A es consistentemente ordenada, sigue que
 √ √ √   √
 
1
σ −D−1 (λL + R) = λσ D−1 ( λL + √ R) = λσ D−1 (L + R) = λσ [HJ ] .

λ

Por otra parte, si λ = 0, σ −D−1 (λL + R) = σ −D−1 R = 0 = λσ [HJ ].
   

h√ i
Observación 1.46. En el caso w = 1 obtenemos que λ ∈ σ [HGS ] si y sólo si λ ∈ σ λHJ .
Además, en tal caso
λI − HGS = (I + D−1 L)−1 λI + D−1 (λI + R) .
 

Más aún, sean pGS (x) = det(xI − HGS ) y pJ (x) = det(xI − HJ ) los polinomios caracterı́sticos
de las matrices de iteración de Gauss-Seidel y Jacobi, respectivamente. Poniendo λ = µ2 ,
µ2 I − HGS = µ(I + D−1 L)−1 µI + D−1 (µL + µ−1 R) , para todo µ ∈ R, µ 6= 0.
 

Tomando determinantes y teniendo en cuenta que A es consistentemente


√ ordenada,
√ entonces
N
pGS (µ2 ) = µN KpJ (µ), siendo K una constante, o bien pGS (λ) = λKpJ ( λ). Observa-
mos que
(i) si N es par, por el Lema 1.44, pJ (x) sólo contiene potencias pares de x y
N
√ √
pGS (λ) = K λpJ ( λ) con pJ (x) = a0 + a2 x2 + ... + aN xN
N
de modo que λ = 0 es un autovalor de HGS con multiplicidad al menos 2
.
(ii) Si N es impar, pJ (x) sólo contiene potencias impares de x y

N

pGS (λ) = K λpJ ( λ) con pJ (x) = a1 x + a3 x3 + ... + aN xN
N +1
de modo que λ = 0 es autovalor de HGS con multiplicidad al menos 2
.

Corolario 1.47. Si A ∈ RN ×N es una matriz consistentemente ordenada entonces ρ(HGS ) =


ρ(HJ )2 . 
16 Ana Gómez Pérez

De lo anterior, podemos deducir que para una matriz consistentemente ordenada, tanto
el método de Jacobi como el de Gauss-Seidel son, o bien ambos convergentes o bien ambos
divergentes. En caso de convergencia, se puede esperar que el método de Gauss-Seidel converja
el doble de rápido que el método de Jacobi.
A continuación, damos una forma explı́cita para ρ(H(w))) bajo condiciones adecuadas
para la matriz A. En este caso se puede determinar explı́citamente un valor óptimo para el
parámetro de relajación.

Teorema 1.48. Sea A ∈ RN ×N una matriz consistentemente ordenada tal que σ [HJ ] ⊂
(−1, 1). Entonces,
  q 2
1
4
wρJ + w2 ρ2J − 4(w − 1) , 0 < w ≤ w∗ ,
ρ(H(w)) = (1.22)
(w − 1), w∗ ≤ w < 2.
2
siendo w∗ := q y ρJ := ρ(HJ ).
1+ 1 − ρ2J

Observación 1.49. Observar que


(i) dado que 0 ≤ ρJ < 1, se tiene que 1 ≤ w∗ < 2.
2
(ii) w2 ρ2J − 4(w − 1) ≥ 0, con w ∈ (0, 2), si y sólo si, w ≤ q = w∗ .
1+ 1 − ρ2J
(iii) ρ(H(w)), dada por (1.22), es una función continua para w ∈ (0, 2) y derivable en
∂ ∂
(0, 2)\{w∗ } pues ∂w ρ(H(w))|w− = −∞ y ∂w ρ(H(w))|w+ = 1.
∗ ∗

La dependencia del radio espectral ρ(H(w)) con respecto al párametro w se ilustra en


la Figura 1.1.

1
ρ(H(ω))

0.5

ω*−1

0
0 0.5 1 ω* 1.5 2
ω

Figura 1.1. Radio espectral de la matriz H(ω) para ρJ = 00 8, con valor óptimo del parámetro
de relajación ω ∗ = 10 25.

Demostración (del Teorema 1.48). Sea λ ∈ σ [H(w)]. Por el Teorema 1.45, esto equivale a
poner (λ + w − 1)2 = λw2 µ2 , para algún µ ∈ σ [HJ ] ⊂ (−1, 1). O bien,
λ2 + λ 2(w − 1) − w2 µ2 + (w − 1)2 = 0.
 
Métodos iterativos para sistemas de ecuaciones lineales 17

r
w2 µ2 w 2 µ2
Entonces, λ = −(w − 1) + ± w|µ| − (w − 1).
2 4
Por la Observación 1.49 apartado (ii),
w 2 µ2 2
− (w − 1) ≥ 0 ⇐⇒ w ≤ p .
4 1 + 1 − µ2
2
Por tanto, en primer lugar, si p < w(< 2), entonces λ ∈ C\R, w > 1 y
1+ 1 − µ2
2
w2 µ2
  2 2 
w µ
|λ|2 = −(w − 1) + + w2 µ2 − (w − 1) (−1) = (w − 1)2 .
2 4
Luego, |λ| = w − 1.
2
En segundo lugar, si 0 < w ≤ p , entonces λ ∈ R y se puede expresar como
1 + 1 − µ2
 2
λ = 14 w|µ| ± w2 µ2 − 4(w − 1) ≥ 0. Como la determinación positiva provee un autovalor
p
 2
mayor y como la función λ(µ) = 14 w|µ| + w2 µ2 − 4(w − 1) es creciente para µ ≥ 0 ( con
p

4(w−1)
µ2 ≥ w2
) se deduce, tomando µ = ρJ , donde ρJ ∈ σ [HJ ], que
( q
1
4
(wρJ + w2 ρ2J − 4(w − 1), 0 < w ≤ w∗ ,
ρ(H(w)) =
(w − 1), w∗ ≤ w < 2.

Finalizamos este capı́tulo con dos ejemplos de matrices consistentemente ordenadas de
interés en la discretización espacial de ecuaciones en derivadas parciales.

Ejemplo 1.50. Sea A una matriz tridiagonal por bloques:


D1 C1
 
 .. .. 
B
 . . 
A= 1  ∈ RN ×N

 .. .. 
 . . CM −1 
BM −1 DM
Nj ×Nj PM
donde Dj ∈ R , j = 1, ..., M , es diagonal y regular, y j=1 Nj = N . Además, Bj ∈
RNj+1 ×Nj y Cj ∈ RNj ×Nj+1 para j = 1, ..., M − 1. Veamos que A es consistentemente
ordenada. Ponemos A en la forma (1.13),
0 C1
 
D1 0
   
D2   B1 0 .
0 ..
 
   
A=D+L+R= + + .
     
. ..
  . .. . ..
 
     .. 
 . CM −1 
DM BM −1 0
0
Tenemos que ver que se cumple que σ [J (1)] = σ [J (α)] para todo α 6= 0 (ver 1.21). Es fácil
ver que
1 −1
 
0 D C1
α 1
αD−1 B 0 1 −1
D C2 
 2 1 α 2 
.
 

J (α) =  αD3−1 B2 0 .. 

 
 . . . . 1 −1

. .
 
 D
α M −1
CM −1 
−1
αDM BM −1 0
18 Ana Gómez Pérez

Tomando
α0 I
 
 α1 I 
Sα = 
 
.. 
 . 
αM −1 I
sigue que
0 D1−1 C1
 
D2−1 B1 0 D2−1 C2 
 
 .. 
−1
Sα J (α)Sα = D3−1 B2 0 .  = J (1).
 
 
 .. .. −1

 . . DM −1CM −1 
−1
DM BM −1 0
Por lo tanto, J (1) y J (α) son semejantes para todo α 6= 0 y por lo tanto, tienen los mismos
autovalores.
Ejemplo 1.51. Sea A la matriz tridiagonal por bloques
B b1 D
 
 .. .. 
 a1 D
 . . 
A=  ∈ RN ×N

 .. .. 
 0 . . bM −1 D 
aM −1 D B
donde D = diag(b11 , ..., bKK ) es una matriz diagonal siendo bkk 6= 0 los elementos diagonales
de una matriz B ∈ RK×K consistentemente ordenada. Con la descomposición B = D + L + R,
−1
por (1.21) existe una matriz de paso Sα tal que J (α) = Sα J (1)Sα . Veamos que A también
es consistentemente ordenada.
Sean A = D b +L b+R b y Jb(α) = αD b+ 1D
b −1 L b −1 R,
b con
α
L R b1 D
   
D  a1 D L R b2 D
 
  
 D
   
  ..   .. .. 
D
b = 
.

, L
b =

a2 D . 
y R
b =
 . . .

.. 
   
    
 .. ..   .. 
D  . .   . bM −1 D 
aM −1 D L R
 0
α Sα

 α1 Sα 
−1
Tomando S bα :=  , sigue usando Sα J (1)Sα = J (α) que
 
. .
 . 
αM −1 Sα
1
J (α) α b1 I
 
 αa1 I J (α) 1 b2 I 
 α 
−1
 .. .. 
bα Jb(1)Sα
S =

αa2 I . .  = Jb(α).

 
 . .. . .. 1

 b I α M −1
αaM −1 I J (α)
Por lo tanto, Jb(1) y Jb(α) son semejantes para todo α 6= 0 y A es consistentemente ordenada.
Inductivamente este ejercicio nos permite ver que, en particular, la discretización espa-
cial de la ecuacion de Laplace (1.1) en cualquier dimensión mediante diferencias centrales de
segundo orden produce sistemas lineales con matrices consistentemente ordenadas.
2
Métodos basados en subespacios de Krylov

2.1. Subespacios de Krylov


Antes de presentar nuevos métodos para resolver el sistema lineal de ecuaciones Ax = b,
introduciremos los denominados subespacios de Krylov y sus diferentes propiedades ya que
posteriormente se utilizarán en los diferentes métodos que estudiaremos en este capı́tulo.
Definición 2.1. Sea A ∈ RN ×N una matriz y b ∈ RN un vector. Definimos la sucesión de
subespacios de Krylov como
Kn (A, b) = span b, Ab, . . . , An−1 b ⊂ RN ,

n = 0, 1, . . . (2.1)
Obviamente se cumple que {0} = K0 (A, b) ⊂ K1 (A, b) ⊂ . . .
En el siguiente lema veremos algunas propiedades esenciales de los subespacios de Krylov.
Lema 2.2. Sea A ∈ RN ×N una matriz regular, b ∈ RN un vector y n ≥ 1 natural. Las
siguientes afirmaciones son equivalentes:
(a) b, Ab, . . . , An b son vectores linealmente dependientes.
(b) Existe un subespacio vectorial M ⊆ RN , con dim (M) ≤ n, tal que b ∈ M y A · M ⊆ M;
es decir, Av ∈ M para todo v ∈ M.
(c) Kn (A, b) = Kn+1 (A, b).
(d) AKn (A, b) ⊆ Kn (A, b).
(e) x∗ := A−1 b ∈ Kn (A, b).
Demostración. (a) ⇒ (b): Definimos el subespacio M := Kn (A, b) = span b, Ab, . . . , An−1 b .

Es claro que dim (M) ≤ n y b ∈ M. Por hipótesis, existen γ0 , γ1 , . . . , γn−1 ∈ R tales que
n−1 n−1
An b = γj Aj b. Por tanto, An b ∈ Kn (A, b). Luego, si v ∈ M, v = αj Aj b, y Av =
P P
j=0 j=0
n−1 n
Aj+1 b Aj b
P P
αj = αj−1 ∈ Kn (A, b) = M. Esto implica que A · M ⊆ M.
j=0 j=1
(b) ⇒ (c): Por la definición de los subespacios de Krylov, Kn (A, b) ⊆ Kn+1 (A, b).
Además, por hipótesis, sabemos que Kn+1 (A,  b) ⊆ M. Luego, dim (Kn+1 (A, b)) ≤ n. Por
tanto, el vector An b es combinación lineal de b, Ab, . . . , An−1 b . En definitiva, Kn+1 (A, b) ⊆
Kn (A, b) y Kn+1 (A, b) = Kn (A, b).
(c) ⇒ (d): Por definición de subespacios de Krylov y la hipótesis, obtenemos AKn (A, b) ⊆
Kn+1 (A, b) = Kn (A, b).
(d) ⇒ (e): Sea la aplicación lineal L : Kn (A, b) −→ Kn (A, b) definida por L(v) = Av
para todo v ∈ Kn (A, b). Por hipótesis, L está bien definida. Además, L es una aplicación lineal
e inyectiva, ya que A es una matriz regular. Por tanto, dim (Im (L)) = dim (Kn ) y L es una
aplicación biyectiva. Luego, existe un vector v ∈ Kn (A, b) tal que Av = b. Asimismo, como A
es una matriz regular, v = x∗ .
(e) ⇒ (a): Sea x∗ ∈ Kn (A, b) la solución del sistema de ecuaciones Ax = b. Entonces
b ∈ span {Ab, . . . , An b} y {b, Ab, . . . , An b} son linealmente dependientes. 
20 Ana Gómez Pérez

Como consecuencia del Lema 2.2, podemos obtener el comportamiento detallado de la


sucesión de subespacios de Krylov y ubicar en qué subespacio se encuentra la solución única
del sistema lineal Ax = b.
Corolario 2.3. Sea A ∈ RN ×N una matriz regular y b ∈ RN un vector no nulo. Existe un
único n∗ ∈ N, 1 ≤ n∗ ≤ N , de modo que
{0} = K0 (A, b) ( K1 (A, b) ( . . . ( Kn∗ −1 (A, b) ( Kn∗ (A, b) = Kn∗ +1 (A, b). (2.2)
Además, x∗ = A−1 b ∈ Kn∗ (A, b)Kn∗ −1 (A, b).
Demostración. Por definición de los subespacios de Krylov,
dim (Kn (A, b)) ≤ dim (Kn+1 (A, b)) ≤ mı́n {n + 1, N } .
Entonces, existe un número natural n ≥ 1 tal que Kn (A, b) = Kn+1 (A, b). Consideramos
n∗ ∈ N con n∗ ≥ 1, el menor número natural verificando dicha propiedad. Luego, se tiene
(2.2). Por el Lema 2.2, apartados (c) y (e), se deduce que x∗ ∈ Kn∗ (A, b). Además, como
Kn∗ −1 (A, b) 6= Kn∗ (A, b), entonces x∗ no pertenece a Kn∗ −1 . 
Observación 2.4. En esta sección resolveremos el sistema lineal de ecuaciones (1.1) mediante los
métodos del Gradiente Conjugado (GC), del Gradiente Conjugado para ecuaciones normales
(GCNR) y del residual mı́nimo generalizado (GMRES), que están basados en los subespacios
de Krylov definidos en la Definición 2.1. Para aplicar estos métodos sobre el sistema Ax = b
consideraremos el valor inical x0 = 0. Para un valor inicial x0 arbitrario podemos tener en
cuenta lo siguiente,
Ax = b ⇔ Ae x=e b
e := x − x0 y b := b − Ax0 . Además, para xn := x
donde x e en + x0 se tiene que Axn − b = Ae xn − e
b.

2.2. Método del Gradiente Conjugado


2.2.1. Método del Gradiente Conjugado para matrices simétricas y
definidas positivas
De forma genérica, consideramos una sucesión de subespacios vectoriales de la forma:
{0} ( D1 ⊆ D2 ⊆ . . . ⊆ RN . (2.3)
Definición 2.5. Dado los subespacios (2.3), el método del residual ortogonal consiste en ha-
llar 
xn ∈ D n
⊥ n = 1, 2, . . . (2.4)
Axn − b ∈ Dn

Nota 2.1 El vector Ax − b se denomina residual para cada x ∈ RN .


Observación 2.6. Denotaremos el conjunto ortogonal de un conjunto M ⊂ RN arbitrario co-
mo M⊥ := y ∈ RN : hy, xi2 = y > x = 0 para cada x ∈ M donde h·, ·i2 denota el producto
euclı́deo de RN .
Observación 2.7. En particular, el método del residual ortogonal de la Definición 2.5 se consi-
derará para una matriz A ∈ RN ×N simétrica y definida positiva, es decir, A> = A y x> Ax > 0
para todo x ∈ RN \{0}. Para estudiar la existencia y unicidad del vector xn en el método del
residual ortogonal, introducimos
p
hx, yiA = x> Ay y kxkA = x> Ax, x ∈ RN
donde h·, ·iA define un producto escalar en RN y k · kA es su norma vectorial asociada. A
continuación, demostraremos la existencia y unicidad de solución xn para (2.4) y establecemos
una propiedad minimal para dicha solución.
Métodos iterativos para sistemas de ecuaciones lineales 21

Teorema 2.8. Sea A ∈ RN ×N una matriz simétrica y definida positiva. Para cada n ≥ 1, el
método residual ortogonal (2.4) admite solución única xn y
kxn − x∗ kA = mı́n kx − x∗ kA , n = 1, 2, . . . , (2.5)
x∈Dn

siendo x∗ = A−1 b; esto es, xn es la mejor aproximación de x∗ en Dn respecto de h·, ·iA .

Demostración. Consideramos una base arbitraria d0 , d1 , . . . , dm−1 de Dn siendo dim(Dn ) = m


m−1
αj dj , con α0 , . . . , αm−1 ∈ R. Imponiendo (2.4)
P
y consideremos xn de la forma xn =
j=0

m−1
X
>
Axn − b ∈ Dn ⇔ αj hAdj , dk i2 = hb, dk i2 , k = 0, . . . , m − 1 (2.6)
j=0

donde G := (hAdj , dk i2 )m−1


j,k=0 es la matriz de Gram de {d0 , . . . , dm−1 } respecto de h·, ·iA .
Como G es definida positiva e inversible, entonces existe solución única α0 , . . . , αm−1 ∈ R
para (2.6). Finalmente, probamos la propiedad minimal (2.5). Para ello, consideramos x ∈ Dn
vector arbitrario:
kx − x∗ k2A = k (xn − x∗ ) + (x − xn ) k2A
= kxn − x∗ k2A + 2hA(xn − x∗ ), x − xn i2 + kx − xn k2A
= kxn − x∗ k2A + 2h(Axn − b) − (Ax∗ − b), x − xn i2 + kx − xn k2A .

Por (2.4), sabemos que Axn − b ∈ Dn > . Como x − x ∈ D y Ax − b = 0 sigue que


n n ∗
h(Axn − b) − (Ax∗ − b), x − xn i2 = 0 y kx − x∗ k2A ≥ kxn − x∗ k2A . 

El sistema lineal (2.6) se reduce a un sistema diagonal en el caso de que los vectores
d0 , . . . , dm−1 formen una base ortogonal de Dn .

Teorema 2.9. Sean A ∈ RN ×N una matriz simétrica y definida positiva, d0 , d1 , . . . , dN −1 ∈


RN \ {0} vectores ortogonales respecto de h·, ·iA y Dn = span {d0 , ..., dn−1 }, con 1 ≤ n ≤ N .
Entonces, para cada 1 ≤ n ≤ N , la solución única de (2.4) viene dada por
n−1
X hrj , dj i2
xn = αj dj con αj = − , 0 ≤ j ≤ n − 1, (2.7)
j=0
hAdj , dj i2

donde rj := Axj − b para j ≥ 1 y r0 := −b.

Demostración. Por el Teorema 2.8 con m = n, dado que los vectores d0 , . . . , dn−1 son ortogo-
nales respecto de h·, ·iA , obtenemos
n−1
X hb, dj i2
xn = αj dj con αj = , 0 ≤ j ≤ n − 1.
j=0
hAdj , dj i2

Finalmente observamos para 0 ≤ j ≤ n − 1 que


j−1
P
hrj , dj i2 = hAxj − b, dj i2 = αl hAdj , dl i2 − hb, dj i2 = − hb, dj i2 . 
l=0

Observación 2.10. (i) La representación (2.7) implica que


xn+1 = xn + αn dn , rn+1 = rn + αn Adn , para n = 0, 1, . . . (2.8)
Además, el residual rn+1 no requiere calcular un producto adicional Adn , ya que dicho
producto se requiere para la determinación de αn .
22 Ana Gómez Pérez

(ii) Dados xn y dn , según (2.5) el coeficiente αn es óptimo en el siguiente sentido


kxn+1 − x∗ kA = kxn + αn dn − x∗ kA = mı́nkxn + tdn − x∗ kA .
t∈R

El método del residual ortogonal particularizado en los subespacios de Krylov de la


Sección 2.1 da lugar al método del Gradiente Conjugado.

Definición 2.11. Dada una matriz A ∈ RN ×N simétrica y definida positiva, el método del
gradiente conjugado (GC) es el método (2.4) siendo Dn = Kn (A, b) dados por (2.1) para
n = 0, 1, . . .

Teorema 2.12. Sea A ∈ RN ×N una matriz simétrica y definida positiva, b ∈ RN un vector


no nulo y xn ∈ RN el único vector solución de
xn ∈ Kn (A, b), rn = Axn − b ∈ Kn (A, b)⊥ , 0 ≤ n ≤ n∗ ,
siendo n∗ ≥ 1 el menor número natural tal que rn∗ = 0. Sean d0 := b,
hrn , dn−1 iA
dn := −rn + βn−1 dn−1 con βn−1 := para 1 ≤ n ≤ n∗ − 1. (2.9)
kdn−1 k2A
Entonces:
(i) d0 , . . . , dn∗ −1 son ortogonales respecto de h·, ·iA .
(ii) Kn (A, b) = span {d0 , . . . , dn−1 } = span {r0 , . . . , rn−1 } para 1 ≤ n ≤ n∗ .
En particular, hrn , rj i2 = 0 para 0 ≤ j ≤ n − 1 y 1 ≤ n ≤ n∗ − 1.

Demostración. En primer lugar, observamos que rn 6= 0 para 0 ≤ n ≤ n∗ − 1. Luego, por el


Lema 2.2 y Corolario 2.3 sigue que
dim (Kn ) = n para 0 ≤ n ≤ n∗ y K0 ( K1 ( . . . ( Kn∗ = Kn∗ +1 .
En efecto, observar que si x∗ ∈ Kn , como r∗ = Ax∗ − b = 0 ∈ Kn > , seguirı́a que x = x y
∗ n
rn = 0. Luego, si rn 6= 0, entonces x∗ no pertenece a Kn .
Ahora, demostraremos los enunciados (i) y (ii) por inducción sobre n = 1, 2, . . . , n∗ . Si
n = 1, dado que d0 = b, x0 = 0 y r0 = −b, es obvio que K1 (A, b) = span {d0 } = span {r0 } .
Supongamos cierto para 1 ≤ n ≤ n∗ − 1 que los vectores d0 , . . . , dn−1 son ortogonales respecto
de h·, ·iA y que Kn (A, b) = span {d0 , . . . , dn−1 } = span {r0 , . . . , rn−1 }. Veamos que se cumplen
las propiedades para n + 1 ≤ n∗ :
Como rn 6= 0 y rn ∈ Kn (A, b)⊥ , entonces d0 , d1 , . . . , dn−1 , −rn son linealmente in-
dependientes. Por tanto, el proceso de ortogonalización de Gram-Schmidt respecto de h·, ·iA
permite afirmar que el vector
n−1
X h−rn , dj iA
vn := −rn − dj (2.10)
j=0
hdj , dj iA

es ortogonal a d0 , d1 , . . . , dn−1 respecto de h·, ·iA . Ahora bien, si 0 ≤ j ≤ n − 2, entonces


Adj ∈ AKn−1 (A, b) ⊂ Kn (A, b). Como rn ∈ Kn (A, b)> , entonces
hrn , dj iA = hrn , Adj i2 = 0 para 0 ≤ j ≤ n − 2. (2.11)
Luego, sustituyendo (2.11) en (2.10), tenemos que
h−rn , dn−1 iA
vn = −rn − dn−1 = −rn + βn−1 dn−1 = dn .
hdn−1 , dn−1 iA
Por tanto, d0 , d1 , . . . , dn son ortogonales respecto de h·, ·iA . Además, dn 6= 0 ya que si dn = 0,
entonces rn = βn−1 dn−1 ∈ Kn y como rn ∈ Kn ⊥ , entonces r = 0, lo cual es un absurdo. Por
n
hipótesis de inducción, como dn = −rn + βn−1 dn−1 , obtenemos
Métodos iterativos para sistemas de ecuaciones lineales 23

span {d0 , . . . , dn−1 , dn } = span {r0 , . . . , rn−1 , dn } = span {r0 , . . . , rn−1 , rn } .


Además, como AKn ⊂ Kn+1 , y r0 , . . . , rn−1 ∈ Kn ⊂ Kn+1 , entonces rn = Axn − b ∈ Kn+1 .
Por tanto, span {r0 , . . . , rn−1 , rn } ⊆ Kn+1 siendo dim (Kn+1 ) = n + 1. Considerando que
n + 1 ≤ n∗ , tenemos que:
dim (span {r0 , . . . , rn−1 , rn }) = dim (span {d0 , . . . , dn−1 , dn }) = n + 1
ya que d0 , . . . , dn−1 , dn son linealmente independientes. En definitiva,
Kn+1 = span {r0 , . . . , rn−1 , rn } = span {d0 , . . . , dn−1 , dn }. 

Observación 2.13. Observar que rn ∈ ⊥


Kn y Kn = span {r0 , . . . , rn−1 } implica que
hrn , rj i2 = 0 para 0 ≤ j ≤ n − 1.

Teorema 2.14. Usando la notación del Teorema 2.12 , se cumple que


krn k22 krn k22
αn = , n = 0, 1, . . . , n∗ − 1 y βn−1 = , n = 1, . . . , n∗ − 1.
hAdn , dn i2 krn−1 k22

Demostración. La expresión de αn sigue de (2.7) y (2.9) teniendo en cuenta que


∈Kn (A,b)
z }| {
− hrn , dn i2 = h−rn , −rn + βn−1 dn−1 i2 = krn k22 + βn−1 h−rn , dn−1 i2 = krn k22 .
| {z }
=0

Ahora, demostraremos la representación de βn−1 . Por (2.8),


krn k22 = hrn , rn−1 + αn−1 Adn−1 i2 = hrn , rn−1 i2 + αn−1 hrn , Adn−1 i2 .
Como rn−1 ∈ Kn (A, b), entonces hrn , rn−1 i2 = 0 y
krn−1 k22 hrn , dn−1 iA
krn k22 = hrn , Adn−1 i2 = krn−1 k22 = krn−1 k22 βn−1 . 
hAdn−1 , dn−1 i2 kdn−1 k2A

Compaginando los resultados de los teorema previos, obtenemos el siguiente algoritmo


para el método del Gradiente Conjugado:

Algoritmo 1 Método del Gradiente Conjugado (GC)


Considerar el sistema lineal Ax = b con A ∈ RN ×N matriz simétrica y definida positiva y b ∈
RN un vector no nulo. Sea rj = Axj −b el residual de la iteración j.
1: Definimos x0 := 0, r0 := −b y d0 := −r0 = b.
2: Dados xn , rn y dn , n ≥ 0, mientras rn 6= 0 calcular
krn k2
2
xn+1 = xn + αn dn , con αn = hAdn ,dn i2
rn+1 = rn + αn Adn
krn+1 k22
dn+1 = −rn+1 + βn dn , con βn = krn k2
.
2

Observación 2.15. Observamos que el Algoritmo 1, requiere computar el producto matriz-


vector Adn en cada iteración.

Observación 2.16. Otra forma de interpretar el método del Gradiente Conjugado es mediante
las ecuaciones normales del problema de mı́nimos cuadrados (2.5). Sea A ∈ RN ×N simétrica
y definida positiva y b ∈ RN . Veamos que:
24 Ana Gómez Pérez

Q
(i) Para n = 1, . . . , n∗ se cumple que xn = qn (A)b y rn = −pn (A)b para cierto qn ∈ n−1
y pn (t) = 1 − tqn (t).
En efecto, sea xn ∈ Kn (A, b) = span b, Ab, . . . , An−1 b con Axn − b = rn ∈ Kn (A, b)⊥ .

n−1 n−1
cj Aj b = qn (A)b con qn (t) = cj tj ∈ n−1 . Además, rn = Axn −
P P Q
Entonces xn =
j=0 j=0
" #
n−1
j
P
b=− I −A cj A b = −pn (A)b con pn (t) = 1 − tqn (t).
j=0

n−1
cj tj donde el vector (c0 , . . . , cn−1 )> ∈ Rn es la solución del
P
(ii) Se cumple que qn (t) =
j=0
sistema lineal:
b> Ab b> A2 b . . . b > An b c0 b> b
    
 b> A2 b b> A3 b ... b A> n+1 >
b   c1   b Ab 
 .  =  . (2.12)
    
 . .. .. .. ..
 .. . . .   ..   . 
b> An b b> An+1 b . . . b> A2n−1 b cn−1 b> An−1 b
En efecto, sabemos que xn resuelve el problema de mı́nimos cuadrados kxn − x∗ kA =
mı́n kx − x∗ kA donde Kn (A, b) es un subespacio vectorial de dimensión finita de
x∈Kn (A,b)
R , h·, ·iA . Luego, por el estudio de mejor aproximación en espacios pre-Hilbert, existe
N

un único xn ∈ Kn (A, b) tal que kxn − x∗ kA = mı́n kx − x∗ kA .
x∈Kn (A,b)

Para n ≤ n∗ , b, Ab, . . . , An−1 b es un sistema linealmente independiente y es una base



n−1
de Kn (A, b). Luego, los coeficientes c0 , . . . , cn−1 ∈ RN de xn = cj Aj b se obtienen
P
j=0
resolviendo las ecuaciones normales del problema de mı́nimos cuadrados
Gc = F
> n n
donde c = (c0 , . . . , cn−1 ) , F = hx∗ , Aj−1 biA j=1 = b> Aj−1 b j=1 y con matriz de
n n
Gram G = hAi−1 b, Aj−1 biA i,j=1 = b> Ai+j−1 b i,j=1 . Este sistema lineal coincide con
 

(2.12).

Observación 2.17. Sea A ∈ RN ×N una matriz simétrica, definida positiva y b ∈ RN un vector


no nulo. Observamos que para todo n número natural, rn = Axn − b coincide con el gradiente
del funcional energı́a J (x) := 21 hAx, xi2 − hx, bi2 evaluado en xn . Esto es, ∇J (xn ) = rn .

Observación 2.18. Sea v ∈ RN un autovector no nulo de la matriz A ∈ RN ×N y b = kv donde


k ∈ R\ {0}. Entonces, el método del Gradiente Conjugado para Ax = b converge en una itera-
ción, es decir, K1 (A, b) = K2 (A, b). En efecto, K1 (A, b) = span {b} = span {b, Ab} = K2 (A, b).
Esta propiedad se puede generalizar para dar una interpretación algebraica del número de
iteraciones n∗ ≤ N necesarias para la convergencia del método del Gradiente Conjugado.

Definición 2.19. Sea A ∈ RN ×N una matriz regularQ y b ∈ RN un vector. Se llama polinomio


mı́nimo de b respecto de A al polinomio mónico p ∈ ν de menor grado ν ≥ 0 tal que
p(A)b = 0. (2.13)
ν se denomina grado de b respecto de A.

Observación 2.20. Por el Teorema de Cayley-Hamilton, es claro que ν ≤ N .


Métodos iterativos para sistemas de ecuaciones lineales 25

Q
Observación 2.21. Observar que el polinomio (2.13) es único
Q pues si existe otro q ∈ ν , q 6= p,
polinomio mónico tal que q(A)b = 0, entonces p − q ∈ ν−1 y (p − q)(A)b = 0. Luego, si α
es el coeficiente director de p − q, el polinomio r = p−q
α
es mónico, verifica que r(A)b = 0 y su
grado es menor que ν, lo cual es un absurdo.

Teorema 2.22. Sea A ∈ RN ×N una matriz regular y b ∈ RN un vector no nulo. Sea ν ≥ 1 el


grado de b respecto de A. Entonces, K0 (A, b) ( K1 (A, b) ( . . . ( Kν (A, b) = Kν+1 (A, b). En
particular, el método del Gradiente Conjugado converge exactamente en ν iteraciones, esto
es, x∗ = A−1 b ∈ Kν (A, b)\Kν−1 (A, b). En otras palabras, ν = n∗ en (2.2).

Demostración. Consideramos ν ≥ 1 es el menor número natural tal que Aν b es combinación


lineal de b, . . . , Aν−1 b. Equivalentemente, por el Lema 2.2, ν es el menor número natural tal que
Kν (A, b) = Kν+1 (A, b), esto es, K0 (A, b) ( K1 (A, b) ( . . . ( Kν (A, b) = Kν+1 (A, b) = . . . El
mismo lema permite asegurar que x∗ ∈ Kν (A, b)\Kν−1 (A, b). Como Ax∗ − b = 0 ∈ Kν (A, b)⊥ ,
por el Teorema 2.8 sigue que x∗ = xν . Además, como x∗ no pertenece a Kν−1 (A, b), se tiene
que x∗ 6= xn para 0 ≤ n ≤ ν − 1. En definitiva, el método del Gradiente Conjugado converge
exactamente en ν iteraciones. 

Según el Teorema 2.22, el método del Gradiente Conjugado puede interpretarse como
un método directo puesto que siempre se obtendrá la solución exacta xn∗ = x∗ para Ax =
b después de un número finito de pasos si se trabaja en aritmética infinita. No obstante,
dicho número de iteraciones puede ser considerablemente grande. Por esta razón, usaremos
los siguientes resultados para calcular estimaciones para el error del método del Gradiente
Conjugado basándonos en la propiedad de optimalidad dada en (2.5). Previamente enunciamos
el célebre teorema espectral para matrices simétricas.

Teorema 2.23. ([1, p.151]) Sea A ∈ RN ×N una matriz simétrica. Entonces:


(i) Cada autovalor λ de A es real y admite un autovector real u, esto es, para todo λ ∈ σ[A],
λ ∈ R y existe u ∈ RN \ {0} tal que Au = λu.
(ii) Los autovectores correspondientes a autovalores distintos son ortogonales respecto de
h·, ·i2 , es decir, si λ1 , λ2 son autovalores de A tal que λ1 6= λ2 y u1 , u2 son autovectores
correspondientes, entonces u> 1 u2 = 0.
(iii) Existe una matriz diagonal D ∈ RN ×N y una matriz ortogonal U ∈ RN ×N , esto es,
U > U = U U > = I, tal que A = U DU > . Los elementos diagonales de D son los autovalores
de A y las columnas de U son sus autovectores correspondientes.

Lema 2.24. Sea A ∈ RN ×N una matriz simétrica y definida positiva, con autovalores
N
{λj }N N
j=1 y autovectores correspondientes ortonormales {vj }j=1 ⊂ R . Si x =
N cj vj ∈ RN ,
P
j=1
entonces para todo polinomio p:
 1/2  1/2
XN N
X
2 2
kp(A)xk2 =  cj p(λj )  , kp(A)xkA =  c2j λj p(λj )2  . (2.14)
j=1 j=1

En particular, se cumple que


√ √
mkxk2 ≤ kxkA ≤ M kxk2 , x ∈ RN (2.15)
donde m := mı́n λj y M := máx λj .
j=1,...,N j=1,...,N

N
Demostración. Puesto que Aν x = cj λνj vj , ν = 0, 1, . . ., y dado que {vj }N
j=1 ⊂ R
N es un
P
j=1
sistema ortogonal respecto de h·, ·i2
26 Ana Gómez Pérez

 1/2
N N N
1/2
X X X
kp(A)xk2 = h ck p(λk )vk , cj p(λj )vj i2 = c2j p(λj )2  .
k=1 j=1 j=1

De manera análoga,
 1/2
N N N
1/2
X X X
kp(A)xkA = h ck λk p(λk )vk , cj p(λj )vj i2 = c2j λj p(λj )2  .
k=1 j=1 j=1

!1/2 !1/2
N N
c2j c2j λj
P P
Finalmente, con p(t) = 1 en (2.14) sigue que kxk2 = y kxkA = .
j=1 j=1
De aquı́ se obtiene (2.15) dado que mı́n λj ≤ λj ≤ máx λj para j = 1, . . . , N . 
j=i,...,N j=i,...,N

El siguiente teorema da una primera estimación de convergencia del método del Gra-
diente Conjugado.

Teorema 2.25. Sea A ∈ RN ×N matriz simétrica y definida positiva. Si {xn }n∗


n=0 son las
iteraciones del método del Gradiente Conjugado, entonces
 

kxn − x∗ kA ≤  ı́nf
Q sup |p(λ)| kx∗ − x0 kA , n = 0, 1, . . . , n∗ .
p∈ n λ∈σ[A]
p(0)=1

Q
Demostración.QPara cada polinomio p ∈ n con p(0) = 1 definimos el polinomio q(t) :=
(1 − p(t))/t ∈ n−1 y el vector x := q(A)b ∈ Kn (A, b). Entonces,

x − x∗ = q(A)b − A−1 b = A−1 [I − p(A) − I] b = −A−1 p(A)b = −p(A)x∗ ,


donde en la última igualdad se ha usado que A−1 p(A) = p(A)A−1 . Por (2.5) y el Lema 2.24
N
cj vj ∈ RN , obtenemos
P
con x∗ =
j=1
 1/2  1/2
N
X N
X
kxn −x∗ kA ≤ kx−x∗ kA = kp(A)x∗ kA =  c2j λj p(λj )2  ≤ sup |p(λ)|  c2j λj  .
j=1 λ∈σ[A] j=1

Luego,
Q la anterior desigualdad también se cumple para el ı́nfimo entre todos los polinomios
p ∈ n con p(0) = 1. 

El Teorema 2.25 y el siguiente lema permitirán dar una cota de error más práctica.

Lema 2.26. Sean Tn (t) = cos(n arc cos t), para t ∈ [−1, 1] y n ≥ 0, los polinomios de Chebys-
hev de primera especie. Entonces,
1 h p n  p n i
Tn (t) = t + t2 − 1 + t − t2 − 1 , para |t| ≥ 1, y
2
  √ !n
k+1 1 k+1
Tn ≥ √ , para k ∈ R, k ≥ 1. (2.16)
k−1 2 k−1

Demostración. Es bien conocido que los polinomios de Chebyshev satisfacen la recurrencia a


tres términos T0 (t) = 1, T1 (t) = t, Tn+1 (t) = 2tTn (t) − Tn−1 (t) para n ≥ 1 en base a lo
cual se deduce por inducción, que Tn (t) es un polinomio de grado exacto n. Ahora bien, con
θ = arc cos(t), Tn (t) = cos(nθ) y para t ∈ [−1, 1]
Métodos iterativos para sistemas de ecuaciones lineales 27

1 1 h p n  p n i
Tn (t) = [(cos θ + i sen θ)n + (cos θ − i sen θ)n ] = t + i 1 − t2 + t − i 1 − t2 .
2 2
Puesto que para |t| ≥ 1, la expresión
1
h √ n  √ n i h √ n  √ n i
2
t + i 1 − t2 + t − i 1 − t2 = 12 t + t2 − 1 + t − t2 − 1
n √ k
n n−k
t2 − 1
P
= k
t
k=0
k par

es un polinomio en t que coincide con Tn (t) en [−1, 1], debe tenerse que
1 h p n  p n i
Tn (t) = t + t2 − 1 + t − t2 − 1 , |t| ≥ 1.
2
√ √
k+1
Finalmente, dado k > 1 y t := k−1 , se tiene que t ± t2 − 1 = √k±1 y
  k∓1

 √ √ !n 
√

k+1

 √k+1 n
 k−1  n
Tn = 1
+ √ ≥ 1 √k+1 . 

k−1 2  k−1 2 k−1

 k+1 
| {z }
≥0

Teorema 2.27. Sea A ∈ RN ×N


una matriz simétrica y definida positiva. Entonces las itera-
ciones, xn , n ≥ 0, del método del Gradiente Conjugado para Ax = b, con x0 = 0, verifican
p
kxn − x∗ kA ≤ 2γ n kx0 − x∗ kA , kxn − x∗ k2 ≤ 2 kA γ n kx0 − x∗ k2 , n ≥ 1,
p
k −1
siendo x∗ = A−1 b, kA = cond2 (A) y γ = p A .
kA + 1
Observación 2.28. Observar que si A es una matriz simétrica y definida positiva, entonces
λ (A)
cond2 (A) := kAk2 kA−1 k2 = ρ(A)ρ(A−1 ) = λmáx(A) ≥ 1, siendo λmáx (A) y λmı́n (A) el mayor
mı́n
y menor autovalor de A, respectivamente.
Demostración (Teorema 2.27). Por la observación anterior sabemos que kA ≥ 1.
1. En primer lugar, si kA = 1 entonces λ = λmáx (A) = λmı́n (A) para todo λ ∈ σ[A]. Luego,
como A es simétrica y definida positiva, por el Teorema 2.23 tenemos que A = λI con
λ > 0. Por tanto, K2 (A, b) = K1 (A, b) y x1 = . . . = xn = x∗ = λ−1 b para todo n ≥ 1. Por
consiguiente, el enunciado es evidente.
2. Ahora, supongamos que kA > 1 de modo que 0 < γ < 1. Denotamos M := λmáx (A) y
m := λmı́n (A) con lo cual σ[A] ⊂ [m, M ]. Consideramos el siguiente polinomio
 
1 M + m − 2t
p(t) :=   Tn .
Tn MM +m M −m
−m

Es claro que p ∈ n con p(0) = 1 y si t ∈ [m, M ], entonces −1 ≤ MM +m−2t


Q
−m
≤ 1. Por
M
tanto, puesto que kA = m
, usando (2.16)

M + m −1 kA + 1 −1
   
≤ 2γ n .

máx |p(t)| = Tn = T
n k −1
m≤t≤M M −m A
Aplicando el Teorema 2.25 sigue que kxn − x∗ kA ≤ 2γ n kx0 − x∗ kA . Finalmente, de (2.15)
obtenemos que
1 2γ n √
kxn − x∗ k2 ≤ √ kxn − x∗ kA ≤ √ kx0 − x∗ kA ≤ 2 kA γ n kx0 − x∗ k2 . 
m m
Observación 2.29. Este teorema refleja que la convergencia del método GC puede verse ralen-
tizada si kA  1.
28 Ana Gómez Pérez

2.2.2. Método del Gradiente Conjugado para ecuaciones normales


Sea un sistema lineal de ecuaciones Ax = b donde A ∈ RN ×N es regular pero no
necesariamente simétrica o definida positiva. Observamos que A> A es una matriz regular,
det(A> A) = det(A)2 > 0, es simétrica y también definida positiva, puesto que x> A> Ax =
(Ax)> (Ax) = kAxk22 > 0 para todo x ∈ R\ {0}.
El método del Gradiente Conjugado para las ecuaciones normales (GCNR) consiste en
aplicar el método GC al sistema
A> Ax = A> b
−1
para obtener x∗ = A b. Ası́ pues, el método GCNR considera los subespacios de Krylov
Kn (A> A, A> b) = span A> b, (A> A)(A> b), . . . , (A> A)n−1 (A> b) .
Antes de estudiar la estimación del error para el método GCNR presentamos su corres-
pondiente algoritmo:

Algoritmo 2 Método GC para Ecuaciones Normales (GCNR)


Considerar el sistema lineal Ax = b donde A ∈ RN ×N es una matriz regular y b ∈ RN un
vector no nulo. Denotamos rj := Axj − b y rbj = A> rj , j ≥ 0.
1: Definimos x0 := 0, r0 := −b, rb0 := A> r0 y db0 := A> b.
2: Dados xn , rn , rbn y dbn con n ≥ 0, mientras rn 6= 0 calcular
rn k2
kb 2 rn k2
kb 2
xn+1 = xn + αn dbn , con αn = =
hA> Adbn ,dbn i2 kAdbn k2
2
rn+1 = rn + αn Adbn
rbn+1 = rbn + αn A> Adbn = A> rn+1
kb
r k2
dbn+1 = −b rn+1 + βn dbn , con βn = n+12 2 .
kb
rn k2

Observación 2.30. A diferencia del método GC para el caso simétrico definido positivo, el
método GCNR requiere otro producto matriz-vector A> rj para cada j ≥ 0. Sin embargo,
podemos evitar calcular la operación A> A que requiere un gran costo computacional.

Observación 2.31. (i) Como consecuencia directa del Teorema 2.8, se da la siguiente propiedad
minimal para las iteraciones del método GCNR:
kAxn − bk2 = mı́n kAx − bk2 .
x∈Kn (A> A,A> b)

En efecto, para todo v ∈ RN , kv − x∗ k2A> A = hA(v − x∗ ), A(v − x∗ )i2 = kAv − bk22 .


Esta propiedad justifica la letra R usada en la notación del método GCNR, ya que en
esta variante se minimizan los residuales. Asimismo, la letra N se refiere a las ecuaciones
normales.
(ii) Por el Teorema 2.27, obtenemos la siguiente estimación del error para el método GCNR:
kAxn − bk2 ≤ 2γ n kAx0 − bk2 , kxn − x∗ k2 ≤ 2kA γ n kxn − x∗ k2 , n ≥ 1,
kA −1
siendo γ = kA +1
. Observar que kA> A = cond2 (A> A) = cond2 (A)2 = 2.
kA

2.3. Método del residual mı́nimo generalizado


Presentamos otra posibilidad para resolver un sistema lineal regular Ax = b, donde
A ∈ RN ×N es una matriz regular arbitraria, no necesariamente simétrica o definida positiva.
Métodos iterativos para sistemas de ecuaciones lineales 29

Definición 2.32. Dada una sucesión de subespacios (2.3), el método del residual mı́nimo
consiste en hallar
)
xn ∈ D n
kAxn − bk2 = mı́n kAx − bk2 n = 1, 2, . . . (2.17)
x∈Dn

Observación 2.33 (Existencia y unicidad de aproximación con residual minimal). Para ver
que (2.17) tiene solución única, definimos Sn := ADn = {Ad / d ∈ Dn }. Claramente, Sn es un
subespacio de RN . Por la teorı́a de  existencia y unicidad de mejor aproximación en espacios
pre-Hilbert aplicada a RN , h·, ·i2 con subespacio finitodimensional Sn , tenemos que existe
un único vector zn ∈ Sn tal que kzn − bk2 = mı́n kz − bk2 . Como A es una matriz regular,
z∈Sn
esto equivale a decir que existe un único xn ∈ Dn tal que kAxn − bk2 = mı́n kAx − bk2 .
x∈Dn

Definición 2.34. Dada una matriz A ∈ RN ×N regular y un vector b ∈ RN , el método del


residual mı́nimo generalizado (GMRES) es el método (2.17) siendo Dn = Kn (A, b) dados por
(2.1) para n = 0, 1, . . ..

Observación 2.35. Observar que si A es simétrica y definida positiva, entonces el método GM-
RES implica que kxn − x∗ kA2 = mı́n kxn − x∗ kA2 por lo que se espera, en este caso, un
x∈Kn (A,b)
comportamiento similar al del método GC respecto al error con relación número de iteraciones.

El procedimiento básico que seguiremos para implementar el método GMRES es el


siguiente:
(i) Usando el proceso de Arnoldi (ver Algoritmo 3) se genera una base ortogonal de Kn (A, b)
con respecto al producto escalar euclı́deo.
(ii) Usando dicha base ortogonal, el problema (2.17) se reduce a un problema de mı́nimos
cuadrados.
Sea v1 ∈ RN un vector tal que kv1 k = 1. El proceso de Arnoldi consiste en generar una
sucesión de vectores v1 , v2 , . . . tal que kvi k = 1, i = 1, 2, ..., ortogonales con respecto al producto
escalar h·, ·i2 mediante el proceso de Gram-Schmidt aplicado a los vectores v1 , Av1 , Av2 , . . . de
la siguiente manera:
b
Definimos v1 = kbk y consideramos el sistema {v1 , Av1 }. Aplicando el proceso de
2
Gram-Schmidt, se obtiene
b2 = Av1 − hAv1 , v1 i2 v1 .
v
v
b2 6= 0, entonces definimos v2 := kb
Si v b2
v2 k2
y obtenemos el sistema ortonormal {v1 , v2 }. A
continuación, aplicamos el proceso de Gram-Schmidt a {v1 , v2 , Av2 }, para obtener
b3 = Av2 − hAv2 , v1 i2 v1 − hAv2 , v2 i2 v2
v
v
b3
Luego, si v b3 6= 0, entonces definimos v3 := kbv3 k2
, resultando un nuevo sistema ortornormal
{v1 , v2 , v3 }. En general, el proceso de Arnoldi se define en el siguiente algoritmo:

Algoritmo 3 Proceso de Arnoldi.


1: Dado b ∈ RN , b 6= 0, definimos v bn 6= 0 calcular
b1 := b. Mientras v
v
bn
2: vn = kb
vn k2
.
Pn
bn+1 = Avn −
3: v hAvn , vj i2 vj .
j=1
30 Ana Gómez Pérez

Observación 2.36. El proceso de Arnoldi parará en la primera iteración tal que Avn ∈
span {v1 , . . . , vn }.
Observación 2.37. Si A es una matriz simétrica, entonces para k ≤ n − 2, hAvn , vk i2 =
hvn , Avk i2 = 0 ya que los vectores vn y vj son ortogonales para j = 0, . . . , n − 1 y Avk
es combinación lineal de {v1 , . . . , vk , vk+1 }. Luego, el proceso de Arnoldi se convierte en una
recursión a tres términos:
bn+1 := Avn − hAvn , vn i2 vn − hAvn , vn−1 i2 vn−1 ,
v n = 1, 2, . . .
Este caso especial del proceso de Arnoldi aplicado a matrices simétricas se llama proceso de
Lanczos.
El siguiente lema permite afirmar que el proceso de Arnoldi genera una base ortonormal
de los subespacios de Krylov Kn (A, b).
Lema 2.38. Los vectores v1 , v2 , . . . , vn∗ generados por el proceso de Arnoldi forman un sis-
tema ortonormal respecto del producto euclı́deo h·, ·i2 en RN y
span {v1 , . . . , vn } = span {v1 , . . . , vn−1 , Avn−1 } = Kn (A, b) para 1 ≤ n ≤ n∗ .
Demostración. La ortonormalidad de los vectores v1 , v2 , ..., vn∗ es inmediata por propia cons-
trucción, pues es claro que kvj k2 = 1 para 1 ≤ j ≤ n∗ , y si se asume que hvj , vk i2 = δjk para
1 ≤ j < k ≤ n, entonces dado k tal que 1 ≤ k ≤ n:
 
n
1 X j=k
hvn+1 , vk i2 = hAvn , vk i2 − hAvn , vk i2 hvj , vk i2  = 0.
kb
vn+1 k2 j=1

Ahora, por inducción, veamos que


span {v1 , . . . , vn } = span {v1 , . . . , vn−1 , Avn−1 } = Kn (A, b) para 1 ≤ n ≤ n∗ .
b
La propiedad es obvia para n = 1, pues v1 = kbk . Suponemos cierta para un n con 1 ≤ n ≤
2
n∗ − 1, y veamos que se cumple para n + 1. En primer lugar,
 
n
1 Avn −
X
vn+1 = hAvn , vj i2 vj  ∈ span {v1 , . . . , vn , Avn } .
kb
vn+1 k2 j=1

Además, por hipótesis de inducción, sabemos que v1 , . . . , vn ∈ Kn y Avn ∈ AKn ⊆ Kn+1 . Lue-
go, span {v1 , . . . , vn−1 , vn , vn+1 } ⊆ span {v1 , . . . , vn , Avn } ⊆ Kn+1 , siendo dim({v1 , . . . , vn+1 }) =
n + 1 y dim (span {v1 , . . . , vn , Avn }) ≤ n + 1, dim(Kn+1 ) ≤ n + 1. Luego, por un argumento
de dimensión, los tres subespacios son iguales. 
Observación 2.39. Este lema nos permite afirmar que el número de iteraciones n∗ necesarias
para que el proceso de Arnoldi pare coincide con el menor valor n∗ tal que Kn∗ (A, b) =
Kn∗ +1 (A, b). Ası́ pues, en el caso de que A sea simétrica y definida positiva, el número de
iteraciones para alcanzar la convergencia con el método del Gradiente Conjugado y GMRES
coincide. En otro caso, el número de iteraciones de GMRES y GCNR no tiene porqué coincidir.
A continuación, presentamos dos ejemplos mediante los métodos GCNR y GMRES donde
observaremos, que dependiendo de las caracterı́sticas del sistema lineal, un método puede
converger con menos iteraciones que el otro.
Ejemplo 2.40. Sean ei es el i-ésimo vector canónico de RN ×N , 1 ≤ i ≤ N , y
  e> 
0 1 1 0
    
N
1 0   e1 
 >  0 .
N ×N .
A= . . = ∈R , b =  .  ∈ R , x∗ =  .  ∈ RN
N
     
. 
 .. ..    ..   ..  0
1 0 e>
N −1
0 1
de modo que x∗ es la única solución del sistema lineal Ax = b. Demostraremos que:
Métodos iterativos para sistemas de ecuaciones lineales 31

1. El método GCNR converge exactamente en una sola iteración, x1 = x∗ .


Consideramos el subespacio de Krylov Kn (A> A, A> b) donde
 >  >
e2 e2
 .   . 
. . 
A> b =  .  e1 = eN , A> A =  .  [e2 |...|eN |e1 ] = IN .
  
e>  e> 
N N
e>
1 e>
1

Tenemos que K1 (A> A, A> b) = K2 (A> A, A> b) = span {eN } y GCNR converge en una
iteración.
2. El método GMRES converge exactamente en N iteraciones.
Tenemos que b = e1 , Ab = e2 , A2 b = e3 ,..., AN −1 b = eN , AN b = e1 . Luego, Kj (A, b) =
span {e1 , . . . , ej } para 1 ≤ j ≤ N , y KN +1 (A, b) = KN (A, b). Luego, el método GMRES
converge en N iteraciones. Además, si j = 1, . . . , N − 1, entonces

j+1 q
X
mı́n kAx−bk2 = mı́n λ k−1 e k − e1
= mı́n 1 + λ21 + . . . + λ2j = 1
x∈Kj (A,b) j
P

k=2

λ1 ,...,λ j ∈R
x= λk ek 2
k=1

que se obtiene con λ1 = . . . = λj = 0; esto es, xj = 0 si 1 ≤ j ≤ N − 1 y xN = x∗ .

Este ejemplo muestra una situación en la que el método GCNR converge en una itera-
ción mientras que el método GMRES requiere N iteraciones. A continuación, en el Ejemplo 2.42
ilustraremos la situación recı́proca. Antes estudiaremos una propiedad del rango de matrices
que nos será de utilidad en el resto del capı́tulo.
Lema 2.41. Sean M ∈ Rp×q y N ∈ Rq×r con rango(M ) = q (q ≤ p). Entonces,
rango(M N ) = rango(N ).

Demostración. Consideramos las aplicaciones lineales asociadas a M ,N y M N respectivamente


LM : Rq → Rp , LN : Rr → Rq , LM N : Rr → Rp . Como dim(Im(LM )) = rango(M ) = q,
dim(Ker(LM )) = 0 y Ker(LM ) = {0}. Probaremos que Ker(LN ) = Ker(LM N ), de donde
se obtendrı́a inmediatamente el enunciado por el primer Teorema de isomorfı́a.
Es evidente que Ker(LN ) ⊆ Ker(LM N ), pues si N v = 0, entonces M N v = 0. Sea
v ∈ Ker(LM N ): M N v = 0. Entonces, N v ∈ Ker(LM ) = {0} y, por tanto, v ∈ Ker(LN ). 
 
1 α
 .. 
α 1
 . 
Ejemplo 2.42. Sea la matriz tridiagonal T =   con 0 < |α| ≤ 12 . Los autovalores

 .. .. 
 . . α
α 1
√  
de T son λj = 1 − 2 α2 cos Njπ +1
> 0 para j = 1, . . . , N , (veáse, p.e., [1, p.349]). Luego,
T es una matriz simétrica y definida positiva. Por lo tanto, admite una descomposición de
Cholesky: LL> = T con l11 = 1, donde L es una matriz triangular inferior inversible. Es fácil
1
α ∗ 
 
 . .
 . ..

ver que L debe ser de la forma L =  0 . .

 .. ..
 
.. 
. . . 
0 ∗ ... ... ∗
Sea A := L> y b := e1 . Planteamos el sistema Ax = b con solución x = e1 pues
Ae1 = e1 . Por tanto,
32 Ana Gómez Pérez

1. El método GMRES converge en una iteración ya que Ab = b implica K2 (A, b) = K1 (A, b) =


span {b}.
2. Respecto al método GCNR, debemos considerar los subespacios Kn (A> A, A> b), n ≥ 1.
| {z }
T
Tenemos que
v1 := A> b = Le1 = e1 + αe2
v2 := T v1 = (1 + α2 )e1 + 2αe2 + α2 e3
v3 := T v2 = β31 e1 + β32 e2 + β33 e3 + β34 e4 , con β34 = α3 , β33 = 3α2
..
.
vj := T vj−1 = βj1 e1 + . . . + βjj ej + βj,j+1 ej+1 , con βj,j+1 = αj , βjj = jαj−1
..
.
vN −1 := T vN −2 = βN −1,1 e1 + . . . + βN −1,N −1 eN −1 + βN −1,N eN ,
con βN −1,N = αN −1 , βN −1,N −1 = (N − 1)αN −2
vN := T vN −1 = βN,1 e1 + . . . + βN,N eN con βN,N = N αN −1 .
Además, T e1 = e1 + αe2 = v1 . Luego, T [e1 |v1 | . . . |vN −1 ] = [v1 |v2 | . . . |vN ]. Como
α 6= 0, T es regular y rango (T ) = N , por el Lema 2.41, rango ([v1 |v2 | . . . |vN ]) =
rango ([e1 |v1 | . . . |vN −1 ]) = N . Por tanto, v1 , . . . , vN son vectores linealmente indepen-
dientes y el método GCNR converge en N iteraciones.
Observación 2.43. En el resto de esta sección, denotaremos hkn := hAvn , vk i2 para n ≥ 1 y
bn+1 6= 0, definimos
k = 1, . . . , n. Asimismo, si v
1
hn+1,n := para n ≥ 1.
kb
vn+1 k2
Por tanto, obtenemos una matriz rectangular de Hessenberg superior:
h11 h12 . . . h1n
 
h21 h22 . . . h2n 
 
Hn =  .. . . . . . . ..  ∈ R(n+1)×n . (2.18)

 . . 

 0 0 ... h 
n,n
0 0 . . . hn+1,n
Además, según la Observación 2.37, si A es una matriz simétrica, entonces (Hn )i,j = 0, si
|i − j| ≥ 2.
Teorema 2.44. Sea una matriz A ∈ RN ×N y un vector b ∈ RN no nulo. Asumiendo la
notación (2.18) del proceso de Arnoldi, se tiene que
AVn = Vn+1 Hn , n = 1, . . . , n∗ − 1, y AVn∗ = Vn∗ Hn∗ (2.19)
donde
 
h11 . . . ... h1n∗
 .. .. 
h
 . . 

Vj = [v1 | . . . |vj ] ∈ RN ×j , 1 ≤ j ≤ n∗ , y H n∗ =  21  ∈ Rn∗ ×n∗ .
 .. .. .. 
 . . . 
hn∗ ,n∗ −1 hn∗ n∗
(2.20)
Demostración. Por el proceso de Arnoldi, para cada n = 1, 2, . . . , n∗ , sabemos que hn+1,n vn+1 =
n
P
bn+1 = Avn −
v hkn vk , habiendo definido hn∗ +1,n∗ := 0 y vn∗ +1 := 0. Luego, nos queda
k=1
n+1
P
Avn = hkn vk para 1 ≤ n ≤ n∗ . 
k=1
Métodos iterativos para sistemas de ecuaciones lineales 33

Observación 2.45. Observar que AVn∗ = Vn∗ Hn∗ implica que Vn>∗ AVn∗ = Hn∗ . Esto es, A es
semejante, por transformación ortogonal, a la matriz de Hessenberg cuadrada superior definida
en (2.20).

Seguidamente, desarrollaremos un procedimiento para implementar el método GMRES


que emplea las bases ortogonales de los subespacios de Krylov generados mediante el proceso
de Arnoldi.

Teorema 2.46. Sean x1 , . . . , xn∗ ∈ RN las iteraciones del método GMRES aplicado al sis-
tema lineal Ax = b con A ∈ RN ×N matriz regular y vector b ∈ RN no nulo. Para cada
n = 1, . . . , n∗ , el problema de mı́nimos cuadrados
mı́n kHn z − cn k2 donde cn := kbk2 e1 , con e1 = (1, 0, . . . , 0)> ∈ Rmı́n{n+1,n∗ } ,
z∈Rn

admite solución única zn ∈ Rn . Además, xn = Vn zn y kAxn − bk2 = kHn zn − cn k2 para


1 ≤ n ≤ n∗ , donde Vn y Hn están dadas por (2.20) y (2.18) respectivamente.

Demostración. Por (2.19), observamos que si 1 ≤ n ≤ n∗ , entonces


>
Ax − b = Vn
b Hn Vn x − Vn
b cn b = mı́n {n + 1, n∗ } .
con n
Luego, como Vj> Vj = Ij para 1 ≤ j ≤ n∗ , sigue que kAx − bk2 = kHn Vn> x − cn k2 . Ahora,
por el Lema 2.38, x ∈ Kn (A, b) = span {v1 , . . . , vn } si y sólo si existe un único z ∈ Rn tal que
x = Vn z. Además, puesto que Vj Vj> = IN para 1 ≤ j ≤ n∗ , Vn> x = Vn> y si y sólo si x = y.
Puesto que existe un único vector xn ∈ Kn (A, b) tal que kAxn − bk2 = mı́n kAx − bk2 ,
x∈Kn (A,b)
existe un único zn ∈ Rn tal que kHn zn − cn k2 = mı́nn kHn z − cn k2 y xn = Vn zn . 
z∈R

Observación 2.47. La matriz de Hessenberg Hn ∈ Rn b ×n , donde n


b = min {n + 1, n∗ } para
1 ≤ n ≤ n∗ , se puede factorizar como Hn = Qn Rn siendo Qn ∈ Rn b ×b
n una matriz ortogonal,
−1
n = Qn , y Rn ∈ R
es decir, Q> nb ×n una matriz triangular superior, esto es, (R )
n i,j = 0
 n
si i > j. Además, Rbn := (Rn )
i,j ∈ Rn×n es una matriz regular. Probaremos esta
i,j=1
propiedad en el Lema 2.50 y la utilizaremos a continuación para dar una expresión cerrada
para las iteraciones del método GMRES y las correspondientes normas de los residuales.

Teorema 2.48. Para cada n ∈ {1, . . . , n∗ }, sea zn ∈ Rn es la única solución del problema de
mı́nimos cuadrados definido en el Teorema 2.46 con Hn = Qn Rn , donde Qn y Rn son las
matrices definidas en la Observación 2.47. Entonces,
−1 >
(i) zn = R In×b
n Q cn , donde In×bn es la matriz identidad rectangular de dimensión n × n b.
bn
n
(ii) kHn z − cn k2 = ρn siendo

n cn |, con en+1 := (0, . . . , 0, 1) ∈ R


 >
|en+1 Q> > n+1 , si 1 ≤ n ≤ n − 1,

ρn =
0 , si n = n∗ .

Demostración. Por hipótesis, sabemos que Hn z − cn = Qn Rn z − Q>



n cn . Por lo tanto,
>
kHn z − cn k2 = kRn z − Qn cn k2 . Distinguimos dos casos:
1. Si n = n∗ , entonces Rn = R bn es una matriz regular y kHn z − cn k2 toma valor mı́nimo
−1 >
igual a cero con z = zn := R bn Qn cn .
" # " #
R
bn z In×(n+1) Q>
n cn
2. Si n < n∗ , Rn z = y Q> c
n n = . Luego, kRn z − Q> 2
n cn k2 =
0 e> >
n+1 Qn cn
|e> Q> cn |2 + kR
n+1 n
bn z − In×(n+1) Q> cn k2 , y esta expresión se minimiza tomando z =
n 2
−1 > > > >
zn := R n Qn cn , con valor mı́nimo kRn z − Qn cn k2 = |en+1 Qn cn |.
In×b 
bn
34 Ana Gómez Pérez

Observación 2.49. El siguiente lema nos dice que las matrices superiores de Hessenberg Hn ,
para 1 ≤ n ≤ n∗ , se pueden factorizar como el producto de una matriz ortogonal y una
matriz triangular superior. Presentamos la prueba de este resultado por completitud en la
exposición, aunque se base meramente en un caso particular de la descomposición QR para
matrices rectangulares en general. En la prueba consideramos matrices de rotación de Givens:
 
Ii−1
 a b  ∈ Rn
 b ×b
n
G(i, i + 1, θ) =  con a = cos(θ), b = sin(θ), 1 ≤ i ≤ n
b − 1.
 −b a 
In
b −1−i

        
c 0 a b c r
Observar que dado 6= se obtiene = con r := c2 + s2 tomando
s 0 −b a s 0
   
c 0
a = rc y b = rs . Si = basta tomar a = 1, b = 0.
s 0
Lema 2.50. La matriz Hn (2.18)-(2.20) con 1 ≤ n ≤ n∗ , admite la descomposición Hn =
Qn Rn donde Qn y Rn son las matrices definidas en la Observación 2.47.
(0)
Demostración. Denotemos a la matriz Hessenberg como Hn := Hn . Para cada i ∈ {1, . . . , n}
definimos matrices de rotación de Givens Gi = G(i, i + 1, θi ) ∈ Rn
b ×b
n tales que
 
(i) (i−1) (i)
Hn := Gi Hn con Hn = 0.
i+1,i
(n)
Es directo comprobar que Rn := Hn = Gn Gn−1 . . . G1 Hn verifica que (Rn )i,j = 0 para
> −1
i > j. Además, puesto que Gi = Gi , 1 ≤ i ≤ n, definiendo la matriz Qn := G> > >
1 . . . Gn−1 Gn
obtenemos Qn Q> >
n = Qn Qn = I y H n = Qn Rn . n
Finalmente, veamos que la matriz R
bn := (Rn )
i,j es regular. Por (2.19), sabemos
i,j=1
b Qn Rn y Rn ∈ R
que AVn = Vn nb ×n . Aplicando el Lema 2.41, y teniendo en cuenta
b Hn = Vn
que rango(Qn ) = nb = rango(Vnb ), entonces rango(Rn ) = rango(Qn Rn ) = rango(Vn b Qn Rn ).
Además, como A es una matriz inversible, sigue que rango(Vn b Qn Rn ) = rango(AVn ) =
rango(Vn ) = n. Luego, rango(Rbn ) = rango(Rn ) = n y R bn es una matriz regular. 
Corolario
 2.51. Las iteraciones
 x1 , . . . , xn∗ del método GMRES se pueden expresar como
−1
n Q e1 kbk2 , con e1 = (1, 0, . . . , 0) ∈ R , y residual
xn = Vn Rbn In×b > > n
b
n

(Vn+1 Qn en+1 ) −e> >


 
Axn − b = n+1 Qn e1 kbk2 , 1 ≤ n ≤ n∗ − 1,
0 , n = n∗ .

Demostración. Por (2.19), Axn − b = Vn+1 Hn Vn> xn − Vn+1 cn = Vn+1 (Hn zn − cn ), con zn =
Vn> xn . Aplicando el Lema 2.50, obtenemos que Vn+1 (Hn zn − cn ) = Vn+1 Qn Rn zn − Q>

n cn .
Finalmente, usando el procedimiento de la demostración del Teorema 2.48, para 1 ≤ n ≤ n∗ −1
   
Vn+1 Qn Rn zn − Q> > >
n cn = (Vn+1 Qn en+1 ) −en+1 Qn e1 kbk2 .


El siguiente resultado da una estimación de convergencia del método GMRES, en la
lı́nea del Teorema 2.25 para el método del Gradiente Conjugado.
Teorema 2.52. Sea A ∈ RN ×N una matriz diagonalizable, es decir, existe T ∈ RN ×N una
matriz tal que T −1 AT = D donde D := diag (λ1 , . . . , λN ). Entonces, si xn denota la enésima
iteración del método GMRES:
 

kAxn − bk2 ≤ cond2 (T )  ı́nf


Q máx |p(λk )| kbk2 .
p∈ n k=1,...,N
p(0)=1
Métodos iterativos para sistemas de ecuaciones lineales 35

Q
Demostración. Para cualquier polinomio p ∈ n con p(0) = 1, definimos el polinomio q(t) :=
1−p(t)
t
de grado como máximo n − 1. Luego, definiendo x := q(A)b ∈ Kn (A, b) tenemos que
Ax − b = −p(A)b. La propiedad minimal del método GMRES implica que
kAxn − bk2 ≤ kAx − bk2 = kp(A)bk2 ≤ kp(A)k2 kbk2 .
Ahora, como A es una matriz diagonalizable
kp(A)k2 ≤ kT k2 kp(D)k2 kT −1 k2 = cond2 (T ) máx |p(λk )|.
k=1,...,N

Entonces, la desigualdad anterior se cumple para el ı́nfimo. 

Corolario 2.53. Sea A ∈ RN ×N una matriz regular diagonalizable con exactamente m auto-
valores distintos, entonces xm = x∗ , esto es, el método GMRES converge en m iteraciones.
m
Q λi −t Q
Demostración. Definimos el polinomio p(t) = λi
∈ m con p(0) = 1. Entonces,
i=1
máx |p(λk )| = 0. Y, por el Teorema 2.52, tenemos kAxm − bk2 = 0. 
k=1,..,N

Observación 2.54 (Implementación del método GMRES basado en el proceso de Arnoldi y


rotaciones de Givens).
Finalmente, trataremos la implementación práctica de las iteraciones método GMRES
basado en el proceso de Arnoldi y rotaciones de Givens. Consideramos el sistema Ax = b donde
A ∈ RN ×N es una matriz regular y b ∈ RN un vector no nulo.
Siguiendo la notación antes introducida:
b (0) (0)
i = 1 Definimos v1 = kbk
, h11 := h11 = hAv1 , v1 i2 , v
b2 = Av1 − h11 v1 y h21 := h21 = kb
v2 k2 .
"2 #
(0)  
(0) h11 [2] a1 b1
Sea H1 = H1 = (0) . Obtenemos G1 = tal que
h21 −b1 a1
 (1)   
r
= h11 =: H1 =: R1 = 11 .
[2] (0) (1)
G1 H1
0 0
" #
 (0)  (1) (1)
c1
y calcular G1 c1
(0) [2] c1
Sea c1 = kbk2 = (1) . Entonces, z1 = r11
, x1 = z 1 v 1 y
0 c2
(1) (1)
kAx1 − bk2 = |c2 |. Si |c2 | > T OL, donde T OL es una cantidad previamente fijada,
entonces se sigue iterando.
2
v
b2 (0) P
i = 2 Definimos v2 = kb
v2 k2
hi2 := hi2 = hAv2 , vi i2 para 1 ≤ i ≤ 2, v
, b3 = Av2 − hi2 vi
 (0) (0)  i=1
h h [2]
!
(0) (0)  11 12 [3] G1 0
y h32 := h32 = kb v3 k2 . Sea H2 = H2 = h(0) (0) 
21 h22 
. Tomando G 1 =
(0) 0 1
0 h32
 (1) (1) 
h h "
(1)
# "
(0)
#
[3] (0)  11 12  (1) (1) (0) h12 [2] h12
se tiene que G1 H2 =  0 h(1) 22 
=: H 2 con h 32 = h32 y (1) = G 1 (0) .
(1) h22 h22
0 h32
 
 (0)  (1)
c c
" #
  (1)
[3]  1   1(1)  [2] a2 b2 [2] h22
Además, G1 0 = c . Ahora, elegimos G2 = tal que G2 (1) =
2 −b2 a2 h32
0 0
 
(1) (1)
 (2) 
1 0 h11 h12
h22 . Entonces, con G[3] = [3] (1)
=  0 h(2)  =: H2 =:
(2)
[2] sigue que G2 H2
 
2
0 0 G2 22
0 0
36 Ana Gómez Pérez

(1)
   
  (1)
r11 r12 c1 c1 "
(2)
#  (1) 
c2
:= G2 c2 . Por tanto,
[3]   (2)  [2]
R2 =  0 r22 . Además, G2 c(1)  = c2  con

(2)
0 0
2
(2) c3 0
0 c3
 −1 " (1) #
r11 r12 c1   (2) (2)
z2 =
0 r22 (2) , x2 = v1 v2 · z2 y kAx2 − bk2 = |c3 |. Si |c3 | > T OL, seguir.
c2
3
v
b3 (0) P
i = 3 Definimos v3 = kb
v3 k2
,hi3 := hi3 = hAv3 , vi i2 para 1 ≤ i ≤ 3, v
b4 = Av3 − hi3 vi y
i=1
 (0) (0) (0) 
h11 h12 h13 !
 (0) (0) (0)  [2]
(0) (0) h21 h22 h23  [4] G 0
h43 := h43 = kb
v4 k2 . Sea H3 = H3 =  (0) . Tomando G1 =
1 y
 0 h(0) 32 h33
 0 I2
(0)
0 0 h43
(1) 
 (1) (1)
h13 h11 h12  (1) (0)
1 0 0
 
(1)  (1)  h32 = h32

0 h h22

[4] [2] [4] (0) 23  =: H (1) (1) (0)
G2 =  0 G2 0  se tiene que G1 H3 =  con
 
(1) (1)
3 h33 = h33
 0 h33  h32  (1) (0)
0 0 1 (1)

h43 = h43
0 0 h43
 (1) (1) (1) 
" # " # h11 h12 h13
(1) (0) (2) (2) 
h13 [2] h13  0 h22 h23 

[4] (1) (2) (2) (1)
y (1) = G1 (0) . Además, G2 H3 = (2)  =: H3 con h43 = h43
h23 h23  0 0 h33 
(2)
0 0 h43
" # " # " # 
(2) (1)   (2) (3)

h23 [2] h23 [2] a3 b3 [2] h33 h33 .
y (2) = G 2 (1) . Ahora, elegimos G 3 = tal que G 3 (2) =
h33 h33 −b3 a3 h 0
 (1) (1) (1)  43
h h h
 11 12 13
!
I2 0 (2) (2) 
sigue que G3 H3 =  0 h22 h23
[4] [4] (2) (3)
Entonces, con G3 =  =: H3 =: R3 =
 
[2] (3)
0 G3  0 0 h33 
0 0 0
   (0)   (1)   (1) 
r11 r12 r13 c1 c1 c
 0 r22 r23   0   (1)   1(2) 
[4] [4] [4] [4] [4] c  [4] c2  =
 0 0 r33 . Por otra parte, G3 G2 G1  0  = G3 G2  20  = G3 
    
c(2) 

3
0 0 0 0 0 0
 (1) 
c1  −1 (1)
 
 (2) 
"
(3)
#
r11 r12 r13 c
 1 
 (2) 
 c2  c3 [2] c
 (3)  donde (3) := G3 3 . En definitiva, z3 =  0 r22 r23  c(2) 2 
, x3 =
 c3  c4 0 0 0 r33 (3)
(3) c3
c
 4  (3) (3)
v1 v2 v3 · z3 y kAx3 − bk2 = |c4 |. Si |c4 | > T OL, seguir.
i = n Suponemos que en las iteraciones previas 1 ≤ i ≤ n − 1 se han obtenido matrices
" #
  (i−1)  (i) 
ai bi [2] hii
= hii , y que se han calculado los siguientes
[2]
Gi = tales que Gi (i−1)
−bi ai hi+1,i 0
coeficientes: " # " #
(0) (1)
[2] h1i h1i
G1 (0) = (1) , para 1 ≤ i ≤ n − 1,
h2i h2i
" # " #
(1) (2)
[2] h2i h2i
G2 (1) = (2) , para 2 ≤ i ≤ n − 1,
h3i h3i
y
Métodos iterativos para sistemas de ecuaciones lineales 37

" (j−1) # " (j)


#
[2] hji hji
Gj (j−1) = (j) , para j ≤ i ≤ n − 1,
hj+1,i hj+1,i
(0)
ası́ como también, con c1 := kbk2 ,
" # " (j) #
(j−1) cj
[2] cj
Gj = (j) para 1 ≤ j ≤ n − 1.
0 cj+1
v
bn (0)
Definimos entonces vn = kb vn k2
, hin := hin = hAvn , vi i2 para 1 ≤ i ≤ n, v
bn+1 =
n
P (0)
Avn − hin vi y hn+1,n := hn+1,n = kb vn+1 k2 .
i=1
 
Ij−1 0 0
[n+1]
Con Gj =  0 G[2] 0  para 1 ≤ j ≤ n − 1, sigue que
 
j
0 0 In−j
[n+1] [n+1] [n+1] (0) [n+1] [n+1] (1) [n+1] (n−2) (n−1)
Gn−1 ...G2 G1 Hn = Gn−1 ...G2 Hn = ... = Gn−1 Hn = Hn ,
donde se han de calcular
" # " # " # " # " (j−1) # " (j) #
(0) (1) (1) (2)
[2] h1n h1n [2] h2n h2n [2] hjn hjn
G1 (0) =: (1) , G 2 (1) =: (2) y en general G j (j−1) =: (j)
h2n h2n h3n h3n hj+1,n hj+1,n
para 1 ≤ j ≤ n − 1. Observar que
 (1) (1) (1) (1) 
h11 h12 . . . h1,n−1 h1n
 0 h(2) (2) (2) 

 22 . . . h2,n−1 h2n  
 . .. . . .. .. 
(n−1)  .
. . . . .  siendo h(n−1) = h(0) (j)

Hn = n+1,n n+1,n = hn+1,n , 0 ≤ j ≤ n−1.

 0 (n−1) (n−1) 
 0 . . . hn−1,n−1 hn−1,n 

(n−1) 
 0 0 ... 0 hnn 

(n−1)
0 0 ... 0 hn+1,n
Además,
 (1)
  (1) 
c1 c1
 (1)   (2)   c(2) 
 (0)  c1  c2   2 
c  (1)   (3)   (3) 
 10  c2   3   c3 
 c   
[n+1] [n+1] [n+1] 
 .  = G[n+1] ...G[n+1] 
 
0
 [n+1]  .   . 
Gn−1 ...G2 G1  .  n−1 2
 = ... = G
n−1    =
..   .. 

..
 
 .    
c(n−2)  c(n−1) 
   
0
 . 
 n−1   n−1 
0  0  c (n−1) 
n
0 0
[2]
que ya es conocido de " iteraciones
#  previas. Determinamos una nueva matriz = ! Gn
(n−1) (n) I 0
  
an bn [2] hnn h nn . Finalmente, con la matriz G [n+1] n−1
tal que Gn (n−1) = n = [2]
−bn an hn+1,n 0 0 Gn
se obtiene que
 (1) (1) (1) 
h11 h12 . . . h1n 
r11 r12 . . . r1n

 0 h(2) . . . h(2)   0 r22 . . . r2n 
 22 2n   
[n+1] (n−1)  .
.. ..  (n)  . .. . . .. 
Gn Hn = .  =: Hn =: R n =  .. .
 .
 . . 
  . . 

(n)   0 0 ... r 
 0 0 . . . hnn nn
0 0 ... 0 0 0 ... 0
38 Ana Gómez Pérez

(1)
 
 (1) 
c1
c1
(2) (2)
c2
 

 c2 
  
(2)
 (3) 
c3
 
 c3  


  (n−1)  "
(n)
#
.. cn
 
[n+1]  ..   [2] cn
y Gn = siendo G = (n) . Por tanto, zn =

n
 

 .

  .  0 cn+1
 (n−1)   (n−1) 
c c 
 n−1 
  n−1 
c(n−1)   (n) 
n  c n 
(n)
0 cn+1
−1 
r11 r12 . . . r1n

(1) 
c
 0 r22 . . . r2n   1 
.    (n)
 . .. . . ..    .. , xn = v1 . . . vn · zn y kAxn − bk2 = |cn+1 |.
 
 .. . . . 
(n)
0 0 . . . rnn cn

El desarrollo previo para el método GMRES se reduce al siguiente algoritmo:

Algoritmo 4 Método GMRES con proceso de Arnoldi y rotaciones de Givens.


Considerar el sistema lineal Ax = b donde A ∈ RN ×N es una matriz regular y b ∈ RN un
vector no nulo.
b
1: Definir v1 := kbk ∈ RN , x0 := 0 y c := kbk2 e1 ∈ RN . Para n ≥ 1:
2
n
P
2: Calcular hin := hAvn , vi i2 , 1 ≤ i ≤ n, vbn+1 := Avn − hin vi y hn+1,n := kb
vn+1 k2 .
  i=1
aj bj
3: Aplicar la rotación de Givens Gj = a (hjn , hj+1,n )> para 1 ≤ j ≤ n − 1, y
−bj aj
redefinir    
hjn hjn
:= Gj para 1 ≤ j ≤ n − 1.
hj+1,n hj+1,n
   
an bn hnn
4: Construir Gn = tal que (0, 1) Gn = 0 y redefinir
−bn an hn+1,n
   
hnn hnn
:= Gn .
0 hn+1,n
   
cn cn
5: Redefinir c de modo que := Gn .
cn+1 cn+1
n
Si |cn+1 | < T OL, entonces resolver (hij )n n P
i,j=1 z = (ci )i=1 y tomar xn = x0 + zj vj .
j=1
v
bn+1
En otro caso, calcular vn+1 := kb
vn+1 k2
y volver al paso 2 con n = n + 1.

Observación 2.55 (GMRES con reinicialización, o GMRES de m pasos). La implementación


del método GMRES requiere  almacenar
 los vectores v1 , . . . , vn generados por el proceso de
Arnoldi en una matriz Vn = v1 . . . vn ∈ RN ×n para el cálculo de la iteración xn . Si N  1,
este almacenamiento puede ser poco práctico o inviable si el número de iteraciones n es grande.
Por ello, en la práctica, se considera una variante del método GMRES con reinicialización del
proceso de Arnoldi. Sea m ∈ N con 1 ≤ m ≤ N fijo. Se llama método GMRES de m pasos, o
GMRES(m), al siguiente algoritmo:
Métodos iterativos para sistemas de ecuaciones lineales 39

1. Dada una aproximación inicial x0 , dar m iteraciones del método GMRES para obtener
xm , con rm = Axm − b.
2. Si krm k2 ≤ T OL parar. En caso contrario, volver al punto 1 con x0 := xm .
Claramente este proceso limita a dimensión N × m el tamaño de la matriz para almacenar
los vectores generados por el proceso de Arnoldi. La elección de m en el método GMRES(m)
es una cuestión empı́rica que depende de cada problema concreto. Incluso para un mismo
problema, los comportamientos de GMRES(m) y GMRES(m + 1) pueden ser muy diferentes.
A diferencia del método GMRES en el cual siempre se alcanza la convergencia en el peor
de los casos dando n = N iteraciones, el método GMRES(m), con m < N , no tiene porqué
converger. De hecho, sus iteraciones se pueden estancar en un valor concreto diferente a la
solución. Un ejemplo de esta situación se da al aplicar GMRES(m), con m < N , al Ejemplo
2.40 con x0 = 0, de modo que se obtendrı́a xn = 0, para todo n ≥ 0.

2.4. Iteraciones precondicionadas.


En las secciones 2.2 y 2.3, hemos obtenido estimaciones de convergencia para los méto-
dos GC, GCNR y GMRES que indican que la tasa de convergencia puede verse afectada por
el número de condición, respecto de la norma euclı́dea, de cierta matriz relacionada con la
matriz de coeficientes del sistema Ax = b. Esto puede verse en el Teorema 2.27, la Observación
2.31(ii) y el Teorema 2.52, respectivamente. Ası́ pues, los métodos GC, GCNR y GMRES pue-
den experimentar lenta convergencia si este número de condición es grande. De hecho, en el
próximo capı́tulo mostraremos que esta lenta convergencia es habitual en problemas prácticos.
Para mitigar los problemas de condicionamiento, una alternativa consiste en precondi-
cionar el sistema lineal Ax = b, esto es, considerar una matriz regular M , denominada pre-
condicionador, para transformar el sistema Ax = b en el sistema equivalente M −1 Ax = M −1 b
de modo que, en cierto sentido que no precisaremos aquı́, M sea próxima a A y la resolución
de sistemas M y = c sea poco costosa. Esta alternativa se conoce como precondicionamiento a
la izquierda y en [7, Cap. 9] pueden verse otras variantes de precondicionamiento.
(i) El método del Gradiente Conjugado Precondicionado (PGC): consiste en aplicar el méto-
do del Gradiente Conjugado al sistema M −1 Ax = M −1 b respecto del producto interior
hu, viM = v > M u, para u, v ∈ RN , siendo M una matriz simétrica y definida positiva.
Considerando los subespacios de Krylov Kn M −1 A, M −1 b y el método del residual or-
togonal (2.4) respecto de h·, ·iM se obtiene el siguiente algoritmo:

Algoritmo 5 Método del Gradiente Conjugado Precondicionado (PGC)


Considerar el sistema lineal Ax = b donde A ∈ RN ×N es una matriz simétrica y definida
positiva, y b ∈ RN un vector no nulo. Dada M una matriz simétrica y definida positiva,
denotamos rj = Axj − b, rej = M −1 rj para j ≥ 0.
1: Definimos x0 := 0, r0 := −b, re0 := M −1 r0 y de0 := −e r0 .
2: Dados xn , rn , ren y den , mientras rn 6= 0, calcular
he rn iM
rn ,e hrn ,e
rn i2
xn+1 = xn + αn den , con αn = −1 e e
=
hM Adn ,dn iM hAdn ,dn i2
e e
rn+1 = rn + αn Aden h i
ren+1 = ren + αn M −1 A den = M −1 rn + αn Aden = M −1 rn+1


hren+1 ,e
rn+1 i hrn+1 ,e
rn+1 i
den+1 = −e
rn+1 + βn den , con βn = he
r ,er i
M
= hr ,er i
2
.
n n M n n 2
40 Ana Gómez Pérez

Observación 2.56. Observar que cada iteración del método PGC requiere hallar Aden y
resolver el sistema lineal M ren+1 = rn + αn Aden .
(ii) El método GCNR Precondicionado (PGCNR): análogamente consiste en aplicar el méto-
do GC al sistema precondicionado M −1 A> Ax = M −1 A> b respecto del producto interior
h·, ·iM siendo M una matriz simétrica y definida positiva. Considerando ahora los subespa-
cios de Krylov Kn M −1 A> A, M −1 A> b y el método del residual ortogonal (2.4) respecto

de h·, ·iM se obtiene el siguiente algoritmo:

Algoritmo 6 Método GCNR Precondicionado (PGCNR)


Considerar el sistema lineal Ax = b donde A ∈ RN ×N es una matriz regular y b ∈ RN un
vector no nulo. Dada M una matriz simétrica y definida positiva, denotamos rj = Axj − b,
rbj = A> rj y rej = M −1 rbj para j ≥ 0.
1: Definimos x0 := 0, r0 := −b, rb0 = A> r0 , re0 := M −1 rb0 y de0 := −e
r0 .
2: Dados xn , rn , rbn , ren y den , mientras rn 6= 0, calcular
he rn iM
rn ,e hb r i
r ,e
xn+1 = xn + αn den , con αn = −1 > e e
= n e n 22
hM A Adn ,dn iM kAdn k2
rn+1 = rn + αn Aden
rbn+1 = A> rn+1 h i h i
ren+1 = ren + αn M −1 A> A den = M −1 rbn + αn A> Aden = M −1 A> rn + αn Aden


hren+1 ,e
rn+1 i
M
hrbn+1 ,e
rn+1 i
2
den+1 = −e
rn+1 + βn den , con βn = he
r ,er i
= hb
r ,er i
.
n n M n n 2

Observación 2.57. En cada iteración de PGCNR se requiere computar dos productos


matriz-vector Aden , rbn+1 = A> rn+1 y resolver M ren+1 = rbn+1 .
(iii) El método GMRES Precondicionado (PGMRES): consiste en aplicar directamente el méto-
do GMRES al sistema precondicionado M −1 Ax = M −1 b, siendo M una matriz regular.
A partir de los subespacios de Krylov Kn M −1 A, M −1 b , se trata de hallar el vector
xn ∈ Kn M −1 A, M −1 b tal que


kM −1 Axn − M −1 bk2 = mı́n kM −1 Ax − M −1 bk2 .


x∈Kn (M −1 A,M −1 b)

Se obtiene el siguiente algoritmo:

Algoritmo 7 Método GMRES Precondicionado (PGMRES)


Considerar el sistema lineal Ax = b donde A ∈ RN ×N es una matriz regular, b ∈ RN un vector
no nulo y M una matriz regular.
b := M −1 b, v1 = eb y c = ke
1: Definimos los vectores x0 := 0, e bk2 e1 ∈ RN .
e
kbk2
n
M −1 Av
P
2: Sean v
en := n y hin := he
vn , vi i2 para 1 ≤ i ≤ n. Calcular v en −
bn+1 = v hin vi y
i=1
hn+1,n = kb
vn+1 k2 .
3: Continuar con los pasos 3-5 del Algoritmo 4.

Observación 2.58. Observemos que cada iteración de PGMRES requiere resolver el siste-
ma M v
en = Avn .
3
Ilustración Numérica

3.1. Aplicación a la discretización espacial de EDPs


Consideramos la comparación de los métodos numéricos presentados en los capı́tulos
previos aplicados a sistemas lineales resultantes de la discretización espacial de la ecuación en
derivadas parciales lineal con coeficientes constantes de tipo difusión-convección-reacción

−d · ∆u + a (∇ · 1) u + ru = f , en (0, 1)n (3.1)


n n
P ∂2 P ∂
con condiciones de frontera de tipo Dirichlet, siendo ∆ = ∂x2
y ∇·1 = ∂xj
. En
j=1 j j=1
(3.1), d, a y r son constantes, y tomaremos fundamentalmente n = 2, 3. Para la discretización
espacial de (3.1) consideramos diferencias finitas centrales de segundo orden tanto para uxj xj
como para uxj , 1 ≤ j ≤ n.
Observamos en primer lugar que para el caso n = 1, con u = u(x) suficientemente
regular, estas aproximaciones en diferencias centrales verifican para h > 0

u(x + h) − 2u(x) + u(x − h) 1 (iv)


u00 (x) = − u (ξ1 )h2
h2 12
, ξ1 , ξ2 ∈ [x − h, x + h]
u(x + h) − u(x − h) 1
u0 (x) = − u000 (ξ2 )h2
2h 6
y, en particular, los cocientes en diferencias dan aproximaciones exactas a las derivadas co-
rrespondientes si u(x) es un polinomio de grado menor o igual que dos. Considerando n = 1
en (3.1) y una partición uniforme de N + 2 nodos equiespaciados en [0, 1] a distancia h > 0,
x(i) = ih, con 0 ≤ i ≤ N + 1 y h = N1+1 , la discretización mediante diferencias centrales
de orden dos conduce a un sistema lineal A(1) U = b donde U = (Ui )N (i) ,

i=1 con Ui ≈ u x
N
1 ≤ i ≤ N , y b = (bi )i=1 contiene la discretización del dato f ası́ como los valores de fron-
tera de u(x). En concreto, bi = h2 f (x(i) ) para 2 ≤ i ≤ N , b1 = h2 f (x(1) ) + (d + a h
2
)u(0),
bN = h2 f (x(N ) ) + (d − a h
2
)u(1) y
h
A(1) := d · T ridiag(−1, 2, −1) + a T ridiag(−1, 0, 1) + rh2 IN ∈ RN ×N .
2

Observación 3.1. Considerando la descomposición A(1) = D(1) + L(1) + R(1) tenemos para la
matriz de iteración del método de Jacobi

−1   
(1)
  1 h h
HJ = − D(1) L(1) + R(1) = T ridiag d + a , 0, d − a
2d + rh2 2 2
42 Ana Gómez Pérez

r
* 2 
ah
2 


cuyos autovalores son d2 − 2
cos N +1
, 1 ≤ j ≤ N . Por tanto,
2d + rh2
v
u  2  

(1)
 2 t d2 − ah cos
u π
ρJ = ρ HJ = .
|2d + rh2 | 2 N +1

Tomaremos este valor ρJ a efectos de elegir el parámetro óptimo w∗ en el método de relajación


SOR.

Análogamente, la discretización de (3.1) en el caso n = 2 en una partición de nodos


x(i) = ih, y (j) = jh, 0 ≤ i, j ≤ N + 1 y h = N1+1 , conduce al siguiente sistema lineal de
dimensión N 2
d [(−Ui+1,j + 2Uij − Ui−1,j ) + (−Ui,j+1 + 2Uij − Ui,j−1 )]
ah (3.2)
+ [(Ui+1,j − Ui−1,j ) + (Ui,j+1 − Ui,j−1 )] + rh2 Uij = bij para 1 ≤ i, j ≤ N,
2
donde Uij ≈ u x(i) , y (j) , 1 ≤ i, j ≤ N , y bij contiene la discretización del dato f, ası́ como

los valores de frontera de u(x, y) cuando i, j ∈ {1, N }. Considerando los vectores
2
U = (U11 , U21 , ..., UN 1 , U12 , U22 , ..., UN 2 , ..., U1N , U2N , ..., UN N )> ∈ RN ,
2
b = (b11 , b21 , ..., bN 1 , b12 , b22 , ..., bN 2 , ..., b1N , b2N , ..., bN N )> ∈ RN ,

el sistema (3.2) se puede escribir en forma compacta como A(2) U = b, siendo


ah
A(2) = d (IN ⊗ T2 + T2 ⊗ IN ) + (IN ⊗ T1 + T1 ⊗ IN ) + rh2 IN 2
2
donde T2 = T ridiagonal(−1, 2, −1), T1 = T ridiagonal(−1, 0, 1) y ⊗ denota el producto de
Kronecker de matrices definido como
A ⊗ C = (aij C) i=1,...,p ∈ R(pr)×(qs) con A = (aij ) ∈ Rp×q , C ∈ Rr×s .
j=1,...,q

Observación 3.2. Sean las matrices A ∈ RN ×N y B ∈ RM ×M . Entonces los autovalores de la


suma de Kronecker A ⊗ IM + IN ⊗ B son λi + µj con λi ∈ σ[A] y µj ∈ σ[B] para 1 ≤ i ≤ N
y 1 ≤ j ≤ M (ver, p.e., [1, p.146]).

Observamos que
   
ah r ah r
A(2) = IN ⊗ dT2 + T1 + h2 IN + dT2 + T1 + h2 IN ⊗ IN = D(2) + L(2) + R(2)
2 2 2 2
(2) 2 (2) (2) = IN ⊗ L + R(1) + L(1) + R(1) ⊗IN . Por tanto,
  (1)   
con D = 4d + rh IN 2 y L +R
(2) −1 (2)
para HJ = − D(2) L + R(2) se tiene que


 s 
 2      .
h
(2)
i  2 ah iπ jπ 
σ HJ = 2
d2 − cos + cos 1 ≤ i, j ≤ N .
 4d + rh 2 N +1 N +1 

En definitiva v
u  2  
(2) 4 t d2 − ah cos
u π
ρJ = ρ(HJ ) = .
|4d + rh2 | 2 N +1

 tridiagonal Toeplitz T ridiag(b, a, c) ∈ R


∗ Los autovalores de una matriz N ×N vienen dados
√ jπ
por λj = a + 2 bc cos N +1 para 1 ≤ j ≤ N (veáse, p.e., [1, p.349]).
Métodos iterativos para sistemas de ecuaciones lineales 43

En general, la discretización espacial del problema (3.1) en n dimensiones mediante


diferencias centrales de segundo orden sobre una malla uniforme de [0, 1]n
(i) 1
xj = ih, h = para 0 ≤ i ≤ N + 1, 1 ≤ j ≤ n, (3.3)
N +1
conduce a un sistema lineal
A(n) U = b (3.4)
n
de dimensión N n donde U ∈ RN , con componentes ordenadas de acuerdo al orden lexicográfi-
co, es un vector de aproximaciones a u(x1 , x2 , ..., xn ) en los respectivos puntos interiores de la
n
malla, b ∈ RN contiene la discretización del dato f ası́ como valores de frontera de la solución
exacta y
(n) (n)
n z n z
{ ah X n n
X }| }| {
A (n)
=d IN ⊗ ... ⊗ T2 ⊗... ⊗ IN + IN ⊗ ... ⊗ T1 ⊗... ⊗ IN +rh2 IN n ∈ RN ×N .
i=1
|{z} 2 i=1
|{z}
(i) (i)

Nuevamente, tenemos que


n
rh2
 
X ah
A(n) = IN ⊗ ... ⊗ dT2 + T1 + IN ⊗... ⊗ IN = D(n) + L(n) + R(n) ,
i=1
2 n
| {z }
(i)
n
con D(n) = (2nd + rh2 )IN n y L(n) + R(n) = IN ⊗ ... ⊗ L(1) + R(1) ⊗ ... ⊗ IN . Ası́ pues,
P  
i=1
(n) −1 (n)
para HJ = − D(n) + R(n) , teniendo en cuenta los autovalores de una suma de

L
Kronecker, sigue que
s !
1  2   
(n) ah
n cos Nπ+1

ρJ = ρ(HJ ) = 2
2 d − 2
2
|2nd + rh |
s (3.5)
2n  2  
ah π

= 2
d − 2 cos N +1 .

|2nd + rh2 |
Observación 3.3. En los ejemplos que presentamos a continuación consideramos que la solución
u(x1 , ..., xn ) de la EDP (3.1) es un polinomio de grado menor o igual que dos en cada variable
de modo que la discretización espacial sea exacta. Esto implica que la restricción de u a la
malla (3.3) es precisamente la solución del sistema lineal A(n) U = b. A partir de la solución
exacta u, el dato f se toma como f = −d · ∆u + a (∇ · 1) u + ru.
Por otra parte, a partir de la solución exacta y una vez generada la matriz A(n) y el
vector U , hemos generado en Matlab el vector b, que contiene la discretización espacial del
dato f y las condiciones de frontera, simplemente como b = A(n) U . El vector U se usará como
solución de referencia para estudiar la precisión de las aproximaciones numéricas provistas por
los métodos presentados en los dos primeros capı́tulos. Para todos los métodos iterativos se
ha usado como valor inicial U b (0) = 0. Los tiempos de CPU referidos en las gráficas siguientes
corresponden a un procesador Intel Core i5 a 3.3GHz y 8Gb de memoria RAM.
Ejemplo 3.4. La ecuación de Poisson con condiciones de frontera homogéneas de tipo Dirichlet
en [0, 1]n :
−∆u = f, en Ω = (0, 1)n ,

(3.6)
u = 0, en Γ = ∂Ω,
n
con solución exacta u(x1 , ..., xn ) = 4n
Q
xi (1−xi ). Este problema se obtiene de (3.1) tomando
j=1
d = 1 y a = r = 0.
Para las dimensiones n = 2, 3 consideramos una malla (3.3) con N = 2j para 1 ≤ j ≤ 11,
si n = 2, y N = 10 · j para 1 ≤ j ≤ 16, si n = 3. Para resolver el sistema lineal A(n) U = b de
dimensión N n consideramos en primer lugar tres métodos directos:
44 Ana Gómez Pérez

1. Eliminación Gaussiana: A(n) = Lo Up , donde en Matlab se obtiene esta descomposición


LU mediante [Lo , Up ] = lu(A(n) ). La solución numérica correspondiente será
UG = Up \ (Lo \ b) .

2. Factorización de Cholesky: A(n) = LC L>


C obtenida en Matlab mediante LC = chol(A
(n) )

y
UC = L0C \ (LC \ b) .


3. Operador Backslash (\): resolvemos directamente con Ub = A(n) \b.


Seguidamente aplicamos los métodos de sobrerelajación sucesiva de Gauss-Seidel (SOR) y
Gradiente Conjugado (GC) iterados con un máximo de 5 · 104 iteraciones hasta garantizar un
error
kU − U b k∞ ≤ errtol,
siendo U la solución numérica del método correspondiente y
b

errtol = min kU − UG k∞ , kU − UC k∞ , kU − Ub k∞ , 5 · 10−13 .




 
Para el método SOR se ha elegido el parámetro óptimo w∗ = q2 con ρJ = cos Nπ+1
2 1+ 1−ρJ
dado por (3.5).
Respecto al caso bidimensional n = 2, observamos en la Figura 3.1 que el comando
Backslash (\) de Matlab proporciona la aproximación numérica más eficiente si N ≤ 210 . No
obstante, este comando no pudo realizar la resolución numérica para N = 211 por insuficiencia
de memoria de almacenamiento. Lo mismo ocurre con las rutinas internas lu y chol para
N ≥ 210 .
4 −11
10 10
3
10
2 −12
10 10
1
10
0 −13
k U − Û k∞

10 10
−1
cpu

10
−2 −14
10 10
−3
10
−4 SOR −15 SOR
10 GC 10 GC
−5 LU LU
10 Cholesky Cholesky
−6 Backslash −16 Backslash
10 0 1 2 3 4 5 6 7
10 0 1 2 3 4 5 6 7
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
N2 N2

Figura 3.1. Comparación en tiempos cpu (izquierda) y error (derecha) kU − U b k∞ respecto


a la dimensión de la discretización espacial en el ejemplo (3.6) con n = 2 para los métodos
directos LU , Cholesky y Backslash y los métodos iterativos SOR y GC.

En lo que respecta al caso tridimensional n = 3 en la Figura 3.2, lu y chol dejaron de


funcionar para N ≥ 50, mientras que el comando Backslash lo hizo a partir de N = 90. Por
otra parte, observamos que GC resulta ligeramente más eficiente que SOR.
Métodos iterativos para sistemas de ecuaciones lineales 45
4 −12
10 10
3
10
2
10
−13
1 10
10

k U − Û k∞
0
cpu

10
−1
10 −14
10
−2
10 SOR SOR
GC GC
−3 LU LU
10 Cholesky Cholesky
−4 Backslash −15 Backslash
10 3 4 5 6 7
10 3 4 5 6 7
10 10 10 10 10 10 10 10 10 10
N3 N3

Figura 3.2. Comparación en tiempos cpu (izquierda) y error (derecha) kU − U b k∞ respecto


a la dimensión de la discretización espacial en el ejemplo (3.6) con n = 3 para los métodos
directos LU , Cholesky y Backslash y los métodos iterativos SOR y GC.

Notamos respecto a estas dos figuras que GC y SOR se han iterado hasta garantizar
un error al menos menor o igual al mı́nimo que proveen los tres métodos directos.

Ejemplo 3.5. La ecuación de Poisson con condiciones de frontera no homogéneas de tipo Diri-
chlet en [0, 1]3 con solución exacta u(x, y, z) = x2 + y 2 + z 2 (ver Figura 3.3):

−∆u = −6, (x, y, z) ∈ Ω = (0, 1)3



(3.7)
u(x, y, z) = x2 + y 2 + z 2 , (x, y, z) ∈ Γ = ∂Ω

Figura 3.3. Solución exacta de (3.7).

Consideramos la malla (3.3) con N = 100 y el sistema lineal A(3) U = b (3.4) de


dimensión N 3 = 106 . Comparamos, en primer lugar, los errores y tiempos de CPU cuando
 se
dan Niter = 200 iteraciones con los métodos SOR (con parámetro óptimo w∗ = cos Nπ+1 ),
GC y GMRES(m), para m = 10, 50, 100 y 200. Observamos en la Figura 3.4 que el método
SOR proporciona mejores aproximaciones respecto tanto al número de iteraciones como al
tiempo de CPU, aunque la precisión alcanzada es bastante exigua.
46 Ana Gómez Pérez
1 1
10 10

0 0
10 10
k U − Û k∞

k U − Û k∞
−1 −1
10 10

−2 SOR −2 SOR
10 GC 10 GC
GMRES(10) GMRES(10)
GMRES(50) GMRES(50)
GMRES(100) GMRES(100)
−3 GMRES(200) −3 GMRES(200)
10 −2 −1 0 1 2 3
10 0 1 2
10 10 10 10 10 10 10 10 10
cpu Niter

Figura 3.4. Comportamiento del error en función del tiempo cpu (izquierda) y número de
iteraciones (derecha) para diversos métodos iterativos aplicadosa la discretización espacial de
(3.7).

El comportamiento de GC y GMRES(m) se puede mejorar considerando sus variantes


con precondicionamiento PGC y PGMRES(m). Para ello, consideramos en el caso del operador
Laplaciano el precondicionador M = S(w∗ ) con
  −1  1 
w 1 (3) >
S(w) = D + L(3) D(3) D(3) + L(3) (3.8)
2−w w w
siendo A(3) = D(3) + L(3) + R(3) . La matriz S(w)−1 se relaciona con la matriz de iteración del
método SOR simétrico SSOR (ver, p.e., [3, p.620]). Con la elección del precondicionador SSOR
|λmáx (M −1 A(3) )|
se logra mitigar el condicionamiento del sistema lineal (3.4). En concreto, =
|λmı́n (M −1 A(3) )|
|λmáx (A(3) )|
O(h−1 ), h → 0, mientras que = O(h−2 ), h → 0 (véase, p.e., [6, p.55]). Observamos
|λmı́n (A(3) )|
ahora en la Figura 3.5 como PGC y PGMRES(m), m = 10, 50, convergen a la solución exacta
en menos de 100 iteraciones. Además, PGC resulta más eficiente en términos de CPU que
PGMRES(m) al tratarse A(3) de una matriz simétrica.
2 2
10 10
0 0
10 10
−2 −2
10 10
−4 −4
10 10
k U − Û k∞

k U − Û k∞

−6 −6
10 10
−8 −8
10 10
−10 −10
10 SOR 10 SOR
GC GC
−12 PGC −12 PGC
10 GMRES(10)
10 GMRES(10)
−14 PGMRES(10) −14 PGMRES(10)
10 GMRES(50) 10 GMRES(50)
−16 PGMRES(50) −16 PGMRES(50)
10 −2 −1 0 1 2
10 0 1 2
10 10 10 10 10 10 10 10
cpu Niter

Figura 3.5. Comportamiento del error en función del tiempo cpu (izquierda) y número de
iteraciones (derecha) para diversos métodos iterativos precondicionados aplicados a la discre-
tización espacial de (3.7).

Ejemplo 3.6. El modelo de difusión-convección-reacción (3.1) con convección dominante d = 1


y r = −3a, a = 10 o 100, con solución exacta u(x, y, z) = 1 en [0, 1]3 .
Métodos iterativos para sistemas de ecuaciones lineales 47

Consideramos nuevamente la malla (3.3) con N = 100 y el correspondiente sistema


lineal A(3) U = b (3.4) de dimensión N 3 = 106 .
Observamos que los elementos no nulos en la parte triangular inferior de A(3) vienen
dados por −d − a h 2
, mientras que los elementos no nulos en la parte triangular superior son
−d + a h2
. Luego, la diferencia entre ambos, ah, da una medida de la asimetrı́a de la matriz A.
. . . .
Para a = 10: −d − a h 2
= −10 0495, −d + a h
2
= −00 9505, ρJ = 00 9988, w∗ = 10 9059. Para
h . 0 h . 0 . 0 ∗ . 0
a = 100: −d − a 2 = −1 4951, −d + a 2 = −0 5050, ρJ = 0 8827, w = 1 3439.
Para ambos valores de a aplicamos en primer lugar los métodos SOR(w∗ ), GC, GCNR
y GMRES(m), m = 10, 50, 100, 200, dando en cada caso 200 iteraciones. Observamos que el
método GC no tiene porqué converger (ni siquiera estar bien definido) pues A no es simétrica.
En la Figura 3.6 (con a = 10 en el bloque superior y a = 100 en el inferior) observamos
la divergencia de GC, la lenta convergencia de GCNR y GMRES(m), mientras que se aprecia
convergencia para el método SOR, siendo ésta más rápida en el caso a = 100 por cuanto el
.
radio espectral de la matriz de iteración correspondiente es menor ( ρw∗ = 00 3439 = w∗ − 1).
2 2
10 10
1 1
10 10
0 0
10 10
−1 −1
10 10
k U − Û k∞

k U − Û k∞

−2 −2
10 10
−3 −3
10 10
SOR SOR
−4 GC −4 GC
10 GCNR 10 GCNR
GMRES(10) GMRES(10)
−5 GMRES(50) −5 GMRES(50)
10 GMRES(100)
10 GMRES(100)
−6 GMRES(200) −6 GMRES(200)
10 −2 −1 0 1 2 3
10 0 1 2
10 10 10 10 10 10 10 10 10
cpu Niter
4 4
10 10
2 2
10 10
0 0
10 10
−2 −2
10 10
k U − Û k∞

k U − Û k∞

−4 −4
10 10
−6 −6
10 10
−8 −8
10 10
−10 SOR −10 SOR
10 GC 10 GC
−12 GCNR −12 GCNR
10 GMRES(10) 10 GMRES(10)
−14 GMRES(50) −14 GMRES(50)
10 GMRES(100) 10 GMRES(100)
−16 GMRES(200) −16 GMRES(200)
10 −2 −1 0 1 2 3
10 0 1 2
10 10 10 10 10 10 10 10 10
cpu Niter

Figura 3.6. Comportamiento del error en función del tiempo cpu (izquierda) y número de
iteraciones (derecha) para diversos métodos iterativos aplicados a la discretización espacial de
(3.1), con d = 1 y r = −3a, para a = 10 (bloque superior) y a = 100 (bloque inferior).

Por otra parte, consideramos también las variantes con precondicionamiento PGC,
PGCNR y PGMRES(m). Nuevamente se observa divergencia para PGC en la Figura 3.7,
ası́ como una aceleración de la convergencia para PGCNR y PGMRES(m) con respecto a los
correspondientes métodos sin precondicionamiento.
Debemos indicar que para PGC y PGMRES(m) hemos considerado precondicionamien-
to SSOR, tal como en el Ejemplo 3.5, esto es M = S(w∗ ) dada por (3.8).
48 Ana Gómez Pérez

Respecto al método PGCNR, puesto que GCNR se obtiene aplicando GC a las ecua-
ciones normales (A(3) )> A(3) U = (A(3) )> b, hemos considerado el precondicionador M =
S(w∗ )> S(w∗ ).
2 2
10 10
0 0
10 10
−2 −2
10 10
−4 −4
10 10
k U − Û k∞

k U − Û k∞
−6 −6
10 10
−8 −8
10 10
−10 −10
10 SOR 10 SOR
PGC PGC
−12 PGCNR −12 PGCNR
10 PGMRES(10)
10 PGMRES(10)
−14 PGMRES(50) −14 PGMRES(50)
10 PGMRES(100) 10 PGMRES(100)
−16 PGMRES(200) −16 PGMRES(200)
10 −1 0 1 2
10 0 1 2
10 10 10 10 10 10 10
cpu Niter
2 2
10 10
0 0
10 10
−2 −2
10 10
−4 −4
10 10
k U − Û k∞

k U − Û k∞

−6 −6
10 10
−8 −8
10 10
−10 −10
10 SOR 10 SOR
PGC PGC
−12 PGCNR −12 PGCNR
10 PGMRES(10)
10 PGMRES(10)
−14 PGMRES(50) −14 PGMRES(50)
10 PGMRES(100) 10 PGMRES(100)
−16 PGMRES(200) −16 PGMRES(200)
10 −1 0 1 2
10 0 1 2
10 10 10 10 10 10 10
cpu Niter

Figura 3.7. Comportamiento del error en función del tiempo cpu (izquierda) y número de
iteraciones (derecha) para diversos métodos iterativos precondicionados aplicados a la discre-
tización espacial de (3.1), con d = 1 y r = −3a, para a = 10 (bloque superior) y a = 100
(bloque inferior).

En el caso a = 10, la asimetrı́a de la matriz A(3) es menos significativa y se observa


en la Figura 3.7 (bloque superior) que los métodos precondicionados proveen aproximaciones
numéricas más precisas que SOR. No obstante, PGCNR es menos eficiente que PGMRES(m),
pues requiere en cada iteración un producto adicional por (A(3) )> ası́ como el doble de gasto
computacional por aplicación del precondicionador S(w∗ )> S(w∗ ).
En el caso a = 100, por una parte la matriz A(3) presenta una asimetrı́a más desta-
cada, mientras que la matriz de iteración de SOR tiene un radio espectral menor. En este
caso, se observa en la Figura 3.7 (bloque inferior) que el método SOR es más eficiente que
PGMRES(m) y que PGCNR. No obstante, se puede mejorar la eficiencia de PGMRES(m) y
PGCNR considerando precondicionadores más generales basados en descomposiciones LU y
de Cholesky incompletas [7, p.301].

Observación 3.7. Para la implementación de los métodos considerados en este capı́tulo hemos
empleado los códigos que aparecen en [2] y que están disponibles en https://es.mathworks.
com/matlabcentral/fileexchange/2158-templates-for-the-solution-of-linear-systems.
Métodos iterativos para sistemas de ecuaciones lineales 49

3.2. Conclusiones
Los métodos directos para resolver sistemas lineales Ax = b, tales como eliminación
gaussiana o descomposición de Cholesky, resultan eficientes cuando la dimensión N del sistema
lineal es moderada. Sin embargo, para grandes sistemas lineales, como los que resultan en la
discretización espacial de Ecuaciones en Derivadas Parciales en varias dimensiones espaciales,
estos métodos pierden eficiencia, o directamente son inviables, pues requieren un elevado costo
computacional ası́ como una gran disponibilidad de memoria de almacenamiento. Observemos
que aunque la matriz A sea sparse, tanto el cálculo de su inversa como su descomposición LU
requiere almacenar matrices llenas, siendo éstas de tamaño N 2 .
En el capı́tulo 1 de este trabajo hemos comenzado con una revisión de resultados pa-
ra los métodos iterativos clásicos de Jacobi y de Gauss-Seidel. Hemos extendido el análisis
estándar de estos métodos para matrices estrictamente diagonal dominantes al caso de matri-
ces irreduciblemente diagonal dominantes. Esta última propiedad es menos restrictiva y tiene
mayor alcance práctico, en particular en la discretización espacial de Ecuaciones en Derivadas
Parciales.
También en el capı́tulo 1 hemos considerado el método de relajación asociado al método
de Gauss-Seidel (o método SOR de sobrerelajación sucesiva) estudiando su convergencia en
función del parámetro de relajación ω. En particular, para las denominadas matrices consis-
tentemente ordenadas hemos establecido una expresión cerrada para el radio espectral de la
matriz de iteración del método SOR que permite seleccionar el parámetro de relajación de
modo óptimo. Asimismo, hemos observado que las matrices consistentemente ordenadas sur-
gen de modo habitual en la discretización espacial de Ecuaciones en Derivadas Parciales. En
el capı́tulo 3, observamos que el método SOR es bastante eficiente cuando se conoce de ante-
mano el valor óptimo del parámetro de relación ω. No obstante, en problemas más prácticos,
la cuestión de seleccionar este parámetro óptimo no es simple y resulta crucial de cara a la
eficiencia del método.
En el capı́tulo 2 hemos introducido los denominados subespacios de Krylov con el fin de
presentar otra clase de métodos iterativos, en particular los métodos del Gradiente Conjugado
(GC) y del Residual Mı́nimo Generalizado (GMRES). En aritmética infinita, estos métodos
convergen a la solución del sistema lineal en un número finito de iteraciones menor o igual
que la dimensión N del sistema, aunque este número puede ser considerablemente grande en
la práctica. El método GC está especialmente indicado para matrices simétricas y definidas
positivas, aunque también hemos presentado su variante GCNR para el caso general tratado a
través del sistema de ecuaciones normales AT Ax = AT b. El método GMRES es de propósito
general para matrices regulares arbitrarias, siendo su costo computacional ligeramente superior
al de GC e inferior al de GCNR. En particular, el algoritmo de Arnoldi para generar bases
ortogonales de los subespacios de Krylov, junto con las rotaciones de Givens para resolver
problemas de mı́nimos cuadrados, permiten una implementación bastante simple del método
GMRES.
Además en el capı́tulo 2 hemos establecido resultados de convergencia para los métodos
GC, GCNR y GMRES que reflejan que su tasa de convergencia puede verse ralentizada por
el número de condición de la matriz A (o de cierta matriz relacionada con A), y en la sección
3.1 de este capı́tulo hemos ilustrado que, en efecto, ésto es lo que ocurre habitualmente en la
práctica. Por ello, para finalizar el capı́tulo 2 hemos presentado variantes de estos métodos ite-
rativos considerando precondicionamiento (a la izquierda) del sistema lineal. Las variantes con
precondicionamiento PGC, PGCNR y PGMRES permiten mitigar el mal condicionamiento de
los sistemas lineales y mejorar la eficiencia respecto a los métodos originales sin precondicio-
namiento. En la sección 3.1 hemos observado el efecto positivo del precondicionamiento en la
aplicación de los métodos GC, GCNR y GMRES. No obstante, este efecto positivo depende en
gran medida de la selección de un precondicionador adecuado. En esta sección hemos conside-
rado el precondicionador SSOR (SOR simétrico) por ser muy eficiente en la discretización de
la ecuación de Laplace. El estudio de la selección eficiente de precondicionadores en problemas
más generales queda fuera del alcance y objetivos de este trabajo.
Bibliografı́a

[1] Barnett, S. Matrices. Methods and applications. Oxford University Press (1996).
[2] Barrett, R. et al. Templates for the solution of linear systems: building blocks for
iterative systems. SIAM (1994).
[3] Golub, G., Van Loan, C.F. Matrix computations. The Johns Hopkins University
press, 4rd ed. (2013).
[4] Hämmerlin, G., Hoffmann, K.H. Numerical mathematics. Springer-Verlag (1991).
[5] Plato, R. Concise numerical mathematics. AMS (2003).
[6] Quarteroni, A., Valli, A. Numerical approximation of partial differential equations.
Springer (1994).
[7] Saad, Y. Iterative methods for sparse linear systems. SIAM, 2nd ed. (2003).
Manual básico de identidad - Facultad de Ciencias

Iterative methods for systems of linear


ELEMENTOS BÁSICOS

CONFIGURACIONES DE LA MARCA
Las marcas de la Facultad de
Ciencias y Secciones posen una
configuración definida. No se
debe transformar la configuración
para hacer una versión horizontal
o vertical ni adaptarla a otro

equations
formato.

Ana Gómez Pérez


Facultad de Ciencias · Sección de Matemáticas
Poster Universidad de La Laguna
[email protected] 9

By splitting A = D + L + R where D is diag- If the condition number of A is large, the


Abstract
onal, L lower triangular and R upper trian- convergence might be slow. So, we pre-
gular, the Jacobi method is condition the linear system M −1 Ax = M −1b
In this project several iterative methods
with M non-singular close to A which al-
are studied to solve linear systems of x (n+1) = D −1b − D −1(L + R)x (n) = H J x (n) + z.
lows to speed up the convergence.
equations. First, a brief introduction about
The Gauss-Seidel method is
the direct methods are included. Next,
the classic iterative methods of Jacobi x (n+1) = (D+L)−1b−(D+L)−1Rx (n) = H GS x (n)+z. 4. Numerical illustration
and Gauss-Seidel are considered. A con-
vergence analysis focusing on strictly di- Theorem 2 If A is an irreducibly diago- We consider the Poisson equation on
agonally dominant and irreducibly diag- nally dominant matrix, then Jacobi and [0, 1]3 with nonhomogeneous boundary
onally dominant matrices is presented. Gauss-Seidel methods are convergent. conditions according to the exact solution
Likewise, the relaxation method is con- The relaxation method is defined as u(x, y, z) = x 2 + y 2 + z 2:
sidered by studying its convergence as £ ¤ (
x (n+1) = (D+wL)−1 wb + ((1 − w)D − wR) x (n) −∆u = −6, (x, y, z) ∈ Ω = (0, 1)3
a function of the relaxation parameter,
specifically, for consistently ordered ma- with H (w) = (D + wL) ((1 − w)D − wR).
−1 u(x, y, z) = x 2 + y 2 + z 2, (x, y, z) ∈ Γ = ∂Ω
trices. Also, other classes of itera-
Theorem 3 If A symmetric and definite, With a grid of 100 interior points along
tive methods based on Krylov subspaces
then the relaxation method is convergent each spatial direction we obtain a linear
are introduced: the Conjugate Gradient
for 0 < w < 2. system A (3)U = b of dimension N = 106. In
method, for symmetric and positive def-
inite matrices, and the generalized min- the plots below the efficiency of some it-
imal residual method for any nonsingu- 3. Krylov iterative methods erative methods is compared considering
lar matrix. Finally, some examples are the error versus CPU time.
illustrated comparing the different meth- Krylov subspaces are defined for n ≥ 0 as 1
10
ods according to their CPU time, error © ª
K n = K n (A, b) = span b, Ab, . . . , A n−1b .
and number of iterations for linear sys-
tems arising from the spatial discretiza- Corollary 4 There exists a unique 0 ≤ n ∗ ≤ 0
10
tion of diffusion-convection-reaction par- N such that {0} = K 0 ( K 1 ( . . . ( K n∗−1 (
k U − Û k∞

tial differential equations with constant co- K n∗ = K n∗+1. Moreover, x ∗ ∈ K n∗ \ K n∗−1.


efficients.
−1
10
The Conjugate Gradient method (GC),
for symmetric and positive definite matri-
1. Introduction ces, is described by −2
10
SOR
GC
) GMRES(10)
x n ∈ K n (A, b) GMRES(50)

In this work we will study different numeri-


GMRES(100)
kx n − x ∗k A = min kx − x ∗k A n = 1, 2, . . . −3 GMRES(200)
10 −2
cal methods to solve large linear systems x∈K n (A,b)
10 10
−1
10
0
10
1
10
2 3
10
of equations Ax = b with A ∈ RN ×N non- x n is the best approximation to x ∗ in K n 2
cpu

singular matrix and b ∈ RN , with the unique respect to 〈·, ·〉 A . 10

solution x ∗ = A −1b ∈ RN . The most clas-


0
10
Algorithm 1 The GC method
sic direct method is Gaussian Elimina- Let r j := Ax j −b , j ≥ 0
−2
10
tion that amounts to decompose the ma- 1: Define x 0 := 0, r 0 := −b y d 0 := −r 0 = b . −4
10
trix A as LU , leading to the solution of the 2: Given x n , r n y d n , n ≥ 0, while r n 6= 0 calculate
k U − Û k∞

−6
kr k2 10
triangular systems Ly = b and Ux = y . x n+1 = x n + αn d n , with αn = 〈Adnn,d2n 〉
2 −8
r n+1 = r n + αn Ad n 10
On the other hand, if A is positive def- kr k2
d n+1 = −r n+1 + βn d n , with βn = krn+1k2 2 . −10
inite and symmetric, then A admits the n 2 10 SOR
GC
Cholesky descomposition A = LL >.
−12 PGC
10
The GC method for the normal equa- GMRES(10)
These direct methods use O (N 3) arith- −14
10
PGMRES(10)
tions (GCNR) consists in applying the GC GMRES(50)
metic operations, so that they are expen- −16 PGMRES(50)
method to the system A > Ax = A >b where 10
sive or non-viable when N is large.
−2 −1 0 1 2
10 10 10 10 10
A is any non-singular matrix. cpu
The Generalized minimal residual
2. Basic iterative methods method (GMRES), for any A ∈ RN ×N non- To enhance the performance of Krylov
singular matrix, is described by methods we use preconditioning.
)
An approximation to x ∗ is obtained by con- x n ∈ K n (A, b)
sidering a fixed point iteration kAx n − bk2 = min kAx − bk2 n = 1, 2, . . . References
x∈K n (A,b)
(n+1) (n)
x =Hx + z, n≥0 (1) Using the Arnoldi process we generate an
orthogonal basis of K n (A, b). The method [1] Plato, R. Concise numerical mathe-
with iteration matrix H ∈ RN ×N . matics. AMS (2003).
is reduced to a least squares problem
Theorem 1 The iterative method (1) is which is solved with QR decomposition [2] Saad, Y. Iterative methods for sparse
convergent if and only if ρ(H ) < 1. and Givens rotations. linear systems. SIAM, Springer (2003).

TRABAJO FIN DE GRADO, Convocatoria de Julio, 2018

También podría gustarte