You are on page 1of 40

Universidad Nacional Autnoma de Mxico

Laboratorio de Cmputo Cientfico

Mtodos Multigrid

presenta

Jorge Zavaleta Snchez

Mxico D.F., a 20 de Agosto de 2009.

(UNAM) Agosto, 2009 1 / 40


Problemas Modelo

1 Problemas Modelo

2 Mtodos Iterativos

3 Mtodos Multigrid

(UNAM) Agosto, 2009 2 / 40


Problemas Modelo

Problema de Valor a la Frontera de una Dimensin

Consideremos el siguiente problema de valor a la frontera de una


dimensin:
u 00 (x) + u(x) = f (x), en = (0, 1), 0;


u(x) = 0, sobre x {0, 1}.

Sea representado por una malla h , con tamao de malla


h = n1 y puntos de la malla xj = jh. j = 0, 1, . . . , n.

Un esquema de discretizacin para la segunda derivada en el


punto xj , dado por el mtodo de diferencias finitas, es

u(xj1 ) 2u(xj ) + u(xj+1 )


= u 00 (xj ) + O(h2 ).
h2

(UNAM) Agosto, 2009 3 / 40


Problemas Modelo

Hacemos fj f (xj ) y vj u(xj ), adems v0 = vn = 0 .

Obtenemos el siguiente sistema tridiagonal de n 1 ecuaciones


 
2 1
2
+ v 1 2 v 2 = f1
h h
 
1 2 1
2 vj1 + + vj 2 vj+1 = fj , j = 2, . . . , n 2
h h2 h
 
1 2
2 vn2 + + vn1 = fn
h h2

(UNAM) Agosto, 2009 4 / 40


Problemas Modelo

Representado en forma matricial tienen la forma

2 + h2

1 v1

f1


1 2 + h2 1 v2
f2


1
=

2

h






2 + h2 vn2 f
1 1

n2
1 2 + h2 vn1 fn1

De forma ms compacta queda como Av = f, con


v = (v1 , . . . , vn1 )T y f = (f1 , f2 , . . . , fn2 , fn1 )T .

A es una matriz de (n 1) (n 1), tridiagonal, simtrica y


definida positiva.

(UNAM) Agosto, 2009 5 / 40


Problemas Modelo

Problema de Valor a la Frontera de dos Dimensin

Anlogamente al problema anterior, se puede formular una


versin en dos dimensiones. Consideremos el problema de valor
a la frontera de dos dimensiones
uxx uyy + u = f (x, y ), en = (0, 1)2 , 0;


u = 0, sobre (x, y ) .

Como antes se formula el problema en forma discreta, donde el


cuadrado unitario es representado por la malla h , definiendo
1
los puntos de la malla como (xi , yj ) = (ihx , jhy ), donde hx = m y
hy = n1 .

(UNAM) Agosto, 2009 6 / 40


Problemas Modelo

Reemplazando las derivadas parciales del problema mediante un


esquema de diferencias finitas de segundo orden produciendo un
sistema de ecuaciones lineales dado por:

vi1,j + 2vij vi+1,j vi,j1 + 2vij vi,j+1


2
+ + vij = fij
hx hy2

vi0 = vin = v0j = vnj = 0 1 i m 1, 1 j n 1

Hay ahora (m 1) (n 1) puntos interiores de la malla y el


mismo nmero de incgnitas en el problema. Ahora se puede
escoger muchos ordenamientos de las incgnitas. Por el
momento, se considerara el ordenamiento lexicogrfico por lneas
de constantes i.

(UNAM) Agosto, 2009 7 / 40


Problemas Modelo

Las incgnitas de la i-sima fila de la malla pueden ser


recolectadas en el vector vi = (vi1 , . . . , vi,n1 )T para1 i m 1.
Similarmente, sea fi = (fi1 , . . . , fi,n1 )T .
El sistema de ecuaciones puede ser dado en forma de bloques de
matrices como:
B aI

v1 f1
aI B aI v2 f2


1

=
h2



aI B aI vn2 fn2
aI B vn1 fn1

(UNAM) Agosto, 2009 8 / 40


Problemas Modelo

Este sistema es simtrico, tridiagonal por bloques, y ralo. Tiene


dimensin de bloque (m 1) (m 1).

Cada bloque diagonal, B es una matriz tridiagonal de


(n 1) (n 1), que es similar a la matriz del problema de una
dimensin.

1
Cada bloque fuera de la diagonal es un mltiplo a = hx2
, de la
matriz identidad I de (n 1) (n 1).

