Sie sind auf Seite 1von 61

Planteamiento general del problema (I)

Sea el sistema de ecuaciones lineales

b, Ax =

con

A regular en general no simetrica.


a1
.c om

Se pretende resolver mediante un metodo semi-iterativo este problema teniendo en cuenta: - El algoritmo debe ser preciso y robusto. - El algoritmo debe permitir el calculo en paralelo.
ww w.

at

em

- El algoritmo debe tener un coste computacional reducido.

at ic

Metodos de proyeccion ortogonal (I)


Sea A una matriz real cuadrada de orden n. Sean K y L dos subespacios de dimension m en Rn Un metodo de proyeccion ortogonal a L sobre el subespacio K consiste en encontrar x K/ = Ax L r b

Considerando ro = Axo, el problema consiste en b


Hallar K/(o A, w) = 0, r w L

ww

w.

at

Encontrar x xo + Km/ L ( Ax, w) = 0 r b

em

at ic

Si se parte de una aproximacion inicial xo, el problema consiste en:


w L

x = xo +

a1

.c

om

Metodos de proyeccion ortogonal (II)


Si denimos los subespacios de K y L a traves de sendas bases de vectores colocadas por columnas en dos matrices V y W respectivamente.
. V = [1.v2. .vn], v . . . . . . W = [w1.w2. .wn] . . . . .
.c om

Entonces:

con = x xo obtenemos

(o AV y , w) = 0, r

que en forma matricial se puede escribir como:


W ro W AV y = 0, W AV y = W r o
T T

ww

w.

at

(o A, w) = 0 r

em

at ic

Si ahora imponemos la condicion de ortogonalidad:

a1

x = xo + V y

Metodos de proyeccion ortogonal (III)


Obtenemos un sistema de ecuaciones con matriz W T AV . Podemos garantizar que esta matriz es regular si: 1) A es denida positiva y L = K 2) A es regular y L = AK FOM y PCG

Del mismo modo para 2); si A es una matriz cualquiera, el metodo de proyeccion tambien presenta propiedades de minimizacion del residuo. De ah el nombre del Metodo GMRES (Generalized Mininum RESidual). La demostracion se puede encontrar en las pag. 135-138 Saad2003.

ww

w.

Se puede demostrar para 1) que si A es simetrica y denida positiva el metodo de proyeccion presenta propiedades de minimizacion del residuo (Gradientes Conjugados). (Veanse los apuntes del Metodo PCG)

at

em

at ic

a1

GMRES
.c om

Metodos basados en subespacios de Krylov (I)


Introduccion Un metodo de proyeccion para resolver sistemas de ecuaciones proporciona una solucion aproximada xm del subespacio xo + Km imponiendo las condiciones de Petrov-Galerkin: Un metodo de proyeccion sobre subespacios de Krylov es un metodo que utiliza como espacio de aproximacion el subespacio de Krylov:

at

em

at ic

a1

Axm Lm b
.c

om

siendo ro = Axo. Los diferentes metodos sobre subespacios de Krylov b se eligen en funcion de Lm y del tipo de precondicionamiento utilizado. La solucion x se aproximara como:
A
1

b xm = xo + qm1(A)o r

siendo qm1(A) un polinomio de grado m 1.

ww

Km(A, ro) = span ro, Aro, A ro, . . . , A


w.

m1

ro

Metodos basados en subespacios de Krylov (II)


As, tenemos dos grandes familias de Metodos de Krylov: Lm = Km o Lm = AKm Lm = Km(AT , ro)
om

a1

.c

Km(A, v ) = span v , Av , A v , . . . , A

at ic

m1

Km es el subespacio de todos los vectores Rn que se pueden expresar como combinacion lineal de un polinomio de grado m 1
ww w.

at

em

Metodos de obtencion de bases ortonormales (I)


Metodo de Gram-Schmidt (GS) Sea una base de vectores {i}i=0,m1 x Calcular r11 = x1 2. Si r11 = 0 ST OP q1 = x1/r11 do j = 2, ..., m do i = 1, j 1 rij = (j , qi) x enddo
j1 i=1 2

q = xj

rij qi

rjj = q Si rjj = 0 ST OP qj = q/rjj enddo

ww

w.

at

em

at ic

a1

.c

om

Metodos de obtencion de bases ortonormales (II)


Si lo expresamos en forma matricial:
X Q R = = =
. [1.x2. . . . .xm] x . . . . . . [1.q2. . . . .qm] q . . . . .

Finalmente,

El Metodo de Gram-Schmidt equivale a una factorizacion QR, con Q ortonormal o unitaria. Este planteamiento es matematicamente exacto pero desde un punto de vista numerico propaga excesivamente los errores y no es recomendable. Para evitar, en parte, estos efectos se propone una formulacion alternativa: el Metodo de Gram-Schmidt modicado (MGS).

ww

w.

at

em

siendo R una matriz triangular superior de tamano m m.


X = QR

at ic

a1

.c

{rij }

om

Metodos de obtencion de bases ortonormales (III)


