Sunteți pe pagina 1din 24

Metodos de gradiente.

Precondicionadores
Damian Ginestar Peiro
Departamento de Matematica Aplicada
Universidad Politecnica de Valencia
Curso 2011-2012
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 1 / 24

Indice
1
Metodo de descenso rapido
2
Metodo del gradiente conjugado
3
Precondicionadores
Introduccion
Precondicionadores clasicos
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 2 / 24
Metodo de descenso rapido
Resolver Ax = b, con A simetrica y denida positiva (SPD).
Denimos la funcion cuadratica R
n
R
(y) =
1
2
(y x)
T
A(y x) =
1
2
e
T
Ae .
Se tiene (y) 0 y = 0 ( denicion de matriz SPD).
Error e = y x.
Teorema
La solucion del sistema Ax = b es el mnimo de la funcion (y).
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 3 / 24
Metodo de descenso rapido
(y) =
1
2
(y x)
T
A(y x) =
1
2
e
T
Ae
(y
k
) = constant representa un hiperelipsoide en un espacio de
dimension n.
El centro geometrico es la solucion x del sistema lineal (mnimo).
Construir una sucesion {y
k
} tal que lim
k
y
k
= x.
y
k+1
= y
k
+
k
p
k
Hace falta determinar la direccion p
k
y .
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 4 / 24
Metodo de descenso rapido
Este metodo construye una sucesion que va hacia el centro del
hiperelipsoide en la direccion del gradiente.
El gradiente de en el punto y
k
es
(y
k
) =
1
2
e
T
k
Ae
k
=
_
1
2
y
T
k
Ay
k
y
T
k
b +
1
2
x
T
x
_
= Ay
k
b = r
k
Como la direccion del vector gradiente es hacia fuera, la direccion
buscada coincide con el residuo r
k
en la actual aproximacion.
En consecuencia la nueva aproximacion es
y
k+1
= y
k
+
k
r
k
donde
k
es una constante a determinar. Como? Minimizando (y)
en la direccion buscada r
k
.
Es decir, nuestro
k
es la solucion

k
= argmin

(y
k
+r
k
)
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 5 / 24
Metodo de descenso rapido
Desarrollando la funcion (y
k
+r
k
) se tiene un polinomio de segundo
grado en la variable .
(y
k
+r
k
) = (y
k
+r
k
x)
T
A(y
k
+r
k
x)
= (y
k
+r
k
x)
T
(Ay
k
+Ar
k
b)
= (y
k
+r
k
x)
T
(Ar
k
r
k
)
= (r
k
e
k
)
T
(Ar
k
r
k
)
=
2
r
T
k
Ar
k

_
r
T
k
r
k
+ e
T
k
Ar
k
_
+ x
T
r
k
=
2
r
T
k
Ar
k
2r
T
k
r
k
+ const.
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 6 / 24
Metodo de descenso rapido
Como r
T
k
Ar
k
> 0 el mnimo de se alcanza cuando

k
=
r
T
k
r
k
r
T
k
Ar
k
Otra forma:
Resolver

= 0.
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 7 / 24
Metodo de descenso rapido
La k + 1 iteracion se puede representar como
r
k
= b Ax
k

k
=
r
T
k
r
k
r
T
k
Ar
k
y
k+1
= y
k
+
k
r
k
Notar que el coste computacional es principalmente dos productos
matriz-vector.
De y
k+1
= y
k
+
k
r
k
se sigue que
r
k+1
= b Ax
k+1
= b Ax
k
A
k
r
k
= r
k

k
Ar
k
,
Los residuos consecutivos r
k+1
, r
k
son ortogonales (demostracion:
Ejercicio).
El error e
k+1
es A ortogonal a la direccion r
k
. (demostracion:
Ejercicio).
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 8 / 24
Metodo de descenso rapido
Algoritmo: Descenso rapido
Input: y
0
, A, b, k
max
, tol
r
0
= b Ay
0
, k = 0
while r
k
> tol b and k < k
max
do
1
z = Ar
k
2

k
=
r
T
k
r
k
z
T
r
k
3
y
k+1
= y
k
+
k
r
k
4
r
k+1
= r
k

k
z
5
k = k + 1
end while
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 9 / 24
Metodo de descenso rapido
Lema
Sea A simetrica denida positiva y sean 0 <
n

2

1
sus
valores propios. Si P(t) es un polinomio real, entonces
||P(A)x||
A
max
1j n
|P(
j
)| ||x||
A
, x R
n
donde ||x||
A
=

