Está en la página 1de 10

Un Anlisis del Mtodo de Gradiente Conjugado

por Ismael Herrera Revilla


1

Introduccin

El mtodo del gradiente conjugado ha recibido mucha atencin y ha sido


ampliamente utilizado en aos recientes. Aunque los pioneros de este mtodo
fueron Hestenes y Stiefel (1952), el inters actual arranca a partir de que Reid
(1971) lo planteara como un mtodo iterativo, que es la forma en que se le
usa con mayor frecuencia en la actualidad.
El mtodo de gradiente conjugado (CGM) se aplica a la ecuacin Au = b,
cuando A es positiva definida y simtrica. Sin embargo en la seccin (1.5),
presentaremos una forma de aplicar esta clase de procedimientos en el caso
en que la matriz A, no es simtrica.
La idea bsica en que descansa el mtodo del gradiente conjugado consiste
en construir una base de vectores ortogonales y utilizarla para realizar la
bsqueda de la solucin en forma ms eficiente. Tal forma de proceder generalmente no sera aconsejable porque la construccin de una base ortogonal
utilizando el procediemiento de Gramm-Schmidt requiere, al seleccionar cada
nuevo elemento de la base, asegurar su ortogonalidad con respecto a cada
uno de los vectores construdos previamente. La gran ventaja del mtodo
de gradiente conjugado radica en que cuando de utiliza este procedimiento,
basta con asegurar la ortogonalidad de un nuevo miembro con respecto al
ltimo que se ha construido, para que automticamente esta condicin se
cumpla con respecto a todos los anteriores.

1.1

Algunas Propiedades de los Espacios de Krylov

Considere la ecuacin
Au = b

(1)

donde la matriz A es simtrica. Si us es la solucin exacta de la Ec. (1),


Aus = b. Adems, se utilizar la notacin
h, i
para el producto interior, el cual por ahora puede ser cualquiera.
Defina
ek = us uk
1

(2)

(3)

y
rk = b Auk = A(us uk ).
El espacio de Krylov queda definido por

Km = gen Ae0 , ..., Am e0 = gen r0 , ..., rm1 .

(4)
(5)

El espacio transladado (espacio afn) de Krylov


Km,T = u0 + Km

(6)

recibir tambin cierta atencin en desarrollos posteriores.


En vista de su definicin es claro que
y que

AKm Km+1

(7)

K1 K2 .... Km ...
(8)
Algunas propiedades interesantes del los espacios de Krylov son las siguientes:
Propiedad de Ortogonalidad.- Si vKm entonces
AvKm1 ,
Demostracin.- Sea wm1 Km1 . Entonces

hAv, wm1 i = hv, Awm1 i = 0

(9)

ya que Awm1 Km .
Observacin.- Esta propiedad nos dice que cualquier vector ortogonal a
un espacio de Krylov se transforma bajo A en otro tambin ortogonal, pero
al espacio de Krylov un orden menor.
Propiedad de Pertenencia.- Sea e = us um , donde um Km,T .
Entonces Ae Km+1 .
Demostracin.- porque um = u0 + wm para algn wm Km . Luego
Ae = A(us u0 ) Awm = r0 Awm

(10)

adems, r0 K1 Km+1 ; m = 1, 2, ... y Awm Km+1 , por la Ec. (7).


Observacin.- En general, construiremos aproximaciones uk con elementos
del espacio transladado de Krylov correspondientes (as, uk Km,T ). El error
de estas aproximaciones es un vector que va desde el espacio transladado
de Krylov correspondiente, hasta la solucin exacta us de la Ec. (1). La
propiedad de pertenencia nos dice que en esta clase de aproximaciones el
transformado del error pertenece al siguiente espacio de Krylov.
2

1.2

Construccin de la Aproximacin para Matriz Simtrica

Como se dijo antes, vamos a construir aproximaciones con elementos que


pertenezcan a los subespacios transladados de Krylov. As, definimos
uk = u0 + wk

; donde wk Kk .

(11)

En vista de la Ec. (3), se tiene


ek = us u0 wk .

(12)

Una condicin natural, es pedir que el error sea mnimo. Esta condicin
se cumple si y slo si, ek Kk . En este caso el transformado Aek del error ek
es ortogonal al espacio de Krylov Kk1 , por la propiedad de ortogonalidad.
Adems, Aek pertenece al espacio Kk+1 .
Estos hechos se pueden aprovechar
1
para construir una base ortogonal de
k
los espacios de Krylov. Sea p , ..., p una base ortogonal de Kk , donde pm
pertenece a Km para cada m = 1, 2, ..., k. En tal caso tanto el vector pk como
el vector Aek pertenecen a Kk+1 , son ortogonales al espacio Kk1 y junto
con este subespacio generan al espacio Kk+1 (a menos que Aek pertenezcan a
Kk , situacin que solamente se da cuando uk = us , como se demuestra en el
apndice). Tomando esto en cuenta, podemos definir un vector pk+1 Kk+1
ortogonal a Kk , por medio de la ecuacin
pk+1 = Aek k+1 pk = rk k+1 pk .