Metodo de Gram-Schmidt modicado Sea una base de vectores {i}i=0,m1 x Calcular r11 = x1 2. Si r11 = 0 ST OP q1 = x1/r11 do j = 2, ..., m q = xj do i = 1, j 1 rij = (q, qi) q = q rij qi enddo rjj = q 2 Si rjj = 0 ST OP qj = q/rjj enddo
ww w.

at

em

at ic

a1

.c

om

Metodos de obtencion de bases ortonormales (IV)


Sin embargo, hay una tecnica mas able para generar bases de vectores ortonormales que propaga menos los errores que las tecnicas propuestas anteriormente. Esta tecnica se basa en la aplicacion de Reectores de Householder.

ww

w.

Una transformacion de Householder es una transformacion (P ) que aplicada sobre un vector () nos proporciona el vector simetrico con respecto a un x hiperplano dado (P x).

at

em

at ic
~

a1
x

.c

Ortogonalizacion de Householder

om

Px

Metodos de obtencion de bases ortonormales (V)


Los reectores son matrices de la forma:
P = I 2w w
T

donde w es el vector unitario normal al plano.

a1

.c

Por lo tanto, P x es un vector simetrico a x con respecto al plano w.


om

Pi =

em

...

at ic

at

1 . . . ... . . .

ww

Propiedad importante: Los reectores son unitarios u ortonormales.


P P = (I 2ww ) (I 2ww ) = I 2ww 2ww + 4w w w w = I I
T T T T T T T T

w.

M
i1

Metodos de obtencion de bases ortonormales (VI)


Elegiremos un vector w de modo que:
P x = 1 e

Por lo tanto,

x 1 e w= x 1 e

ww

w.

escalar

at

e 2w w x = x 1

em
T

at ic

(I 2ww ) = 1 x e

a1

siendo un escalar

.c

om

dado que w tiene que ser unitario.

Metodos de obtencion de bases ortonormales (VII)


Imponemos ahora que se cumple 2(wT x)w = x 1 e
( 1)T x( 1) x e x e 2 = ( 1) x e ( 1) 2 x e 2

at ic

a1

2( 1) x = ( 1) x e x e
.c

om

2 2 2

em

2 x 21 = x x

2 2

2 x e1 +
1

M
Habitualmente se toma:
ww w.

at
x
2 2

= signo(1) x

Por lo tanto,
w= x + signo(1) x 2e1 x + signo(1) x 2e1
2

Metodos de obtencion de bases ortonormales (VIII)


En resumen, dada una matriz n m, podemos cambiar su primera columna y transformarla en un multiplo de e1 premultiplicando por P 1.
X 1 = P 1X

siendo

ww

= P k1 . . . P 1X =

Asumamos ahora que hemos aplicado esta tecnica k 1 veces. Entonces obtendramos:

at

em

at ic

a1

e X 1e1 = 1
.c

om

x1,1

x1,2 x2,2

x1,3 x2,3 x3,3

X k1

...

x1,k x2,k x3,k . . . xk,k xk+1,k . . . xn,k

... ...

x1,m x2,m x3,m . . . xk,m xk+1,m . . . xn,m

donde esta matriz es triangular hasta la columna k 1.

w.

Metodos de obtencion de bases ortonormales (IX)


Para conseguir que la estructura triangular avance hasta la columna k desde la columna k 1 dejando los terminos (k )i, i = 1, k 1 intactos, elegimos x P k = I 2wk wk donde T
.c om

Nos falta obtener como:


n

ww

w.

at

em

wk =

z z 2

con zi =

0, i<k + (i)i, i = k x (k )i, x i>k

at ic

a1

(1)

= signo((k )k ) x
i=k

(k )2 x i

Metodos de obtencion de bases ortonormales (X)


Comprobacion Paso 1): Las componentes (k )i no deben alterarse para i < k al aplicar la x transformacion.

ww

(k )i 2(wk )i = (k )i x x
w.

at

em

(k )i (2wk (wk xk ))i = (k )i x x


escalar

at ic

(w k )i = 0

a1

i < k

.c

om

((I 2wk wk )(k ))i = (k )i x x

para

i<k

Metodos de obtencion de bases ortonormales (XI)


Paso 2): Las componentes (k )i deben ser nulas para i > k al aplicar la x transformacion.
((I 2wk wk )k )i = 0 x (k )i 2(wk )iwk xk = 0 x
T T

para para

i>k i>k

ww

w.

at

j=k

em

(k )i = 2(wk )i x

(wk )j (k )j x

at ic

a1

.c

om

para

i>k

(2)

Metodos de obtencion de bases ortonormales (XII)


Paso 3): Ademas, el modulo de los vectores columna que componen la matriz X no debe cambiar tras la transformacion de Householder. Por lo tanto, para la columna de estudio k se debe cumplir que:
n k1
.c

(k )i = x
i=1 i=1

(k )i x

+ ((I 2wk wk )k )k x
termino de la diagonal
n T

i=k

ww

2 (k )i = (k )k 2(wk )k x x