(UNAM) Agosto, 2009 9 / 40


Mtodos Iterativos

1 Problemas Modelo

2 Mtodos Iterativos

3 Mtodos Multigrid

(UNAM) Agosto, 2009 10 / 40


Mtodos Iterativos

Consideramos el sistema Au = f, donde A es una matriz de n n


y sea v una aproximacin de u
Dos medidas importantes dentro del contexto multigrid son
El error: e = u v
El residual: r = f Av

Ya que e = u v y r = f Av, se puede escribir el sistema Au = f


como:
Ae = f v
As, resolviendo la ecuacin residual, se puede obtener una
correccin de la solucin aproximada, que es conocida como
correccin residual y esta dada por

u=v+e

(UNAM) Agosto, 2009 11 / 40


Mtodos Iterativos Mtodo de Jacobi

Consideramos nuevamente el problema modelo de una dimesin

uj1 + 2uj uj+1 = h2 fj , 1 j n 1




u0 = un = 0

El mtodo de Jacobi, resuelve la j-sima ecuacin para vj


conservando las otras variables fijas

(1) 1 (0) (0)


vj = (v + vj+1 + h2 fj ), 1 j n 1.
2 j1

(UNAM) Agosto, 2009 12 / 40


Mtodos Iterativos Mtodo de Jacobi

Sea A = D L U, donde D es diagonal y L y U son


estrictamente las partes inferior y superior de A.

Entonces el sistema original Au = f se convierte

(D L U)u = f
Du = (L + U)u + f
u = D 1 (L + U)u + D 1 f

Si se define la matriz iteracin de Jacobi por MJ = D 1 (L + U),


entonces el mtodo de Jacobi aparece en forma matricial como:

v(1) = MJ v(0) + D 1 f.

(UNAM) Agosto, 2009 13 / 40


Mtodos Iterativos Mtodo de Jacobi Amortiguado

Considere la iteracin.
(1) (0) (0) (0) (0)
vj = vj (vj1 2vj + vj+1 ) + h2 fj , 1 j n 1.
2 2

Sea A = D L U, la forma matricial es:

v(1) = (I D 1 A)v(0) + D 1 f,

o equivalentemente, haciendo MJ () = I D 1 A, como

v(1) = MJ ()v(0) + D 1 f.

(UNAM) Agosto, 2009 14 / 40


Mtodos Iterativos Mtodo de Gauss-Seidel

Consideramos la iteracin
1
vj (vj1 + vj+1 + h2 fj ), 1 j n 1.
2
Considerando nuevamente la descomposicin A = D L U, el
sistema queda como:

(D L)u = Uu + f
u = (D L)1 Uu + (D L)1 f.

Definiendo la matrix iteracin de Gauss-Seidel como


MG = (D L)1 U, se puede expresar el mtodo como

v(1) MG v(0) + (D L)1 f

(UNAM) Agosto, 2009 15 / 40


Mtodos Iterativos Mtodo de Gauss-Seidel Rojo-Negro

Actualizacin de los puntos pares (rojos)


1
v2j (v2j1 + v2j+1 + h2 f2j ).
2
Actualizacin de los puntos impares (negros)
1
v2j+1 (v2j + v2j+2 + h2 f2j+1 ).
2

(UNAM) Agosto, 2009 16 / 40


Mtodos Iterativos Anlisis de Convergencia

Cada uno de los mtodos puede ser representado en forma


general como
v(1) = Mv(0) + g
Estos mtodos estn diseados para que la solucin exacta, u,
sea un punto fijo de la iteracin, esto es

u = Mu + g

Restando estas ecuaciones, se tiene que

e(1) = Me(0)

Luego, suponiendo que se tiene un error inicial e(0) y e(k ) denota


el error en la k -sima iteracin, entonces se tiene que despus de
m iteraciones
e(m) = M m e(0)

(UNAM) Agosto, 2009 17 / 40


Mtodos Iterativos Anlisis de Convergencia

Si se elige una norma vectorial y norma matricial asociada,


entonces se puede acotar el error despus de m iteraciones por

ke(m) k kMkm ke(0) k

Se puede mostrar que

lim M m = 0 si y slo si (M) < 1


m

Por lo tanto, se concluye.


El mtodo converge si y slo si (M) < 1.

(UNAM) Agosto, 2009 18 / 40


Mtodos Iterativos Anlisis de Convergencia

Consideremos el mtodo de Jacobi amortiguado aplicado al


