M´ eto doss de gr etodo grad adie iente. nte. M´ eto doss de Kry etodo Krylov lov Dami´ Dami´an an Gine Ginest star ar Peir´ Peiro´ Departamento de Matem´atica atica Aplicada Universidad Universida d Polit´ ecnica de Valencia ecnica
Curso 2012-2013
´Indice
1
M´eto todo do de de desc scen enso so r´apid ap idoo
2
M´ eto do del gradi etodo gradiente ente conjug conjugado ado
3
M´eto etodo doss de Kr Kryl ylov ov M´etodo eto do del residuo resid uo conjugado conjug ado m´eto et odo GMRE GMRES S
M´eto et odo de des esccen ensso r´api pid do
Resolver Ax = b , con A sim´etrica etric a y definida definid a positiva po sitiva (SPD). Definimos la funci´ on on cuad cu adr´ r´atic at icaa 1 φ(y ) = (y 2 Se tiene φ(y ) Error e = y
− x )
φ T
n
R
A(y
−
→R 1 T x ) = e Ae . 2
≥ 0 ∀y = 0 ( definici´on on de matriz SPD).
− x .
Teorema La soluci´ on on del sistema Ax = b es el m´ınimo de la funci´on on φ(y ).
M´eto et odo de des esccen ensso r´api pid do
φ(y ) = 12 (y
− x )
T
A(y
− x ) = 12 e
T
Ae
φ (y k k ) = constant representa un hiperelipsoide en un espacio de dimensi´on on n. El centro geom´etrico etric o es la soluci´ soluc i´ on on x del sistem sistemaa lineal lin eal (m´ (m´ınimo). ıni mo). Construir una sucesi´on on y k k tal que limk →∞ k = x . →∞ y k
{ }
y k +1 = y k k +1 k + αk p k k
Hace falta determinar la direcci´ on on p k k y α.
M´etodo de descenso r´apido Este m´etodo construye una sucesi´ on que va hacia el centro del hiperelipsoide en la direcci´ on del gradiente. El gradiente de φ en el punto y k es 1 T φ(y k ) = e Ae k = 2 k
∇
∇
∇
1 T y Ay k 2 k
−
1 T T y k b + x x = Ay k 2
− b = −r
k
Como la direcci´ on del vector gradiente es hacia fuera, la direcci´ on buscada coincide con el residuo r k en la aproximaci´ on actual. En consecuencia la nueva aproximaci´ on es y k +1 = y k + αk r k
donde αk es una constante a determinar. ¿C´ omo? Minimizando φ(y ) en la direcci´ on buscada r k . Es decir, nuestro αk es la soluci´ on αk = argminβ φ(y k + β r k )
M´etodo de descenso r´apido
Desarrollando la funci´ on φ(y k + β rk ) se tiene un polinomio de segundo grado en la variable β . φ(y k + β rk ) = (y k + β rk = (y k + β rk = (y k + β rk = (β rk = =
T
− x ) − x ) − x )
A(y k + β r k
− x ) (Ay + β Ar − b ) (β Ar − r ) (β Ar − r ) T
k
T
T
k
k
k
− e ) β 2 r Ar − β r r + e Ar β 2 r Ar − 2β r r + const. T k T k
k
k k
k
T k k
T k k
k
T k
k
+ x T r k
M´etodo de descenso r´apido
Como r k T Ar k > 0 el m´ınimo de φ se alcanza cuando αk
Otra forma: ∂φ Resolver ∂β = 0.
r k T r k
≡ β = r
T k Ar k
M´etodo de descenso r´apido La k + 1 iteraci´on se puede representar como r k = b Ax k r k T r k
−
αk = y k +1
r k T Ar k = 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 +1 = b − Ax − Aα r k
k
k k
= r k
− α Ar , k
k
Los residuos consecutivos r k +1 , r k son ortogonales (demostraci´ on: Ejercicio). El error e k +1 es A ortogonal a la direcci´ on r k . (demostraci´ on: Ejercicio).
M´etodo de descenso r´apido
Algoritmo: Descenso r´apido Input: y 0 , A, b , k , tol max
r 0 = b
− Ay 0, k = 0 while r > tol b k
1 2 3 4 5
z = Ar k r k T r k αk = T z r k y k +1 = y k + αk r k r k +1 = r k αk z k = k + 1
end while
−
and k < k
max
do
M´etodo de descenso r´apido Lema Sea A sim´etrica definida positiva y sean 0 < λn λ2 valores propios. Si P (t ) es un polinomio real, entonces
≤ · · · ≤ ≤ λ1 sus
||P (A)x || ≤ 1max |P (λ )|·||x || √ A
donde x
|| ||
A
=
A,
j
≤ j ≤n
x
n
∈R
x T Ax .
Teorema Sean las mismas condiciones que en el lema anterior. La sucesi´on y k del m´etodo de descenso r´apido satisface
{ }
||y − x || k
A
≤
λ1 λn λ1 + λn
−
donde x es la soluci´ on exacta del sistema.
k
||
y 0
− x ||
A
M´etodo de descenso r´apido
Teorema
φ(y k ) =
e k T Ae k
= e k
k
2 ≤ µ e 0 A,
A,2 ,
κ(A) 1 donde µ = κ(A) + 1
−
Cuando los sistemas vienen de discretizar ecuaciones EDPs, κ(A) puede ser muy grande.
M´etodo de descenso r´apido
Se estima el n´ umero de iteraciones para ganar p digitos en la aproximaci´on de la soluci´ on:
e ≤ 10 e 0 k A
−p
resolviendo
A
κ(A) 1 κ(A) + 1
−
k
≤
10−p
Tomando logaritmos y usando la aproximaci´on de primer orden de κ(A) 1 2 Taylor log , se obtiene κ(A) + 1 κ(A) + 1
− ≈ − k
≈
log 10 p (κ(A) + 1) 2
M´ etodo del gradiente conjugado Es una mejora del Descenso r´apido. La sucesi´ on 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 k −1 ,
k > 0
Se exige que las direcciones sean A conjugadas T p k −1 Ap k = 0 ,
es decir, p k y p k −1 son A-ortogonales. Por tanto, se debe cumplir β k =
r k T Ap k −1
− p
T k −1 Ap k −1
M´ etodo del gradiente conjugado
Como en el m´etodo de descenso m´as r´apido, la elecci´ on de αk se obtiene minimizando φ(y k +1 ) = φ(y k + αk p k ) dando la expresi´ on αk =
r k T p k T p k Ap k
Residuos consecutivos como en el m´etodo de descenso m´as r´apido satisfacen la relaci´ on de recurrencia r k +1 = r k +αk Ap k
M´ etodo del gradiente conjugado
Teorema Las sucesiones de vectores r i y p i satisfacen las siguientes relaciones (i) p i T r j = 0, 0 0 i < j k , (ii) r i T r j = 0, i = j , 0 i , j k , (iii) p i T Ap j = 0, i = j , 0 i , j k , (iv) env r 0 , r 1 , . . . , r k = env p 0 , p 1 , . . . , p k = (A, r 0 , k + 1), donde (A, r 0 , k + 1) = env r 0 , Ar 0 , . . . , Ak r 0 .
{ K
{} { } ≤ ≤ ≤ ≤ ≤ ≤ ≤ } { {
} K }
Corolario El m´etodo del gradiente conjugado obtiene la soluci´ on del sistema de n ecuaciones en como m´aximo n iteraciones del GC.
M´ etodo del gradiente conjugado Otras relaciones ´ utiles 1
p k T r k = r k T r k . Ya que de e k T Ap j = 0 se sigue r k T p j = 0 y, por tanto, T
T
T
p k r k = (r k + β k −1 p k −1 ) r k = r k r k 2
r k T Ap k = p k T Ap k .
3
Combinando 1 y 2, se obtiene una definici´ on alternativa de αk : r k T p k r k T r k = T αk = T p k Ap k r k Ap k
4
Formulaci´ on alternativa de β k . Como p k T Ap k = p k T T
T
r k +1 Ap k = r k +1
1 αk
1 αk
(r k − r k +1 ) = −
(r k − r k +1 ) = 1
αk
Por tanto β k = −
r k T +1 p k p k T Ap k
=
r k T +1 r k +1 r k T r k
T
r k +1 r k +1
1 αk
r k T r k
M´ etodo del gradiente conjugado Algoritmo: Gradiente conjugado Input: y 0 , A, b , k , tol max
r 0 = p 0 = b Ax 0 , k = 0 while r k > tol b and k < k 1 z = Ap k
2 3 4 5 6 7
−
p k T r k αk = T z p k y k +1 = y k + αk p k r k +1 = r k αk z r k T +1 r k +1
−
β k =
r k T r k p k +1 = r k +1 + β k p k k = k + 1
end while
max
do
M´ etodo del gradiente conjugado
Ejercicio Aplicar el algoritmo del gradiente conjugado para el problema
−
2 1
−1
2
x 1 x 2
=
usando como aproximaci´ on inicial x 0 = (0, 0)T .
1 0
M´ etodo del gradiente conjugado Soluci´ on:
x 0 = (0, 0)T . p 0 = r 0 = b = (1, 0)T .
α0 =
T
r 0 r 0 p 0t Ap 0
r 1 = r 0
=
1 2,
β 0 =
r 1T r 1 r 0T r 0
α1 =
r 1T r 1 p 1T AP 1
=
1 4,
=
0 0
x 1 = x 0 + α0 p 0 =
− α0Ap 0 =
1 0
2 1
1 2
+
+
1 2
1 0
1 2
0
=
0
p 1 = r 1 + β 0 p 0 =
1 4
1 2
1 4 1 2
2 3 1 3
0
on exacta r 2 = 0 soluci´
+
2 3
=
=
0
, r 1T r 0 = 0
1 2
2 3
x 2 = x 1 + α1 p 1 =
1 2
− − 1 0
=
1 4 1 2
M´ etodo del gradiente conjugado
Teorema Sea A Rn×n sim´etrica y definida positiva. Sea x la soluci´ on exacta del sistema Ax = b . Entonces la sucesi´on de vectores del Gradiente Conjugado y k cumple
∈
{ }
||x − y || ≤ 2 k A
|| ||2||A 1||2.
donde κ2 (A) = A
−
κ2 (A) 1 κ2 (A) + 1
−
k
||x − y 0||
A
M´ etodos de Krylov
Vimos que el m´edodo de Richardson construye la sucesi´ on k
x k +1 = x 0 +
(I
i =0
as´ı x k +1 span x 0 , r 0 , Ar 0 , A2 r 0 , Para los residuos se tiene
∈
{
i
− A) r 0 .
k
··· , A r 0}.
k
r k +1 = b
y as´ı r k +1
− Ax 0 − A
k
(I
i =0
i
− A) r 0 = r 0 − A
∈ span{r 0, Ar 0, A2r 0, ··· , A +1r 0}. k
i =0
(I
i
− A) r 0 .
M´ etodos de Krylov
El espacio span r 0 , Ar 0 , A2 r 0 , , Ak −1 r 0 se llama subespacio de Krylov de dimensi´ on k , correspondiente a la matriz A y residuo inicial r 0
{
···
}
K k (A; r 0 ) = span r 0 , Ar 0 , A2 r 0 ,
{
k −1
··· , A
r 0
}
¿Se puede usar la informaci´ on contenida en K k (A; r 0 ) de forma m´as eficiente que con el m´etodo de Richardson?
M´ etodos de Krylov
Por ejemplo, como ya hemos visto, el m´etodo de descenso m´as r´apido se basa en iteraciones de la forma x k +1
= x k + αk r k
r k +1
= b
Para este m´etodo x k +1
− Ax +1 = r − α Ar k
∈ x 0 ∪ K +1(A; r 0) k
k
k
k
.
M´ etodos de Krylov
Los m´etodos de proyecci´on de un paso se basan en una combinaci´on ´optima de los dos ´ultimos vectores base del subespacio de Krylov. ¿Es posible contruir una combinaci´ on lineal o´ptima de todos los vectores base del subespacio de Krylov? La respuesta en dos pasos: Primero vemos c´omo construir una base para K k (A; r 0 ); Despu´es veremos c´omo construir una aproximaci´on o´ptima como una combinaci´on lineal de los vectores base. Primero para matrices sim´etricas.
M´ etodos de Krylov
La base m´as simple para el subespacio de Krylov K k (A; r 0 ) es la base: r 0 , Ar 0 , A2 r 0 , Ak −1 r 0 .
···
Pero esta base est´a mal condicionada ya que Ak −1 r 0 apuntar´a cada vez m´as en la direcci´ on del autovector dominante de A. Una base estable y ortogonal se puede construir usando el m´ etodo de Arnoldi.
M´ etodos de Krylov
Se elige un vector inicial q 1 con q 1 2 = 1. FOR k = 1, DO (iteraci´ on) v = Aq k FOR i = 1,..., k (ortogonalizaci´ on) hi ,k = v T q i v = v hi ,k q i END FOR hk +1,k = v 2 IF hk +1,k = 0 STOP (subespacio invariante) q k +1 = v /hk +1,k (nuevo vector) END FOR
···
−
M´ etodos de Krylov
El m´etodo de Arnoldi se puede resumir en:
H k =
y Q k = [q 1 q 2
h1,1 h2,1 O
... .. . .. .
... ..
.
hk ,k −1
h1,k
.. . .. .
hk ,k
··· q ] entonces
k
AQ k = Q k H k + hk +1,k q k +1 e k T
donde e k es el k
k
− esimo vector de la base can´onica de R .
M´ etodos de Krylov
Si A es sim´etrica de acuerdo a la relaci´ on de Arnoldi Q k T AQ k = H k .
Como A es sim´etrica H k T = Q k T AT Q k = Q k T AQ k = H k .
As´ı H k es sim´etrica y Hessenberg superior luego H k es tridiagonal.
M´ etodos de Krylov
As´ı H k =
h1,1
h2,1
h2,1
.
..
.
.
..
.
O
.. ..
O
hk ,k −1
hk ,k −1 hk ,k
.
Con αk = hk ,k y β k = hk −1,k el m´etodo de Arnoldi se simplifica en el m´etodo de Lanczos. Con el m´etodo de Lanczos es posible calcular un nuevo vector base ortogonal utilizando s´olo los dos vectores base previos.
M´ etodos de Krylov
El m´etodo de Arnoldi y el m´etodo de Lanczos se propusieron originalmente como m´ etodos iterativos para calcular autovalores de la matriz A: Q k T AQ k = H k
es ’casi’ una transformaci´ on de similaridad. Los autovalores de H k se llaman los valores de Ritz de A.
M´ etodos de Krylov El m´etodo de Lanczos nos proporciona un m´etodo econ´ omico para calcular vectores base ortogonales para el subespacio de Krylov K k (A; r 0 ). Nuestra aproximaci´ on se escribe x k = x 0 + Q k y k
donde y k se determina de forma que o bien se minimiza
− x 2 = (x − x )
f (x k ) = x k
A
k
T
A(x k
− x )
respecto de la norma inducida por A (sim´aetica y definida positiva) o bien g (x k ) = A(x k
se minimiza la norma del residuo.
− x )22 = r
T k r k ,
M´ etodos de Krylov
Se considera la minimizaci´ on del error en la A-norma: x k = x 0 + Q k y k
T
⇒ f (x ) = (x 0 + Q y − x ) k
k k
Se calcula la derivada respecto de y k y
∂ f (x k ) ∂ yk
= 0. Con lo que
Q k T AQ k y k = Q k T r 0
y con Q k T AQ k = T k , r 0 = r 0 q 1 se tiene
T k y k = r 0 e 1
con e 1 el primer vector de la base can´ onica.
A(x 0 + Q k y k
− x ) .
M´ etodos de Krylov
Es f´acil ver que los residuos son orgonales a los vectores base r k = r 0
T k r k
− AQ y ⇒ Q k k
= Q k T r 0
T k AQ k y k
− Q
=0
Esta condici´ on es equivalente a minimizar f (x k ) cuando A es SPD. En este caso se obtiene el m´ etodo del gradiente conjugado.
M´ etodo del residuo conjugado El gradiente conjugado minimiza la A-norma del error. Otra forma de construir una aproximaci´ on o´ptima x k es minimizar el residuo g (x k ) = A(x k
sobre todos los x k Definiendo
− x )22 = r
T k r k
k
∈ {x 0 ∪ K (A; b )}.
T k =
α1
β 2
β 2
α2 .. . 0
0 ..
.
..
.
..
.
..
.
..
.
β k
El m´etodo de Lanczos se escribe AQ k = Q k +1 T k
β k αk β k + 1
M´ etodo del residuo conjugado
El problema es encontrar x k = x 0 + Q k y k tal que r k es m´ınimo. r k = b
− Ax
k
= r 0
− AQ y
k k
= r 0 q 1 − AQ y
k k
as´ı hay que minimizar
r k
= = =
r 0q 1 − AQ y r 0Q +1e 1 − Q +1T y r 0e 1 − T y k k
k
k
k k
k k
M´ etodo del residuo conjugado
Resolviendo el sistema sobredeterminado T k y k = r 0 e 1 se tienen las iteraciones x k = x 0 + Q k y k
que minimizan el residuo. El algoritmo resultatnte se llama MINRES (o residuo conjugado)
M´ etodo del residuo conjugado
r 0 = b − Ax 0 ;
FOR
p 0 = r 0 k = 0, 1, · · · , DO αk =
T r k Ar k
(Ap k )T Ap k
x k +1 = x k + αk p k r k +1 = r k − αk Ap k β k =
actualizacion residuo
T r k Ar +1 k +1
r T Ar k k
p k +1 = r k +1 + β k p k Ap k +1 = Ar k +1 + β k Ap k
END FOR
initializacion
actualizacion direccion
M´etodo GMRES
En el caso de A sim´etrica el m´etodo de Arnoldi es muy eficiente, los vectores base nuevos se pueden calcular con una recurrencia de tres t´erminos. Esto permite construir m´etodos muy eficientes que combinan recurrencias cortas y una condici´ on de optimalidad para el error. Veremos ahora c´ omo se pueden construir m´etodos para el caso no sim´etrico. Estos m´etodos usan el m´etodo de Arnoldi.
M´etodo GMRES
M´etodo de Arnoldi. Se elige un vector inicial q 1 con q 1 2 = 1. FOR k = 1, DO (iteracion) v = Aq k FOR i = 1,..., k ortogonalizacion hi ,k = v T q i v = v hi ,k q i END FOR hk +1,k = v 2 IF hk +1,k = 0 STOP subespacio invariante q k +1 = v /hk +1,k nuevo vector base END FOR
···
−
M´etodo GMRES
En forma compacta
H k =
y Q k = [q 1 q 2
h1,1 h2,1 O
... .. . .. .
... ..
.
hk ,k −1
h1,k
.. . .. .
hk ,k
··· q ] entonces k
AQ k = Q k H k + hk +1,k q k +1 e k T
M´etodo GMRES
Definiendo
H k =
h1,1 h2,1
... .. . .. .
... ..
.
hk ,k −1 O
el m´etodo de Arnoldi se escribe AQ k = Q k +1 H k
h1,k
.. . .. .
hk ,k hk +1,k
M´etodo GMRES
El m´ etodo de Anoldi nos da una base ortogonal para el subespacio de Krylov K k (A; r 0 ). Se tiene la aproximaci´ on x k = x 0 + Q k y k y k es tal que minimiza el error
− x 2 = (x − x )
f (x k ) = x k
A
k
T
A(x k
respecto de la A-norma, o bien minimiza el g (x k ) = A(x k
residuo.
− x )22 = r
T k r k ,
− x )
M´etodo GMRES
Si A no es SPD, la A-norma no est´a bien definida. Imponiendo ahora que los residuos sean ortogonales a Q k se tiene Q k T (r 0
− AQ y ) = 0 ⇒ r 0e 1 − H y k k
k k
Resolviendo el sistema peque˜ no y k = r 0 H k −1 e 1
Este m´etodo se llama FOM.
x k = x 0 + Q k y k
=0
M´etodo GMRES
El FOM es equivalente al GC si A es SPD. Pero tiene inconvenientes: FOM no trata de forma eficiente la memoria: Q k se tiene que guardar completa. En cada iteraci´on,un nuevo vector base se tiene que calcular y guardar. La ortogonalizaci´ on ve siendo cada vez m´as car con k . FOM no tiene una propiedad de optimalidad. El m´ etodo es finito, pero esto s´ olo tiene inter´es te´orico ya que se tendr´ıan que calcular n vectores base y guardarlos. FOM no es robusto ya que H k podr´ıa ser singular.
M´etodo GMRES
El m´etodo FOM para obtener x k es parte de una familia de t´ ecnicas para extraer una soluci´ on aproximada a partir de un espacio de b´ usqueda Q k haciendo que el residuo se ortogonal a un espacio test W k . Esto se formula como: Sea x k = x 0 + Q k y k . Encontrar y k tal que T
W k (r 0 − AQ k y k ) = 0
Estas son las condiciones de Petrov-Galerkin. Si W k = Q k se llaman condicones de Galerkin.
M´etodo GMRES
Veamos un segundo m´etodo para obtener un m´ınimo del residuo. Minimizar g (x k ) = A(x k x ) 22 = r k T r k
−
es un problema bien definido incluso si A es no sim´etrica.
M´etodo GMRES
El problema es encontrar x k = x 0 + Q k y k tal que r k is minimo. r k = b
− Ax
k
= r 0
− AQ y
k k
= r 0 q 1 − AQ y
k k
as´ı
r k
= = =
r 0q 1 − AQ y r 0Q +1e 1 − Q +1H y r 0e 1 − H y k k
k
k
k k
k k