at

terminos no modicados

em

at ic

a1

om

2 (wk )j (k )j x

w.

j=k

Reemplazando ahora (2) en la ecuacion anterior obtenemos que:


n 2 (k )i x i=k

(k )i x (k )k (wk )k x (wk )i

para

i>k

Metodos de obtencion de bases ortonormales (XIII)


Si ahora elegimos por simplicidad que (wk )i = (k )i para i > k, entonces: x
n

(k )i = ((k )k (wk )k ) x x
i=k

a1 at ic
(wk )k = signo ((k )k ) x

donde:

.c

om

em

(k )2 + (k )k x i x
i=k

Por lo tanto, el vector z se obtiene tal y como se ha deducido de acuerdo con (1). Finalmente, se normaliza este vector z para aplicar la transformacion. Es importante destacar que para aplicar la transformacion de Householder no es necesario almacenar ni calcular las matrices P .
ww w.

at

Metodos de obtencion de bases ortonormales (XIV)


Por ejemplo, si se quiere aplicar la transformacion sobre una matriz X .
= P mP m1 . . . P 1X =
ww w.

x1,1

x1,2 x2,2
.c om

x1,3 x2,3 x3,3

Por lo tanto, si P = P mP m1 . . . P 2P 1, P T contendra las primeras m columnas de la matriz Q de la factorizacion QR, de modo que:
X = QR

cuando m = n, donde las columnas de R son las columnas de X m y corresponden a una matriz triangular superior.

at

em

at ic

a1

Xm

...

x1,m x2,m x3,m . . . xm,m

Metodos de obtencion de bases ortonormales (XV)


Si m < n como sera habitual en la practica:
PX = R O
om

em
T T T T

Dado que P es unitaria (ortonormal):


w.

at ic
R O

Sea ahora E m una matriz de dimension m m cuyas m primeras las corresponden a una I mm. Entonces:
X = P E mR

donde Q = P T E m representa las m primeras columnas de P T y satisface que:


Q Q = E mP P E m = I mm
T

ww

X =P

at

a1

donde R es una matriz m m triangular superior y O es una matriz nula de dimension (n m) m.


.c

Metodos de obtencion de bases ortonormales (XVI)


Algoritmo de ortogonalizacion: Denimos X = [1.x2. .xm] x . . . do k = 1, m Si (k > 1) calcular rk = P k1P k2 . . . P 1xk Calcular wk de acuerdo con (1) Calcular el nuevo rk = P k rk donde P k = I 2wk wk T Calcular la columna qk = P 1 . . . P k ek enddo donde ek es la columna kesima de la matriz I nn. Con este metodo se consigue obtener una base de vectores ortonormales en el subespacio de dimension m con una menor propagacion de errores que para los Metodos de Gram-Schmidt. Observese que cuando el proceso se completa y m = n se obtiene una factorizacion QR de la matriz original X .
ww w.

at

em

at ic

a1

.c

om

Metodos de obtencion de bases ortonormales (XVII)


Con esta tecnica podra aplicarse un metodo de resolucion directo aprovechando que la matriz Q es ortonormal y que la matriz R es triangular. Para ello habra que partir de la matriz A del sistema para obtener la base de vectores ortonormales. Sin embargo, este metodo no se suele utilizar dado que la matriz Q es, en general, una matriz llena, en oposicion a los esquemas de almacenamiento que suele permitir la matriz A para los problemas habituales en Ingeniera.
ww w.

at

em

at ic

a1

.c

om

Ortogonalizacion de subespacios de Krylov: Arnoldi (I)


Ortogonalizacion de subespacios de Krylov: Algoritmos de Arnoldi Se trata de un metodo de proyeccion ortogonal en subespacios de Krylov (Km) para matrices generales no necesariamente Hermticas. El algoritmo de Arnoldi esta desarrollado para obtener una base ortonormal del subespacio de Krylov Km. Originalmente, basaba su funcionamiento en el metodo de ortogonalizacion de Gram-Schmidt.
ww w.

at

em

at ic

a1

.c

om

Ortogonalizacion de subespacios de Krylov: Arnoldi (II)


Algoritmo original de Arnoldi Elegir v1 tal que v1 do j = 1, m do i = 1, j hi,j = (Avj , vi) enddo
j 2

=1

hj+1,j = Si (hj+1,j = 0) ST OP wj vj+1 = hj+1,j enddo

i=1 wj 2

En cada paso el algoritmo genera un nuevo vector de la base del subespacio de Krylov premultiplicando el vector v del paso anterior por la matriz A y luego genera a partir del este con el algoritmo de Gram-Schmidt un vector ortonormal a los anteriores que pertenece al subespacio de Krylov.

ww

w.

at

wj = Avj

hi,j vi

em

at ic

a1

.c

om

Ortogonalizacion de subespacios de Krylov: Arnoldi (III)