problema modelo de una dimesin para hacer el anlisis de las
propiedades de suaviazamiento.

Recordando que MJ () = I D 1 A, entonces se sigue que los


eigenvalores de MJ () y A estn relacionados por

(MJ ()) = 1 (A).
2

Luego, el problema se convierte en encontrar los eigenvalores de


la matriz original A.

(UNAM) Agosto, 2009 19 / 40


Mtodos Iterativos Anlisis de Convergencia

Los eigenvalores de A estn dados por:


 
2 k
k (A) = 4 sin 1k n1
2n

Los correspondientes eigenvectores de A, estn dados por


 
jk
wk ,j = sin , 1 k n 1, 0 j n.
n

Con estos resultados, se tiene que los eigenvalores de MJ () son


 
k
k (MJ ()) = 1 2 sin2 1k n1
2n

mientras que los eigenvectores de MJ () son los mismos que los


de A.

(UNAM) Agosto, 2009 20 / 40


Mtodos Iterativos Anlisis de Convergencia

Es importante notar que si 0 < 1, entonces |k (MJ ())| < 1 y


as la iteracin de Jacobi amortiguada converge.

Antes de continuar con el anlisis de las propiedades de este


mtodo, se necesita distinguir entre los eigenvectores de alta y
baja frecuencia. Luego definimos
Eigenvectores wk ,j de baja frecuencia para 1 k < 21 n
Eigenvectores wk ,j de alta frecuencia para 12 n k n

(UNAM) Agosto, 2009 21 / 40


Mtodos Iterativos Anlisis de Convergencia

Luego se quiere encontrar el valor de que haga |k (MJ ())| lo


ms pequeo posible para todo 1 k n 1.

Notes que para todos los valores de satisfaciendo 0 < 1,

2 h2
   
2 2 h
1 = 1 2 sin = 1 2 sin 1
2n 2 2

Este hecho implica que 1 , el eigenvalor asociado con el modo


ms suave, va a estar cercano a 1. De esta manera, ningn valor
de va a reducir las componentes suaves del error
eficientemente.

(UNAM) Agosto, 2009 22 / 40


Mtodos Iterativos Anlisis de Convergencia

As del hecho de que ningn valor de amortigua las


componentes suaves satisfactoriamente, entonces se busca un
valor de que proporcione el mejor amortiguamiento de las
componentes de alta frecuencia.

Elegimos tal que

n (MJ ()) = n (MJ ())


2

de lo cual se obtiene que


= 23

(UNAM) Agosto, 2009 23 / 40


Mtodos Iterativos Experimentos Numricos

Consideramos el sistema Au = 0, luego nuestro problema modelo


de una dimesin queda como

uj1 + 2uj uj+1 = 0, 1 j n 1;
u0 = u1 (x) = 0.
Usando los modos de Fourier como iteracin inicial, con n = 64
 
jk
vk = (vj )k = sin , 1 j n 1, 1 k n 1
n

(UNAM) Agosto, 2009 24 / 40


Mtodos Iterativos Experimentos Numricos

El error, en el mtodo de Jacobi amortiguado sobre Au = 0, con


100 iteraciones usando las aproximaciones iniciales v1 (azul), v3
(verde) y v6 (rojo)

(UNAM) Agosto, 2009 25 / 40


Mtodos Iterativos Experimentos Numricos

Utilizamos el mtodo de Jacobi amortiguado sobre el problema de


una dimensin con = 2/3, con la aproximacin inicial
      
1 j 6j 32j
v0 = (vj )k = sin + sin + sin ,
3 n n n
El error, kek , graficado contra el nmero de iteraciones.

(UNAM) Agosto, 2009 26 / 40


Mtodos Iterativos Experimentos Numricos

Error inicial
     
2j 1 16j 1 32j
vkj = sin + sin + sin ,
n 2 n 2 n

Error inicial Error despus de 10 iteraciones.

(UNAM) Agosto, 2009 27 / 40


Mtodos Multigrid

1 Problemas Modelo

2 Mtodos Iterativos

3 Mtodos Multigrid

(UNAM) Agosto, 2009 28 / 40


Mtodos Multigrid

Los mtodos iterativos tienen la propiedad de suavizamiento,


donde las componentes de alta frecuencia del error son
eliminadas eficientemente, pero las componentes de baja
frecuencia son amortiguadas muy lentamente.

Esto podra parecer una limitacin, pero usando mallas ms


gruesas, entonces podemos utilizar la propiedad de
suavizamiento con mayor ventaja.

h
x0 xn