(13)

La condicin de ortogonalidad se satisface, si y slo si


k k
r ,p
k+1 = k k .
(14)
hp , p i

Claramente, el sistema de vectores p1 , ..., pk , pk+1 es ahora una base ortogonal del espacio Kk+1 y con la propiedad de que pm pertenece a Km para
m = 1, ..., k + 1. La base ortogonal deseada se obtiene aplicando inductivamente la construccin anterior. Como punto de partida para el procedimiento
inductivo se toma
p1 = r0 = b Au0 .
(15)
Debido a la condicin de ortogonalidad impuesta al vector ek , resulta que
el vector wk de la Ec. (11) es la proyeccin
delvector e0 = us u0 en el
1
espacio de Krylov Kk . Como la base p , ..., pk+1 es ortogonal se tiene que
uk+1 = uk + k+1 pk+1
3

(16)

donde k+1 es el coeficiente de Fourier dado por


0 k+1
e ,p
k+1

= k+1 k+1 .
hp , p i
a

(17)

Debido a la utilizacin de una base ortogonal, la Ec. (17) es equivalente


k k+1
e ,p
k+1
(18)
= k+1 k+1

hp , p i

que es una forma utilizada con mayor frecuencia (ver, por ejemplo Allen,
Herrera y Pinder [1988] o Birkho y Lynch [1984]). La Ec. (18) se puede
reducir an mas usando la Ec. (13) y el hecho de que ek es ortogonal a pk .
As
(ek , rk )
k+1 = k+1 k+1 .
(19)
(p , p )
Hasta ahora nada se ha dicho respecto al producto interior de la Ec. (2)
que vaya a utilizarse. Para definirlo, es conveniente observar que las Ecs.
(17), (18) o (19) no pueden aplicarse utilizando cualquier producto interior.
Esto es debido a que el vector ek = us uk que ah aparece se desconoce.
Cuando la matriz A es simtrica y positiva definida, A y cada una de sus
potencias definen productos interiores. La eleccin ms sencilla es definir
hu, vi = u Av.

(20)

Con esta eleccin, las Ecs. (19) y (14), se convierten en


k+1

rk rk
= k+1
p
Apk+1

(21)

y
pk Ark
.
(22)
pk Apk
Generandose el siguiente algoritmo llamado Mtodo de Gradienete Conjugado (CGM), en el cual los datos de entrada es el sistema Ax = b y u0 un
vector de busqueda inicial. Se calcula para iniciar el algoritmo r0 = b Au0 ,
k+1 =

p0 = r0 entonces el mdodo quedaria esquematicamente como


k+1 =
pk+1 =
k+1 =
uk+1 =
rk+1 =

Apk rk
Apk pk
rk k+1 pk
rk rk
Apk+1 pk+1
uk + k+1 pk+1
rk k+1 Apk+1 .

(23)

Si denotamos {i , Vi }N
i=1 como las eigensoluciones de A, i.e. AVi = i Vi ,
i = 1, 2, ..., N. Ya que la matriz A es simtrica, los eigenvalores son reales
y podemos ordenanrlos por 1 2 ... N . Definimos el nmero de
condicin por Cond(A) = N /1 y la norma de la energia asociada a A por
kuk2A = u Au entonces
"
#2k
p

Cond(A)
1

u uk u u0
p
.
A
A
1 + Cond(A)

1.3

Mtodo Precondicionado para Matriz Simtrica

Cuando la matriz A es simtrica y positiva definida con 1 Cond(A) n


el cual se puede escribir como
1

xA x
n
xx

y tomando la matriz C 1 como un precondicionador de A con la condicin


de que
xC 1 A x
1
n
xx
entonces la Ec. (1) se pude escribir como
C 1 Au = C 1 b

(24)

donde C 1 A es tambin simtrica y positiva definida en el producto interior


hu, vi = u Au, por que

u, C 1 Av = u CC 1 Av
= u Av
5

que por hiptesis es simtrica y positiva definida en ese producto interior.


La eleccin del producto interior de la Ec. (2) en este caso quedar
definido como
hu, vi = u C 1 Av
(25)
por ello las Ecs. (19) y (14), se convierten en
k+1 =

rk rk
pk+1 C 1 pk+1

(26)

y
pk C 1 rk
.
(27)
pk Apk
Generando el mtodo de Gradiente conjugado precondicionado con precondicionador C 1 , es necesario hacer notar que los mtodos Gradiente Conjugado y Gradiente Conjugado Precondicionado slo difieren el la eleccin
del producto interior.
El Mtodo de Gradienete Conjugado, en el cual los datos de entrada es
el sistema Ax = b, u0 un vector de busqueda inicial y el precondicionador
C 1 . Se calculan para iniciar el algoritmo r0 = b Au0 , p = C 1 r0 entonces
el mdodo quedaria esquematicamente como
k+1 =

k+1 =
pk+1 =
k+1 =
uk+1 =
rk+1 =

1.4

pk C 1 rk
pk Apk
rk k+1 pk
rk rk
pk+1 C 1 pk+1
uk + k+1 pk+1
C 1 rk k+1 Apk+1 .