Propiedades importantes del algoritmo: 1) Los vectores vi son ortonormales por construccion. Si el algoritmo no se detiene precipitadamente y llega al paso m, los vectores forman una base ortonormal de Km. En la practica dado que los vectores no ortonormales del subespacio de Krylov que genera inicialmente el algoritmo forman una base siempre se alcanzara la dimension m establecida (salvo errores de redondeo en las operaciones). (Demostracion: pag 160 Saad2003)
ww w.
om

at

em

at ic

a1

.c

Ortogonalizacion de subespacios de Krylov: Arnoldi (IV)


2) Sea V m una matriz de dimension n m cuyas columnas son los vectores obtenidos vi. Sea H m la matriz de Hessemberg de dimension (m + 1) m cuyas columnas vienen denidas por los coecientes hi,j . Denamos ahora la matriz H m como la matriz de dimension m m obtenida como resultado de eliminar la ultima la de H m. Entonces se cumple que:

at

em

at ic

a1

.c

om

o lo que es lo mismo:
AV m = V m+1H m.

ww

w.

AV m = V mH m + wmem,

Ortogonalizacion de subespacios de Krylov: Arnoldi (V)


As, se cumple que:
T T V mAV m = V mV m+1H m

3) Se puede demostrar que cuando el algoritmo se detiene se habra obtenido el subespacio de Krylov de grado mnimo capaz de representar todos los vectores v

ww

w.

El producto V T V m+1 da como resultado una matriz de dimension m m (m + 1) cuyas m primeras columnas corresponden a una matriz I mm y cuya columna m + 1 es una columna de ceros debido a las propiedades de ortogonalidad.

at

em

at ic

a1

.c

om

Ortogonalizacion de subespacios de Krylov: Arnoldi (VI)


Algoritmo de Arnoldi modicado (Arnoldi-Modied-Gram-Schmidt) Elegir v1 tal que v1 2 = 1 do j = 1, m wj = Avj do i = 1, j hi,j = (wj , vi) wj = wj hi,j vi enddo hj+1,j = wj 2 Si (hj+1,j = 0) ST OP wj vj+1 = hj+1,j enddo

Este algoritmo cumple exactamente las mismas propiedades que el algoritmo original de Arnoldi. Ambos algoritmos son equivalentes desde un punto de vista analtico.

ww

w.

at

em

at ic

a1

.c

om

Ortogonalizacion de subespacios de Krylov: Arnoldi (VII)


Algoritmo de ortogonalizacion de Householder-Arnoldi La base del subespacio de partida se genera automaticamente y a medida que se va necesitando a partir de un vector inicial. Seleccionar un vector v no nulo z1 = v do j = 1, m + 1 Denir wj tal que (wj )i = 0 i = 1, . . . , j 1 Aplicar el reector de Householder de modo que (P j zj )i = 0 j + 1, . . . , n donde P j = I 2wj wj T hj1 = P j zj v j = P 1 P 2 . . . P j ej Si (j m) calcular zj+1 = P j P j1 . . . P 1Avj enddo
ww w.

at

em

at ic

a1

.c

om

Ortogonalizacion de subespacios de Krylov: Arnoldi (VIII)


Las matrices P j no se calculan de forma explcita. Para calcular hj1 se colocan ceros en zi con i = j + 1, . . . , n y se cambia la componente j de acuerdo con el algoritmo de ortogonalizacion. Las demas componentes no se cambian (tal y como se impone al indicar (wj )i = 0 i = 1, . . . , j 1). . . . La matriz [h0.h1. .hm] tiene estructura triangular superior. Entonces este algoritmo realiza la factorizacion QR de la matriz de la base del subespacio de Krylov [1, Av1, Av2, . . . , Avm]. v
ww w.

Qj = P j P j1 . . . P 1

Por lo tanto, a partir de la denicion del algoritmo se establece que:


Qj Avj = zj+1

Denimos ahora:

at

em

at ic

a1

.c

om

Ortogonalizacion de subespacios de Krylov: Arnoldi (IX)


Una vez realizado un nuevo paso de ortogonalizacion se aplica P j+1 sobre zj+1 y se obtiene:
hj = P j+1zj+1 = P j+1Qj Avj = Qj+1Avj

Pi =

ww

w.

at

P i hj = hj

em

at ic

Observese en este punto que las componentes j + 2, . . . , n de hj son nulas por construccion del metodo. Entonces:

a1

ij+2

.c

om

hj =

...

1 . . . i1 ... . . .

. . . 0 . . . 0

1 j+1 j+2 n

Ortogonalizacion de subespacios de Krylov: Arnoldi (X)


Entonces:

hj = PmPm1 . . . P j+2hj = QmAvj

j = 1, . . . , m

Y esto nos conduce a la factorizacion:

donde [h0, h1, . . . , hm] es una matriz triangular superior de dimension n (m + 1) y Qm es una matriz unitaria (ortonormal). Denamos ahora H m como la matriz de dimension (m + 1) m obtenida como resultado de seleccionar las m + 1 primeras las de la matriz de dimension n m [h1, . . . , hm].
ww w.

at

em

at ic

Qm[, Av1, Av2, . . . , Avm] = [h0, h1, . . . , hm] v