x
T
Ax.
Teorema
Sean las mismas condiciones que en el lema anterior. La sucesion {y
k
} del
metodo de descenso rapido satisface
||y
k
x||
A

_

1
+
n
_
k
||y
0
x||
A
donde x es la solucion exacta del sistema.
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 10 / 24
Metodo de descenso rapido
Teorema
_
(y
k
) =
_
e
T
k
Ae
k
= e
k

A,2

k
e
0

A,2
, donde =
(A) 1
(A) + 1
Cuando los sistemas vienen de discretizar ecuaciones EDPs, (A)
puede ser muy grande.
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 11 / 24
Metodo de descenso rapido
Se estima el n umero de iteraciones para ganar p digitos en la
aproximacion de la solucion:
e
k

A
e
0

A
10
p
resolviendo
_
(A) 1
(A) + 1
_
k
10
p
Tomando logaritmos y usando la aproximacion de primer orden de
Taylor log
(A) 1
(A) + 1

2
(A) + 1
, se obtiene
k
log 10
2
p ((A) + 1)
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 12 / 24
Metodo del gradiente conjugado
Es una mejora del Descenso rapido. La sucesion de recurrencia es
similar
y
k+1
= y
k
+
k
p
k
Las direcciones se construyen como
p
0
= r
0
p
k
= r
k
+
k
p
k1
, k > 0
Se exige que las direcciones sean A conjugadas
p
T
k1
Ap
k
= 0 ,
es decir, p
k
y p
k1
son A-ortogonales.
Por tanto, se debe cumplir

k
=
r
T
k
Ap
k1
p
T
k1
Ap
k1
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 13 / 24
Metodo del gradiente conjugado
Como en el metodo de descenso mas rapido, la eleccion de
k
se
obtiene minimizando (y
k+1
) = (y
k
+
k
p
k
) dando la expresion

k
=
r
T
k
p
k
p
T
k
Ap
k
Residuos consecutivos como en el metodo de descenso mas rapido
satisfacen la relacion de recurrencia
r
k+1
= r
k
+
k
Ap
k
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 14 / 24
Metodo del gradiente conjugado
Teorema
Las sucesiones de vectores {r
i
} y {p
i
} satisfacen las siguientes relaciones
(i) p
T
i
r
j
= 0, 0 0 i <j k,
(ii) r
T
i
r
j
= 0, i = j , 0 i , j k,
(iii) p
T
i
Ap
j
= 0, i = j , 0 i , j k,
(iv) env{r
0
, r
1
, . . . , r
k
} = env{p
0
, p
1
, . . . , p
k
} = K(A, r
0
, k + 1),
donde K(A, r
0
, k + 1) = env{r
0
, Ar
0
, . . . , A
k
r
0
}.
Corolario
El metodo del gradiente conjugado obtiene la solucion del sistema de n
ecuaciones en como maximo n iteraciones del GC.
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 15 / 24
Metodo del gradiente conjugado
Otras relaciones utiles
1
p
T
k
r
k
= r
T
k
r
k
. Ya que de e
T
k
Ap
j
= 0 se sigue r
T
k
p
j
= 0 y, por tanto,
p
T
k
r
k
= (r
k
+
k1
p
k1
)
T
r
k
= r
T
k
r
k
2
r
T
k
Ap
k
= p
T
k
Ap
k
.
3
Combinando 1 y 2, se obtiene una denici on alternativa de
k
:

k
=
r
T
k
p
k
p
T
k
Ap
k
=
r
T
k
r
k
r
T
k
Ap
k
4
Formulaci on alternativa de
k
. Como p
T
k
Ap
k
= p
T
k
1

k
(r
k
r
k+1
) =
1

k
r
T
k
r
k
r
T
k+1
Ap
k
= r
T
k+1
1

k
(r
k
r
k+1
) =
1

k
r
T
k+1
r
k+1
Por tanto

k
=
r
T
k+1
p
k
p
T
k
Ap
k
=
r
T
k+1
r
k+1
r
T
k
r
k
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 16 / 24
Metodo del gradiente conjugado
Algoritmo: Gradiente conjugado
Input: y
0
, A, b, k
max
, tol
r
0
= p
0
= b Ax
0
, k = 0
while r
k
> tol b and k < k
max
do
1
z = Ap
k
2

k
=
p
T
k
r
k
z
T
p
k
3
y
k+1
= y
k
+
k
p
k
4
r
k+1
= r
k