2h
x0 xn

(UNAM) Agosto, 2009 29 / 40


Mtodos Multigrid

Mallas ms gruesas pueden ser usadas para calcular una mejor


aproximacin inicial para el suavizamiento en la malla fina.

El error suave en la malla fina es relativamente ms oscilatorio en


la malla gruesa.

(UNAM) Agosto, 2009 30 / 40


Mtodos Multigrid

Para k = 1, 2, . . . , n/2, el k -simo modo de Fourier es preservado


en la malla gruesa, esto es,
   
h 2jk jk
wk ,2j = sin = sin = wk2h,j
n n/2

(UNAM) Agosto, 2009 31 / 40


Mtodos Multigrid

Para k > n/2, el k -simo modo sobre la malla fina sufre un


fenmeno de aliasing y aparece como el (n k )-simo modo
sobre la malla gruesa:
   
h 2jk j(n k ) 2h
(wk )2j = sin = sin = (wnk )j
n n/2

(UNAM) Agosto, 2009 32 / 40


Mtodos Multigrid

Idea sobre la Correccin de Malla Gruesa (CGC)

Suavizamos sobre Au = f en h para obtener una aproximacin


vh .

Calculamos r = f Avh .

Suavizamos sobre Ae = r en 2h , para obtener una aproximacin

del error, e2h

Corregimos la aproximacin: vh vh + e2h

(UNAM) Agosto, 2009 33 / 40


Mtodos Multigrid

Operador de Prolongacin

Necesitamos mapear de la malla gruesa a la malla fina


h
I2h : 2h h

Sean vh , v2h definidos sobre h y 2h , respectivamente. Entonces


h 2h
I2h v = vh

donde
)
v2jh = vj2h , n
para 0 j 1
h
v2j+1 = 12 (vj2h + vj+1
2h );
2

(UNAM) Agosto, 2009 34 / 40


Mtodos Multigrid

Los valores en los puntos sobre la malla gruesa pasan sin cambio
a la malla fina.
Los valores en la malla fina que no estn sobre la malla gruesa
son los promedios de sus vecinos en la malla gruesa.

(UNAM) Agosto, 2009 35 / 40


Mtodos Multigrid

Operador Restriccin (Inyeccin)


Necesitamos mapear de la malla fina a la malla gruesa
Ih2h : h 2h
Sean vh , v2h definidos sobre h y 2h , respectivamente. Entonces
Ih2h v h = v 2h
donde v2ih = vi2h .

(UNAM) Agosto, 2009 36 / 40


Mtodos Multigrid

Operador Restriccin (Ponderado)


Sean vh , v2h definidos sobre h y 2h , respectivamente. Entonces
Ih2h v h = v 2h
donde
1 h
vj2h = (v + 2v2jh + v2j+1
h
)
4 2j1

(UNAM) Agosto, 2009 37 / 40


Mtodos Multigrid El Esquema Twogrid

El esquema de correccin Twogrid

vh TG(vh , vh )

1 Suavizamos 1 veces sobre Ah uh = fh con la aproximacin inicial


vh ;
2 Calculamos el residual en la malla fina: rh = fh Ah vh y se
restringe a la malla gruesa por r2h = Ih2h rh ;
3 Resolvemos A2h e2h = r2h sobre 2h ;
4 Interpolamos el error de la malla gruesa a la malla fina por
eh = I2h
h 2h
e y corregimos la aproximacin de la malla fina por
h h h
v v + ;
5 Suavizamos 2 veces sobre Ah uh = fh con aproximacin inicial vh ;

(UNAM) Agosto, 2009 38 / 40


Mtodos Multigrid El Esquema Multigrid

El esquema Multigrid

vh MG h (vh , fh )

1 Suavizamos 1 veces sobre Ah uh = fh con la aproximacin inicial


vh ;
2 Si h es la malla ms gruesa, entonces ir al paso 4
De lo contrario
f2h = Ih2h uh
v2h 0
vh MG 2h (v2h , f2h ) veces
3 Corregimos vh vh + I2h
h 2h
v ;
4 Suavizamos 2 veces sobre Ah uh = fh con aproximacin inicial vh ;

(UNAM) Agosto, 2009 39 / 40


Mtodos Multigrid El Esquema Multigrid

= 1, V-ciclo = 2, W-ciclo

En la practica solo los valores de = 1 (que dan lugar a los


V-ciclos) y = 2 (que dan lugar a los W-ciclos), son utilizados.

(UNAM) Agosto, 2009 40 / 40

You might also like