a1

.c

om

Ortogonalizacion de subespacios de Krylov: Arnoldi (XI)


Dado que la matriz Qj+1 es unitaria (ortonormal):
j+1

Avj = Qj+1
i=1

hi,j ei
.c om

columna j de

ww

siendo ei la columna i-esima de la matriz identidad. Entonces operando se obtiene que:


w.

at

em

j+1

A vj =
i=1

at ic

Hm

hi,j Qj+1ei.

a1

Ortogonalizacion de subespacios de Krylov: Arnoldi (XII)


Dado que P k ei = ei para i < k
Pk = 1
...

ei =

1 . . . k1 ... . . .

Qj+1ei = P 1 P j+1ei = P 1 P iei = vi

ww

se puede deducir que: Entonces:


A vj =

w.

at

em

at ic

0 . . . 0 1 0 . . . 0

a1

.c

om

i j + 1.

j+1

hi,j vi
i=1

j = 1, . . . , m,

que en forma matricial se puede escribir como:


AV m = V m+1H m.

Ortogonalizacion de subespacios de Krylov: Arnoldi (XIII)


Se obtiene la misma relacion que para el planteamiento de Gram-Schmidt. NOTA: Tengase en cuenta que los productos de las matrices P i por un vector se realizan sin ensamblar la matriz: T T (I 2w w ) = v w con = 2w v v

at ic

a1

.c

om

escalar

Gram-Schmidt Complejidad computacional Almacenamiento

ww

Coste Computacional de obtener las bases ortonormales


w.

at
M. Gram-Schmidt

em

HouseHolder

T (2m2n) (m + 1)n

T (2m2n) (m + 1)n

T (4m2n 4 m3) 3 (m + 1)n 1 m2 2

Metodo GMRES (I)


Se trata de un metodo de proyeccion basado en tomar como K = Km y L = AKm siendo Km el subespacio de Krylov a partir de un vector v1 = r0/ r0 2. Se puede demostrar que este planteamiento permite obtener la aproximacion a la solucion del sistema de ecuaciones que minimiza la norma del residuo perteneciente al subespacio de Krylov x0 + Km
.c om

1) Otra forma alternativa de plantear el problema consiste en aplicar las tecnicas propuestas en los metodos de proyeccion teniendo en cuenta que:
ww w.

es decir, aplicamos tecnicas de ortogonalizacion con respecto al subespacio Lm = AKm en las tecnicas de proyeccion.

at

em

Planteamos dos formas alternativas de obtener el algoritmo:

W m = AV m ,

at ic

a1

Metodo GMRES (II)


2) Cualquier vector de x0 + Km puede escribirse como:
x = x0 + V m y

J() = Ax y b

ww

w.

siendo V m una base ortonormal de vectores del espacio de Krylov e y un vector de coecientes de dimension m que permite expresar la aproximacion a la solucion como combinacion lineal de los vectores de la base. Denamos ahora:

at

em

at ic
2

= A(0 + V my ) b x

a1

.c

om

como la norma del residuo. As se establece el residuo como:


A x = r0 A V y = v 1 V y b e m+1 H m y = V m+1 (1 H m ), m
Arnoldi

siendo = eT h0. 1

Metodo GMRES (III)


Dado que V m+1 es ortonormal se cumple que:
J() = A(0 + V my ) y b x
2

= 1 H my e

V T (1 H my ) 2 = V m+1(1 H my ) V m+1(1 H my ) = e e e 2 m+1 T = 1 H my V T V m+1 1 H my = 1 H my 2 e e e 2 m+1 I La aproximacion GMRES corresponde al unico xm x0 + Km que minimiza J(). Por lo tanto, y
xm = x0 + V mym
tal que
ww w.

a1

.c

om

A(0 + V y ) b x m

2 2

= V m+1(1 H my ) 2, e 2

at

em

at ic

ym

minimiza

J() y

es la aproximacion GMRES a la solucion del sistema de ecuaciones para un subespacio de Krylov de dimension m.

Metodo GMRES (IV)


Algoritmo GMRES con Gram-Schmidt Modicado (MGS) r0 = Ax0; = r0 2; v1 = r0/ b do j = 1, m wj = Avj do i = 1, j hi,j = (wj , vi) wj = wj hi,j vi enddo hj+1,j = wj 2. Si(hj+1,j = 0) ST OP (Ya tenemos la base) wj vj+1 = hj+1,j enddo Una vez conocida la base de vectores vj y hj Denir la matriz de Hessember H m(m + 1) m Minimizar 1 H my 2 y obtener ym e Calcular xm = x0 + V mym
ww w.

at

em

at ic

a1

.c

om

Metodo GMRES (V)


Algoritmo GMRES con ortogonalizacion Householder. Antecedentes Sea ym = (1, 2, . . . , m)T . Entonces
xm = x0 + 1v 1 + 2v2 + . . . + mvm v j = P 1 P 2 P j ej .

xm = x0 + P 1 1e1 + P 2 2e2 + . . . + P m1(m1em1 + P mmem)