k
z
5

k
=
r
T
k+1
r
k+1
r
T
k
r
k
6
p
k+1
= r
k+1
+
k
p
k
7
k = k + 1
end while
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 17 / 24
Metodo del gradiente conjugado
Ejercicio
Aplicar el algoritmo del gradiente conjugado para el problema
_
2 1
1 2
__
x
1
x
2
_
=
_
1
0
_
usando como aproximacion inicial x
0
= (0, 0)
T
.
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 18 / 24
Metodo del gradiente conjugado
Solucion:
x
0
= (0, 0)
T
.
p
0
= r
0
= b = (1, 0)
T
.

0
=
r
T
0
r
0
p
t
0
Ap
0
=
1
2
, x
1
= x
0
+
0
p
0
=
_
0
0
_
+
1
2
_
1
0
_
=
_
1
2
0
_
r
1
= r
0

0
Ap
0
=
_
1
0
_

1
2
_
2
1
_
=
_
0
1
2
_
, r
T
1
r
0
= 0

0
=
r
T
1
r
1
r
T
0
r
0
=
1
4
, p
1
= r
1
+
0
p
0
=
_
0
1
2
_
+
1
4
_
1
0
_
=
_
1
4
1
2
_

1
=
r
T
1
r
1
p
T
1
AP
1
=
2
3
x
2
= x
1
+
1
p
1
=
_
1
2
0
_
+
2
3
_
1
4
1
2
_
=
_
2
3
1
3
_
r
2
= 0 solucion exacta
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 19 / 24
Metodo del gradiente conjugado
Teorema
Sea A R
nn
simetrica y denida positiva. Sea x la solucion exacta del
sistema Ax = b. Entonces la sucesion de vectores del Gradiente Conjugado
{y
k
} cumple
||x y
k
||
A
2
_
_

2
(A) 1
_

2
(A) + 1
_
k
||x y
0
||
A
donde
2
(A) = ||A||
2
||A
1
||
2
.
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 20 / 24
Precondicionadores. Introduccion
La convergencia rapida del metodo del GC se da si (A) es peque no
Para obtener mayor velocidad de convergencia tenemos que reducir el
n umero de condicion.
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 21 / 24
Precondicionadores. Introduccion
Precondicionar un sistema lineal no es otra cosa que (pre)multiplicar
el sistema por una matriz nonsingular, denotada por M
1
,
Produce el sistema equivalente
M
1
Ax = M
1
b (1)
Que hay que tener en cuenta para elegir el precondicionador?
Condicionar mejor el sistema inicial,
El precondicionador M
1
, debe ser facil de invertir, es decir, debe
producir un sistema lineal
My = c
facil de resolver.
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 22 / 24
Precondicionadores clasicos
Precondicionador de Jacobi
M = D donde D es la matriz diagonal D = diag(A), es decir, d
ii
= a
ii
Calculo de M
1
r
k+1
cuesta O(n) operaciones: muy barato.
Factorizacion incompleta de Cholesky
M =

L

L
T
donde

L es una aproximacion del factor triangular obtenido
por la factorizacion de Cholesky. Tenemos que resolver un sistema con
la matriz M queremos que e L sea lo mas vaca posible. Para ello se
permite que

L tenga los elementos no cero en las posiciones donde los
tiene A, esto es
a
ij
= 0 =l
ij
0, IC(0)
LU incompleta
Se construye M =

L

U donde

L es una matriz vaca triangular inferior
que aproxima a L y

U es una matriz vaca triangular superior que
aproxima a U.
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 23 / 24
Precondicionadores clasicos
Fijado un subconjunto S [1, . . . , n] [1, . . . , n] de posiciones de
elementos en la matriz, entonces
a
ij
:=
_
a
ij
a
ik
a
1
kk
a
kj
si (i , j ) S
a
ij
si (i , j ) S
da una factorizacion incompleta de A que mantiene las propiedades (SPD).
Si se hace una factorizacion LU con el mismo patron de ceros que la
matriz A se obtiene el precondicionador ILU(0). ILU(m), si se permite
que se llenen m posiciones en cada la.
La factorizacion incompleta puede fallar incluso si la matriz inicial
admite factorizacion.
El fallo ocurre cuando a
kk
= 0. Sin embargo, en la practica es raro
que hayan fallos.
(UPV) Metodos de gradiente. Precondicionadores Curso 2011-2012 24 / 24

S-ar putea să vă placă și