(28)

Algoritmo Cmputacional del Mtodo

Dado el sistema Ax = b, con la matriz A simtrica y positiva definida de N


N. La entrada al mtodo ser una eleccin de u0 como condicin inicial, > 0
como la tolerancia del mtodo, N como el nmero mximo de iteraciones y
la matriz de precondicionamiento C 1 de N N (en el caso del mtodo
sin precondicionamiento C 1 es la matriz identidad, que para propositos de
optimizacin slo es necesario hacer la asigncin de vectores correspondiente
6

en lugar del producto de la matriz por el vector), el algoritmo del mtodo de


gradiente conjugado queda dado por:
r = b Au0
w = C 1 r
1 T
v = (C
PN ) w2
= j=1 wj
k=1
Mientras que k N
Si kvk <

Salir

u = Av
t=

PN

j=1 vj uj

x = x + tv
r = r tu

w = C 1 r
P
2
= N
j=1 wj
Si krk <

s=

Salir

v = (C 1 ) w + sv
=
k =k+1
La salida del mtodo ser la solucin aproximada x = (x1 , ..., xN ) y el
residual r = (r1 , ..., rN ).

1.5

Construccin para Matriz no Simtrica

Considere la ecuacin
Pu = b

(29)

en el caso en que el transpuesto P t de la matriz P no es igual a P . Definimos


a la matriz simtrica
A = P t P.
(30)
Entonces todos los desarrollos anteriores son aplicables, incluyendo las
Ec.s (13), (14), (16) y (17). Pero en este caso las expresiones de las Ecs. (14) y
7

(17), se pueden calcular cualquiera que sea el producto interior que se utilice.
Utilizaremos el producto interior natural, pero modificaremos ligeramente la
notacin utilizada. As
em = us um
(31)
pero
rm = P (us um ) = b P um .

(32)

pm+1 = P em m+1 pm = rm m+1 pm

(33)

Adems
P t rm P t pm
P t pm P t pm
y la definicin inductiva se inicia con
m+1 =

(34)

p1 = A(us u0 ) = r0 = b P u0 .

(35)

um+1 = um + m+1 P t pm+1

(36)

Por otra parte


con
m+1 =

1.6

rm rm
P t pm+1 P t pm+1

(37)

Apndice

Proposicin.- Si Aek Kk entonces us Kk,T .


Demostracin.- Utilizaremos el Lema suguiente
Lema A.1.- Si Aek Kk entonces Apk Kk .
Demostracin.- Usando las Ecs. (16) y (19), se tiene
ek = ek+1 k pk

(38)

k = (ek1 , Aek1 )/(pk , pk ) 6= 0.

(39)

con
Aplicando la matriz A a esta ecuacin se obtiene
Aek = Aek1 k Apk .

(40)

La Ec. (40) muestra que los vectores Aek , Aek1 y Apk , son linealmente
dependientes ya que k 6= 0 por la Ec. (39). Pero Aek Kk por hiptesis
8

y Aek1 Kk por la propiedad de pertenencia; luego, Aek Kk , que era lo


que nos proponiamos demostrar.
Demostracin de la proposicin.- Observe que
Kk = Kk+1 + {pk }

(41)

AKk = AKk1 + A{pk }.

(42)

por lo que
Adems
AKk1 Kk

A{pk } Kk

(43)

en vista de la Ec. (7) y el Lema A.1, respectivamente. Luego


AKk Kk .

(44)

Como la matriz A es positiva definida, A no es singular y el mapeo definido


por ella no es biunvoco. As
dim(AKk ) = dim(Kk ).

(45)

Las Ecs. (44) y (45) juntas, implican que


AKk = Kk .

(46)

La Ec. (46), significa que g Kk , si y slo si, existe v Kk , tal que


Av = g.

(47)

Por otra parte, Aek Kk . Luego, existe vk Kk , tal que


Avk = Aek = A(us uk ).

(48)

Multiplicando esta ltima ecuacin por el inverso A1 de A, se obtiene


us uk = vk .

(49)

us = uk + vk = u0 + wk + vk

(50)

Es decir
donde tanto wk como vk , pertenecen a Kk . Claramente, la Ec. (50), exhibe
a la solucin us , como un miembro de Kk,T .
9

Referencias

Allen, M.B., I. Herrera and G. F. Pinder, "Numerical Modeling in Science


and Engineering", John Wiley, 1988.
Birkho, G, and R. E. Lynch, "Numerical Solution on Elliptic Problems",
SIAM, Phyladelphia, 1984.
hestenes, M. R. and E. Stiefel, "Methods of Congugate Gradients for
Solving Linear Systems", J. Res. Natl. Bur. Stand., 49, pp. 409-436, 1952.
Reid, J. K., "On the Method of Conjugate Gradients for the Solution of
Large Sparce Systems of Linear Equations", in J. K. Reid, Ed., Large Sparce
Sets of Linear Equations, New York: Academic Press, pp. 231-254, 1971.

10

También podría gustarte