ww

w.

xm = x0 + 1P 1e1 + 2P 1P 2e2 + . . . + +mP 1P 2 . . . P mem

at

em

Desarrollando la aproximacion de la solucion xm se puede expresar como:

at ic

a1

donde

.c

om

De este modo, el calculo de la solucion aproximada se puede obtener como:


z= 0 z = P j (j ej + z ), xm = x0 + z j = m, m 1, . . . , 1

Metodo GMRES (VI)


Algoritmo GMRES con ortogonalizacion de Householder r0 = Ax0; z = r0 b do j = 1, m + 1 Denir wj tal que (wj )i = 0 i = 1, . . . , j 1 Aplicar el reector de Householder de modo que (P j z )i = 0 j + 1, . . . , n donde P j = I 2wj wj T hj1 = P j z . Si j = 1 = eT h0 1 v = P 1 P 2 . . . P j ej Si (j m) calcular z = P j P j1 . . . P 1Av enddo Denir la matriz de Hessember H m a partir de [h1, h2, . . . , hm] Calcular ym que minimiza 1 H my 2 e Sea ym = (1, 2, . . . , m)T z= 0 do j = m, 1, 1 z = P j (j ej + z ) enddo Calcular xm = x0 + z
ww w.

at

em

at ic

a1

.c

om

Metodo GMRES (VII)


Aspectos relevantes a estudiar del algoritmo GMRES 1. Minimizacion del residuo 2. Actualizacion de xm y de la norma del residuo en cada iteracion 1) Minimizacion: El problema de minimizacion consiste en minimizar la norma de un vector de dimension m + 1 obtenido como:
w.
om

La forma mas habitual de obtener este mnimo consiste en aplicar transformaciones matriciales al vector anterior que no modiquen la norma del resultado y que transformen la matriz de Hessemberg en una matriz triangular superior. Para ello aplicamos rotaciones matriciales en un plano.

ww

at

em

1 H my e

at ic

a1

.c

Metodo GMRES (VIII)


La matriz de cada rotacion i se dene de modo que se eliminan los terminos no nulos que estan por debajo de la diagonal de la matriz H m.
i = 1
...

at ic

Ci Si

om

Si Ci 1
...

at

Por lo tanto, para eliminar el termino hi+1,i premultiplicamos por i por la izquierda. Para que la matriz sea ortonormal y se elimine el termino hi+1,i debe cumplirse que:
Ci = hi,i hi,i
2 () ()

ww

w.

i i+1

em

a1

.c

Si =

hi+1,i hi,i
2 ()

+ h2 i+1,i

+ h2 i+1,i

donde el () indica que ese termino es el resultado de aplicar una rotacion anterior correspondiente a la eliminacion de una la anterior (si existe).

Metodo GMRES (IX)


Si llamamos Tm = mm1 . . . 1:
mn 1 H my e
2

= mn g m Rmy

siendo

Entonces, una vez obtenida la matriz triangular, el vector ym que minimiza la norma del residuo es el resultado de resolver el sistema triangular superior:
Rmym = gm,

siendo Rm la matriz de dimension m m obtenida como resultado de eliminar la la m + 1 de la matriz Rm y el vector gm se obtiene como resultado de eliminar la componente m + 1 del vector g m.

ww

w.

donde la matriz Rm de dimensiones (m + 1) m es triangular superior y el vector g m es un vector de dimension m + 1.

at

em

at ic

Rm = T m H m ,

a1

.c

om

g m = T m1, e

Metodo GMRES (X)


Por construccion del metodo, el residuo se puede obtener como la componente m + 1 de g m tras realizar la triangularizacion. Por lo tanto, en cada iteracion (cada aumento de la dimension del subespacio de Krylov utilizado) se puede obtener el vector residuo como:
T A xm = V b e m+1 (1 H m ym ) = V m+1 T m (m+1 em+1 ),

si bien el valor realmente importante es la norma de ese residuo, que se obtiene como:
A xm b
ww w.

at

em
2

Por lo tanto, una vez que se han aplicado triangularizaciones al residuo de modo que se triangulariza la matriz H m hasta la la m, se pueden calcular los coecientes de la triangularizacion para la la m + 1.

at ic

a1

= |m+1|

.c

om

Metodo GMRES (XI)


As, en particular se puede calcular:
Sm = hm+1,m hm,m + h2 m+1,m
2 ()

m+1 = Smm rm+1


ww

w.

Si se realizan las operaciones de rotacion indicadas se puede obtener una ley de recurrencia que permite obtener la norma del residuo como:

at

em

at ic

donde el () indica que ese termino ha sido modicado en la rotacion anterior.

a1

.c

om

= Sm rm

2.

Por lo tanto, partiendo de m = 0 y del residuo r0 se puede calcular la norma del residuo obtenido como resultado de aplicar el algoritmo GMRES ampliando en una unidad la dimension del subespacio de Krylov utilizado si necesidad de realizar el calculo de Axm. Ademas, cuando Sm = 0 se alcanza la solucion exacta del problema (si no tenemos en cuenta la propagacion de errores en las operaciones).

Metodo GMRES (XII)


Variantes del Metodo GMRES GMRES truncado: Solo se ortogonalizan los nuevos vectores con respecto a un conjunto de vectores anteriores. No se ortogonaliza con respecto a todos los vectores del subespacio de Krylov

ww

w.

at

em

GMRES (m): Se reinicia el calculo cada m pasos con la ultima aproximacion a la solucion obtenida

at ic

a1

.c

om

Metodo GMRES (XIII)


GMRES(m) 1) Calcular r0 = Ax0, = r0 2, v1 = r0/ b Generar la base de Arnoldi y la matriz V m Generar la matriz de Hessemberg H m a partir de v1 Calcular ym que minimiza 1 H mym 2 e Calcular xm = x0 + V mym Si hay convergencia ST OP De lo contrario, x0 = xm y GOT O 1) Este algoritmo tiene un coste computacional menor que el algoritmo GMRES original pero la convergencia a la solucion no esta garantizada salvo que la matriz A sea denida positiva. En general, este metodo solo garantiza que:
rm+1
2
ww w.

at

em

at ic

a1

.c

rm

om

2.

Metodo GMRES con precondicionamiento (I)


Precondicionamiento por la izquierda Sea L la matriz de precondicionamiento por la izquierda. Entonces:
.c

Ax = b

ww

Solo cambia el calculo del residuo que se obtiene como:


w.

at

El nuevo sistema con precondicionamiento presenta la misma solucion x.

em

r=L

at ic

bL

a1

r=L

om

Ax = L

Ax

Metodo GMRES con precondicionamiento (II)


Algoritmo GMRES con precondicionamiento (M. Gram-Schmidt) b r0 = L1 Ax0 ; = r0 2; v1 = r0/ do j = 1, m wj = L1 (Avj ) do i = 1, j hi,j = (wj , vi) wj = wj hi,j vi enddo hj+1,j = wj 2. Si (hj+1,j = 0) ST OP (Ya tenemos la base) wj vj+1 = hj+1,j enddo Una vez conocida la base de vectores vj y hj Denir V m = [1, . . . , vm] y H m = {hi,j } j = 1, m v
ww w.

at

em

at ic

Minimizar 1 H my 2 y obtener ym e Calcular xm = x0 + V mym

a1

i = 1, j + 1

.c

om

Metodo GMRES con precondicionamiento (III)


Todos los residuos se calculan sobre el espacio precondicionado. Si se quieren obtener sobre el espacio original es necesario calcular:
r m = Lz m

ww

w.

at

em

siendo zm el vector residuo del problema precondicionado.

at ic

a1

.c

om

Metodo GMRES con precondicionamiento (IV)


Algoritmo GMRES con precondicionamiento (Householder). r0 = L1( Ax0); z = r0 b do j = 1, m + 1 Denir wj tal que (wj )i = 0 i = 1, . . . , j 1 Aplicar el reector de Householder de modo que (P j z )i = 0 j + 1, . . . , n donde P j = I 2wj wj T hj1 = P j z . Si j = 1 = eT h0 1 v = P 1 P 2 . . . P j ej Si (j m) calcular z = P j P j1 . . . P 1L1Av enddo Denir la matriz de Hessemberg H m a partir de [h1, h2, . . . , hm] Calcular ym que minimiza 1 H my 2 e Sea ym = (1, 2, . . . , m)T z= 0 do j = m, 1, 1 z = P j (j ej + z ) enddo Calcular xm = x0 + z
ww w.

at

em

at ic

a1

.c

om

Metodo GMRES con precondicionamiento (V)


Precondicionamiento por la derecha
AU
1

Ux = b
u

AU
om

u= b

A partir de este primer calculo no se trabajara ya con las variables u. La solucion aproximada para el problema precondicionado se obtendra como:
ww w.

at

Ax0 = AU 1u0 b b

em

at ic

En la practica nunca trabajaremos con la nueva solucion u salvo en el primer paso en el que calculamos el residuo como

um = u0 +
i=1

a1
m

.c

vii

siendo u0 = U x0.

Metodo GMRES con precondicionamiento (VI)


Si ahora queremos obtener la aproximacion de la solucion del sistema original sin precondicionar sera necesario premultiplicar la ecuacion anterior por U 1 de modo que:
m
.c om

xm = x0 + U

i v i .

El residuo del problema precondicionado coincide con el residuo del problema original. Esta es una diferencia importante con respecto al precondicionamiento por la izquierda.

ww

w.

Entonces, es necesario deshacer las operaciones de precondicionamiento al nal del proceso.

at

em

at ic

a1

i=1

Metodo GMRES con precondicionamiento (VII)


Algoritmo GMRES con precondicionamiento por la derecha (Gram-Schmidt). r0 = Ax0; = r0 2; v1 = r0/ b do j = 1, m wj = AU 1vj do i = 1, j hi,j = (wj , vi) wj = wj hi,j vi enddo hj+1,j = wj 2. Si (hj+1,j = 0) ST OP (Ya tenemos la base) wj vj+1 = hj+1,j enddo Una vez conocida la base de vectores vj y hj Denir V m = [1, . . . , vm] y H m = {hi,j } j = 1, m v
ww w.

at

em

at ic

Minimizar 1 H my 2 y obtener ym e Calcular xm = x0 + U 1V mym

a1

i = 1, j + 1

.c

om

Metodo GMRES con precondicionamiento (VIII)


Algoritmo GMRES con precondicionamiento por la derecha (Householder). r0 = Ax0; z = r0 b do j = 1, m + 1 Denir wj tal que (wj )i = 0 i = 1, . . . , j 1 Aplicar el reector de Householder de modo que (P j z )i = 0 j + 1, . . . , n donde P j = I 2wj wj T hj1 = P j z . Si j = 1 = eT h0 1 v = P 1 P 2 . . . P j ej Si (j m) calcular z = P j P j1 . . . P 1AU 1v enddo Denir la matriz de Hessember H m a partir de [h1, h2, . . . , hm] Calcular ym que minimiza 1 H my 2 e Sea ym = (1, 2, . . . , m)T z= 0 do j = m, 1, 1 z = P j (j ej + z ) enddo Calcular xm = x0 + U 1z
ww w.

at

em

at ic

a1

.c

om

Metodo GMRES con precondicionamiento (IX)


Precondicionamiento por la izquierda y por la derecha En este caso la matriz de precondicionamiento se descompone como el producto de dos matrices como:
P = LU

ww

Entonces el sistema quedara ahora como:


w.

at

em

at ic

a1
L
1

.c

om

AU

Ux = L
u

En este caso, el algoritmo se obtendra como la aplicacion de las dos tecnicas de precondicionamiento anteriores conjuntamente.

Metodo GMRES: Implementacion practica (I)


Implementacion practica. Pasos a realizar:
1. Calcular el vector residuo y su norma a partir de la aproximacion inicial. 2. Calcular el vector de proyeccion de Householder w cuyos terminos no nulos se almacenan por columnas en la parte inferior de una matriz H de dimension (n + 1) (m + 1). 3. Denir la columna de la matriz de Hessemberg a partir del residuo y del vector w. Solo es necesario calcular la componente de la diagonal. Los terminos no nulos se almacenan en la parte superior de la matriz H . 4. Si j = 1 (primera iteracion), denir el vector y a partir de la matriz H . 5. Si j > 1 (siguientes iteraciones), aplicar triangularizacion de la nueva columna de la matriz H y del vector y . (Tengase en cuenta que es necesario aplicar las transformaciones de triangularizacion de todas las columnas anteriores a esta nueva columna de la matriz H antes de aplicar la triangularizacion de la columna actual). 6. El ultimo termino calculado en el vector y (en valor absoluto) indica la norma del residuo para el subespacio de Krylov utilizado y sirve para establecer la convergencia del metodo. Si hay convergencia pasamos al paso 9.
ww w.

at

em

at ic

a1

.c

om

Metodo GMRES: Implementacion practica (I)


7. Calcular v aplicando recurrentemente los proyectores de Householder a partir de los vectores w almacenados en la parte inferior de la matriz H 8. Calcular el nuevo vector z con el que comenzar de nuevo todo el proceso y volver al paso 2 (lo que equivale a aumentar el tamano del subespacio de Krylov utilizado). 9. Resolver el sistema de ecuaciones triangular superior almacenado en la parte superior de la matriz H cuyo vector de terminos independientes es el vector y . 10. Calcular la nueva aproximacion a la solucion de forma recurrente aplicando los proyectores de Householder denidos por los vectores w almacenados en la parte inferior de la matriz H . 11. Calcular el residuo para la nueva solucion obtenida. Si no hay convergencia, reiniciar el calculo en el paso 1 con la nueva solucion obtenida en el paso 10 (restart).
ww w.

at

em

at ic

a1

.c

om

Metodo GMRES: Implementacion practica (II)


Imposicion de condiciones de vinculacion. Consideraciones:
Fijar los valores prescritos en la aproximacion inicial de la solucion x0. En las multiplicaciones matriz por vector copiar reemplazando las componentes correspondientes a variables prescritas del vector dato en el vector producto, lo equivale a remplazar la la de la matriz correspondiente a una variable prescrita por la misma la de la matriz identidad. Imponer que las componentes del vector residuo correspondientes a variables prescritas son nulas. Al aplicar precondicionamiento despues de realizar un producto matriz por vector, no modicar las componentes correspondientes a variables prescritas. Una vez obtenida la solucion mediante el metodo GMRES calcular el residuo aplicando productos matriz por vector sin tener en consideracion las variables prescritas y obtener los valores opuestos a las reacciones en las componentes correspondientes a variables prescritas. Para obtener estas reacciones no se debe aplicar precondicionamiento en el calculo del residuo.
ww w.

at

em

at ic

a1

.c

om

Das könnte Ihnen auch gefallen