You are on page 1of 120

Curso: Mtodos iterativos para la solucin de problemas lineales y e o no-lineales.

Notas del curso


Mario Storti Centro Internacional de mtodos Computacionales en Ingenier e a http://minerva.unl.edu.ar/gtm-eng.html 23 de diciembre de 2002

Indice General
I Mtodos iterativos para la resolucin de ecuaciones lineales e o
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2
3 3 3 6 6 7 10 12 13 18 18 20 23 27 31 36 38 38 41 42 42 44 44 45 45 46 46 47 50 52 53

1 Conceptos bsicos de mtodos iterativos estacionarios a e 1.1 Notacin y repaso . . . . . . . . . . . . . . . . . . . . . . o 1.1.1 Normas inducidas . . . . . . . . . . . . . . . . . . 1.1.2 Nmero de condicin . . . . . . . . . . . . . . . . . u o 1.1.3 Criterios de convergencia de los mtodos iterativos e 1.2 El lema de Banach . . . . . . . . . . . . . . . . . . . . . . 1.3 Radio espectral . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Saturacin del error debido a los errores de redondeo. . . o 1.5 Mtodos iterativos estacionarios clsicos . . . . . . . . . . e a 2 Mtodo de Gradientes Conjugados e 2.1 Mtodos de Krylov y propiedad de minimizacin e o 2.2 Consecuencias de la propiedad de minimizacin. o 2.3 Criterio de detencin del proceso iterativo. . . . . o 2.4 Implementacin de gradientes conjugados . . . . o 2.5 Los verdaderos residuos. . . . . . . . . . . . . . 2.6 Mtodos CGNR y CGNE . . . . . . . . . . . . . e

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

3 El mtodo GMRES e 3.1 La propiedad de minimizacin para GMRES y consecuencias o 3.2 Criterio de detencin: . . . . . . . . . . . . . . . . . . . . . . o 3.3 Precondicionamiento . . . . . . . . . . . . . . . . . . . . . . . 3.4 Implementacin bsica de GMRES . . . . . . . . . . . . . . . o a 3.5 Implementacin en una base ortogonal . . . . . . . . . . . . . o 3.5.1 Colapso de GMRES (Breakdown) . . . . . . . . . . . 3.6 El algoritmo de Gram-Schmidt modicado . . . . . . . . . . . 3.7 Implementacin eciente . . . . . . . . . . . . . . . . . . . . . o 3.8 Estrategias de reortogonalizacin . . . . . . . . . . . . . . . . o 3.9 Restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10 Otros mtodos para matrices no-simtricas . . . . . . . . . . e e 3.11 Gu Nro 3. GMRES . . . . . . . . . . . . . . . . . . . . . . . a

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

4 Descomposicin de dominios. o 4.1 Condicionamiento del problema de interfase. Anlisis de Fourier. . . . . . . . . . . . . a

INDICE GENERAL

INDICE GENERAL

II

Mtodos iterativos para la resolucin de ecuaciones no-lineales e o


de . . . . . . punto jo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58
59 61 62 64 65 68 69 70 71 72 73 75 75 77 78 78 80 83 84 84 86 88

5 Conceptos bsicos e iteracin a o 5.1 Tipos de convergencia . . . 5.2 Iteracin de punto jo . . . o 5.3 Suposiciones estndar . . . a

6 Mtodo de Newton e 6.1 Criterios de detencin de la iteracin . . . . . . . . . . . . . . . . . . . . . o o 6.2 Implementacin de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . o 6.3 Sub-relajacin de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . o 6.4 Update condicional del jacobiano. Mtodos de la cuerda y Shamanskii . . e 6.5 El mtodo de Shamanskii . . . . . . . . . . . . . . . . . . . . . . . . . . . e 6.6 Error en la funcin y las derivadas . . . . . . . . . . . . . . . . . . . . . . o 6.7 Estimacin de convergencia para el mtodo de la cuerda . . . . . . . . . . o e 6.8 Aproximacin por diferencias del Jacobiano . . . . . . . . . . . . . . . . . o 6.9 Gu 1. Mtodo de Newton e iteracin de punto jo. Ejemplo sencillo 1D. a e o

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

7 Aplicacin de resolucin de sistemas no-lineales a problemas de PDE en 1D o o 7.1 Modelo simple de combusti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ion 7.2 El problema de Stefan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Gu 3. Aplicacin de resolucin de sistemas no-lineales a problemas de PDE en 1D . a o o 8 Newton inexacto. 8.1 Estimaciones bsicas. Anlisis directo. . . . . . . . . . . . . . . . . . . . . . . . . . . . a a 8.2 Anlisis en normas pesadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 8.3 Gu 4. Newton Inexacto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 9 Las 9.1 9.2 9.3 9.4 10 Las 10.1 10.2 10.3 10.4 10.5 10.6 10.7 ecuaciones de shallow-water Anlisis temporal . . . . . . . . . . . . . . . . a Detalles de discretizacin . . . . . . . . . . . o Integracin temporal. Paso de tiempo cr o tico Gu Nro. 5. Ecuaciones de shallow water. . . a

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

90 . 93 . 98 . 99 . 101 103 103 104 104 106 107 109 111

ecuaciones de shallow-water 2D Forma conservativa . . . . . . . . . . . . . . . . . . . . Linealizacin de las ecuaciones . . . . . . . . . . . . . o Velocidad de propagacin. Proyeccin unidimensional. o o Velocidad de fase . . . . . . . . . . . . . . . . . . . . . Velocidad de grupo . . . . . . . . . . . . . . . . . . . . Detalles de discretizacin . . . . . . . . . . . . . . . . o Gu 6. Ec. de shallow water 2D . . . . . . . . . . . . a

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

Parte I

Mtodos iterativos para la resolucin e o de ecuaciones lineales

Cap tulo 1

Conceptos bsicos de mtodos a e iterativos estacionarios


1.1 Notacin y repaso o
Ax = b (1.1)

Denotamos a un sistema lineal como con A no-singular de N N y b RN . La solucin del sistema la denotamos como x = A1 b RN , o mientras que x representa una solucin potencial. o Los mtodos iterativos se basan en encontrar una secuencia {xk } tal que e k=0
k

lim xk = x

(1.2)

Debemos asegurar la convergencia del mtodo iterativo y si es posible determinar la tasa de convere gencia, es decir como se comporta el error x xk para k .

1.1.1

Normas inducidas
. , denotamos por A la norma de A inducida por A = max Ax = max
x =1 x=0

Dada una norma para vectores por

. , denida (1.3)

Ax x

Las normas inducidas tienen la importante propiedad de que Ax A y tambin: e AB A ya que AB = max ABx
x =1

(1.4)

(1.5)

(1.6) (1.7) (1.8) (1.9)

max A
x =1 x =1

Bx

= A max Bx = A 4 B

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.1. Notacin y repaso o o Obviamente I = 1 y 0 = 0. Diferentes normas utilizadas son 2 A= maximo autovalor de(AT A)
j

A = maxi 1 A = maxj (

|aij |

i |aij |)

Norma inducida L2 de una matriz. Sea B = AT A entonces B es simtrica y denida positiva. e T Sean {vj , j }N los autovalores de B, vj vk = jk , entonces j=1 A Si x =
j 2 2

= max
x=0

xT Bx xT x

(1.10)

j vj entonces Bx =
j

j j vj

(1.11)

y xT Bx =( =
jk T k vk )(

j j vj )

(1.12) (1.13) (1.14)

T k j j vk vj 2 j j j

= Por otra parte,

xT x =
j

2 j

(1.15)

y A
2 2

= max

2 j j j 2 j

aIRN

= max j
j

(1.16)

Adems, si A es simtrica, entonces es diagonalizable, con autovalores j , entonces AT A = A2 y a e autovalores de A2 = (j )2 de manera que A
2

(1.17) (1.18)

= max |autovalores de A|

Norma innito inducida de una matriz. Por denicin o x = max |(x)i | y entonces, la norma inducida es Ax

(1.19)

= max |
i j

aij xj | max
i j

|aij | |xj |

(1.20)

max
i

= max
i

|aij | x

|aij | max |xk | k

(1.21)

(1.22)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.1. Notacin y repaso o o por lo tanto A Tomemos v tal que (v)j = sign aij , entonces, es obvio que v y |(Av)k | =
j

max
i

|aij | . |akj |
j

(1.23)

con i = argmax
k

(1.24)

=1

(1.25)

akj vj |akj | <

|akj | |vj | |aij |

(1.26) (1.27)

Para k = i se satisface que |(Av)i | = = = aij vj aij sign aij |aij |. (1.28) (1.29) (1.30) (1.31) Por lo tanto, Av

Av = max i v

|aij |
j

(1.32)

Norma inducida 1 de una matriz. Por denicin, o x y entonces, Ax


1 1

=
i

|(x)i |

(1.33)

=
i

|(Ax)i | =
i

|
j

aij xj | |aij |
j i

(1.34)

i j

|aij | |xj | = |aik | |xj |


i

|xj |

(1.35)

max
k

(1.36)

= y entonces

max
k i

|aik |

(1.37)

max
k i

|aik |

(1.38) 6

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.1. Notacin y repaso o o Sea v tal que (v)i = ij con j = argmaxk
i |aik |,

entonces ij = 1
i

v y como

(1.39)

(Av)i = aij entonces Av y por denicin de norma inducida o A


1 1

(1.40) |aik |
i

=
i

|aij | = max
k

(1.41)

Av 1 = max k v 1

|aik |
i

(1.42)

y entonces, de (1.38) y (1.42) se deduce que A


1

= max
k i

|aik |

(1.43)

Normas no inducidas. Es fcil demostrar que existen normas que no son inducidas, es decir que a satisfacen A = 0, si A = 0 A = A A+B A + B pero no provienen de ninguna norma para vectores. Por ejemplo, si denimos la norma A

(1.44) (1.45) (1.46) .

como (1.47)

=c A

con c > 0, c = 1, entonces es claro que es una norma pero I

= c = 1 y por lo tanto no es inducida.

1.1.2

N mero de condicin u o
. es (1.48)

El nmero de condicin de una matriz no-singular en la norma u o (A) = A Podemos ver que 1 = I = AA1 A Si A es singular tomamos como que (A) = . A1

A1 = (A)

(1.49)

1.1.3

Criterios de convergencia de los mtodos iterativos e

Desar amos detener un mtodo iterativo cuando ek = x xk < tol, pero como no conocemos e esto es imposible en los casos prcticos. Pero s podemos calcular el residuo de la ecuacin para la x a o iteracin k como o rk = b Axk (1.50)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.2. El lema de Banach o Si rk es sucientemente pequeo esperamos que ek sea pequeo y podemos poner como criterio n n de detencin o rk tol (1.51) r0 El siguiente lema nos permite relacionar ambos criterios de detencin o Lema 1.1.1. Dados b, x, x0 IRN , A no-singular y x = A1 b, entonces e r (A) e0 r0 Demostracin. o r = b Ax = Ax Ax = A(x x ) = Ae entonces e = A1 Ae A1 y r0 A Por lo tanto A1 e e0 A1 e0 (1.55) Ae = A1 r (1.54) (1.53) (1.52)

r r = (A) 2. r0 r0

(1.56)

La divisin por e0 y r0 es para adimensionalizar el problema. Por ejemlo, si consideramos un proo blema trmico, entonces x puede representar temperaturas nodales y por lo tanto tendr dimensiones e a de temperatura ( C), el miembro derecho q tendr dimensiones de potencia (Watts) y los coecientes a [Ai j] = W/ C, pero lo importante es que el residuo tendr las mismas dimensiones que b es decir a potencia (Watts). Ahora si hacemos un cambio de unidades tomando como unidad de potencia a cal/s entonces el criterio de parada r < tol es completamente diferente, mientras que r / r0 es el mismo en los dos sistemas de unidades. Por otra parte, este criterio depende de la solucin inicial x0 o lo cual puede llevar a iterar demasiado en el caso en que partimos de una buena solucin ( r0 muy o pequeo). Otra posibilidad es n rk < tol (1.57) b Ambos coinciden si x0 = 0.

1.2

El lema de Banach

La forma ms directa de obtener (y posteriormente analizar) un mtodo iterativo es reescribir (1.1) a e como un problema de iteracin de punto jo. Una forma de hacer esto es reescribir la ecuacin como o o x = (I A)x + b lo cual induce el siguiente mtodo iterativo de Richardson e xk+1 = (I A)xk + b (1.59) (1.58)

El anlisis de tales secuencias recursivas es ms general y vamos a estudiar la convergencia de relaciones a a recursivas generales de la forma xk+1 = M xk + c (1.60) donde M es la llamada matriz de iteracin o matriz de amplicacin. Estos mtodos son llamados o o e mtodos iterativos estacionarios porque la transicin de xk a xk+1 no depende de la historia anterior: e o
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.2. El lema de Banach o Mtodos estacionarios: xk+1 = f (xk ) e Mtodos no estacionarios: xk+1 = f (xk , xk1 , xk2 , . . .) e Los mtodos de Krylov que discutiremos ms adelante no son mtodos estacionarios. Es interesante e a e tambin ver que el esquema de Richardson puede ponerse de la forma e xk+1 = xk + (b Axk ) = xk + rk (1.61)

Ntese que rk acta como una pequea correccin a la iteracin k para obtener la siguiente k + 1. Si o u n o o estamos sucientemente cerca de la solucin x entonces rk ser pequeo y la correccin ser pequea. o a n o a n Aplicando recursivamente (1.60) obtenemos una expresin general para la iteracin xk . Asumamos o o por simplicidad que x0 = 0, entonces x1 = c x2 = M c + c = (M + I) c x3 = M (M + I) c + c = (M + M + I) c . . . . . .
k1 j=0 2

(1.62) (1.63) (1.64) (1.65) (1.66)

xk =

Mj c

Es claro que la convergencia del mtodo est ligada a la convergencia de la suma de M j . e a N N Lemma 1.2.1. Si M IR satisface M < 1 entonces I M es no-singular y (I M )1 1 1 M
k l l=0 M .

(1.67) Mostraremos

Demostracin. Veremos que la serie converge a (1 M )1 . Sea Sk = o que es una secuencia de Cauchy
m

Sk S m

=
l=k+1 m

Ml Ml
l=k+1 m l

(1.68)


l=k+1

(1.69)

M
k+1

(1.70)

= M 0

1 M mk 1 M

(1.71) (1.72)

para m, k . Entonces Sk S para algn S. Pero entonces tomando el l u mite en la relacin de o recurrencia M Sk + I = Sk+1 (1.73) obtenemos MS + I = S
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(1.74) 9

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.2. El lema de Banach o Por lo tanto (I M )S = I de donde I M es no-singular y S = (I M )1 . Por otra parte

(1.75)

(I M )

l=0

= (1 M )1 2.

(1.76)

Matrices diagonalizables bajo la norma 2. En el caso en que M es diagonalizable y consideramos la norma M 2 es ms fcil de visualizar las implicancias del lema. Sean S no-singular y a a diagonal las matrices que dan la descomposicin diagonal de M o M (I M ) = S 1 S =S
1

(1.77) (1.78)

(I )S

Como M = maxj |j | < 1 esto quiere decir que todos los autovalores j de M , que son reales ya que M es simtrica, estn estrictamente contenidos en el intervalo 1 < j < 1. Por otra parte e a (I M )1
2

= max
j

1 1 j 1 = min |1 j | 1 = 1 max j 1 1 = 1 max |j | 1 M

(1.79) (1.80) (1.81) (1.82)


2

Corolario 1.2.1. Si M < 1 entonces la iteracin (1.60) converge a x = (I M )1 c para o cualquier punto inicial x0 . Demostracin. Si x = x0 ya est demostrado. Si x = x0 haciendo el cambio de variables o a xk = xk x0 llegamos al esquema recursivo xk+1 x0 xk+1 = M (xk x0 ) + c (I M ) x0 = M xk + c (1.83) (1.84)

El cual converge y converge a (I M )1 c , por lo tanto xk converge a (I M )1 c + x0 = (I M )1 [c (I M ) x0 ] + x0 = (I M )


1

(1.85) (1.86)

c 2.

Una consecuencia del corolario es que la iteracin de Richardson (1.6) converge si I A < 1. A o veces podemos precondicionar el sistema de ecuaciones multiplicando ambos miembros de (1.1) por una matriz B BA x = Bb (1.87) de manera que la convergencia del mtodo iterativo es mejorada. En el contexto de la iteracin de e o Richardson las matrices B tales que permiten aplicar el Lema de Banach y su corolario se llaman inversas aproximadas Denicin 1.2.1. B es una inversa aproximada de A si I BA < 1. o El siguiente teorema es llamado comnmente Lema de Banach. u
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

10

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.3. Radio espectral o Teorema 1.2.1. Si A y B IRN N y B es una inversa paroximada de A, entonces A y B son no singulares y B A A1 , B 1 , (1.88) 1 I BA 1 I BA y B I BA A I BA A1 B , A B 1 , (1.89) 1 I BA 1 I BA Demostracin. Sea M = I BA, entonces I M = BA es no singular y por lo tanto B y A son o no-singulares y 1 (1.90) (BA)1 = A1 B 1 1 I BA y B A1 A1 B 1 B . (1.91) 1 I BA Por otra parte, A1 B = (I BA)A1 B I BA 1 I BA (1.92)

La demostracin de las otras desigualdades es similar. 2 o Notar que hay una cierta simetr en el rol jugado por A y B. De hecho deber a amos denir inversa aproximada por derecha y por izquierda y B ser la inversa aproximada por derecha de A. a La iteracin de Richardson, precondicionada aproximadamente, tiene la forma o xk+1 = (I BA) xk + Bb (1.93)

Si I BA 1 las iteraciones convergen rpido y adems, (por el Lema 1.2.1) las decisiones basadas a a en el residuo precondicionado B(b A x) reejarn muy bien el error cometido. a

1.3

Radio espectral

El anlisis de 1.2 relacion la convergencia del esquema iterativo (1.60) a la norma de la matriz M . a o Sin embargo la norma de M puede ser pequea en alguna norma y grande en otras. De aqu que la n performance de la iteracin no sea completamente descripta por M . El concepto de radio espectral o da una descripcin completa. Sea (A) el conjunto de autovalores de A. o Denicin 1.3.1. El radio espectral de A es o (A) = max || = lim An
(A) n 1/n

(1.94)

El radio espectral de A es independiente de la norma particular de M . De hecho (A) A ya que, si Av = max v, entonces A Av = |max | = (A) v (1.96) (1.95)

Siempre que . sea una norma inducida. En realidad puede demostrarse algo as como que (A) es el nmo de todas las normas de A. Esto es el enunciado del siguiente teorema (que no demostraremos aqu ).
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

11

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.3. Radio espectral o




k
%&$!"  #   

Figura 1.1: Historia de convergencia t pica Teorema 1.3.1. Sea A IRN N . Para cada > 0 existe una norma inducida . tal que (A) > A . Puede verse que, si (M ) 1 entonces existen x0 y c tales que (1.60) diverge. Efectivamente, sea v el autovalor tal que M v = v y || = (M ) 1. Tomemos x0 = v, c = 0, entonces xk = M k x0 = k x0 (1.97)

es claro que no converge. Teorema 1.3.2. Sea M IRN N . La iteracin (1.60) converge para todos x0 , c IRN N sy y o solo si (M ) < 1. Demostracin. Si (M ) > 1 entonces en cualquier norma tal que M > 1 la iteracin no o o converge por el prrafo anterior. Por otra parte, si (M ) < 1 entonces, tomando = (1 (M ))/2, a existe una norma tal que 1 (1.98) M < (M ) + = (1 + (M )) < 1 2 y por lo tanto converge. 2 Tasa de convergencia de mtodos estacionarios. Para un esquema convergente de la forma e xk+1 = (I BA) xk + Bb podemos estimar la tasa de convergencia como, xk x = (I BA) xk1 + BA x x = (I BA) (xk1 x ) y por lo tanto xk x I BA I BA
k

(1.99)

(1.100) (1.101)

xk1 x x0 x

(1.102) (1.103) (1.104)

Es usual visualizar la convergencia del mtodo gracando rk versus k. Como 2 rk puede e reducirse en varios rdenes de magnitud durante la iteracin, es usual usuar ejes logar o o tmicos para 2 rk . Por otra parte (1.103) no slo es una estimacin de la tasa de convergencia sino que, de hecho, o o muchas veces el residuo de la ecuacin termina comportndose de esta forma, despus de un cierto o a e transitorio inicial (ver gura) es decir r k k r0 (1.105)
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

12

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.4. Saturacin del error debido a los errores de redondeo. o o




Figura 1.2: Estimacin de la tasa de convergencia o Este tipo de comportamiento se reeja en una recta de pendiente log en el grco. Un a ndice de la velocidad de convergencia es el nmero de iteraciones n necesario para bajar el residuo un factor 10, u rk+n = 1/10 rk r0 = 1/10 r0 log 10 log 10 = n log , n = log(1/) para problemas muy mal condicionados =1 , y entonces, log(1/) , n= log 10 (1.110) 1 (1.109)
k+n k

A veces podemos calcular la tasa de convergencia experimentalmente conociendo el valor del residuo rk para dos iteraciones k1 , k2 . Asumiendo que en el intervalo k1 k k2 la tasa de convergencia es constante como en (1.105) (ver gura 1.2), entonces r2 = k2 k1 r1 de donde log = y entonces, n= log 10 (k2 k1 ) log( r1 / r2 ) (1.113) log( r2 / r1 ) k2 k1 (1.111)

1.4

Saturacin del error debido a los errores de redondeo. o

A medida que vamos iterando el residuo va bajando en magnitud. Cuando el valor del residuo pasa por debajo de cierto valor umbral dependiendo de la precisin de la mquina ( 1015 en Octave, Fortran o a (real *8) o C (tipo double)) se produce, debido a errores de redondeo, un efecto de saturacin (ver o gura 1.3). Es decir, al momento de calcular (1.50), es claro que incluso reemplazando xk por la solucin exacta x el residuo (calculado en una mquina de precisin nita) dara un valor no nulo del o a o orden de la precisin de la mquina. Por supuesto este umbral de saturacin es relativo a la norma o a o
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti



   !!  " &$%" #

(1.106) (1.107) (1.108)

(1.112)

13

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.5. Mtodos iterativos estacionarios clsicos o e a


1

de cada uno de los trminos intervinientes y adems para sistemas mal condicionados, el umbral se e a alcanza antes por un factor (A), es decir que r
sat

1.5

Mtodos iterativos estacionarios clsicos e a

Hay otras formas alternativas a (1.58) de llevar Ax = b a un problema de punto jo. Los mtodos e como Jacobi, Gauss-Seidel y relajaciones sucesivas se basan en descomposiciones de A (splittings) de la forma, A = A1 + A2 (1.115) con A1 no-singular y fcil de factorizar. El nuevo problema de punto jo es a x = A1 (b A2 x) 1 El anlisis del mtodo se basa en estimar el radio espectral de M = A1 A2 . a e 1 Iteracin de Jacobi. Corresponde a tomar o A1 A2 = D = diag(A) =L+U =AD (1.117) (1.118) (1.116)

donde L, U, D son las partes triangular inferior, superior y diagonal de A = L + U + D. El esquema iterativo es (xk+1 )i = a1 bi ii
j=i

Notar que A1 es diagonal y, por lo tanto, trivial de invertir. La matriz de iteracin correspondiente es o MJac = D1 (L + U )
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti


mquina de precisin finita
1e-10

 
mquina de precisin infinita
1e-20 0 2000 4000 6000 8000

iter

10000

Figura 1.3: Saturacin del error por errores de redondeo. o

1015 (A) b

(1.114)

aij (xk )j

(1.119)

(1.120) 14

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.5. Mtodos iterativos estacionarios clsicos o e a Teorema 1.4.1. Sea A IRN N y asumamos que para cualquier 1 i N 0<
j=i

|aij | < |aii |

(1.121)

entonces A es no-singular y Jacobi converge. Demostracin. Veamos que o


N

|mij | =
j=1

j=i |aij |

|aii |

<1

(1.122)

Entonces, MJac

= max
i j

|mij | < 1

(1.123)

Por lo tanto la iteracin converge a la solucin de o o x x = M x + D1 b = (I D


1

(1.124)
1

A)x + D

(1.125)

entonces Ax = b y I M = D1 A es no-singular y A es no-singular. Iteracin de Gauss-Seidel. En este esquema se reemplaza la solucin aproximada con el nuevo o o valor tan pronto como ste es calculado, e (xk+1 )i = a1 bi ii aij (xk+1 )j
j<i j>i

aij (xk )j

(1.126)

que puede escribirse como (D + L) xk+1 = b U xk El split correspondiente es A1 = D + L, A2 = U y la matriz de iteracin o MGS = (D + L)1 U (1.129) A1 es triangular inferior y por lo tanto A1 es fcil de calcular. Notar tambin que a diferencia de a e 1 Jacobi, depende del ordenamiento de las incgnitas. Tambin podemo hacer un backward Gausso e Seidel con el splitting A1 = D + U, A2 = L (1.130) La iteracin es o (D + U ) xk+1 = (b Lxk ) y la matriz de iteracin o MBGS = (D + U )1 L (1.132) Gauss-Seidel simtrico. Podemos combinar alternando una iteracin de forward GS con una e o de backward GS poniendo (D + L) xk+1/2 = b U xk (D + U ) xk+1 = b Lxk+1/2
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(1.127) (1.128)

(1.131)

(1.133) (1.134) 15

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.5. Mtodos iterativos estacionarios clsicos o e a

Figura 1.4: Aceleracin de la convergencia por sobre-relajacin o o La matriz de iteracin es o MSGS = MBGS MGS = (D + U )1 L (D + L)1 U Si A es simtrica, entonces U = LT y e MSGS = (D + LT )1 L (D + L)1 LT (1.136) (1.135)

Queremos escribir estos esquemas como una iteracin de Richardson precondicionada, es decir que o queremos encontrar B tal que M = I BA y usar B como inversa aproximada. Para la iteracin de o Jacobi, (1.137) BJac = D1 y para Gauss-Seidel simtrico e BSGS = (D + LT )1 D (D + L)1 Vericacin. Debemos demostrar que MSGS = I BSGS A. Efectivamente, o I BSGS A = I (D + LT )1 D (D + L)1 (D + L + LT ) = I (D + L ) = (D + L ) = (D + L ) = (D + L ) = (D + L ) = MSGS Sobrerelajacin. Consideremos iteracin simple de Richardson o o xk+1 = xk + (b Axk ) (1.146)
T 1 T 1 T 1

D (I + (D + L)
T 1

[D + L D D(D + L) [I D(D + L) L (D + L)
1

T 1

[(D + L) D] (D + L) L
T

T 1

Si vemos que xk se acerca montonamente y lentamente a x podemos pensar en acelerarlo (ver o gura 1.4) diciendo que el mtodo iterativo en realidad nos predice un estado intermedio xk+1 , y e buscamos el vector de iteracin xk+1 sobre la recta que une xk con xk+1 o xk+1 xk+1 = xk + (b Axk ) = xk + (xk+1 xk ) (1.147) (1.148)

Veremos ms adelante que el valor ptimo de est relacionado con la distribucin de autovalores de a o a o la matriz de iteracin en el plano complejo. Mientras tanto podemos ver intuitivamente que o = 1 deja el esquema inalterado
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

 
(1.138) (1.139) (1.140)
1 T 1 T

  
L ) L ] (1.141) (1.142)
1

]L

(1.143) (1.144) (1.145)

16

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.5. Mtodos iterativos estacionarios clsicos o e a > 1 tiende a acelerar la convergencia si el esquema converge lenta y montonamente o < 1 tiende a desacelerar la convergencia si el esquema se hace inestable. Esquema iterativo de Richardson con relajacin para matrices spd. Aplicando el mtodo o e de relajacin a la iteracin bsica de Richardson obtenemos el esquema o o a xk+1 = xk + rk que puede reescribirse como xk+1 = (I A) xk + b de manera que la matriz de iteracin es o MSR = I A Asumiendo que A es spd, el espectro de MSR esta dado por (MSR ) = 1 (A) (1.152) (1.151) (1.150) (1.149)

pero como A es spd, los autovalores (A) son reales y positivos. Asumamos que estn ordenados a 1 2 . . . N . Tambin denotaremos min = N , max = 1 . Los autovalores de MSR se e comportan en funcin de como se observa en la gura 1.5. Para un dado todos los autovalores o de MSR estn comprendidos entre los autovalores correspondientes a min y max (la regin rayada a o de la gura). Para sucientemente chico todos los autovalores se concentran cerca de la unidad. Para un cierto valor crit el autovalor correspondiente a max se pasa de 1 con lo cual la iteracin o no converge. El valor de crit est dado entonces por a 1 crit max = 1, crit = 2 max (1.153)

La tasa de convergencia est dada por = maxj |1 j |, y queremos buscar el que da la mejor a tasa de convergencia, es decir el m nimo . Como los 1 j estn comprendidos en el intervalo a 1 min , 1 max , se cumple que = max(1 min , 1 max ) (1.154)

Ahora bien, para un cierto intervalo de valores 0 < < opt el mximo corresponde a 1 min , a mientras que para opt < < crit el mximo est dado por 1 + max . Para = opt ambos a a valores coinciden y entonces 1 opt min = 1 + opt max (1.155) de donde opt = 2 max + min (1.156)

Adems es fcil ver que es m a a nimo para = opt , de ah el nombre de coeciente de relajacin o o ptimo. Podemos ver tambin que, para nmeros de condicin muy altos el valor ptimo se encuentra muy e u o o cerca del valor cr tico, 1 opt = crit crit (1.157) 1 + (A)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

17

Cap tulo 1. Conceptos basicos de metodos iterativos estacionarios

Seccin 1.5. Mtodos iterativos estacionarios clsicos o e a

Figura 1.5: La tasa de convergencia que se obtiene para opt es de nopt = = log 10 log(1/opt ) (1.158) (1.159) (1.160)

log 10 log[1 2min /(max + min )] log 10 = log[( + 1)/( 1)] 1) es log 10 1.15 2

que para sistemas mal condicionados ( nopt =

Mtodo de relajaciones sucesivas. La combinacin de Gauss-Seidel puede mejorarse e o dramticamente con sobre-relajacin para una cierta eleccin apropiada del parmetro de relajacin. a o o a o Este mtodo es muy popular y se llama SSOR por Successive Standard Over-Relaxation. Partiendo e de (1.127) y reescribindolo como e D xk+1 + L xk+1 = b U xk y combinando con la sobre-relajacin estndar (1.148) o a xk+1 = 1 (xk+1 (1 ) xk ) llegamos a D[xk+1 (1 ) xk ] + Lxk+1 = (b U xk ) (D + L)xk+1 = [(1 ) D U ]xk b de manera que la matriz de iteracin es o MSOR = (D + L)1 [(1 ) D U ] (1.166) (1.164) (1.165) (1.163) (1.162)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

  
(1.161) 18

) %&$"  120( ' #! 9 76 5 0843

Cap tulo 2

Mtodo de Gradientes Conjugados e


2.1 Mtodos de Krylov y propiedad de minimizacin e o

Los mtodos de Krylov (a diferencia de los mtodos estacionarios que vimos hasta ahora), no tienen e e una matriz de iteracin. Los que describiremos ms en profundidad son Gradientes Conjugados y o a GMRES. Ambos se basan en que la k-sima iteracin minimiza alguna medida del error en el espacio e o af n x0 + Kk (2.1) donde x0 es la iteracin inicial y el subespacio de Krylov Kk es o Kk = span{r0 , Ar0 , A2 r0 , . . . , Ak1 r0 }, k1 (2.2)

Nota: El papel de x0 y b puede intercambiarse, lo importante es r0 (esto vale prcticamente para a todos los mtodos iterativos). De hecho, el esquema es invariante ante translaciones del origen, es e decir las iteraciones para los dos sistemas siguientes Ax = b, Ax = b , con x b x0 son equivalentes (es decir, xk = xk x), ya que r0 = b Ax0 = b + A Ax0 A x x = b Ax0 = r0 (2.8) (2.9) (2.10) (2.11) =xx = b + A x = x0 x (2.5) (2.6) (2.7) inicializando en x0 inicializando en x0 (2.3) (2.4)

de manera que el espacio de Krylov es el mismo. Entonces podemos, o bien eliminar b haciendo x = x o eliminar x0 haciendo x = x0 . El residuo es r = b Ax, de manera que {rk } para k 0 denota la secuencia de residuos rk = b Axk . Como antes, x = A1 b, es la solucin del sistema. El mtodo de GC es en realidad o e 19

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.1. Mtodos de Krylov y propiedad de minimizacin o e o un mtodo directo, en el sentido de que llega a la solucin en un nmero nito de pasos, de hecho e o u veremos ms adelante que converge en N (o menos) iteraciones, es decir que a xk = x , para un cierto k con k N (2.12)

GC es un mtodo que sirve en principio slo para matrices simtricas y denidas positivas (spd). e o e Recordemos que A es simtrica si A = AT y denida positiva si e xT Ax > 0, para todo x = 0 (2.13)

Luego veremos que podemos extender cualquier sistema (no simtrico ni denido positivo) a un sistema e spd. Como A es spd. podemos denir una norma como x A = xT Ax (2.14) es la llamada norma A o norma energ ya que en muchos problemas prcticos el escalar resultante a a ( x 2 ) representa la energ contenida en el campo representado por el vector x. a A El esquema a seguir ser a Descripcin formal del mtodo y consecuencias de la propiedad de minimizacin o e o Criterio de terminacin, performance, precondicionamiento o Implementacin o La k-sima iteracin de GC xk minimiza el funcional cuadrtico e o a (x) = (1/2)xT Ax xT b en x0 + Kk . Notemos que si hacemos el m nimo sobre todo IRN , entonces si x = argmin (x),
xIRN

(2.15)

(2.16)

vale que () = A b = 0, x x
N

implica x = x x

(2.17) x= r
A1

Lema 2.1.1. Sea S IR , si xk minimiza sobre S, entonces tambin minimiza A e sobre S. Demostracin. Notemos que o x x
2 A

= (x x )T A (x x ) = x Ax x
T T

(2.18)
T T

Ax x Ax + x

Ax

(2.19)

pero A = AT , entonces xT A x = xT AT x = xT A x y Ax = b, de manera que x x


2 A

= xT Ax 2xT b + xT A x = 2(x) + x
T

(2.20) (2.21)

Ax

Pero xT A x =cte de manera que xk minimiza x x A e2 = eT A e


T

A.

Sea e = x x , entonces, (2.22) [A(x x )]

= [A(x x )] A = (b Ax) A = b Ax Usaremos este lema para el caso S = x0 + Kk .


Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti
T 1 2 A1

(2.23) (2.24) (2.25)

(b Ax)

2.

20

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.2. Consecuencias de la propiedad de minimizacin. o o

2.2

Consecuencias de la propiedad de minimizacin. o


x xk x w

El lema 2.1.1 implica que, como xk minimiza sobre x0 + Kk ,


A A

(2.26)

para todo w x0 + Kk . Como w x0 + Kk puede ser escrito como


k1

w=
j=0

j Aj r0 + x0

(2.27)

para ciertos coecientes {j }, podemos expresar x w como


k1

x w = x x0
j=0

j Aj r0

(2.28)

Pero r0 = b Ax0 = A(x x0 ) entonces


k1

(2.29)

x w

= (x x0 )
j=0

j Aj+1 (x x0 )

(2.30) (2.31)

= p(A) (x x0 ) donde el polinomio


k1

p(z) = 1
j=0

j z j+1

(2.32)

tiene grado k y satisface p(0) = 1. Entonces, x xk


A

min
pPk ,p(0)=1

p(A) (x x0 )

(2.33)

Pk denota el conjunto de los polinomios de grado k. El teorema espectral para matrices spd arma que existe una base de autovectores {ui }N con autovalores {i } i=1 A ui = i u i con ui , i reales, i > 0 y los ui ortogonales entre s es decir que , uT uj = ij i Adems formamos las matrices a U A La descomposicin diagonal de A es o A = U UT
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(2.34)

(2.35)

u1 u2 . . . uN

(2.36) (2.37)

= diag{1 , 2 , . . . , N }

(2.38) 21

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.2. Consecuencias de la propiedad de minimizacin. o o Adems a Aj = (U U T ) (U U T ) . . . (U U T ) = U U y p(A) = U p() U T Denamos A1/2 = U 1/2 U T y notemos que A x2 = xT A x = 2 A1/2 x Entonces, para todo x IRN A p(A) x = 2 A /2 p(A) x = 2 p(A) A x 2 p(A) 2 A x 2 p(A) A x y volviendo a (2.33) A xk x A x0 x min
pPk ,p(0)=1
1 / 2 1 / 2 1

(2.39) (2.40)

(2.41) (2.42)
2

(2.43)

(2.44) (2.45) (2.46) (2.47)

z(A)

max |p(z)|

(2.48)

donde (A) es el conjunto de autovalores de A. Corolario 2.2.1. Sea A spd y {xk } las iteraciones de GC. Sea pk cualquier polinomio de grado k tal que pk (0) = 1, entonces A xk x max |k (z)| p (2.49) A x0 x z(A) Los polinomios que satisfacen pk (0) = 1 se llaman polinomios residuales. Denicin 2.2.1. El conjunto de polinomios residuales de orden k es o Pk = {p / p es un polinomio de grado k y p(0) = 1} (2.50)

La forma de estimar la convergencia de GC es construir secuencias de polinomios residuales basados en la informacin de como estn distribuidos los autovalores de A (es decir de (A)). Un primer o a resultado es ver que GC es un mtodo directo e Teorema 2.2.1. Sea A spd. Entonces GC converge antes de las N iteraciones. Demostracin. Sea {i }N los autovalores de A. Tomemos como polinomio residual o i=1
N

p(z) =
i=1

(i z)/i

(2.51)

Pero p PN ya que tiene grado N y p(0) = 1. Entonces, de la estimacin de error (2.49) o A xN x A x0 x max |(z)| = 0 p
z(A)

(2.52)

ya que, por construccin, p(z) = 0 para todos los z (A). 2. o


Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

22

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.2. Consecuencias de la propiedad de minimizacin. o o




tasa de convergencia muy lenta N k

nivel de residuo aceptable

Figura 2.1: GC con tasa de convergencia muy lenta. Sin embargo, desde el punto de vista prctico esto no es tan bueno como suena. Veremos que, bajo a ciertas condiciones, la convergencia puede ser muy lenta y desde el punto de vista prctica haya que a esperar hasta N iteraciones para que el residuo baje de la tolerancia aceptable. Es decir, si evaluamos a GC como un mtodo iterativo, entonces debemos poder evaluar la tasa e de convergencia para k < N (la pendiente de la curva de convergencia). Teorema 2.2.2. Sea A spd con autovalores {ui }N . Sea b una combinacin lineal de k de los o i=1 autovectores de A. Por simplicidad asumiremos que los autovectores de A estn ordenados de manera a que estos autovectores son los primeros k
k

b=
l=1

l ul

(2.53)

Entonces la iteracin de GC para Ax = b con x0 = 0 termina en, a lo sumo, k iteraciones o Demostracin. Por el teorema espectral o
k

x =
l=1

(l /l ) ul

(2.54)

ya que
k

Ax

=
l=1 k

(l /l )Aul

(2.55)

=
l=1

(l /l )l ul

(2.56) (2.57)

=b Usamos el polinomio residual


k

p(z) =
l=1

(l z)/l

(2.58)

y puede verse que p Pk y p(l ) = 0 para 1 l k y


k

p(A) x =
l=1

p(l ) (l /l ) ul = 0

(2.59) 23

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.3. Criterio de detencin del proceso iterativo. o o




N k mquina de precisin finita

precisin de la mquina

mquina de precisin infinita

Figura 2.2: Comportamiento del residuo en mquinas de precisin nita. a o De manera que, por (2.33) y x0 = 0 se deduce que A x xk A p(A) x = 0 2. (2.60)

Teorema 2.2.3. Sea A spd y supongamos que hay exactamente k N autovalores distintos de A. Entonces GC termina en, a lo sumo, k iteraciones Demostracin. Usar el polinomio residual o
k

pk (z) =
l=1

(l z)/l 2.

(2.61)

2.3

Criterio de detencin del proceso iterativo. o

En una mquina de precisin innita debemos ver que el residuo desciende bruscamente a cero en la a o iteracin N (puede ser antes bajo ciertas condiciones, como hemos visto en algunos casos especiales), o pero en la prctica no se itera GC hasta encontrar la solucin exacta sino hasta que cierto criterio sobre a o el residuo (por ejemplo rk < 106 ) es alcanzado. De hecho, debido a errores de redondeo, ocurre que no se puede bajar de un cierto nivel de residuo relacionado con la precisin de la mquina (1015 o a en Fortran doble precisin y tambin en Octave) y el nmero de operaciones necesarias para calcular o e u el residuo. Entonces, si ese nivel de residuo est por encima del valor del residuo que obtendr a amos en la iteracin N 1 (ver gura 2.2), no veremos el efecto de la convergencia en N iteraciones, sino que o GC se comporta como un mtodo iterativo, de manera que lo importante es la tasa de convergencia e media del mtodo. e En la prctica se usa usualmente como criterio de detencin del proceso iterativo a o 2 b Axk 2 b (2.62)

Sin embargo, las estimaciones de error basadas en la propiedad de minimizacin estn expresadas en o a la norma energ del error a A xk x max |k (z)| p (2.63) A x0 x z(A) El siguiente lema relaciona la norma eucl dea del error con la norma energ del error a Lema 2.3.1. Sea A spd, con autovalores 1 2 . . . N . Entonces para todo z IRN 2 A1/2 z = A z
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(2.64) 24

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.3. Criterio de detencin del proceso iterativo. o o y N Demostracin. o A z 2 = z T AZ = (A1/2 z)T (A1/2 z) = 2 A1/2 z
2 1/2

A z 2 z 1

1/2

A z

(2.65)

(2.66)

Sean {ui , i } los autovectores, autovalores de A, con uT uj = ij . Entonces, i


N

=
i=1 N

(uT z) ui i i (uT z) ui i
i=1

(2.67)

Az Entonces, N 2 A1/2 z
2

(2.68)

= N
i=1 N

i (uT z)2 i 2 (uT z)2 = 2 Az 2 i i

(2.69)

i=1

(2.70)
2

1
i=1

i (uT z)2 = 1 2 A1/2 z 2. i

(2.71)

Lema 2.3.2. 2 b Axk 2 b 2 (A) 2 r0 A xk x 2 b A x0 x (2.72)

Recordemos que en la norma L2 para matrices spd. vale que 2 A 2 A


1

= mx autovalor de A = 1 a = m autovalor de A = N n = 1 /N

(2.73) (2.74) (2.75)

2 (A) Usando (2.64) y (2.65)

2 b Axk 2 A (x xk ) A x xk = 1 1/2 2 b Ax0 2 A (x x0 ) N A x x0 Consideremos un ejemplo simple x0 = 0, 1 = 11, N = 9, Por lo tanto k2 = 1.22 (relativamente pequeo). Tomemos el polinomio (ver gura 2.3) n p(z) = (10 z)k /10k Pk

1/2

(2.76)

(2.77)

(2.78)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

25

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.3. Criterio de detencin del proceso iterativo. o o

Figura 2.3: Polinomio residual apropiado para el caso (2.77)

Figura 2.4: Polinomio residual basado en los polinomios de Tchebyshev Como vemos en la gura todos los polinomios se anulan en z = 10 la mitad del intervalo donde se encuentran los autovalores. Esta regin est sombreada en la gura. El mximo valorde pk (z) sobre o a a el intervalo se alcanza en los extremos del intervalo
9z11

max |k (z)| = |k (9)| = |k (11)| = 10k p p p

lo cual implica que la tasa de convergencia es = 1/10 y el nmero de iteraciones por orden de u magnitud es log(10) n= =1 (2.80) log(1/) Mientras tanto, para los residuos 2 Axk b 2 b 1.22 10k (2.81) (2.82) (2.83) Para obtener la mejor estimacin basada solamente en la informacin del autovalor mximo y o o a m nimo debemos construir un polinomio de tal forma que tome los valores ms bajos posibles en el a
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

= 1.10 10k

$ " '&$%#!   


9 11 z

(2.79)

26

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.3. Criterio de detencin del proceso iterativo. o o

1.5

Figura 2.5: Polinomio residual apropiado para un espectro con dos clusters de autovalores intervalo 1 z n (ver gura 2.4). Estos polinomios pueden construirse en base a los polinomios de Tchebyshev. Efectivamente, hagamos el cambio de variable (z N )/(1 N ) = (1 cos )/2 = (1 x)/2 (2.84)

de manera que = 0 en z = N y = en z = 1 . Los polinomios de Tchebyshev Tn (x) se denen como Tn (x) = cos n (2.85) Por ejemplo T0 (x) T1 (x) T2 (x) =1 =x = 2x 1
2

Por construccin vemos que |Tn | 1 en |x| 1, o sea n z 1 . Entonces tomamos pk (z) = o Tn (x(z))/Tn (x(z = 0)). Como x(z = 0) cae fuera del intervalo |x| 1 y Tn crece fuertemente (como xn ) fuera del mismo, es de esperar que Tn (x(z = 0)) 1 y entonces |pk (z)| 1 en n z 1 . Mediante estimaciones apropiadas para el valor de Tn (x(z = 0)) puede demostrarse que A xk x 2 A x0 x Podemos ver que, si

1, entonces podemos aproximar 2 1 2 1 2 + 1

y entonces

log(10) = 1.15 (2.91) 2 que debe ser comparada con n 1.15 para Richardson con = opt . La ventaja es clara, teniendo en cuenta que (como veremos despus) el costo (nmero de operaciones) de una iteracin de gradientes e u o conjugados es similar al de una iteracin de Richardson. o n

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

399 400

(2.86) (2.87) (2.88)

2 1 2 + 1

(2.89)

(2.90)

27

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.3. Criterio de detencin del proceso iterativo. o o

Problema no precondicionado

Reduccin del nmero de condicin (Richardson y GC)

z Agrupar autovalores en pequeos clusters (GC)

Figura 2.6: Posibles estrategias de precondicionamiento Sin embargo, la convergencia puede ser mucho mejor que la dada por la estimacin anterior, o dependiendo de la distribucin de los autovalores. Por ejemplo, asumamos que los autovalores estn o a distribuidos en (ver gura 2.5) 1 1.5 399 400 o (2.92) Entonces = 400 y la estimacin anterior (basada slo ne el nmero de condicin) da o o u o n = 1.15 400 = 23 mientras que si tomamos el polinomio residual de la forma p3k = Entonces debemos estimar
1z1.5

(2.93)

(1.25 z)k (400 z)2k 1.25k 4002k

(2.94)

max |p3k (z)| = (0.25/1.25)k = 0.2k

(2.95)

y
399z400

max

|p3k (z)|

(400/1.25)k (1/400)2k = 1/(1.25 400)k

(2.96) (2.97)

Por lo tanto,
z(A)

max |3 k(z)| 0.2k p

(2.98)

y = 0.21/3 , n= log 10 = 4.29 1/3 log(1/0.2) (2.99)

que representa una tasa de convergencia 5 veces ms rapida que la predicha slo en base al nmero a o u de condicin de A. o En el contexto de GC la convergencia se puede mejorar tratando de encontrar precondicionamientos que disminuyan el nmero de condicin o bien que los autovalores estn agrupados en pequeos u o a n clusters (ver gura 2.6).

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

28

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.4. Implementacin de gradientes conjugados o o

2.4

Implementacin de gradientes conjugados o

La implementacin de GC se basa en que conociendo xk pueden ocurrir dos situaciones. O bien o , o bien xk+1 = xk = x xk+1 = xk + k+1 pk+1 (2.100) donde pk+1 = 0 es una direccin de bsqueda que puede obtenerse en forma sencilla y k+1 es un o u escalar que se obtiene minimizando el funcional de GC sobre la recta, d (xk + pk+1 ) = 0, en = k+1 d Recordar que el funcional estaba denido como (x) = Entonces d d = pT k+1 (2.103) (2.104) 1 T x Ax xT b 2 (2.102) (2.101)

= pT [A(xk + k+1 pk+1 ) b] = 0 k+1 de donde k+1 = pT (b Axk ) k+1 pT A pk+1 k+1

(2.105)

Si xk+1 = xk entonces = 0, pero esto slo ocurre si xk es la solucin. o o Lema. rl Kk para todo l < k Demostracin. Lo haremos por induccin en k. Para k = 1 Kk = span{r0 } y obviamente se o o verica que r0 Kk . Ahora asumiendo que es vlido para k lo demostraremos para k + 1. Para l < k, a se cumple que rl Kk Kk+1 , por lo tanto slo resta demostrarlo para rk . Pero o
k1

xk = x0 +
j=0

j Aj r0

(2.106)

y entonces, rk = b Axk
k1

(2.107) j Aj+1 r0 Kk+1 2. (2.108)

= r0
j=0

Lema 2.4.1. Sea A spd. y {xk } las iteraciones de GC, entonces


T rk rl = 0,

para todo 0 l < k

(2.109)

Demostracin. Como xk minimiza en x0 + Kk , entonces para todo Kk o d (xk + t) = dt pero = r, entonces


T rk = 0,

(xk + t)T = 0,

en t = 0

(2.110)

para todo Kk 2.

(2.111) 29

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.4. Implementacin de gradientes conjugados o o Ahora bien, si xk+1 = xk entonces rk = rk+1 y
T T 2 rk 2 = rk rk = rk rk+1 = 0

(2.112)

por lo tanto xk = x .De paso esto permite ver tambin que GC converge en N iteraciones (cosa que e ya hemos demostrado basndonos en la propiedad de minimizacin.) Efectivamente, supongamos que a o rk = 0 entonces dim Kk+1 = dim Kk + 1 (2.113) Pero para k = N dim Kk = N entonces rk+1 = 0. Lema 2.4.2. Si xk = x entonces xk+1 = xk + k+1 pk+1 donde pk+1 est determinado (a menos a de una constante multiplicatva) por pk+1 T pk+1 A Demostracin. Como Kk Kk+1 o (xk+1 )T = 0, para todo Kk (2.116) (2.117) Kk+1 = 0, para todo Kk (2.114) (2.115)

[Axk + k+1 Apk+1 b]T = 0 pero Axk b = rk para todo Kk de manera que pT A = 0 k+1

(2.118)

y como dim Kk+1 = dim Kk + 1, esto dene unicamente a pk+1 . Esta propiedad se llama que pk+1 es conjugado a Kk . Ahora bien, tomando rk y ortogonalizndolo con respecto a Kk podemos obtener pk+1 . Entonces, a pk+1 = rk + wk , con wk Kk (2.119)

Teorema 2.4.1. Sea A spd. y asumamos que rk = 0. Sea p0 = 0. Entonces pk+1 = rk + k+1 pk para algn escalar k+1 y k 0. u Demostracin. ver libro. o Lema 2.4.3. Las siguientes frmulas son tambin vlidas para obtener los k y k . o e a k+1 = Demostracin. Ver libro. o Algoritmo 2.4.1. cg(x, b, A, , kmax ) 1. r = b Ax, 0 = 2 r2 , k = 1 2. Do while k1 > 2 b y k < Kmax a. If k = 1 then p=r else = k1 /k2 p = r + p endif b. w = p
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

2 rk 2 , pT Apk+1 k+1

k+1 =

2 rk 2 2 rk1 2

(2.120)

30

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.4. Implementacin de gradientes conjugados o o c. = k1 /(pT w) d. x = x + p e. r = r w f. k = 2 rk g. k = k + 1

Notar que no es necesario formar expl tamente la matriz A (ni siquiera en forma sparse, es decir, la lista de {i, j, aij }), sino que solo es necesario denir una rutina que, dado x calcule Ax. Esto se llama una operacin matriz-vector. Debido a esta propiedad de no necesitar tener la matriz almacenada, o GC es llamado un mtodo mtrix free. e a Costo de GC. Las variables que se deben mantener almacenadas durante la iteracin son x, w, p, r o o sea 4N elementos. En cuanto al nmero de operaciones, u 1 producto matriz vector (paso 2.b) 2 productos escalares (pasos 2.c y 2.f) 3 daxpys (pasos 2.a, 2.d y 2.e). Una operacin daxpy es aquella de la forma x x + y, es decir adicionar a un vector x un o mltiplo escalar de otro vector y. (El nombre proviene de que la rutina de la librer BLAS que u a realiza esta operacin y que a su vez es una descripcin mnemotcnica de la operacin que se realiza. o o e o La d inicial corresponde a la versin doble precisin). De todos, el que requiere ms operaciones o o a es generalmente el producto matriz vector, sobre todo en la versin matrix free y sobre todo cuanto o ms compleja es la f a sica del problema. Por ejemplo, si x representa el vector de potenciales nodales guardados por columnas para una malla homognea de paso h (como en la funcin laplacian.m usada e o en la Gu 1), entonces la implementacin de Ax es a o phi=reshape(phi,n-1,n-1); % range of indices of internal nodes II=(2:n); JJ=II; % Include the boundary nodes Phi=zeros(n+1); Phi((2:n),(2:n))=phi; % Use the standard 5 point formula lap_phi=((-Phi(II+1,JJ)... -Phi(II-1,JJ)... -Phi(II,JJ+1)... -Phi(II,JJ-1)... +4*Phi(II,JJ))/h^2); lap_phi=lap_phi(:);

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

31

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.5. Los verdaderos residuos. o donde vemos que bsicamente el nmero de operaciones necesario es O(5N ), ya que 5 es el nmero a u u de puntos involucrados en el stencil de Poisson. Sin embargo, si la complejidad de la representacin o aumenta el cmputo se mantiene en general O(N ) pero con cada vez ms operaciones por nodo. Por o a ejemplo, si la malla est renada hacia los lados, es decir si el h no es constante, entonces hay que a multiplicar cada la por un h distinto. Si adems permitimos que las l a neas de la malla no sean paralelas a los ejes, entonces habr que calcular los coecientes mtricos de la malla. Si consideramos a e el uso de mallas no estructuradas con el mtodo de los elementos nitos el clculo de las matrices de e a cada elemento aumentar todav ms el nmero de operaciones por nodo. a a a u Costo de GC como mtodo directo. Si bien el mtodo de GC se usa raramente como mtodo e e e directo, por razones que veremos ms adelante, vamos a estimar el nmero de operaciones necesarios a u y compararlo con eliminacin de Gauss. Considerando un cuadrado de N = n n nodos en 2D y un o cubo de N = n n n en 3D, tenemos que, Ancho de banda de la matriz: m = n en 2D, m = n2 en 3D. Nmero total de incgnitas: N = n2 en 2D, N = n3 en 3D. u o Nmero de op. Gauss: N 2 en 2D, N 2.33 en 3D u Nmero de op. Gauss: N 2 en 2D, N 2 en 3D u Hemos hecho uso de que el nmero de operaciones para eliminacin de Gauss es N m2 . Para GC u o hemos usado nmero de op. u = O(nmero de iter. nro. de op. por iter.) u = O(N )
2

(2.121) (2.122)

Vemos que, incluso como mtodo directo, GC llega a ser ms competitivo en 3D. De todas formas, como e a ya hemos mencionado, por el problema de precisin nita (ver gura 2.2) en general para problemas o grandes se llega a la precisin de la mquina antes de las N iteraciones. o a En cuanto a la capacidad de almacenamiento, GC obviamente requiere mucho menos memoria (O(N ) para GC contra O(N 1.5 ) en 2D y O(N 1.33 ) en 3D para Gauss). Comparacin como mtodo iterativo con Richardson. Tanto para Richardson como para o e GC el costo de cada iteracin es, bsicamente o a Nro. de opr. para bajar el residuo un orden de magnitud = = n nro. de oper. por iteracin o Donde n es el nmero de iteraciones necesario para bajar el error un orden de magnitud. Asumiendo u que el costo de las iteraciones es prcticamene el mismo para los dos mtodos (lo cual es vlido si a e a hacemos una implementacin matrix free con una formulacin relativamente compleja, por ejemplo o o FEM), entonces los costos relativos estn dados por las tasas de convergencia y, usando que en 3D a n2 = N 2/3 . n(Richardson con = opt ) n(GC ) con lo cual la ganancia es evidente. = N 2/3 = N 1/3 (2.124) (2.125) (2.123)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

32

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.5. Los verdaderos residuos. o


1e+10 1

1e-20 1e-30 1e-40 1e-50 1e-60

residuos calculados de la relacion en diferencias


100 200 300 400 500 600 700

3g

1e-70 0

Figura 2.7: Gradientes Conjugados y los residuos verdaderos.

2.5

Los verdaderos residuos.

El algoritmo cg(...) (ver pg. 29) descripto ms arriba tiene la particularidad de que los residuos a a no son calculados directamente usando (1.50) sino que son calculados en el paso (2e). Si bien las expresiones coinciden en una mquina de precisin innita, debido a errores de redondeo los valores a o numricos obtenidos con uno u otro mtodo pueden diferir en una mquina de precisin nita. En la e e a o gura 2.7 vemos los residuos calculados en un experimento calculados de las dos formas. El comportamiento de los verdaderos residuos es similar al observado para Richardson en 1.4. Sin embargo, es todav peor para GC. El residuo no slo no baja de el umbral r sat de saturacin sino que empieza a o o a crecer lentamente. Esto es muy peligroso desde el punta de vista prctico, ya que en el caso de a Richardson el efecto de saturacin slo ocasiona un gasto de tiempo de clculo innecesario, pero en el o o a caso de GC puede ocasionar una prdida de precisin. Podemos decir que Richardson es un mtodo e o e estable ante errores de redondeo, mientras que GC es inestable. Esta inestabilidad de GC se debe al hecho de que asume que los residuos van formando una base ortogonal y las direcciones de bsqueda u van siendo conjugadas (ec. (2.115)), y estas propiedades se van perdiendo por errores de redondeo. Esta inestabilidad es compartida por todos los mtodos que se basan en estas propiedades de conjugae cin, por ejemplo GMRES y los mtodos que veremos despus. Para peor los residuos calculados por o e e la expresin recursiva (2e) tienden a seguir descendiendo, de manera que si el usuario no verica el o verdadero valor del residuo, puede creer que realmente el error ha bajado (despus de 600 iteraciones) e hasta 21064 , mientras que el error verdadero est en el orden de 3103 . a Cuando calculamos los residuos directamente a partir de (1.50) decimos que se trata de los verdaderos residuos. El porqu los residuos calculados segn el algoritmo cg(...) (ver pg. 29) tienden a e u a bajar, en vez de rebotar como lo hacen los verdeaderos residuos, puede entenderse ms fcilmente en a a el algoritmo de Richardson. Efectivamente, puede demostrarse simplemente que los residuos tambin e satisfacen una relacin como la (1.101) a saber o rk+1 = (I BA) rk (2.126)

De manera que tambin podr e amos calcular los residuos utilizando recursivamente esta relacin. Pero o
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

1e-10

residuos verdaderos

33

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.5. Los verdaderos residuos. o esta relacin no involucra diferencias entre magnitudes grandes como en (1.50) y por lo tanto rk o calculado por esta expresin sigue descendiendo, independientemente de la precisin de la mquina. o o a Una forma de corregir el el algoritmo cg(...) (ver pg. 29) es agregar una l a nea en cada iteracin o que calcule el verdadero residuo, slo a los efectos de chequear convergencia, sin embargo esto involucra o un producto matriz vector adicional por iteracin, es decir prcticamente duplica el costo del mtodo. o a e Precondicionamiento. Asumamos que tenemos una matriz M fcil de invertir y tal que a (M A) (A) o tal que los autovalores estn agrupados en clusters. Entonces podemos tratar a de resolver (M A) x = (M b) (2.127) en vez del sistema original, ya que este est bien condicionado. Sin embargo, incluso si M es spd. el a producto de dos matrices spd. no es necesariamente spd. Basta con ver el ejemplo, A M A y M son spd. pero MA = 2 2 1 4 (2.130) = = 1 0 0 2 2 1 1 2 , (2.128) (2.129)

no es simtrica. Una posibilidad es buscar M = S 2 y entonces redenir e (SAS) y = (Sb) (2.131)

y una vea obtenido y obtener x = Sy. Como SAS es equivalente a S 2 A = M A tienen la misma distribucin de autovalores y SAS s es spd. Pero falta resolver el problema de hallar S, lo cual puede o ser ms complicado que hallar M y por otra parte el clculo de SAS por un vector involucra el clculo a a a de dos productos matriz-vector adicionales, contra uno slo si precondicionamos de la forma (2.127). o La solucin pasa por reproducir el algoritmo de Gradiente Conjugado pero reemplazando el producto o escalar por xT M x y nalmente resulta en el siguiente algoritmo de GC precondicionado, Algoritmo 2.4.1. pcg(x, b, A, M, , kmax ) 1. r = b Ax, 0 = rT M r, 0 = 2 r, k = 1 2. Do while k1 > 2 b y k < Kmax a. If k = 1 then z = Mr else = k1 /k2 p = M r + p endif b. w = p c. = k1 /(pT w) d. x = x + p e. r = r w T f. k = 2 rk 2 ,k = rk M r g. k = k + 1

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

34

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.5. Los verdaderos residuos. o La modicacin principal del algoritmo pasa por reemplazar p por M p en las deniciones de los p y o reemplazar los productos escalares xT y por la forma cuadrtica xT M y. Adems, ahora calculamos a a escalares k para el clculo de las direcciones pk y escalares k para chequear la convergencia. (Mientras a que en la versin no precondicionada, k = k ). o El costo adicional ms importante para el esquema precondicionado es un producto matriz-vector a adicional con la matriz precondicionada. El costo del producto matriz-vector para el precondicionamiento puede variar mucho y depende de la complejidad del precondicionamiento. Por ejemplo, si tomamos M como la inversa de la parte diagonal de A (precondicionamiento Jacobi), entonces el costo es nmo, pero en el otro extremo podemos tomar M = A1 . Entonces GC converge en una iteracin o pero el costo de calcular M x es el costo de invertir A!!enemos entonces que Costo total = n nro de oper. por iteracin o (2.132)

Cuanto ms complejo es el precondicionador el n tiende a disminuir pero el nmero de operaciones a u tiende a aumentar debido al costo del clculo del precondicionamiento. Lo importante entonces, al a evaluar la efectividad de un precondicionador es no slo evaluar cmo aumenta la tasa de convergencia o o sino tambin tener en cuenta el costo de evaluar M x. e Precondicionadores. Existen una variedad de precondicionadores propuestos para diferentes problemas. Algunos son muy espec cos para ciertas aplicaciones otros son puramente algebraicos, es decir su aplicacin es general para toda clase de problema (tal vez no su efectividad!). En el contexto de o la resolucin de sistemas lineales provenientes de la discretizacin de ecuaciones en derivadas parciales o o por diferencias nitas o volmenes nitos podemos mencionar los siguientes u Intr nsecos al problema Resolvedores rpidos de Poisson a Multigrilla Descomposicin de dominios o ADI De tipo general Jacobi Factorizacin incompleta o Precondicionamiento polinomial A continuacin haremos una breve descripcin de los mismos o o Resolvedores rpidos de Poisson. Si consideramos la ecuacin de Poisson 2D con condiciones a o de contorno peridicas la matriz resulta ser o 2 1 0 0 0 . . . 1 1 2 1 0 0 ... 0 0 1 2 1 0 . . . 0 0 1 2 1 . . . 0 A= 0 (2.133) .. .. .. .. .. . . . . . 0 0 0 . . . 1 2 1 1 0 0 . . . 0 1 2

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

35

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.5. Los verdaderos residuos. o

malla fina malla gruesa

Figura 2.8: Mallas na y gruesa para las tcnicas de multigrilla. e Sea x de la forma (xk )i = ei2ki/N (2.134) donde i es la unidad imaginaria. Puede verse que (x)i es un autovector de A. Esto vale, no slo para o la matriz del laplaciano 1D, sino tambin para cualquier operador homogneo (que no depende de x) e e discretizado sobre una malla homognea. En este caso las las de la matriz A son las mismas, slo e o que se van corriendo una posicin hacia la derecha a medida que bajamos una la, es decir: o Aij = Aij (2.135)

donde A es c clico en p de per odo N , es decir Ap+N = Ap . Pero los x de la forma (2.134) son la base que induce la transformada de Fourier, de manera que si F es la matriz que tiene como columnas estos autovectores, vale que F z = t(z), z (2.136) donde t(z) indica el operador de transformada de Fourier tal como est denido en Matlab. Como a las columnas de F son autovectores de A, entonces F 1 AF es diagonal y podemos tomar como precondicionamiento M = F 1 [diag(A)]1 F (2.137) por lo visto, para matrices peridicas, M = A1 y entonces GC converger en una iteracin. La o a o idea es que (2.137) puede ser un buen precondicionamiento incluso en condiciones ms generales, por a ejemplo cuando la matriz no es peridica o cuando la malla no es homognea. En cuanto al costo del o e precondicionamiento, multiplicar por F y 1 es equivalente a aplicar transformadas y antitransformadas de Fourier (aplicar las operaciones fft( ) y ifft( ) de Matlab. Estas requieren O(N log2 (N )) operaciones y la inversin de la parte diagonal de A slo requiere O(N ) operaciones. La idea puede o o extenderse fcilmente a 2D y 3D. a Multigrilla. Si hacemos una descomposicin modal del error, puede puede verse que el error o en las componentes correspondientes a los autovalores ms pequeos converge en general mucho ms a n a lentamente que para los autovalores ms altos. Esto es ms evidente para el mtodo de Richardson, a a e donde los factores de amplicacin 1 i son muy cercanos a 1 para los autovalores ms pequeos. o a n A su vez, como ya hemos visto en los ejemplos, los autovalores altos estn asociados a frecuencias a altas (funciones que son muy oscilatorias espacialmente) mientras que los autovalores bajos estn a asociados a autofunciones suaves. Esto signica que despus de un cierto nmero de iteraciones el e u error para las frecuencias altas se debe haber reducido mucho mientras que el grueso del error est en a las componentes de baja frecuencia. Como las funciones suaves pueden ser restringidas a una malla ms gruesa sin perder informacin, esto sugiere la idea de proyectar el problema a una malla ms a o a gruesa (digamos con h = 2h y por lo tanto con la mitad de nodos, ver gura 2.8) y realizar una serie de iteraciones sobre esta malla para obtener una correccin. Una vez obtenida sta se interpola o e sobre la malla original y se agrega al vector de iteracin. La idea es que la correccin va a ser tan o o buena como si hubiramos iterado sobre la malla original pero a un costo igual a la mitad ya que la e malla gruesa tiene la mitad de nodos. Esta idea ser puede aplicar recursivamente, ya que al iterar en
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

36

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.5. Los verdaderos residuos. o

Figura 2.9: Malla renada hacia una esquina. la malla gruesa va a volver a ocurrir que despues de una serie de iteraciones va a quedar una fuerte componente del error en las frecuencias bajas y estas las podemos corregir iterando sobre una malla h = 2h = 4h y as siguiendo. De esta manera, multigrilla se basa en resolver el problema en una serie de mallas con paso de malla h, 2h, 4h, . . . , 2m h, haciendo una serie de iteraciones en la malla na seguida de iteraciones sobre la malla ms gruesa y as siguiendo. a Descomposicin de dominios. Ver 4.1 o Precondicionamiento Jacobi. Consiste en simplemente tomar M = diag A1 . Como la matriz a invertir es diagonal el costo de invertirla es muy bajo (O(N ) opeaciones). Este precondicionamiento no aporta nada en situaciones donde los elementos de la diagonal son aproximadamente constantes (precondicionar con un mltiplo escalar de la identidad no puede nunca mejorar el nmero de condiu u cin). Esto ocurre por ejemplo para el Laplaciano (tanto en 1D como en ms dimensiones) cuando el o a paso de la malla es constante. Cuando la malla no es homognea (ver gura- 2.9) entonces el nmero e u de condicin es o L 2 (2.138) (A) = O hmin donde hmin es el m nimo h sobre toda la malla y entonces puede ser bastante peor que O(n2 ) donde n es el nmero de elementos en una direccin caracter u o stica. Los elementos diagonales de A son h2 + x h2 = O(min(hx , hy )2 ) y puede verse que este precondicionamiento corrige el mal condicionamiento y producido por el renamiento de manera que (diag(A)1 A) = O(n2 ) (2.139)

Factorizacin incompleta. Consideremos la factorizacin Cholesky A, A = BB T . Entonces este o o precondicionamiento consiste en descartar elementos de B de manera de reducir su ancho de banda. En la implementacin prctica el descarte se va haciendo a medida de que se va factorizando la matriz, o a basndose en el valor absoluto del elemento Bij que se est evaluando y su distancia a la diagonal a a |i j|. Por supuesto se trata de descartar aquellos elementos que tienen un menor valor absoluto y que se encuentran ms alejados de la diagonal. a Precondicionamiento polinomial. Consiste en encontrar un polinomio p(z) tal que M = p(A) A1 . El criterio para construir el polinomio en cuestin es similar al utilizado para construir o los polinomios residuales que permiten obtener la estimacin de convergencia (2.89) en base a los poo linomios de Tchebyshev. El costo de un tal precondicionmiento es evaluar M x = p(A)x que involucra m productos matriz-vector, donde m es el orden del polinomio de Tchebyshev. Como es usual en la evaluacin de polinomios, se utiliza la forma anidada, tambin llamada de Hrner, como en el siguiente o e o script

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti


37

Cap tulo 2. Metodo de Gradientes Conjugados

Seccin 2.6. Mtodos CGNR y CGNE o e y=0; for k=0:m y=p(k)*x+A*y; end donde (usando la notacin de Octave) p(x) = p1 xm + p2 xm1 + . . . + pm+1 y los coecientes pi estn o a almacenados en un vector de longitud m + 1. En la versin matrix free, el producto Ax est denido o a por medio de una rutina. Sea w=prodvec(x) la rutina que retorna w = Ax cuando se le pasa x entonces el algoritmo se escribe como y=0; for k=0:m y=p(k)*x+prodvec(y); end

2.6

Mtodos CGNR y CGNE e


(AT A) x = (AT b)

Si A es nosimtrica o no denida positiva, entonces podemos considerar resolver e (2.140)

en el cual aparece la matriz AT A que es simtrica y denida positiva si A es no singular. Notar que e en cada iteracin de GC sobre este sistema estamos minimizando o AT A x x = (x x)T AT A (x x) = (b Ax) (b Ax) = 2 r
T 2

(2.141) (2.142)

de ah el nombre de Conjugate Gradient on the Normal Equations to minimize the Residual (CGNR). Otra posibilidad es hacer el cambio de variable x = AT y y resolver (AAT )y = b (2.143)

para y. Una vez encontrado y, x se obtiene con una operacin matriz vector adicional x = AT y. La o norma que se minimiza es en este caso AAT y y = (y y)T AAT (y y) = (A y A y) (A y A y) = (x x) (x x) = 2 x x
T 2 T T T T T

(2.144) (2.145) (2.146)

de ah el nombre de Conjugate Gradient on the Normal Equations to minimize the Error (CGNE). Observaciones En general ocurre que (AT A) (A)2 , lo cual augura muy bajas tasas de convergencia si el (A) es grande. Se necesitan 2 productos matriz vector por iteracin o En la versin matrix free hay que programar no slo una rutina que calcule Ax sino tambin una o o e que calcule AT x. Para problemas provenientes de discretizaciones por FEM o FDM de PDEs, esto puede resultar bastante complicado.

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

38

Cap tulo 3

El mtodo GMRES e
3.1 La propiedad de minimizacin para GMRES y consecuencias o

GMRES (por Generalized Minimum RESidual fue popuesto en 1986 por Y. Saad y m. Schulz como un mtodo iterativo por subespacios de Krylov para sustemas no-simtricos. En contraposicin con e e o T con un vector, lo cual es una gran ventaja en CGNR o CGNE no requiere el clculo de productos de A a muchos casos. pero es necesario guaradar una base de Kk lo cual requiere un costo de almacenamiento adicional a medidad que la iteracin progresa. o La iteracin k-sima (k 1) es o e xk = argmin 2 b A x
xx0 +Kk

(3.1)

Ntese que esta propiedad de minimizacin es muy similar con la de Gradientes Conjugados, con la o o diferencia que en GC se aplica al funcional (2.15). Como aqu estamos contemplando la posibilidad que A no sea simtrica o denida positiva, entonces no podemos tomar este funcional. Si consideramos que e minimizar 2 b A x es equivalente a minimizar 2 b A x2 el cual contiene en la forma cuadrtica a AT A, entonces vemos que GMRES es equivalente a CGNR con la salvedad de que con GMRES no debemos calcular productos AT -vector pero en contraparte debemos mantener una base del espacio de Krylov. Como x x0 + Kk puede ponerse de la forma
k1

x = x0 +
j=0

j Aj r0

(3.2)

entonces
k1

b Ax

= b A x0
j=0 k

j Aj+1 r0

(3.3)

= r0
j=1

j1 Aj r0

(3.4) (3.5)

= p(A) r0

donde p Pk es un polinomio residual. Teorema 3.1.1. Sea A no-singular y xk la k-sima iteracin de GMRES. Entonces para todo e o p Pk (3.6) 2 rk = min 2 p(A) r0 2 p(A) r0
pPk

39

Cap tulo 3. El metodo GMRES

Seccin 3.1. La propiedad de minimizacin para GMRES y consecuencias o o Corolario 3.1.1. Sea A no-singular, entonces 2 rk 2 pk (A) 2 r0 (3.7)

Teorema 3.1.2. Sea A no-singular. Entonces GMRES encuentra la solucin dentro de las N o iteraciones Demostracin. Usar p(z) = p(z)/p(0), donde p(z) = det(A zI) es el polinomio caracter o stico. 2 Para GC hemos usado el teorema espectral para encontrar estimaciones de la tasa de convergencia. Esto no puede asumirse en general si A no es simtrica. Sin embargo podemos restringir el anlisis al e a caso de que A sea diagonalizable aunque los autovalores y autovectores pueden ser ahora comlejos. Nota sobre la condicin de diagonalizabilidad de matrices. Recordemos que o A es diagonalizable si A = V V 1 con diagonal. Cuando A es real y simtrica es real y e podemos elegir a V como real. Cuando A es no-simtrica tando como V pueden ser complejos. e En lgebra compleja muchos conceptos pueden extenderse fcilmente si reemplazamos la trana a puesta de A por la transpuesta conjugada de A que denotaremos como AH . El producto escalar de dos vectores pertenecientes a C N se dene como xH y =
n k=1 (x)k (y)k .

V es unitaria si V H V = I (es la extensin del concepto de matriz ortogonal a complejos). o A es normal si es diagonalizable y si la matriz de cambio de base correspondiente V es unitaria. Puede verse que si A conmuta con su transpuesta conjugada (es decir AH A = A AH ) entonces A es normal. Es obvio que si A es herm tica (simtrica en el caso real) entonces A es normal e Teorema 3.1.3. para todo p k Pk 2 rk 2 (V ) max |k (Z)| p 2 r0 z(A) Demostracin. Basta con ver que o 2 pk (A) 2 V 2 V 1 2 pk () = 2 (V ) max |k (Z)|2. p
z(A)

(3.8)

(3.9) (3.10)

No est claro como puede estimarse el 2 (V ), si existe. Si A es normal, entonces V es unitaria, a preserva la norma y entonces 2 V = 2 V 1 = 2 (V ) = 1 2 V = max
x=0

2 Vx 2 x (V x)H (V x) xH x H (V H V ) x x xH x

(3.11) (3.12) (3.13) (3.14) 40

= max
x=0

= max
x=0

=1
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

Cap tulo 3. El metodo GMRES

Seccin 3.1. La propiedad de minimizacin para GMRES y consecuencias o o y similarmente para V 1 . Por otra parte, si A se aproxima a una matriz no diagonalizable, entonces A () . Esto puede verse con un ejemplo simple. La matriz A= 0 1 0 0 (3.15)

es un bloque de Jordan y es claramente no diagonalizable. Perturbando ligeramente uno de los elementos diagonales de la forma 0 1 A= (3.16) 0 con muy pequeo la matriz pasa a ser diagonalizable, ya que tiene dos autovalores distintos ( = 1, ). n Sin embargo podemos ver que la matriz de cambio de base V correspondiente tiene un nmero de u condicin que crece como 2/ : o octave> a=[0 1;0 1e-5] a = 0.00000 1.00000 0.00000 0.00001 octave> [v,d]=eig(a) v = 1.00000 1.00000 0.00000 0.00001 d = 0.0000e+00 0.0000e+00 0.0000e+00 1.0000e-05 octave> cond(v) ans = 2.0000e+05 octave> Ahora consideremos que ocurre si utilizamos una rutina numrica de diagonalizacin (como el e o eig( ) de Octave) sobre una matriz que no es diagonalizable. Lo deseable ser que la rutina numrica a e nos mostrara un mensaje de eror diciendo que la matriz no es diagonalizable. Sin embargo, debido a los errores de redondeo, la matriz aparece ser como diagonalizable desde el punto de vista numrico y e entonces la forma efectiva de vericar cun diagonalizable es una matriz es chequear 2 (V ). Cuanto a ms grande es este nmero menos diagonalizable es la matriz. a u octave>a=[0 1;0 0] a = 0 0 1 0

octave> [v,d]=eig(a) v = 1.00000 0.00000 d =


Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

-1.00000 0.00000

41

Cap tulo 3. El metodo GMRES

Seccin 3.2. Criterio de detencin: o o

0 0

0 0

octave> cond(v) ans = 1.9958e+292 Esto es similar a cuando nos preguntamos si una matriz es inversible o no. Si calculamos el determinante de la matriz, por errores de redondeo este nmero siempre resulta ser diferente de cero. u Adems, la misma matriz multiplicada por una factor a < 1 tiene un determinante que es un factor aN a veces menor. Para matrices grandes (digamos N = 100) un pequeo factor 0.1 puede representar un n cambio en la magnitud del determinante por un factor 10100 . Todo esto indica que el determinante no es un buen indicador de cuan singular es una matriz y un anlisis ms detallado muestra que el a a indicador correcto es el nmero de condicin de la matriz: cuanto ms alto es el nmero de condicin u o a u o ms singular es la matriz. a Los siguientes Teoremas reproducen los resultados ya obtenidos para GC. Su demostracin se basa o nuevamente en la construccin de polinomios residuales apropiados que se anulan en los autovalores o de la matriz. Teorema 3.1.4. Sia A tienen autovalores distintos entonces GMRES converge en k iteraciones. Teorema 3.1.5. Si r0 es una combinacin lineal de k autovectores de A entonces GMRES converge o dentro de las k iteraciones.

3.2

Criterio de detencin: o

Pensando a GMRES como un mtodo iterativo las estimaciones de la tasa de convergencia son similares e a las de GC. Como en GC el criterio de detencin es o 2 rk tol 2 b Una estimacin bastante cruda de la tasa de convergencia se puede obtener asumiendo que existe o un tal que 2 I A = < 1. Tomando el polinomio de pk (x) = (1 z)k podemos obtener la estimacin de convergencia o 2 r k k 2 r 0 (3.17) Esta estimacin de convergencia tiene algunos puntos en comn con las estimaciones de convergencia o u que hemos obtenido para el mtodo de Richardson. Notemos que bajoe estas mismas condiciones el e mtodo de Richardson predice la misma tasa de convergencia. Sin embargo la diferencia fundamental e est en que con GMRES no es necesario conocer el valor de , de hecho, como (3.17) es vlido para a a cualquier es vlido para aquel que minimize 2 I A, es decir que su convergencia es mejor a que la de Richardson sobre-relajado con el mejor valor del parmetro de relajacin que pudiramos a o e obtener, sin necesidad de conocer ningna norma ni estimacin de los autovalores de A. Por otra u o parte, GMRES tiene en su contra que debe guardar la base del espacio de Krylov. Pero si hacemos la estrategia del restart que veremos ms adelante, segn la cual se realizan un cierto nmero m (bajo) a u u de iteraciones de GMRES y obtenido el xm se vuelve a iterar GMRES de cero desde xm , entonces este GMRES con restart tendr una tasa de convergencia mejor que la mejor que podr a amos obtener con el mejor parmetro de relajacin , a un costo similar por iteracin y con un requerimiento de a o o capacidad de almacenamiento no demasiado alto. Como esta estimacin no depende de una diagonalizacin de A podr o o amos esperar que nos de alguna estimacin de la convergencia en el caso en que A no es diagonalizable. Deafortunadamente, o
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

42

Cap tulo 3. El metodo GMRES

Seccin 3.3. Precondicionamiento o puede vericarse que para un bloque de Jordan de la forma 1 0 ... 0 1 0 . 1 A= . 0 . .. .. .. 0 . . . 0 0 ... 0

0 ... ... 1

(3.18)

vale que 2 I A > 1 para todo , es decir que no hay que haga convergente a Richardson y, a la vez, nos permita obtener una estimacin de la tasa de convergencia para GMRES. Too esto o har pensar que si la matriz no es diagonalizable (o casi no diagonalizable) entonces GMRES no a converger. Pero si la forma de Jordan de una Matriz incluye un pequeo bloque de Jordan de a n dimension kJ y el resto es diagonalizable, entonces basta con tomar polinomios residuales de la forma pk (z) = (z J ) J
kJ

qkkJ (z)

(3.19)

para k > kJ , donde J es el autovalor correspondiente al bloque de Jordan y q es un polinomio apropiado para estimar una buena convergencia sobre el espectro de autovalores restantes. Por ejemplo, si el resto de los autovalores es real y positivo, entonces podr amos usar los polinomios de Tchebyshev usados para estimar la tasa de convergencia de GC.

3.3

Precondicionamiento

La forma de implementar el precondicionamiento en GMRES diere con GC en cuanto a que para GMRES no es necesario que el sistema precondicionado (M A) x = (M b) (3.20)

sea ni simtrico ni denido positivo. Entonces basta con encontrar un precondicionamiento M tal que e 2 I M A < 1 y se resuelve directamente el sistema precondicionado. Debido a esto, la rutina de GMRES no incluye nada en especial en cuanto al precondicionamiento, sino que directamente se pasa M b como miembro derecho, y la rutina que calcula el producto matriz vector retorna (M A) x en vez de A x. Por otra parte se pueden usar precondicionadores por derecha y por izquierda. El precondicionamiento por izquierda es como fue expuesto en el prrafo anterior mientras que el precondicionamiento a po derecha consiste en encontrar un M tal que 2 I AM < 1 y entonces hacer el cambio de variable x = M y, resolver con GMRES el sistema (AM ) y = b (3.21)

y nalmente, una vez encontrado y obtener x de x = M y. En cuanto a las ideas para desarrollar precondicionadores son similares a las utilizadas con GC.

3.4

Implementacin bsica de GMRES o a

Recordemos que xk se obtiene del problema de minimizacin (3.1). Sea Vk una matriz que contiene o los vectores que expanden Kk es decir Vk = r0 Ar0 . . . Ak1 r0
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(3.22) 43

Cap tulo 3. El metodo GMRES

Seccin 3.4. Implementacin bsica de GMRES o o a Entonces x x0 es una combinacin lineal de las columnas de Vk , es decir o x x 0 = Vk y, Entonces y debe ser tal que minimize 2 b A(x0 + Vk y) = 2 r0 AVk y Sea ahora Bk = AVk = Ar0 A2 r0 . . . Ak r0 entonces el cuadrado de la norma se escribe como 2 r0 Bk y = (r0 Bk y)T (r0 Bk y) = que alcanza su m nimo cuando
T T Bk r0 + (Bk Bk )y = 0 T r0 r0

y IRk

(3.23)

(3.24) (3.25)

(3.26) (3.27) (3.28) (3.29)

T 2r0 By

+ y (B B) y

lo cual ocurre cuando


T T y = (Bk Bk )1 Bk r0

Esto puede implementarse en Octave con el comando y=(B*B)\B*r0 pero an ms simplemente u a y=B\r0 hace lo mismo ya que para matrices rectangulares el operador \ se interpreta como resolver el sistema de m nimos cuadrados asociado. En cuanto a la implementacin prctica, notemos que el vector o a qk
T = Bk r0 r0 A r0 r 0 A2 r 0 = . . .

(3.30) = qk1 r 0 Ak r 0

(3.31)

r 0 Ak r 0

de donde vemos que en cada iteracin slo necesitamos calcular el ultimo elemento del vector, lo cual o o T involucra O(N ) operaciones. Algo similar ocurre con el clculo de la matriz Hk = Bk Bk a invertir. a Hk
T = Bk Bk T Bk1 = (Ak r0 )T

(3.32) Bk1 Ak r0
T Bk1 Ak r0 T r0 (Ak )T Ak r0

(3.33) (3.34)

Hk1 T Ak r )T (Bk1 0

con lo cual slo es necesario calcular la ultima columna y el elemento diagonal. La ultima la es igual o a la transpuesta de la ultima columna ya que Hk es simtrica y denida positiva por construccin. El e o clculo de esta ultima columna requiere de O(kN ) operaciones. Finalmente la inversin del sistema a o cuya matriz es Hk requiere O(k 3 ) operaciones. Mientras mantengamos k N (ms estrictamente es a k2 N ) este costo es despreciable contra las k N operaciones.
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

44

Cap tulo 3. El metodo GMRES

Seccin 3.5. Implementacin en una base ortogonal o o

3.5

Implementacin en una base ortogonal o

En la prctica es muy comn ir cosntruyendo una base ortogonal de Kk mediante el proceso de a u ortogonalizacin de Gram-Schmidt. El algoritmo es el siguiente o 1. r0 = b Ax0 , v1 = r0 / 2 r0 2. Para i = 1, . . . , k 1 w = Avi i ((Avi )T vj ) vj j=1 vi+1 = wi / 2 wi Si en algn i sucede que w = 0 entonces decimos que el algoritmo falla o colapsa (breakdown). u Asumiendo que los r0 , Ar0 , . . . , Ak1 r0 son linealmente independientes (o sea que: dim Kk = k), entonces podemos que El algoritmo no falla. Los {vi }k as generados forman una base ortogonal de Kk . i=1 vk = k Ak1 r0 + wk con wk Kk1 y k = 0. Esto se puede demostrar por induccin en i. Para i = 1 es obvio, ya que v1 es igual a r0 normalizado. o Para demostrarlo para i + 1, observemos que w es otogonal a todos los vj para j i
i T vj A vi l=1 i

((Avi )T vl ) vl )

T = vj A vi l=1

(Avi )T vl ) jl

(3.35) (3.36) (3.37)

T = vj A vi (Avi )T vj )

=0

Ahora bien Avi pertenece a Ki+1 y los vl para l = 1, . . . , i pertenecen a Ki . Si w = 0 entonces podemos normalizar w apra obtener vi+1 y {vl }i+1 es un conjunto de vectores ortonormales en Ki+1 . Como l=1 o Ki=1 es de dimensin a lo sumo i + 1, vi+1 y {vl }i+1 es una base ortogonal. Slo falta demostrar o l=1 entonces que bajo las hiptesis asumida el algoritmo no falla. o Ahora bien, por induccin podemos asumir que o Avi = i Ai r0 + Awi (3.38)

Pero si el algoritmo falla, entonces quiere decir que Avi es una combinacin lineal de los {vl }l = 1i y o i r es una combinacin lineal de los mismos e indicar que los {Aj1 r }i eso implicar que A 0 a o a 0 j=1 son linealmetne dependientes.

3.5.1

Colapso de GMRES (Breakdown)

Puede ocurrir que w = 0 para algn i, en cuyo caso (por lo visto en el prrafo anterior) indicar que u a a j1 r }i x K . {A 0 j=1 son linealmetne dependientes. Podemos ver que esto ocurre si x 0 k Lemma 3.4.1. Si wi+1 = 0 entonces x = A1 b Ki Demostracin. Si w = 0 para algn i entonces eso implica o u
j

Avi =
i=1

j vj Ki

(3.39)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

45

Cap tulo 3. El metodo GMRES

Seccin 3.6. El algoritmo de Gram-Schmidt modicado o Por construccin Avj Ki para j < i, con lo que resulta que AKi Ki . Pero como o Vi = [v1 v2 . . . v)i] es una base de Ki entonces AVi = Vi H (3.41) para una cierta matriz H de i i. La columna j-sima de H son los coecientes de la expansin de e o j+1 Avj en trmino de los {vl }l=1 . H es no singular ya que A no lo es. Efeectivamente si z == 0, z IRi e es tal que Hz = 0, entonces Vi z es un vector no nulo y A (Vi z) = Vi H z = 0 Consideremos ahora el residuo en la i-sima iteracin e o ri = b Axi = r0 A(xi x0 ) = Vi y (3.43) (3.42) (3.40)

con y IRi ya que xi x0 Ki . Adems r0 por construccin es proporcional a v1 la primera columna a o de Vi lo cual puede escribirse como r0 = Vi e1 (3.44) con eT = [1 0 . . . 0]. Como Vi es ortogonal, preserva la norma 1 2 ri 2 = 2 Vi (e1 Hy)2 = (e1 Hy)
T

(3.45) (3.46) (3.47)

= 2 (e1 Hy)

ViT 2

Vi (e1 Hy)

Pero basta con tomar y = H 1 e1 para el cual 2 ri = 0 y GMRES ha convergido.

3.6

El algoritmo de Gram-Schmidt modicado

Uno de los principales problemas de GMRES es que por errores de redondeo se va perdiendo la ortogonalidad de los vectores vi , por lo cual debe prestarse especial atencin al proceso de ortogonalizacin. o o Una primera observacin es que la siguiente versin modicada del proceso de ortogonalizacin de o o o Gram-Schmidt resulta ser mucho ms estable ante errores de redondeo a vk+1 = Avk for j = 1, . . . , k T vk+1 = vk+1 (vk+1 vj )vj

3.7

Implementacin eciente o

La matriz H que contiene los coecientes que expanden Avi en trmino de los vl tiene una estructura e particular que permite una implementacin ms eciente del algoritmo. Consideremos la expresin o a o
i

vi+1 = 2 wi+1 1 (Avi


j=1

j vj )

(3.48)

Esto quiere decir que Avi es una combinacin lineal de los {vj }i+1 . Como la columna j-sima de Hk o e j=1 son los coecientes de la expansin de Avj en trmino de los {vl }j+1 o e l=1 A Vk = V K H k
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(3.49) 46

Cap tulo 3. El metodo GMRES

Seccin 3.8. Estrategias de reortogonalizacin o o vemos los hlj deben ser de la forma hlj = 0 para h11 h21 Hk = 0 0 .. . l > j + 1. Es decir h12 h13 . . . h22 h23 . . . h32 h33 . . . 0 h43 . . . .. .. .. . . .

(3.50)

Este tipo de matriz se llama Hessenberg superior (upper Hessenberg). El residuo se puede escribir como rk y como Vk es ortogonal 2 rk = 2 e1 Hk y k (3.53) Para resolver este problema se recurre a una estrategia similar a la anterior. Es decir, en Octave y=beta*H\e1 si usamos la solucin por m o nimos cuadrados interna de Octave, o y=beta*(H*H)\H*e1 si lo resolvemos expl citamente. Finalmente, existen algoritmos especiales que permiten factorizar la matriz con un algoritmo QR en forma ms eciente usando la estructura Hessenberg superior de Hk . a Independientemente de la implementacin de la resolucin del problema de cuadrados m o o nimos, el algoritmo de GMRES es Algoritmo gmresb(x, b, A, , kmax , ) 1. r = b Ax, v1 = r/ 2 r, = 2 r, = , k = 0 2. While > 2 b y k < kmax (a) k = k + 1 (b) vk+1 = Avk . Para j = 1, . . . , k T (i) hjk = vk+1 v j (ii) vk+1 = vk+1 hjk vj (c) hk+1,k = 2 vk+1 (d) vk+1 = vk+1 / 2 vk+1 (e) e1 = [1 0 0 . . . 0]T yk = argminyIRk 2 e1 Hk y k (f) = 2 e1 Hk y k 3. xk = x0 + Vk y k = b Axk = r0 A(xk x0 ) = Vk+1 (e1 Hk y )
k

(3.51) (3.52)

3.8

Estrategias de reortogonalizacin o

Se puede perder ortogonalidad por errores de redondeo. Una solucin es hacer un segundo paso de o ortogonalizacin sea entodas las iyeraciones, sea cuando algn indicador de prdida de ortogonalidad o u e se activa.

3.9

Restart

Como debemos almacenar una base para Kk esto requiere kN reales lo cual va creciendo con k y eventualmente excede la memoria de la mquina. Entonces la idea es iterar GMRES m iteraciones y a empezar de nuevo a partir de la ultima iteracin, es decir aplicar GMRES inicializando con x0 xm . o El siguiente algoritmo gmresm reeja esto,
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

47

Cap tulo 3. El metodo GMRES

Seccin 3.10. Otros mtodos para matrices no-simtricas o e e Algoritmo gmresm(x, b, A, , kmax , m, ) 1. gmres(x, b, A, , m, ) 2. k = m 3. While > 2 b y k < kmax (a) gmres(x, b, A, , m, ) (b) k = k + m

3.10

Otros mtodos para matrices no-simtricas e e

GMRES, CGNE y CGNR comparten las siguientes (buenas) caracter sticas Son fciles de implementar a Se analizan con residuos polinomiales Por otra parte los CGN* tienen la desventaja de que necesitan un producto AT x y su tasa de convergencia est regida por (AT A) (A)2 , mientras que GMRES slo necesita calcular A x y la a o convergencia est basada en (A), pero es necesario guardar una base de Kk , lo cual representa una a capacidad de almacenamiento que va creciendo con las iteraciones. Como esto es virtualmente imposible para grandes sistemas desde el punto de vista prctico se utiliza el GMRESm, lo cual puede a involucrar un serio deterioro de la convergencia. El mtodo ideal deber ser como CG: e a Slo necesitar calcular A x (no AT x) o Estar basado en una propiedad de minimizacin o conjugacin o o Requerir baja capacidad de almacenamiento. (Sobre todo que no crezca con las iteraciones). Converger en N iteraciones. En esta seccin describiremos algunos mtodos que tratan de aproximarse a estos requerimientos con o e menor o mayor xito. e Bi-CG: (por Biconjugate Gradient Squared) No se basa en una propiedad de minimizacin sino o de ortogonalidad T rk w = 0, para todo w Kk (3.54) donde Kk Kk = span{0 , AT r0 , . . . , (AT )k1 r0 } r (3.55)

es el espacio de Krylov conjugado. r0 es un vector que debe ser provisto por el usuario, pero lo ms a usual es tomar r0 = r0 . El algoritmo genera secuencias de residuos y direcciones de bsqueda {rk , pk } u y sus correspondientes conjugados {k , pk } tales que hay biortogonalidad entre los residuos r rk rl = 0, T y de bi-conjugacin entre las direcciones de bsqueda o u pT A pl = 0, k k=l (3.57) k=l (3.56)

Si A es simtrica y denida positiva y r0 = r0 , entonces Bi-CG es equivalente a GC (pero computa e todo el doble, es decir que tiene el doble de costo por iteracin). Bi-CG necesita un clculo AT x, o a pero la ventaja con respecto a los CGN* es que su tasa de convergencia est basada en (A) no en a
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

48

Cap tulo 3. El metodo GMRES

Seccin 3.10. Otros mtodos para matrices no-simtricas o e e (AT A). Es muy util si A es aproximadamente spd, es decir si los autovalores de A estn cerca de la a recta real. Podemos comparar Bi-CG con GMRES en cuanto a la tasa de convergencia si consideramos que resulta ser que rk = pk (A) r0 (3.58) con pk un polinomio residual, y entonces por la propiedad de minimizacin de GMRES o 2 (rk )GMRES 2 (rk )BiCG (3.59)

pero debe recordarse que Bi-CG comparado con GMRES no necesita un espacio de almacenamiento creciente. Adems una iteracin de Bi-CG requiere dos productos matriz vector, pero el costo de a o GMRES tambin crece con las iteraciones. e CGS (por Conjugate Gradient Squared). Este mtodo trata de ser una extensin de Bi-CG pero e o tal que no necesita calcular AT x. Puede verse que en la iteracin k o rk = pk (A) r0 , rk = pk (AT ) r0 (3.60)

T entonces el factor rk rk (que juega el papel de k en GC, (ver el algoritmo cg(...) en pg. 29), puede a reescribirse de la forma T r k rk

= (k (A) r0 )T (k (AT ) r0 ) p p = ([k (A)] r0 ) r0 p


2 T

(3.61) (3.62)

en el cual no es necesario calcular AT x. Con manipulaciones similares se puede llegar a transformar todos las expresiones donde aparece AT , pero el algoritmo resulta modicado, es decir las iteraciones de Bi-CG no son las mismas que para CGS. Bi-CGstab (por Biconjugate Gradient Squared stabilized). Trata de mejorar CGS reemplazando rk = q(k) p( k) r0 donde qk (z) =
i=1 k

(3.63)

(1 i z)

(3.64)

donde i se selecciona para minimizar 2 ri = 2 qi (A) pi (A) r0 como funcin de i , esto es usualmente conocido como line-searching. Sea o
k

(3.65)

ri

= (1 i A)
i=1

(1 i z) pi (A) r0

(3.66) (3.67) (3.68) (3.69)

= (1 i A) w = w i A w

de manera que 2 ri 2 = (w i A w)T (w i A w) = 2 w 2i w Aw +


Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti
2 T 2 i (Aw)T

(3.70) Aw (3.71) 49

Cap tulo 3. El metodo GMRES

Seccin 3.10. Otros mtodos para matrices no-simtricas o e e

Figura 3.1: Descomposicin de dominios o y el valor que minimiza es i = wT (Aw) 2 Aw2 (3.72)

Bi-CGstab entonces no necesita del clculo de AT x como CGS pero tiende a tener una tasa de cona vergencia mejor. El costo computacional involucrado por iteracin es o Almacenamiento para 7 vectores 4 productos escalares 2 productos matriz-vector (Ax)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

50

Cap tulo 3. El metodo GMRES

Seccin 3.11. Gu Nro 3. GMRES o a

Figura 3.2: Solucin para el problema de adveccin difusin, en los l o o o mites dominado por difusin y o por adveccin o

3.11

Gu Nro 3. GMRES a

Consideremos la ec. de adveccin-difusin o o k a = 0 (0) = 0 (1) = 1 donde = temperatura del uido k = conductividad trmica del uido e a = velocidad del uido (puede ser positiva o negativa) La solucin exacta es o (x) = donde e2Pex 1 e2Pe 1 (3.73) (3.74) (3.75)

aL (3.77) 2k Aqu L = 1. En la gura 3.2 vemos Para a 0 el problema se acerca a la ec. de Laplace y la solucin tiende a ser una recta que une los valores de contorno, mientras que para Pe grandes y o positivos el uido va en la direccin +x y arrastra el valor de la condicin aguas arriba una cierta o o longitud hasta que a una distancia pequea sube rpidamente para tomar el valor dado por la n a condicin en x = 1. o La discretizacin numrica pasa por reemplazar las derivadas por diferencias numricas o e e Pe = j (j+1 2j + j1 )/h2
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti


x
(3.76) (3.78) 51

  

Cap tulo 3. El metodo GMRES

Seccin 3.11. Gu Nro 3. GMRES o a y j = (j+1 j1 )/(2h) (3.79) Lamentablemente, esta discretizacin falla cuando el Pe o 1, en el sentido de que produce fuertes oscilaciones numricas. La solucin usual es agregar una cierta cantidad de difusin numrica, es decir e o o e que se modica la ecuacin original a o (k + knum ) a = 0 donde knum Peh Realizar las siguientes tareas: 1. Calcular la matriz para Peh = 0.01, 1 y 100 2. Calcular los autovalores. Ver la distribucin en el plano complejo. o 3. Vericar que la matriz no es simtrica. Ver que la parte correspondiente a es simtrica e e mientras que la que corresponde a es antisimtrica. e 4. Ver a que tiende la matriz para k 0. Es diagonalizable? 5. Resolver por GMRES y CGNE. 6. Pensar como se podr hacer para calcular AT x sin construir A. a = (ah/2) = ah 2k 1 1 Peh tanh(Peh ) (3.81) (3.82) (3.80)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

52

Cap tulo 4

Descomposicin de dominios. o
Consideremos la solucin de una ecuacin en derivadas parciales en un dominio como muestra la o o gura 3.1. Descomponemos el problema en dos dominios de manera que podemos separar las incgnitas o en x en tres grupos, aquellos que estn estrictamente contenidos en el dominio de la izquierda x1 , los a estricatamente contenidos en el dominio de la derecha x3 y los que estn sobre la interfase x2 . La a ecuacin se descompone en bloques de la siguiente forma o A11 A12 0 x1 b1 A21 A22 A23 x2 = b2 (4.1) 0 A32 A33 x3 b3 La descomposicin en bloques reeja el hecho de que como los grados de libertad contenidos en x1 o y x3 no estn compartidos por ningn elemento, los bloques correspondientes A13 y A31 son nulos. a u Podemos eliminar x1 y x3 de la primera y ultima l nea de ecuaciones y obtener una ecuacin para los o grados de libertad de interfase x2 (A23 A1 A32 + A22 A21 A1 A12 )x2 = b2 33 11 S x2 = b 2 (4.2) (4.3)

Ahora consideremos resolver este sistema por GC. En cada iteracin debemos calcular el producto o de la matriz entre parntesis por un vector x2 . Para los trminos primero y tercero de la matriz es e e necesario factorizar y resolver un sistema lineal con las matrices A33 y A11 . Esto corresponde a resolver problemas independientes sobre cada uno de los dominios con condiciones Dirichlet sobre la interfase, por lo tanto estos problemas pueden ser resueltos en procesadores independientes lo cual implica un alto grado de paralelizacin del problema. Esto se puede extender a ms procesadores, y en el l o a mite podemos lograr que en cada procesador se resuelva un sistema lineal lo sucientemente pequeo como n para ser resuelto en forma directa. La eciencia del mtodo puede ser mejorada an ms encontrando e u a un buen precondicionamiento. Si separamos la matriz S que aparece en el sistema (4.3) en la contribucin por el dominio de la o izquierda SL y de la derecha SR S SL SR = SR + SL = (1/2)A22 = A21 A1 A12 11 + (1/2)A22 A23 A1 A32 33 (4.4) (4.5) (4.6)

Entonces podemos poner como precondicionamiento


1 1 M = (1/4) (SL + SR )

(4.7)

53

Cap tulo 4. Descomposicion de dominios.

Seccin 4.1. Condicionamiento del problema de interfase. Anlisis de Fourier. o a

Figura 4.1: Descomposicin de dominios. Problema del continuo. o Es M un buen precondicionamiento? O mejor dicho: Porqu habr M de parecerse a S 1 ? Bien, si e a el operador es simtrico (el laplaciano lo es) y los dominios son iguales y la malla es simtrica, entonces e e puede verse que SL = SR y entonces M y S 1 coinciden
1 M = S 1 = (1/2)SL

Por otra parte resolver x = M y es equivalente a resolver A11 A12 A21 (1/2) A22 (1/2) A22 A23 A32 A33 y despus e x = (1/2)(x2L + x2R ) (4.11) y el punto es que ambos sistemas (4.9) y (4.10) equivale a resolver problemas independientes con condiciones tipo Neumann sobre la interfase. De nuevo, el hecho de que ambos problemas sobre cada dominio sean independientes favorece la paralelizacin del algoritmo. o x1 x2L x2R x3 = 0 (1/2) y (1/2) y 0 (4.9)

4.1

Condicionamiento del problema de interfase. Anlisis de Foua rier.

Obviamente la aplicabilidad de la descomposicin de dominios descripta depende del nmero de iteo u raciones necesarias para resolver el problema de interfase y por lo tanto del nmero de condicin u o de la matriz complemento de Schur S o de su precondicionada M S. Para hacer una estimacin de o estos nmeros de condicin nos basaremos en un anlisis de Fourier del problema del continuo para u o a

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

 

 
(4.8) (4.10) 54

   

Cap tulo 4. Descomposicion de dominios.

Seccin 4.1. Condicionamiento del problema de interfase. Anlisis de Fourier. o a la ecuacin de Laplace. Las ecuaciones de gobierno son o = f en = en 1 (4.12) (4.13) (4.14) Consideremos la solucin en dos dominios 1 , 2 . La restriccin de a cada uno de los dominios debe o o satisfacer 1 = f en 1 1 = 1 en 1 (4.15) (4.16) (4.17) y 2 = f en 2 2 = 2 en 2 (4.18) (4.19) (4.20) y la continuidad de y su derivada normal a travs de I e (1 )I = (2 )I 1 2 = x I x (4.21) (4.22)
I

Ahora consideremos una descomposicin = + , de manera que = 0 en I , es decir o 1 = f en 1 1 = 1 en 1 1 = 0 en I y 2 = f en 2 2 = 2 en 2 2 = 0 en I y por lo tanto falta hallar denido por 1 = 0 en 1 1 = 0 en 1 1 = u en I y 2 = 0 en 2 2 = 0 en 2 2 = u en I
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(4.23) (4.24) (4.25)

(4.26) (4.27) (4.28)

(4.29)

(4.30) 55

Cap tulo 4. Descomposicion de dominios.

Seccin 4.1. Condicionamiento del problema de interfase. Anlisis de Fourier. o a donde u es una incgnita del problema y debe ser tal que o 1 x donde = b 1 x
I

2 x

= b
I

(4.31)

2 x

(4.32)
I

Denimos ahora el operador de Stekhlov-Poincar S1 del dominio 1 como e S1 {u} = 1 1 = n x (4.33)

donde 1 denota la derivada normal tomando la normal exterior al dominio en cuestin, que para el o n dominio 1 coincide con la direccin de +x, y 1 es la solucin de (4.29), para el correspondiente u. o o Anlogamente se puede denir S2 por a S2 {u} = 2 2 = n x (4.34)

donde 2 est denido en funcin de u por (4.30) y el signo viene de que la normal exterior a 2 a o sobre I va ahora segn la direccin x . Entonces u o S{u} = g (4.35)

donde S = S1 + S2 . Ec. (4.35) es la versin del continuo de (4.3). Calcularemos el nmero de condicin de S a partir o u o del clculo de autovalores de S. a Cada uno de los operadores de Stekhlov-Poincar acta sobre el espacio de funciones denidas e u sobre I . Podemos mostrar que las funciones de la forma um = sin(km y), km = m/L, m = 1, 2, . . . , (4.36)

son autofunciones de estos operadores. La solucin 1 que es solucin de (4.29) correspondiente a o o u = um es de la forma 1 = (x) sin(km y), (4.37) Reemplazando en las ecuaciones que denen (4.29), la primera de las ecuaciones resulta ser
2 km = 0

(4.38)

de donde (x) = a ekm y + b ekm y y de las condiciones de contorno en x = 0, L1 resulta ser sinh km y (x) = sinh km L1 la derivada normal en I es entonces 1 cosh km L1 km = km = n sinh km L1 tanh km L1
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(4.39)

(4.40)

(4.41) 56

Cap tulo 4. Descomposicion de dominios.

Seccin 4.1. Condicionamiento del problema de interfase. Anlisis de Fourier. o a de manera que S1 {um } = km tanh km L1 km tanh km L1 km tanh km L2 um (4.42)

Vemos entonces, que um es una autofuncin de S1 con autovalor o 1 = m Anlogamente, el operador S2 tiene autovalores a 2 = m El operador S tiene autovalores m = km 1 1 + tanh km L1 tanh km L2 (4.45) (4.44) (4.43)

Ahora bien, dijimos que estimar amos el nmero de condicin de la matriz S a partir de los autovalores u o de S. En el continuo S tiene innitos autovalores y los m van a innito para m , de manera que el nmero de condicin de S va a innito. Obtendremos una estimacin para el nmero de condicin u o o u o de S asumiendo que los autovalores de S se aproximan a los primeros NI autovalores de S, donde NI es la dimensin de S. El autovalor ms bajo es o a min = 1 = si L1 = L2 = L/2, entonces min = L 1 1 + tanh(L1 /L) tanh(L2 /L) 2 13.6 = L tanh(1/2) L (4.46)

(4.47)

El autovalor mximo se obtiene para m = NI y asumiendo que NI a 1 y L1 /L, L2 /L no son demasiado pequeos, entonces km L1 = NI L1 /L n 1 y tanh km L1 1 y similarmente tanh km L2 1 y por lo tanto max = 2km = 2NI /L (4.48) y el nmero de condicin es u o (S) tanh(1/2) NI = 0.46 NI (4.49) Notar que (S) va como 1/h al renar, mientras que recordemos que el nmero de condicin de A (la u o matriz del sistema) va como 1/h2 (Gu de ejercicios Nro. 1). a Otro punto interesante a notar es que, para m los autovalores tienden a hacerse independientes de las longitudes de los dominios en la direccin normal a la interfase. Por ejemplo, para los o 1 de S , L aparece en el argumento de la tangente hiperblica y esta tiende a 1 para autovalores m o 1 1 m , independientemente del valor de L1 . Incluso puede verse que para m los autovalores se hacen independientes del tipo de condicin de contorno sobre el borde opuesto (es decir sobre x = 0). o Esta observacin se basa en el hecho de que el operador de Laplace es muy local. Si u es de la forma o sin my/L sobre I , entonces la longitud de onda es = 2L/m la cual se va achicando a medida que m . Las perturbaciones inducidas decaen como en/ donde n es una coordenada en la direccin o normal a I y si es muy pequeo la perturbacin no llega al contorno opuesto. n o Ahora consideremos los autovalores del problema precondicionado. Como todos las um de la forma (4.36) son autofunciones de los operadores S1 , S2 y S, entonces los autovalores de M S son 1 1 aproximadamente los primeros NI autovalores de (1/4)(S1 + S2 )(S1 + S2 ), es decir prec = (1/4) [(1 )1 + (2 )1 ] (1 + 2 ) m m m m m
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(4.50) 57

Cap tulo 4. Descomposicion de dominios.

Seccin 4.1. Condicionamiento del problema de interfase. Anlisis de Fourier. o a Como mencionamos previamente (ver pg. 53), si el problema es simtrico (en el caso del continuo a e basta con L1 = L2 , en el caso del discreto adems la malla tambin tiene que ser simtrica alrededor a e e de x = 1/2), entonces M = S 1 . En el caso del continuo ocurre lo mismo ya que si los dos dominios son iguales, entonces 1 = 2 (4.51) m m y por lo tanto prec = 1 para todo m. Si L1 = L2 , entonces puede verse que para m grandes 1 2 m ya que ambos se hacen independientes de L1,2 y de la condicin de contorno en el contorno opuesto y o por lo tanto prec 1 para m (4.52) m Pero entonces esto quiere decir que (M S) se hace independiente de NI para m sucientemente grandes. Este resultado es muy importante desde el punto de vista prctico, el nmero de condicin a u o del problema precondicionado no se deteriora bajo renamiento para el precondicionamiento Dirichletto-Neumann.

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

58

Parte II

Mtodos iterativos para la resolucin e o de ecuaciones no-lineales

59

Cap tulo 5

Conceptos bsicos e iteracin de punto a o jo


Queremos resolver un sistema no-lineal de la forma F (x) = 0, F : IRN IRN (5.1)

Denotaremos con fi la i-sima componente de F . Si bien muchos de los mtodos son aplicacbles a e e sistemas generales de ecuaciones no-lineales, en general tendremos en mente sistemas que provienen de la discretizacin por FDM o FEM de PDEs. Por ejemplo: o Ec. de Burgers: Consideremos la ecuacin de adveccin difusin que ya viramos como un sistema o o o e que genera ecuaciones no-simtricas (Gu 3) y representa el transporte uni-dimensional de una e a cantidad escalar u por un uido con valocidad a y difusividad k. La ecuacin de adveccin o o difusin es de la forma o 2u u k 2 =0 (5.2) a x x con condiciones de contorno Dirichlet u(0) = 0, u(1) = 1. La ecuacin de Burgers representa una o complejidad adicional en la cual la velocidad de propagacin a depende de la misma cantidad u, o es decir u 2u a(u) k 2 =0 (5.3) x x Si a(u) no es constante, entonces la ecuacin pasa a ser no lineal y dependiendo de la forma de o a(u) la ecuacin puede desarrollar ondas de choque (shock waves por lo cual esta ecuacin o o es un modelo muy simple para problemas mucho ms complicados de mecnica de uidos como a a las ecuaciones de uidos compresible o la de propagacin de ondas de gravedad en canales (Ecs. o de Saint-Venant). El caso ms simple que desarrolla ondas de choque es tomar a(u) = u y puede a ser puesto de la forma 1 u2 2u k 2 =0 (5.4) 2 x x Notemos que si k = 0 entonces las soluciones son de la forma u2 =cte, o sea u = u0 . Los puntos de discontinuidad donde u pasa de u0 a u0 son las ondas de choque y pueden ser de compresin si las caracter o sticas de un lado y del otro de la discontinuidad uyen hacia la misma o de descompresin en caso contrario. En el caso de la ec. de Burgers discutida aqu o , la velocidad de las caracter sticas es a(u) de manera que es positiva si u > 0 y viceversa, por lo tanto las ondas de choque donde u pasa de +u0 a u0 en el sentido de x positivo son de 60

Cap tulo 5. Conceptos basicos e iteracion de punto fijo

compresin y viceversa. Un resultado interesante es que al agregar una pequea difusividad o o n un trmino temporal las ondas de choque de compresin tienden a permanecer estable, mientras e o que las de decompresin se desarman en abanicos de expansin. En el caso de la propagacin o o o de ondas de gravedad en canales, las dicontinuidades se llaman resaltos hidrulicos. a Ec. de adveccin difusin con cambio de fase : (Tambin llamado Problema de Stefan) Cono o e sideremos ahora la ecuacin de adveccin-difusin no-lineal para el balance de energ o o o a aCp T x x k T x =0 (5.5)

donde es la densidad Cp el calor especi co y k la conductividad. Asumimos condiciones Dirichlet de la forma T (0) = T 0, T (L) = TL . Cp y k son propiedades del material y, en general, pueden depender de la temperatura, en cuyo caso las ecuaciones resultantes son nolineales. Podemos denir la entalp como a
T

h(T ) =
T0

Cp (T ) dT

(5.6)

h(T ) representa el calor necesario para llevar al material desde una temperatura de referencia T0 a otra T . La ecuacin (5.5) queda entonces como o a h(T (x)) x x k T x =0 (5.7)

En el caso de haber un cambio de fase a una temperatura Tm dada, se necesita una cantidad nita de calor L llamada calor latente para llevar al material desde Tm hasta Tm + , es decir que la curva de entalp h(T ) tiene una discontinuidad en Tm . Notemos que entonces a Cp (T ) de (5.6) tiene un comportamiento tipo (T Tm ) donde es la distribucin delta de Dirac. o La ecuacin del calor con cambio de fase sigue siendo vlida en el sentido de las distribuciones o a debido a la derivada de la entalp con respecto a x. Integrando entre dos puntos x1 y x2 se a llega a un balance de energ de la forma a q2 q1 = k T x k
x2

T x

= a[h(T2 ) h(T1 )] = ah
x1

(5.8)

donde q = k (T /x) es el ujo de calor y h es el incremento de entalp de T1 a T2 . Haciendo a tender x1,2 por derecha y por izquierda al punto donde se produce el cambio de fase x = s, es decir tal que T (s) = Tm tenemos el balance de energ en la interfase a k T x k
s+

T x

= aL
s

(5.9)

Entonces, el problema puede ponerse como un problema de frontera libre de la siguiente manera aCp T x x k T x = 0, en 0 < x < s, s < x, L (5.10)

con condiciones de contorno T (0) = T0 , T (L) = TL , y condiciones de empalme en la interfase, T x T (s+ ) = T (s ), T k = aL, x s T (s) = Tm , continuidad de la temperatura balance de energ en la interfase a posicin de la interfase o (5.11) (5.12) (5.13)

s+

Este problema es no-lineal debido a la determinacin de la posicin de la interfase s. o o


Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

61

Cap tulo 5. Conceptos basicos e iteracion de punto fijo

Seccin 5.1. Tipos de convergencia o

h(T)

Tm

Cp

Tm

Figura 5.1: Curva de entalp para un material con cambio de fase a La base de muchos mtodos es hacer un desarrollo de Taylor alrededor de la iteracin xn de la e o forma F (x) F (xn ) + F (x) (x xn ) (5.14) donde {F (x)}ij = fi (x) xj (5.15)

El Teorema Fundamental del Clculo dice que a Teorema 4.0.1: Sea F diferenciable en un conjunto abierto IRN y sea x . Entonces para todo x sucientemente cerca de x tenemos que F (x) F (x ) =
0 1

F (x + t(x x )) (x x ) dt

(5.16)

5.1

Tipos de convergencia

Los mtodos iterativos se clasican de acuerdo a como convergen a la solucin e o Denicin 4.1.1. Sea {xx } IRN y x IRN . Entonces o xn x q-cuadrticamente si xn x y existe una constante K > 0 tal que a xn+1 x K xn x
2

(5.17)

para n sucientemente grande. para n sucientemente grande. xn x q-superlinealmente con q-orden > 1 si xn x y existe una constante K > 0 tal que xn+1 x K xn x
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(5.18) 62

Cap tulo 5. Conceptos basicos e iteracion de punto fijo

Seccin 5.2. Iteracin de punto jo o o xn x q-superlinealmente si


n

lim

xn+1 x =0 xn x

(5.19)

xn x q-linealmente con q-factor 0 < < 1 si xn+1 x xn x para n sucientemente grande. Notar que para la convergencia lineal no es necesario el requisito de que la serie converge a x ya que esto es un consecuencia directa de (5.20), mientras que en el caso cuadrtico y superlineal esto a solo ocurre si alguno de los xn es tal que el producto K xn x < 1 (ms sobre esto despus). a e Denicin 4.1.2.: Un mtodo iterativo se dice que converge localmente q-cuadrticamente, suo e a perlinealmente, linealmente, etc... si sus iteraciones convergen q-cuadrticamente, etc... asumiendo a que el valor inicial x0 est sucientemente cerca de la solucin x . a o Obviamente la convergencia cuadrtica es una convergencia super-lineal de orden 2. a Notar que la nocin de convergencia local no tiene nada que ver con la global. la convergencia o global es mucho ms dif de determinar que en sistemas lineales (ms sobre esto despus) pero s se a cil a e puede decr mucho sobre la convergencia local, basndose en un anlisis linealizado. a a Ac tambin vale la contraposicin entre precisin (aqu rapidez de convergencia) y estabilidad. a e o o Aquellos algoritmos que exhiben muy buenas tasas de convergencia (como Newton) tienden a ser los ms inestables si se miran desde el punto de vista global. Adems, cuando se comparan diferentes a a mtodos debe adems evaluarse el costo computacional de la iteracin. e a o (5.20)

5.2

Iteracin de punto jo o

Muchos sistemas de ecuaciones no-lineales se pueden poner naturalmente de la forma x = K(x) (5.21)

donde K es un mapeo no-lineal. Una solucin x de (5.21) se llama un punto jo del mapeo K. La o iteracin de punto jo es o xn+1 = K(xn ) (5.22) Esto se conoce tambin como iteracin no-lineal de Richardson, iteracin de Picard o mtodo de e o o e sustitucines sucesivas. o Recordemos que dado IRN y G : IRN , G es continua Lipschitz con constante de Lipschitz si G(x) G(y) x y , para todo x, y . Denicin 4.2.2.: K es un mapeo de contraccin si K es Lipschitz continua con constante de o o Lipschitz < 1 Teorema 4.2.1. del mapeo de contraccin. Sea un subconjunto cerrado de IRN y K un o mapeo de contraccin tal que K(x) para todo x , entonces existe un unico punto jo x de o K y la iteracin de Richardson (5.22) converge linealmente a x con factor para cualquier x0 inicial o x0 .

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

63

Cap tulo 5. Conceptos basicos e iteracion de punto fijo

Seccin 5.2. Iteracin de punto jo o o Demostracin: Sea x0 , entonces es fcil ver que xn para todo n 1. La secuencia {xn } o a es acotada ya que xi+1 xi = K(xi ) K(xi1 ) xi xi1 y entonces
n1 i

(5.23) (5.24) (5.25) (5.26)

x1 x0

xn x0

=
i=1 n1

xi+1 xi xi+1 xi
i=1 n1

(5.27)

(5.28) i

x1 x0
i=1

(5.29) (5.30)

Anlogamente, puede mostrarse fcilmente que a a

1 x1 x0 1 n x1 x0 1

xn+k xn

(5.31)

de manera que {xn } es una secuencia de Cauchy y tiene un l mite x . Si K tiene dos puntos jos x , y entonces x y = K(x ) K(y ) x y (5.32) Pero esto es una contradiccin ya que asumimos < 1. 2 o Un caso t pico de problema que lleva a un punto jo no-lineal es la resolucin de ODEs (Ordinary o Dierential Equations) no-lineales. Consideremos un tal sistema de la forma y = f (y), y(t0 ) = y0 (5.33)

Discretizando por el mtodo de Backward Euler, llegamos a e y n+1 y(n) = hf (y n+1 ) donde y k y(t0 + hk) y h es el paso de tiempo. Ec. (5.34) es un sistema de ecuaciones no-lineal en y = K(y) = y n + h f (y) Asumiendo que f es acotada y Lipschitz continua f (y) m y f (x) f (y) m x y (5.37) y n+1 de la forma (5.36) (5.35) (5.34)

para todos x, y, entonces si elegimos h sucientemente chico tal que hM < 1, podemos ver que K(x) K(y) = h f (x) f (y) hM x y (5.38)

Con lo cual podemos ver que para h sucientemente pequeo el esquema resulta ser convergente para n cada paso de tiempo. La convergencia local se puede estudiar, viendo que el hecho de que K sea un mapeo de copntraccin o implica que K < 1. En el caso de una sola dimensin o
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

64

Cap tulo 5. Conceptos basicos e iteracion de punto fijo

Seccin 5.3. Suposiciones estndar o a

y=x y K(x)

x2

x1

x0

Figura 5.2: Convergencia montona en el caso 0 < K (x ) < 1 o

y=x y

K(x)
x1 x3

x*

x2

x0

Figura 5.3: Convergencia oscilatoria en el caso 1 < K (x ) < 0

5.3

Suposiciones estndar a

En el marco de mtodos no-lineales aparecen frecuentemente suposiciones sobre la continuidad de la e funcin residuo F (x). Llamaremos a estas suposiciones estndar y haremos frecuente mencin a las o a o mismas. Las usaremos inmediatamente para demostrar la convergencia del Mtodo de Newton. e Suposicin 3.4.1. o 1. La ecuacin (5.21) tiene una unica solucin x o o 2. F < IRN N es Lipschitz continua con constante de Lipschitz 3. F (x ) es no-singular. Denotaremos por B(r) la bola de radio r alrededor de x . Lema 4.3.1. Asumiendo las suposiciones 4.3.1., entonces existe > 0 tal que para todo x B() F (x) 2 F (x ) F (x)
1

(5.39)
1

2 F (x )
1

(5.40) e (5.41)

/2 F (x)1

e F (x) 2 F (x)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

65

Cap tulo 5. Conceptos basicos e iteracion de punto fijo

Seccin 5.3. Suposiciones estndar o a

K(x) y=x y

x0

x1 x3 x2

Figura 5.4: Divergencia montona en el caso K (x ) > 1 o

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

66

Cap tulo 6

Mtodo de Newton e
Supongamos que tenemos xn y queremos obtener xn+1 . Haciendo un desarrollo de Taylor a primer orden en s = xn+1 xn e igualando este desarrollo a cero obtenemos una ecuacin lineal para xn+1 o F (xn+1 ) F (xn ) + F (xn ) (xn+1 xn ) = 0 De donde sale xn+1 = xn F (xn )1 F (xn ) Podemos verlo como una iteracin de punto jo para o x = K(x) = x F (x)1 F (x) En adelante denotaremos tambin e xn como xc por current (actual) xn+1 como x+ el estado avanzado (6.4) (6.5) (6.6) Teorema 5.1.1.: Asumiendo las suposiciones estndar 3.4.1., entonces existe K > 0 y > 0 tales a que si xc B(), entonces xc y x+ relacionados por la iteracin de Newton o x+ = xc F (xc )1 F (xc ) satisfacen e+ K ec
2

(6.1)

(6.2)

(6.3)

(6.7)

(6.8)

Demostracin: Sea sucientemente pequeo tal que valen las conclusiones del Lema 4.3.1. Por el o n Teorema 4.0.1 tenemos que e+ = ec F (xc )1 F (xc ) = ec F (xc )1
0 1

(6.9) F (x + tec ) ec dt (6.10) (6.11)

= F (xc )1
0

F (xc ) F (x + tec ) ec dt

67

Cap tulo 6. Metodo de Newton

De manera que, e+ F (xc )1


0 1

F (xc ) F (x + tec )
1

ec dt

(6.12) (6.13) (6.14) (6.15) (6.16)

F (xc )1 F (xc )1 2 K ec 2
0

(1 t) dt ec ec
2

tomando K = F (xc )1 . 2 2 Sin embargo, notar que la relacin (6.8) no implica automticamente la convergencia ya que, o a por ejemplo la serie xn = n la satisface y sin embargo diverge. Para que esta relacin implique o convergencia hay que imponer que la iteracin inicial est sucientemente cerca de la solucin, de o e o manera que K x0 x < 1. Teorema 5.1.2.: Existe tal que si x0 B(), entonces Newton converge cuadrticamente. a Demostracin: Sea sucientemente pequeo tal que vale el Teorema 5.1.1. y adems K = o n a < 1, entonces en+1 K en 2 en (6.17) de manera que xn+1 B() B() y entonces en+1 n e0 (6.19) y xn x converge q-quadrticamente. 2 a Es util la convergencia local? La suposicin de que x0 B(), es decir que x0 este sucien o puede parecer un poco articial, pero hay situaciones en las que esto ocurre temente cerca de x naturalmente. Integracin impl o cita de ODEs: Sea una sistema de ODEs de la forma y = f (y) Haciendo una discretizacin con el mtodo de Backward Euler tenemos o e y n+1 y n = f (y n ) t (6.21) (6.20) (6.18)

Lo cual representa un sistema de ecuaciones no-lineal en y n+1 para cada paso de tiempo. Ahora si consideramos y n+1 como funcin de t, vemos que se acerca a y n para t 0, de manera o que tomando un paso de tiempo sucientemente pequeo garantizamos la convergencia de la n resolucin del sistema no-lineal en cada paso de tiempo o Renamiento de soluciones numricas: Supongamos que estamos resolviendo un problema de e mecnica del continuo por FDM o FEM. Es usual ir renando la malla hasta obtener una solucin a o aceptable. Si el problema a resolver es no-lineal, es usual inicializar el esquema iterativo en la malla ms na h = h2 (h= paso de la malla) con una interpolacin de la solucin en la malla ms a o o a gruesa h = h1 . Es de esperar que si el esquema de discretizacin es convergente las soluciones o en las dos mallas esten muy prximas entre s o .
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

68

Cap tulo 6. Metodo de Newton

1e-12

Figura 6.1: Determinacin del orden de convergencia. (En este caso cuadrtica.) o a Mtodo de continuacin: e o parmetro a Muchas veces tenemos un problema no-lineal dependiente de un F (x, ) = 0 (6.22)

puede ser un parmetro f a sico (el nmero de Reynolds en un problema de mecnica de uidos, u a o la carga aplicada en un problema de elasticidad). En cierto rango de el problema es lineal (pequeos nmeros de Reynolds, pequeas cargas) y se hace ms no-lineal en otro rango. La n u n a idea es que tal vez si podemos resolver el problema para un cierto valor de , entonces tomando esta solucin x como inicializacin para + para pequeo, tengamos muchas ms o o n e probabilidades de converger. Notar que haciendo arbitrariamente pequeo, las soluciones n tambin tienden a acercarse tan cerca como uno quiera. Adems, muchas veces el contar con la e a solucin para todo el rango de valores de tiene su propio inters (esto es cierto en los ejemplos o e mencionados). Por otra parte la convergencia local describe siempre como ser la convergencia en la etapa nal, a independientemente del proceso inicial. Cmo se determina experimentalmente el orden de convergencia. Como siempre, lo ms o a usual es gracar el error versus el nmero de iteracin. La convergencia lineal da una recta, pero u o las convergencias de ms alto orden son un poco ms dif de determinar. En ese caso, La mejor a a cil forma de determinar el orden de convergencia de un algoritmo es gracar log-log en+1 versus en y estimar la pendiente de la curva, que determina el orden convergencia. Por ejemplo en la gura 6.1 vemos el grco correspondiente al mtodo de Newton y, por lo tanto, se espera una convergencia a e cuadrtica. Vemos que hay una cierta proximidad a la relacin cuadrtica. Hay que tener en cuenta a o a que, debido a la rapidez de la convergencia, usualmente se observan pocos puntos en la curva. Notar que, cuando se entra en la zona de convergencia cuadrtica las razones entre dos residuos sucesivos se a comportan cuadrticamente. Es decir, asumiendo que la igualdad vale en (6.8), a en+1 K en 2 = = en K en1 2 en en1
2

Digamos por ejemplo que si el residuo baja dos rdenes de magnitud en una iteracin, en la siguiente o o bajar 4. Esto es fcil de vericar mediante una simple cuenta. a a
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

1e-06

0.0001

0.01

$    

"     #!

  
0.0001 1e-08 1

(6.23)

69

Cap tulo 6. Metodo de Newton

Seccin 6.1. Criterios de detencin de la iteracin o o o

6.1

Criterios de detencin de la iteracin o o

A partir de los resultados del Lema 4.3.1. podemos demostrar que la norma del residuo es equivalente a la del error. Tomando la desigualdad izquierda de (5.41) en x y la derecha en x0 tenemos que F (x) F (x )1 F (x0 ) 2 F (x ) Dividiendo miembro a miembro, F (x) e0 F (x0 ) 4 e0 (F (x )) Anlogamente puede demostrarse una cota inferior para e y queda a 1 e F (x) e 4 4 e0 F (x0 ) e0 (6.27) (6.26)
1

e /2 e0

(6.24) (6.25)

1 1

donde = (F (x )). Recordemos que para sistemas lineales ten amos la opcin de detener el proceso de en base a o r / r0 o r / b . Aqu ya no existe naturalmente el concepto de miebro derecho b, pero por muchas veces los sistemas no-lineales provenientes de sistemas f sicos consisten en una serie de trminos. Puede e tomarse entonces como referencia quel trmino que sea relativamente independiente de la solucin y a e o tambin que sea un trmino relativamente inportante dentro del balance. e e En la versin de los macros de Kelley tenemos dos parmetros que controlan la detencin del o a o esquema, a saber una tolerancia absoluta a y una relativa r . El esquema se detiene cuando F (x) r F (x0 + a (6.28)

Poniendo + r a cero, el esquema se detiene cuando se obtiene el criterio absoluto y viceversa. Si ambos no son nulos, resulta en un criterio mixto. Otra forma de detener el algoritmo es en base al tamao del paso s n s = x+ xc = F (xc )1 F (xc ) (6.29)

y detener cuando s sea chico. Este criterio tiene su justicacin en la convergencia cuadrtica o a ya que ec = s + e+ = s + O( ec )
2

(6.30) (6.31)

Lo cual indica que si estamos sucientemente cerca de la solucin, entonces prcticamente el paso s o a es el error. Esto no es cierto para otros mtodos si la convergencia no es tan buena. Por ejemplo consideremos e convergencia lineal e+ ec (6.32) Entonces, ec de donde e+ + s ec + s 1 s 1 De manera que en este caso slo es vlido asumir s ec si o a muy rpidamente. a ec
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(6.33) (6.34) (6.35) 1, es decir si el algoritmo converge

70

Cap tulo 6. Metodo de Newton

Seccin 6.2. Implementacin de Newton o o

6.2

Implementacin de Newton o

En cuanto al conteo de las operaciones involucradas, asumiremos que se usa un mtodo directo pae ra resolver el paso de Newton (podr amos usar un mtodo iterativo.) Tambin asumiremos que el e e jacobiano es denso. Bsicamente el mtodo s ebasa en a e 1. Clculo del residuo F (xc ) a 2. Clculo del jacobiano F (xc ) a 3. Factorizacin del jacobiano o 4. Resolucin del sistema lineal para el paso s o 5. Update (actualizacin) del vector de iteracin x+ = xc + s. o o Normalmente los pasos ms costosos (en tiempo de mquina) son los 2 y 3 (para grandes problemas a a predomina (3)). En el caso de matrices densas la factorizacin requiere O(N 3 ) operaciones de punto o otante. Si evaluamos F por diferencias nitas, entonces la columna j se puede aproximar por diferencias centradas como [F (xc ) ej ] F (xc + hej ) F (xc hej ) 2h (6.36)

Esto requiere 2 evaluaciones del residuo. Asumiremos que cada evaluacin del residuo require O(N ) o operaciones. Como hay que evaluar N el costo total de la evaluacin del jacobiano es de O(2N 2 ) ops. o Si usamos diferencias avanzadas [F (xc ) ej ] F (xc + hej ) F (xc ) h (6.37)

entonces el F (xc ) se puede calcular una sola vez y el costo baja a O((N + 1)N ) ops. con un sacricio en la precisin. o En muchos casos el jacobiano puede ser evaluado directamente, con la consiguiente ganancia en rpidez y precisin, pero en otros casos el clculo del jacobiano es una tarea muy laboriosa (en cuanto a o a a la programacin). o Interface de los scripts dentro del paquete de Kelley: Los argumentos de entrada son el estado inicial x, el mapeo F denido como el nombre de una funcin, y un vector de tolerancias o = [a r ]. Algoritmo newton(x, F, ) 1. r0 = F (x) 2. Do while F (x) > r r0 + a a. Calcule F (x) b. Factorice F (x) = LU c. Resolver LU s = F (x) d. x = x + s e. Evaluar F (x)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

71

Cap tulo 6. Metodo de Newton

Seccin 6.3. Sub-relajacin de Newton o o

y
x(2n+1) x3 x1 x*

F(x)

x
x0 x2 x(2n)

Figura 6.2: Newton no converge globalmente en ciertos casos.

6.3

Sub-relajacin de Newton o

Muchas veces Newton puede no converger globalmente. Un caso t pico es cuando la curva tiene una forma tipo S como en la gura. El algoritmo puede caer en un lazo, del cual no puede salir. Una forma de evitar esto es agregar sub-relajacin. Bsicamente es escalear el incremento s por una o a constante de relajacin a determinar o xn+1 = xn F (xn )1 F (xn ) (6.38)

Poniendo = 1 recuperamos Newton, con pequeos tendemos a frenarlo y por lo tanto hacerlo ms n a estable. Por ejemplo, con = 0.4 el mismo caso se vuelve convergente, ver gura 6.3. En el caso de converger, la convergencia con subrelajacin (en general con = 1) ser slo lineal, ver gura 6.4. o a o Una posibilidad de recuperar la convergencia cuadrtica es volver el parmetro de relajacin a = 1 a a o una vez que el residuo bajo sucientemente. A partir de ah la convergencia ser cuadrtica, si el , a a algoritmo converge. Esto esta reejado en el siguiente algoritmo nwtnsubr. Algoritmo nwtnsubr(x, F, ini , ) 1. r0 = F (x) 2. Do while F (x) > r r0 + a a. Calcule F (x) b. Factorice F (x) = LU c. Resolver LU s = F (x) d. if F (x) rel then = ini
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

72

Cap tulo 6. Metodo de Newton

Seccin 6.4. Update condicional del jacobiano. Mtodos de la cuerda y Shamanskii o e

y
x*

F(x)

x
x0 x1 x2

Figura 6.3: Newton subrelajado con = 0.4 converge globalmente. else =1 endif e. x = x + s f. Evaluar F (x) El algoritmo tiene dos parmetros adicionales a saber el factor de relajacin a ser usado en las a o iteraciones iniciales ini y la tolerancia rel para el residuo a partir del cual el factor de relajacin es o reseteado a 1, esta forma parte del vector . En la gura 6.4 vemos las historias de convergencia para Newton subrelajado y subrelajado slo inicialmente. Vemos que las dos curvas inicialmente son iguales o hasta que se llega a la tolerancia rel . A partir de alli el algoritmo converge cuadrticamente cuando se a deja de subrelajar, mientras que converge linealmente cuando se continua subrelajando. Por supuesto, la eleccin de los parmetros rel y ini es fundamental y usualmente se basa en la experiencia del o a usuario. Un ini o rel demasiado altos puede hacer que se pierda la convergencia, mientras que tomar los valores demasiado bajos redunda en una prdida de eciencia. e

6.4

Update condicional del jacobiano. Mtodos de la cuerda y Shae manskii

Suponiendo que el jacobiano no var mucho, podr a amos reducir mucho el costo si sacamos (2a) y (2b) del lazo. Es decir, reemplazar la iteracin por o x+ = xc F (x0 )1 F (xc ) Este es el mtodo de la cuerda, e Algoritmo chord(x, F, ) 1. r0 = F (x) 2. Calcule F (x) 3. Factorice F (x) = LU
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(6.39)

73

Cap tulo 6. Metodo de Newton

Seccin 6.5. El mtodo de Shamanskii o e


100

||F(x)||
1

0.0001 1e-06 1e-08 1e-10

Figura 6.4: Convergencia del mtodo de Newton subrelajado y subrelajado slo inicialmente. e o 4. Do while F (x) > r r0 + a a. Resolver LU s = F (x) b. x = x + s c. Evaluar F (x) La unica diferencia es que F es calculado y factorizado antes de empezar el lazo. El mtodo de la e cuerda puede ser localmente no-convergente.

6.5

El mtodo de Shamanskii e

Se basa en alternar una serie de m iteraciones tipo cuerda con una tipo Newton. El paso de xc a x+ es entonces = xc F (xc )1 F (xc ) = yj F (xc ) = ym
1

Notar que para m = 1 coincide con Newton y para m = coincide con el mtodo de la cuerda, e donde {yj } son las iteraciones. Otra forma de pensarlo es una modicacin al algoritmo de Newton o en el que el jacobiano es calculado y factorizado slo cada m iteraciones. o Algoritmo sham(x, F, , m) 1. r0 = F (x) 2. Do while F (x) > r r0 + a a. Calcule F (x) b. Factorice F (x) = LU c. Resolver LU s = F (x) i. Para j = 1 . . . , m ii. x = x + s
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

0.01

Newton subrelajado

Newton subrelajado inicialmente 1e-12 0 10 20 30 40 50 60 70 80 90 100

iter

y1 yj+1 x+

(6.40) (6.41) (6.42)

F (yj ) 1 j m 1

74

Cap tulo 6. Metodo de Newton

Seccin 6.6. Error en la funcin y las derivadas o o iii. Evaluar F (x) iv. Si F (x) r r0 + a salir El mtodo de Shamanskii converge localmente, como Newton. Sin embargo tambin puede requerir e e de subrelajacin para mejorar las propiedades de convergencia global. o

6.6

Error en la funcin y las derivadas o

Como ya mencionamos, el costo fundamental del mtodo de Newton es el clculo y la factorizacin del e a o jacobiano F (xc ). Entonces, la mayor de los mtodos alternativos se basan en la aproximacin del a e o jacobiano, por ejemplo el mtodo de la cuerda se basa en calcular el jacobiano una vez, factorizarlo e y no modicarlo en lo sucesivo. Otra posibilidad es que reemplazar F (xc )1 por la inversa de otra matriz que sea ms fcil de factorizar, o por una aproximacin a la inversa de F (xc )1 (factorizacin a a o o incompleta o aproximada). Veamos ahora como inuye el uso de una aproximacin as como errores o (probablemente de redondeo) en la evaluacin del residuo. Sea entonces la iteracin de la forma o o x+ = xc (F (xc ) + (xc ))1 (F (xc ) + (xc )) (6.43)

Podemos demostrar entonces el siguiente Teorema 5.4.1.: Asumamos vlidas las suposiciones estndar 5.3, entoces existe K > 0, , 1 > 0 a a tal que si xc B() y (xc ) < 1 entonces x+ est denida y satisface a e+ K ( ec
2

+ (xc )

ec +

(xc ) )

(6.44)

Demostracin: Con x+ est denida queremos bsicamente decir que F (xc ) + (xc ) es noo a a singular. Sea sufucuentemente pequeo tal que vale el lema 4.3.1. (seccin 5.3). Sea n o xN = xc F (xc )1 F (xc ) + la iteracin de Newton y notemos que o x+ = xN + [F (xc )1 (F (xc ) + (xc ))1 ] F (xc ) + (F (xc ) + (xc ))
1

(6.45)

(6.46) (6.47)

(xc )

Restando miembro a miembro la solucin x obtenemos una expresin para los errores, y tomando o o normas e+ eN + F (xc )1 (F (xc ) + (xc ))1 + + (F (xc ) + (xc ))
1

F (xc )

(6.48) (6.49)

(xc )

El primer trmino es el error que cometer e amos si usaramos el mtodo de Newton y por lo tanto est e a acotado por el Teorema 5.1.1. (ecuacin (6.8)). Con respecto al segundo trmino (el error cometido o e por la aproximacin en el jacobiano), el factor F (xc ) est acotado por el Lema 4.3.1. (seccin 5.3) o a o por (6.50) F (xc ) 2 F (x) ec El primer factor es ms complicado. Asumamos que tomamos (xc ) tal que a (xc ) 1 F (x )1 4
1

(6.51)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

75

Cap tulo 6. Metodo de Newton

Seccin 6.6. Error en la funcin y las derivadas o o Entonces, por el Lema 4.3.1. (pg. 5.3) a (xc ) 1 F (xc )1 2
1

(6.52)

y por el Lema de Banach (pg. 10) tenemos que F (xc )+(xc ) es no singular. Efectivamente, tomando a A = F (xc ) + (xc ) B = F (xc ) tenemos que I BA = = I F (xc )1 (F (xc ) + (xc )) F (xc ) F (xc )
1 1 1

(6.53) (6.54)

(6.55) (6.56) (6.57)

(xc ) (xc ) 1 F (xc )1 2


1

F (xc )1 1 2

por (6.52)

(6.58) (6.59)

Entonces vale el Lema de Banach, A = F (xc ) + (xc ) y por (1.88) A1 = (F (xc ) + (xc ))1 B 1 I BA F (xc )1 1 1 2 por Lema 4.3.1. (6.60) (6.61) (6.62) (6.63)

2 F (xc )1 4 F (x )1 de manera que F (xc )1 (F (xc ) + (xc )) F (xc ) F (xc ) F (xc )


1 1

(6.64)
1

(F (xc ) + (xc ) F (xc )) (F (xc ) + (xc )) (xc ) (xc ) (xc ) (F (xc ) + (xc )) 2 (F (xc )
1 1

(6.65) (6.66) (6.67) (6.68)

por (6.63)

8 F (x ) Volviendo entonces a (6.49) e+ K ec


2

1 2

por el Lema 4.3.1.

+ 16 F (x )1
1

F (x )

(xc )

ec (6.69)

+4 F (x ) Poniendo

(xc )
2

K = K + 16 F (x )1

F (x ) + 4 F (x )1

(6.70)

se llega a (6.44). 2 Ahora aplicaremos este resultado al mtodo de la cuerda. e

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

76

Cap tulo 6. Metodo de Newton

Seccin 6.7. Estimacin de convergencia para el mtodo de la cuerda o o e

6.7

Estimacin de convergencia para el mtodo de la cuerda o e


x+ = xc F (x0 )1 F (xc )

Recordemos que el mtodo de la cuerda es e (6.71)

En el lenguaje del teorema 5.4.1. (pg. 6.6) tenemos a (xc ) = 0 (xc ) = F (x0 ) F (xc ) Si xc , x0 B() entonces (xc ) x0 xc = (x0 x ) (xc x ) ( e0 + ec )

(6.72) (6.73)

(6.74) (6.75) (6.76)

Podemos estimar una estimacin de la convergencia aplicando el teorema 5.4.1. (pg. 6.6). o a Toerema 5.4.2. Asumamos las suposiciones estndar (pg. 5.3), entonces existe Kc > 0 y > 0 a a tales que si x0 B(), la iteracin de la cuerda (6.71) converge q-linealmente a x y o en+1 Kc e0 en (6.77)

Demostracin: Aplicando el Teorema 5.4.1 (pg. 6.6) con los valores (6.72,6.73)tenemos que o a en+1 K en
2

+ ( e0 + en ) en

(6.78) (6.79) (6.80)

K [ en (1 + ) + e0 ] en K (1 + 2) en Tomando sucientemente pequeo tal que n K (1 + 2) = < 1 entonces vemos que converge linealmente, por lo tanto en e0 y entonces en+1 K (1 + 2) e0 en

(6.81)

(6.82)

con lo cual el teorema queda demostrado poniendo Kc = K (1 + 2). 2 Igualmente, pueden establecerse la convergencia para el mtodo de Shamanskii y otros. Esto est e a discutido en ms detalle en el libro de Kelley. a

6.8

Aproximacin por diferencias del Jacobiano o

Un problema prctico que se encuentra en la prctica es como escoger la magnitud de la perturbacin a a o al hacer aproximaciones por diferencias nitas para el clculo del jacobiano. Nosotros queremos a aproximar el producto del jacobiano por una direccin arbitraria w como o F (x) w F (x + hw) + (x + hw) F (x) (x) h (6.83)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

77

Cap tulo 6. Metodo de Newton

Seccin 6.8. Aproximacin por diferencias del Jacobiano o o


10 E(h) 0.1 maquina de precision finita 0.001 1e-05 1e-07 1e-09 1e-20

1e-16

1e-12

1e-08

0.0001 h

maquina de precision infinita

Figura 6.5: Error por aproximacin por diferencias. o Como siempre, (x) representa aqu el error de redondeo. Es obvio que para h sucientemente pequeo n la representacin binaria de x + hw ser igual a la de x, de manera que la derivada aproximada o a numricamente dar cero. Por otra parte, para h muy grandes tendremos el error t e a ipico O(h) (para derivadas laterales) de la discretizacin numrica. Es de esperar entonces que haya un h ptimo para el o e o cul el error sea m a nimo. Efectivamente, llamando E(h) a la diferencia entre F (x) w y la discretizacin o numrica, y haciendo una expansin de Taylor de orden 2 para F (x + hw) en h obtenemos e o E(h) = F (x + hw) + (x + hw) F (x) (x) F (x) w h O(h + ) h (6.84) (6.85)

Notar que no podemos epxnadir (x + hw) debido a que, como es un error de redondeo, no podemos esperar que sea una funcin diferenciable de x. representa un valor caracter o stico de (x). El m nimo de E(h) se obtiene cuando 1 + 2 = 0 (6.86) h o sea cuando h = . En la gura 6.5 vemos un ejemplo prctico donde estamos calculando la derivada a x en x = x = 0.032. Gracamos el error E(h) versus h para h decrecientes desde 0.1 hasta 1020 . de e 0 Inicialmente (para 108 < h < 0.1) el error decrece montonamente y h, como es de esperar por el o anlisis del error de truncamiento. Esto continuar as para valores menores de h, de no ser por la a a apricin del error de truncamiento, debido al cual el error empieza a crecer desde all hasta saturarse o , para h 1016 . Efectivamente, para valores de h < 1016 , la representacin interna de x + h es la o misma que la de x y entonces la aproximacin a la derivada es nula para esos valores de h, por lo o tanto el error tiende a F en una mquina de precisin nita (Matlab con doble precisin). a o o

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

78

Cap tulo 6. Metodo de Newton

Seccin 6.9. Gu 1. Mtodo de Newton e iteracin de punto jo. Ejemplo sencillo 1D. o a e o

6.9

Gu 1. Mtodo de Newton e iteracin de punto jo. Ejemplo a e o sencillo 1D.

Consideremos la siguiente ecuacin de una sola incgnita o o F (x) = cx + tanh(x) = 0 (6.87)

La unica solucin es obviamente x = 0. Analizaremos las propiedades de convergencia local y global o de los diferentes mtodos partiendo de x0 = 0. e a. Reescribir como iteracin de punto jo y ver si la iteracin de Richardson no-lineal converge o o localmente (partir de x0 sucientemente pequeo) y para que valores de c. n b. Aplicar un factor de relajacin para hacer converger. o c. Aplicar Newton y comprobar convergencia local y cuadrtica para diferentes valores de c. a d. Para c = 0.2 ver desde donde converge globalemente Newton. e. Probar con Newton subrelajado. Se mantiene la convergencia cuadrtica? a f. Agregar un test para que vuelva a = 1 si r < rel . Hay convergencia global? Cmo es la o convergencia local? g. Aplicar chord y sham. Hace falta subrelajar?

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

79

Cap tulo 7

Aplicacin de resolucin de sistemas o o no-lineales a problemas de PDE en 1D


7.1 Modelo simple de combusti ion

Consideremos una cierta regin del espacio donde hay una cierta concetracin de combustible y de o o ox geno (O2 ), por ejemplo la salida de un t pico mecheron Bunsesn. (Ver gura 7.1). Veremos la posibilidad de que haciendo un aporte de energ inicial, el combustible entre en combustin y sta se a o e mantenga en forma estable. Empezaremos por el modelo ms simple posible: el balance de energ a a para un punto representativo de la mezcla tasa de acumulacin = generacin prdida al medio ambiente o o e dT Cp = q(T ) h (T T ) dt (7.1) (7.2)

donde , Cp y T son la densidad, calor espec co y temperatura de la mezcla, q(T ) el calor generado, T la temperatura del medio ambiente, y h un coeciente que engloba las prdidas de calor hacia e el mismo. El calor de reaccin q(T ) es positivo, ya que se trata de una reaccin exotrmica y en o o e general es de la forma q(T ) = cO2 ccomb A exp(E/kT ) (7.3) es decir, es proporcional a la concentracin de las sustancias que intervienen en la combustin (O2 o o y el combustible), y un factor dependiente de la temperatura. E es una energ de activacin, T a o es la temperatura absoluta (es decir en grados Kelvin K, T [ K] = T [ C] + 273.16 K). Como asumimos que la cocentracin de O2 y el combustible es constante el unico factor no constante es la o exponencial que incluye la temperatura. Para temperaturas bajas T 0, tiende a cero mientras que a altas temperaturas tiende a una constante, resultando en una curva tipo S. El cambio se produce alrededor de la temperatura caracter stica de la reaccin E/k. Ahora consideremos la suma de los o dos trminos del miembro derecho. Si esta suma se anula para una dada temperatura T entonces e T T =cte es una solucin estacionaria de la ecuacin diferencial. Para valores pequeos de h, o o n como el h1 en la gura 7.2, las curvas se intersectan en un slo punto, cerca de T . Llamaremos a esta o la solucin apagada. Para valores mayores de h, como h2 en la gura, existen tres soluciones que o llamaremos T0,1,2 , estando T0 muy cerca de T y T1,2 por encima de la la temperatura de activacin o E/k. Ahora, llamemos c(T ) = q(T ) h (T T ) donde c > 0 es una constante que usaremos despus e para hacer al anlisis dimensional del problema. Asumiremos que h es tal que hay tres soluciones a estacionarias y entonces (T ) tiene la forma general que se ve en la gura 7.3. de Haremos un 80

Cap tulo 7. Aplicacion de resolucion de sistemas no-lineales a problemas de PDE en 1D

Seccin 7.1. Modelo simple de combusti o ion

combustible + oxigeno
Figura 7.1: Modelo simple de combustin o

Figura 7.2: Factor exponencial que aparece en la ecuacin de combustin o o anlisis de estabilidad cerca de las soluciones estacionarias T0,1,2 . Consideremos, por ejemplo, que a la condicion inicial es T (t = 0) = T0 + t. Hagamos un desarrollo en serie de Taylor de (T ) alrededor de T0 , entonces dT (T0 ) + (T0 )(T T0 ) (7.4) dt cuya solucin es o T (t) = T0 + T e (T0 )t (7.5) pero (T0 ) > 0 de manera que la solucin se aproxima exponencialmente a T0 . Llamaremos a este o tipo de solucin estacionaria estable. Bsicamente queremos decir que si perturbamos un poco o a la solucin de la estacionari T0 , la fuerza restitutiva la tiende a hacer volver a T0 . La anlog o a mecnica es una bolita en un valle. El mismo razonamiento nos indica que para > 0 la solucin a o es inestable, es decir si perturbamos un poco la solucin desde T1 entonces la fuerza restitutiva la o tiende a hacer apartar an ms de T1 y diverge exponencialmente de la forma u a T (t) = T1 + T e+| (T1 )| t
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

$"  #!    

G D B @ 8F'5EDCA9

 
RSQ 7 63 4 1 ) 8'5320( I PH '% &
T
(7.6) 81

Cap tulo 7. Aplicacion de resolucion de sistemas no-lineales a problemas de PDE en 1D

Seccin 7.1. Modelo simple de combusti o ion

equilibrio estable

equilibrio inestable

Figura 7.3: Funcin de combustin o o Esta aproximacin no es vlidad cuando T se aparta demasiado de T1 , pero de alguna forma T se o a aleja de T1 y termina aproximndose exponencialmente a T0 o T2 . a Ahora consideremos la resolucin de la ecuacin (T ) = 0 pra encontrar las soluciones estacionao o rias. El algoritmo de Newton converge localmente, por supuesto, independientemente del signo de la derivada , es decir, independientemente de si la solucin es f o sicamente estable o no. Por otra parte podemos generar un algoritmo de punto jo, integrando la ODE (7.2) en el tiempo con un mtodo de e Euler hacia adelante T n+1 T n c (T n ) (7.7) t entonces T n+1 = T n ct (T n ) = K(T n ) (7.8) Consideremos el criterio de convergencia del mtodo de punto jo, que indica que K debe ser un e mapeo de contraccin, en particular debe ser o |K | = |1 ct (T )| < 1 (7.9)

de manera que es claro que el esquema no ser nunca convergente si < 0, es decir si la solucin a o estacionaria es inestable. Este mtodo entonces, permite capturar slamente aquellas soluciones que e o son f sicamente estables. Esta propiedad puede ser muy importante en problemas donde hay muchas soluciones y necesitamos descartar aquellas que son f sicamente inaceptables. Volvamos ahora a nuestro modelo de combustin, consideramos ahora que la combustin se prodce o o en una regin de una cierta extensin, por simplicidad en una sola dimensin 0 < x < L y que existe o o o difusin del calor a travs de la mezcla, con una difusividad k. Adms, consideramos el problema o e a estacionario, de manera que kT + (T ) = 0 (7.10) con condiciones de contorno Dirichlet generales T (x = 0) = T0 , T (x = L) = TL , aunque lo ms usual a es que tomaremos T0,L = T . Si consideramos k 0, el problema deja de estar bien planteado, pero podemos pensar que en cada punto (es decir para cada x) tenemos una solucin como la unidimensional o
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

 
82

!  "

  & % $ "#

Cap tulo 7. Aplicacion de resolucion de sistemas no-lineales a problemas de PDE en 1D

Seccin 7.1. Modelo simple de combusti o ion

combustible + oxigeno

L
Figura 7.4: Problema de combustin unidimensional o

L
Figura 7.5: Soluciones para k 0.

anterior y entonces la temperatura puede tomar localmente cualquiera de los valores T0,1,2 , es decir, hay innitas soluciones, cada una de ellas es constante de a trozos tomando los valores T0,1,2 . Ahora bien, el agegado de una cierta cantidad de difusividad k > 0 tiende a hacer que los saltos discontinuos del perle T (x) se redondeen, pero adems, tiene un efecto similar al del trmino temporal, en cuanto a e a que los segmentos con T = T1 se vuelven inestables, de manera que la solucin para k > 0 ser de o a la forma mostrada en la gura 7.6. A medida que k aumenta los saltos se vuelven ms redondeados. a Adems a partir de un cierto k no es posible encontrar una solucin prendida, es decir que slo a o o existe la solucin apagada T = T0 . o Discretizacin: Asumiendo una grilla con paso constante h = L/N , o xj = (j 1)h, j = 1, . . . , N + 1 (7.11)

Usando la discretizacin del operador de Laplace con el stencil de tres puntos, como ya hemos visto o varias veces, la aproximacin ms sencilla posible para (7.10) es o a Ti+1 + 2Ti Ti1 + c(Ti ) = 0, h2 puesto de forma matricial A T + F (T ) = 0 (7.13) donde A es la matriz del operador de Laplace con condiciones Dirichlet, como descripto en la Gu 1 a y F es un operador no-lineal, pero diagonal en el sentido que Fi slo depende de Ti . o
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

i = 2, . . . , N


x
(7.12) 83

Cap tulo 7. Aplicacion de resolucion de sistemas no-lineales a problemas de PDE en 1D

Seccin 7.2. El problema de Stefan. o

Figura 7.6: Soluciones para k > 0.

7.2

El problema de Stefan.

Consideremos el problema de un uido movindose con velocidad U . La ecuacin del balance de e o energ es a T U Cp = kT (7.14) x En el caso en que U , Cp y k son constantes, esto es que no dependen de la temperatura, este problema es lineal y ya lo hemos visto como la ecuacin de adveccin-difusin. Ahora consideremos el caso o o o cuando Cp depende de la temperatura, el problema se transforma en no-lineal. Denamos la cantidad
T

h(T ) =
Tref

conocida como entalp o contenido de calor. Tref es una temperatura de referencia arbitraria. a h(T2 ) h(T1 ) representa la cantidad de calor necesario para llevar al material desde la temperatura T1 a la temepratura T2 . La unica restriccin f o sica sobre h(T ) es que debe ser montona creciente, ya o que ante un agregado de calor un cuerpo no puede decrecer su temperatura. Notemos que el trmino e no-lineal de adveccin (el miembro derecho de (7.14)) puede ponerse como (h/x) de manera que la o ecuacin puede ponerse como o h = kT (7.16) x Ahora consideremos que ocurre cuando hay un cambio de fase. Supongamos que el material est por a debajo de la temperatura de cambio de fase Tm y vamos agregando calor de a poco, lo cual hace incrementar su temperatura. Al llegar a la temperatura de cambio de fase, necesitamos una cantidad de calor nita L llamado calor latente para llevar al cuerpo de Tm a Tm + . Esto nos indica que la curva de entalp tiene una discontinuidad en T = Tm (ver gura 5.1). Ahora descompongamos h a en una componente regular y absorbamos la discontinuidad en un trmino proporcional a la funcin e o escaln de Heaviside o h(T ) = hreg (T ) + L H(T Tm ) (7.17) donde H(x) = 0 1 ; si x < 0 ; si x 0 (7.18)

Ahora bien, si insertamos esto directamente en (7.16) llegamos a una ecuacin de la forma o U (Cp )reg T = kT U L (x s) x (7.19) 84

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

    
X L
Cp (T ) dT (7.15)

Cap tulo 7. Aplicacion de resolucion de sistemas no-lineales a problemas de PDE en 1D

Seccin 7.2. El problema de Stefan. o

Figura 7.7: Posicin de la interfase en el elemento. o donde (Cp ) (7.20) T y representa la distribucin Delta de Dirac. s es el punto donde se produce el cambio de fase, es o decir T (s) = Tm , es decir que s depende del campo de temperaturas, lo cual hace no-lineal el problema, incluso en el caso de que (Cp )reg fuera constante. Notar que, si s fuera un punto jo, entonces el problema previo representa un problema de transmisin del calor con una fuente de calor puntual. o Discretizacin: Recordemos que el problema de adveccin difusin ten un problema adicional, o o o a que no tiene nada que ver con el cambio de fase, relacionado con la estabilidad a altos nmeros de u Peclet. Para evitar esto y poder concentrarnos en el problema del cambio de fase, asumiremos que en todos casos estamos muy por debajo del l mite de estabilidad Peh 1, de manera que no hace falta agregar los trminos difusividad numrica o upwind. Entonces la discretizacin de (7.19) es e e o (Cp )reg = k Ti+1 2Ti + Ti1 Ti+1 Ti1 (Cp )reg U F ( ) = 0 h2 2h (7.21)

donde F representa el trmino generado por la fuente puntual, el vector de temperaturas nodales. e A continuacin describiremos la discretizacin para F . Primero, debemos ubicar el punto en el cual o o se produce el cambio de fase. En el esp ritu del mtodo de elementos nitos, asumimos que las e temepraturas son interpoladas linealmente entre los nodos. De manera que el cambio de fase se produce entre xi y xi+1 si (Ti+1 Tm )(Ti Tm ) < 0 (7.22) Por similaridad de los tringulos ABC y BDE a s xi h = Tm Ti Ti+1 Ti de donde = s xi Tm Ti = h Ti+1 Ti (7.23)

donde 0 < < 1. Obviamente, si la interface cae en un nodo s = xi ponemos Fj = U L; j = i 0; j=i (7.25)

Si la interfase no coincide exactamente en un nodo es ms complicado. Podr a amos denir que agregamos todo el calor liberado por el cambio de fase U L en el nodos i o el i + 1 dependiendo de si la
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

!  "
(7.24) 85

 

   

Cap tulo 7. Aplicacion de resolucion de sistemas no-lineales a problemas de PDE en 1D

Seccin 7.2. El problema de Stefan. o

UL

Figura 7.8: Contribucin discontinua al residuo por el cambio de fase. o

UL

Figura 7.9: Contribucin continua al residuo por el cambio de fase. o interfase est ms cerca de uno u otro nodo a a Fi = U L, Fi = 0, Fi+1 = 0 Fi+1 = U L si si < 1/2 > 1/2 (7.26) (7.27)

Ahora bien, la contribucin al residuo por el cambio de fase F ( )i ser de la forma mostrada en o a la gura 7.8. Esta contribucin es discontinua y por lo tanto la funcin residuo total seguramente no o o ser continua Lipschitz. De hecho, existe muy pocas probabilidades de que algn mtodo converja a u e para tal discretizacin. Otra posibilidad es distribuir el calor liberado UL linealmente entre los dos o nodos Fi = (1 )U L, Fi+1 = U L (7.28) De esta forma obtenemos una contribucin al residuo continua (ver gura 7.9). En los scripts de o Matlab distribudos esta implementada esta ultima opcin. o

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

86

Cap tulo 7. Aplicacion de resolucion de sistemas no-lineales a problemas de PDE en 1D

Seccin 7.3. Gu 3. Aplicacin de resolucin de sistemas no-lineales a problemas de PDE en 1D o a o o

Figura 7.10: Campo de temperaturas dependiente de un parmetro. a

7.3

Gu 3. Aplicacin de resolucin de sistemas no-lineales a proa o o blemas de PDE en 1D

Hallar las soluciones y mostrar convergencias para diferentes valores de L. Cambiar la forma de repartir el calor generado por el cambio de fase como se indica en (7.27). Converge? Porqu? Gracar el residuo para algn nodo i sobre la recta que pasa por el punto e u N v en IR y direccin w, es decir gracar Fi (v + w). Donde v y w estn dados por o a vi = T1 + (T2 T1 )xi wi = xi (1 xi ) (7.29)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti


x


87

Cap tulo 8

Newton inexacto.
Como mencionamos, el principal costo computacional del mtodo de Newton es la resolucin del e o sistema lineal que debe resolverse en cada iteracin para obtener el paso s o F (xc )s = F (xc ) (8.1)

Entonces, es tentador de usar un mtodo iterativo para resolver este sistema lineal. La pregunta es e entonces, con que precisin es necesario resolverlo. En el lenguaje de los mtodos iterativos para o e sistemas lineales que hemos usado en la primera parte del curso, tenemos A F (xc ) x s b F (xc ) (8.2) (8.3) (8.4)

Como fue discutido en su momento (seccin 1.1.3, pg. 6). Lo ms comn es tomar como criterio de o a a u detencion para el esquema iterativo lineal una tolerancia en el residuo relativa sea a b o al residuo en el vector de inicializacin r0 . En este caso asumiremos que partimos como vector inicial para la o iteracin sobre s de s = 0 con lo cual ambos criterios coinciden y el criterio de detencin es o o F (xc )s + F (xc ) c F (xc (8.5)

Llamaremos a r = F (xc )s + F (xc ) el residuo lineal, o residuo del lazo interior. Tambin es comn e u llamar a c como el trmino forzante. e

8.1

Estimaciones bsicas. Anlisis directo. a a

Teorema 6.1.1. Asumamos las suposiciones estndar (seccin 5.3, pg. 64), entonces existe y KI a o a tales que si xc B() y s satisface (8.5), x+ = xc + s, entonces e+ KI ( ec + c ) ec (8.6)

Demostracin: Sea sucientemente pequeo tal que vale el Lema 4.3.1. (seccin 5.3, pg. 64). Sea o n o a r = F (xc )s F (xc ) el rresiduo lineal, entonces s + F (xc ) F (xc ) = F (xc )1 r y e+ = ec + s = ec F (xc )
1

(8.7)

(8.8) F (xc ) F (xC )


1

(8.9)

88

Cap tulo 8. Newton inexacto.

Seccin 8.1. Estimaciones bsicas. Anlisis directo. o a a donde el segundo trmino del miembro derecho lo podemos identicar como el paso s si usramos e a Netwon y el tercer trmino como el error en el paso indtroducido al no resolver en forma exacta el e problema lineal. La suma de los dos primeros trminos podemos acotarla como el error del mtodo e e de Newton (6.8) ec F (xc )1 F (xc ) K ec 2 (8.10) Mientras que el trmino restante lo podemos acotar como e F (xc )1 r F (xc )1 F (xc )
1 1

r c F (xc ) ) c (2 F (x ) )

(8.11) (8.12) por Lema 4.3.1. (8.13) (8.14)

(2 F (x )

= 4(F (x )) c ec

donde (F (x )) es el nmero de condicin del jacobiano en la solucin. Volviendo a (8.9) llegamos a u o o que e+ K ec 2 + 4(F (x )) c ec (8.15) De donde sale la demostracin poniendo o KI = K + 4(F (x )) 2. El resultado es bastante razonable ya que nos dice que si resolvemos el lazo interior en forma exacta (c = 0) entonces recuperamos una convergencia cudrtica como en Newton, y si no, tenemos a una convergencia lineal, siendo el factor de convergencia proporcional a c . Teorema 6.1.2.: Asumamos las suposiciones estndar (seccin 5.3, pg. 64). Entonces existen a o a y tales que si x0 B(), y {n } [0, ], entonces el Newton inexacto dado por xn+1 = xn + sn F (xn ) sn + F (xn ) n F (xn ) converge q-linealmente a x . Adems a Si n 0 la convergencia es q-superlineal Si n K F (xn ) p , 0 < p < 1 para algn K > 0, entonces la convergencia es q-superlineal u con q-orden 1 + p. Demostracin: Sea sucientemente pequeo tal que vale el Teorema 6.1.1. (seccin 8.1, o n o pg. 84). Tomamos y sucientemente pequeos tales que a n KI ( + ) < 1 Entonces, para n 0 y xn B() tenemos que en+1 KI ( en + n ) en KI ( + ) en en (8.20) (8.21) (8.22) (8.19) (8.17) (8.18) (8.16)

lo cual asegura convergencia q-lineal con q-factor KI (+ ). Entonces tenemos convergencia superlineal ya que en+1 KI ( en + n ) (8.23) en
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

89

Cap tulo 8. Newton inexacto.

Seccin 8.2. Anlisis en normas pesadas o a y el miembro derecho tiende a 0 para n ya que en tiende a cero por la convergencia lineal ya demostrada y n tiende a cero por las hiptesis del teorema. o Por otra parte, si n K F (xn ) p entonces en+1 KI ( en KI ( en KI ( en
2 2

+ K F (xn )

en )
p

(8.24)
1+p

+ K (2 F (x ) )

en
p

)
1+p

por Lema 4.3.1

(8.25) (8.26)

1p

+ K (2 F (x ) ) ) en

Obviamente, usar p > 1 no puede mejorar la convergencia ms all de la cuadrtica dada por el a a a mtodo de newton exacto. e

8.2

Anlisis en normas pesadas a

Como KI = O((F (x )) se podr esperar que si F (x ) est mal condicionada entonces deber a a amos permitir slo muy pequeos trminos forzantes. Veremos que ste no es el caso. Bsicamente veremos o n e e a que la unica restriccin es mantener {n } < 1. El anlisis se basa en tomar normas pesadas con o a ) . el jacobiano F (x) es decir en la norma = F (x Teorema 6.1.3.: Asumamos las suposiciones estndar (seccin 5.3, pg. 64). Entonces existe a o a tal que si xc B(), y s satisface F (xc ) s + F (xc ) c F (xc ) x+ = xc + s, entonces F (x ) e+ F (x ) ec Demostracin: Por el Teorema fundamental del clculo 4.0.1 (seccin 5, pg. 61) o a o a F (x) F (x ) =
0 1

(8.27) (8.28) (8.29)

y c < 1

F (x + tec ) ec dt

(8.30)

Pero F (x ) = 0 y sumando y restando en el integrando y tomando normas


1

F (xc ) =
0 1

F (x + t ec ) ec F (x ) ec + F (x ) ec dt (8.31) F (x + t ec ) ec F (x ) ec + F (x ) ec

dt

pero F (x + t ec ) ec F (x ) ec tec = t ec Volviendo a (8.31) 1 ec + ec 2 (8.33) 2 Ahora el objetivo es acotar los errores en la norma F (x ) . Entonces, hacemos uso de que F (xc F (x ) ec = F (x )1 F (x ) ec F (x )1
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti
2

ec (cont. Lipschitz de F ) (8.32)

F (x ) ec

(8.34) 90

Cap tulo 8. Newton inexacto.

Seccin 8.2. Anlisis en normas pesadas o a y reemplazando en (8.33) 1 F (xc ) (1 + F (x ) ec ) F (x ) ec 2 = (1 + M0 ) F (x ) ec


1 donde M0 = 2 F (x ) . Por otra parte, restando x de ambos miembros de (8.28)

(8.35)

e+ = ec + s y aplicando F (x ) a ambos miembros y tomando normas F (x )e+ = F (x ) (ec F (xc )1 F (xc ) F (xc )1 r) F (x ) [ec F (xc )1 F (xc )] + F (x ) F (xc )1 r)

(8.36)

(8.37)

En el primer trmino aparece el error de la iteracin de Newton, de manera que podemos usar (6.8) e o para acotarlo F (x ) [ec F (xc )1 F (xc )] K F (x ) ec 2 (8.38) Por otra parte, F (x ) F (xc )1 r) r + (F (x ) F (xc )) F (xc ) r r + (2 ec ) F (x )1 Poniendo, M1 = 2 F (x )1 , Llegamos a que F (x ) e+ (1 + M1 ) r + M2 ec (1 + M1 ) c (1 + M0 ) F (x ) ec + M2 F (x )1 F (x )ec por (8.27,8.35) F (x )ec (8.41) M2 = K F (x ) (8.40) r (Lema 4.3.1. y Lips.) (8.39)

(1 + M1 ) c (1 + M0 ) + M2 F (x )1

Ahora bien, si c , entonces para cualquier < < 1 existe un tal que el trmino entre corchetes e en (8.41) es menor que de manera que se cumple (8.29). 2

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

91

Cap tulo 8. Newton inexacto.

Seccin 8.3. Gu 4. Newton Inexacto o a

8.3

Gu 4. Newton Inexacto a

Considerar el siguiente problema unidimensional kT + c(T ) = q (8.42)

La ecuacin es similar al caso de combustin (seccin 7.1, pg. 78), pero hemos agregado un trmino o o o a e fuente q y modicaremos la funcin (T ) con respecto a la estudiada en esa seccin. El sistema o o discreto es (7.13) que lo denotaremos como F (T ) = AT + G(T ) = 0 (8.43)

(notar que F denota aqu el residuo y G(T ) el trmino de reaccin y prdidas) y el jacobiano corres e o e pondiente es F =A+G (8.44) Ahora bien, A es la matriz correspondiente a , de manera que es simtrica y denida positiva. Por e otra parte G es una matriz diagonal con elementos diagonales Gii = (Ti ) (8.45)

de manera que el jacobiano total es simtrico. Para simplicar el anlisis del Newton inexacto, e a trataremos de aplicar Gradientes Conjugados, por lo cual necesitamos poder asegurar que el jacobiano sea simtrico y denido positivo. Para que esto ultimo sea verdadero basta con asegurar que > 0 e es decir que sea montona creciente. Esto es ciertamente no vlido para el caso de combustin o a o estudiado, por lo que modicaremos la funcin (T ) apropiadamente. Tomaremos o (T ) = c atanh T Tmax (8.46)

con constantes c, Tmax a determinar. Podemos pensar a (T ) como una ley de enfriamiento no-lineal. Para T acercndose a Tmax el va a innito, de manera que es de esperar que T se mantenga acotada a por |T | < Tmax . Sin embargo, es de notar que el operador as denido no es Lipschitz. Para evitar este problema la regularizamos modicamos la de manera que a partir de cierta temperatura Tcut cerca de Tmax reemplazamos la por su tangente (ver gura 8.1). Concretamente, la funcin de enfriamiento utilizada ser o a (T ) = (T ) (Tcut ) + (Tcut )(T Tcut ) ; si |T | < Tcut ; si |T | Tcut (8.47)

Asumiremos entonces que la funcin est regularizada y dejaremos de lado la tilde al referirnos a la o a misma. Resolver el problema de Usar Newton y ver convergencia para diferentes valores de los parmetros. a Modicar el script nsol.m de forma de que use CG para resolver el subproblema lineal. Usar como criterio del lazo interior r b para una serie de valores distribuidos logar tmicamente entre 108 y 1. Gracar Nro. de iteraciones en el lazo exterior
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

92

Cap tulo 8. Newton inexacto.

Seccin 8.3. Gu 4. Newton Inexacto o a

Figura 8.1: Funcin de enfriamiento regularizada. o Nro. de iteraciones en el lazo interior (promedio y total). en funcin de . Estimar (si existe) el opt . o Reemplazar el clculo de F w por una aproximacin en diferencias. Vericar el valor de h ptimo a o o que minimiza el error.

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

#"  3  #   (  % "   5421"!0)'&#$!


93

aproximacion tangente

 

Cap tulo 9

Las ecuaciones de shallow-water


Consideremos el escurrimiento de cursos de agua (r o lagunas) sobre un fondo variable (ver guos ras 9.1, 9.2). La forma del fondo est dada por la altura del fondo H(x, y) con respecto a un nivel a de referencia jo con respecto al nivel del mar y es un dato del problema. Se asume que el ujo es incompresible y las incgnitas son o La posicin de la supercie del agua h(x, y, t). o El campo de velocidades u(x, y, z, t), y presiones p(x, y, z, t) en el dominio (t) ocupado por el agua, es decir (t) = {(x, y, z) tales que (x, y) xy y H(x, y) < z < H(x, y) + h(x, y, t)} (9.1)

El modelo ms completo consiste en resolver las ecuaciones de Navier-Stokes incompresible en el a dominio ocupado por el uido. Como la posicin de la supercie es desconocida a priori, se impone una o ecuacin adicional a saber la igualdad de presiones de ambos lados de la supercie libre. La presin o o del lado del aire la podemos asumir constante e igual a la presin atmosfrica, que es un dato. As o e puesto, el problema se vuelve intratable incluso para geometr simples, debido a la gran cantidad de as incgnitas a resolver y a la complejidad de las ecuaciones de Navier-Stokes. o El problema puede simplicarse notablemente si asumimos que la profundidad del agua h es mucho menor que las dimensiones del problema y que la longitud caracter stica de las variaciones del fondo, es decir que las pendientes son suaves. Asumiendo un perl de velocidades conocido en la direccin o vertical e integrando las ecuaciones en esa misma direccin, se obtienen las ecuaciones para ujo o en aguas poco profundas (shallow water equations. Al integrar la ecuacin en la direccin z o o esta desaparece y slo quedan x, y como variables independientes. Las incgnitas son el campo de o o velocidades u(x, y, t), donde ahora u = (, v ), que de alguna forma representa el promedio del campo u de velocidades tridimensional u(x, y, z, t) para un instante t a lo largo de la recta vertical que pasa por un punto x, y. La variable presin desaparece y pasamos de un dominio variable (t) en 3D a un o dominio jo xy en 2D. Estas son (en la versin simplicada 1D, es decir cuando no hay variacin o o segn la direccin transversal y) las ecuaciones de ujo en aguas poco profundas u o h + (hu) = 0 ec. de continuidad t x u u +u = g (h + H) ec. de balance de momento t x x (9.2) (9.3)

g = 9.81m/seg2 es la aceleracin de la gravedad. (Hemos dejado de lado tambien la barra en las o componentes de velocidad, es decir u u.) La ecuacin de continuidad (tambinb llamada ecuacin o e o 94

Cap tulo 9. Las ecuaciones de shallow-water

y x

Figura 9.1: Escurrimiento sobre un fondo variable con aguas poco profundas. (3D) de balance de masa) expresa la conservacin de la cantidad total de agua. En el caso estacionario, o implica Q = hu = cte (9.4) donde Q es el caudal total de agua. Por otra parte, en el caso no estacionario consideremos un volumen de control comprendido entre x x y x + x. Reemplazando la derivada con respecto a x por una expresin en diferencias o 2x tasa de incremento del contenido de agua h t = Qxx Qx+x = ( ujo neto de agua entrante ) (9.5) (9.6)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

 

 
95

Cap tulo 9. Las ecuaciones de shallow-water

Figura 9.2: Escurrimiento sobre un fondo variable con aguas poco profundas. Versin 1D. o Con respecto a la ecuacin de momento, en el estado estacionario esta expresa simplemente que o 1 2 u + g(h + H) = E + gH = cte 2 (9.7)

donde E es el ujo de energ que posee el uido. El primer trmino es la energ cintica y el a e a e segundo la energ potencial. La conservacin de la energ proviene de no haber tenido en cuenta a o a el rozamiento con el fondo, ni la disipacin de energ por la viscosidad o turbulencia. En el caso de o a tener en cuenta esos efectos, deber amos tener (E/x) < 0, asumiendo que el uido va en la direccion de x positivo, es decir que u > 0. Notar que el sistema de ecuaciones involucra slo derivadas espaciales de primer orden de las o incgnitas. Esto es una caracter o stica de los sistemas hiperblicos (Si bien no es la unica condicin o o requerida para decir que un sistema es hiperblico. Ms sobre esto despus... (seccin 9.1, pg. 96)). o a e o a Si no hay rozamiento, la conservacin de la energ implica que si h + H, es decir, la posicin de o a o la supercie libre disminuye, entonces la velocidad aumenta. Por otra parte, como hu = Q = cte tenemos que Q 1 2 u + g + gH = cte (9.8) 2 u Consideremos el caso de fondo plano (H = cte). Sea u1 y h1 las variables del uido en una cierta seccin x1 . Debemos tener entonces que o Q 1 Q 1 2 u + g = u2 + g 2 u 2 1 u1 (9.9)

Asumiendo que u1 > 0, el aspecto del miembro izquierdo de (9.8) es como se ve en la gura 9.3. Adems de u1 hay dos valores u2 y u3 que satisfacen (9.9). Estos valores pueden encontrarse fcilmente a a resolviendo una ecuacin cbica para u. Los valores correspondientes de altura h2 y h3 pueden sacarse o u del caudal hj = Q/uj . Podemos formar soluciones estacionarias tomando (h, u) constante de a trozos, tomando los valores (h1 , u1 ), (h2 , u2 ) y (h3 , u3 ). La solucin negativa podemos descartarla ya que o como Q = h1 u1 > 0 eso implicar que h3 = Q/u3 < 0 lo cual no tiene sentido f a sico. Podemos formar entonces soluciones constantes de a trozo con los valores (h1 , u1 ), (h2 , u2 ). En la gura, hemos asumido que u1 est antes del m a nimo de la curva. El m nimo de la curva se produce cuando d du 1 2 Q u +g 2 u =ug Q =0 u2 (9.10)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti


x
96

 

Cap tulo 9. Las ecuaciones de shallow-water

Fr=1
( ' % &$"  # !  

Fr<1 subcritico

Fr>1 supercritico

Figura 9.3: Curva de energ y diferentes tipos de ujo. a o sea u2 = gQ/u = gh La cantidad adimensional |u| Fr = gh (9.11) (9.12)

se llama nmero de Froude y por lo visto anteriormente se cumple que Fr = 1 en el m u nimo de la curva. Adems a u3/2 Fr = (9.13) gQ de manera que a caudal constante el Froude crece montonamente con la velocidad y decrece o montonamente con la altura h. Por lo tanto, Fr < 1 para velocidades menores (alturas mayores) o que las cr ticas y Fr > 1 para velocidades mayores (alturas menores). A estas dos condiciones de ujo se le llama ujo subcr tico y supercr tico, respectivamente. Ahora bie, cuando la pendiente del fondo es creciente en ujo subcr tico se produce un decrecimiento de E = 1 u2 + gh por la conservacin o 2 de la energ (9.7). Pero entonces, pasando a la gura 9.3, vemos que en ujo subcr a tico esto implica que u debe aumentar y por lo tanto h debe disminuir por conservacin de masa (ver ec. (9.4)) y h + H, o la posicin de la supercie libre, debe disminuir por (9.7). Para ujo, supercr o tico, en cambio una disminucin de E trae aparejado una disminucin de u. Esto est reejado en la Tabla 9. En la gura 9.4 o o a vemos un ejemplo prctico de una presa. Antes de entrar a la presa el agua se encuentra en un estado a de muy baja velocidad y gran profundidad, por lo tanto es altamente probable que se encuentre en ujo subcr tico. Al acercarse a la presa el gradiente del fondo se vuelve adverso ((dH/dx) > 0 y u > 0) y por lo tanto el Fr tiende a aumentar. La posicin H + h de la supercie libre decrece. Si en la cresta o de la presa el Fr llega a un valor Frmax < 1 entonces pasando la cima de la presa el gradiente se hace favorable ((dH/dx) < 0, u > 0) y el Fr vuelve a bajar, de manera que el ujo es subcr tico en todo el recorrido. Notar que, si el perl de la presa es simtrico, entonces el perl de todas las cantidades es e
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

3 42

0 1)

  E C DB7 A 9 @ 9 8 7 6 45

97

Cap tulo 9. Las ecuaciones de shallow-water

E(u) A,C

B u exclusa

Figura 9.4: Comportamiento de diferentes cantidades en pendiente favorable/desfavorable para un obstculo en el fondo, en ujo subcr a tico. simtrico, ya que slo dependen de la profundidad. Por otra parte, si el Fr llega a uno en la cresta, e o entonces pasando la misma pueden ocurrir dos situaciones. Si el ujo se vuelve subcr tico, entonces estamos en una situacin similar a la anterior. Si el ujo se hacer supercr o tico, entonces al disminuir el H el Fr aumentar, adelgazndose la profundidad del agua (h disminuye) como puede verse en la a a gura 9.4. Finalmente, el ujo pasa de supercr tico a subcr tico a travs de un resalto hidrulico. Si e a bien, esto no es contemplado por la teor tal como lo hemos descripto aqu los resaltos hidrulicos a, , a van acompaados de una gran disipacin de energ en forma de turbulencia. Cual de los dos casos n o a ocurre en realidad depende de las condiciones de contorno del problema. Las condiciones de contorno en sistemas hiperblicos es un tema delicado, por ahora slo podemos decir que como es un sistema o o de primer orden en las derivadas espaciales, slo podemos imponer un nmero de m condiciones de o u contorno, donde m es el nmero de campos incgnita (en este caso m = 2 ya que las incgnitas son u o o h y u). Por ahora pensamos a las condiciones de contorno como una especie de exclusas que estn a ubicadas aguas arriba y aguas abajo de la presa. Dejamos la exclusa de aguas arriba abierta y vamos abriendo la exclusa de aguas abajo. Inicialmente al estar la exclusa cerrada el ujo es en general lento y subcr tico en todo el dominio, como en la situacin de la gura 9.4, a medida que vamos abriendo o la exclusa de aguas abajo el ujo se empieza acelerar hasta llegar a la situacin de la gura 9.5. Esto o lo veremos en los ejemplos numricos. e

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti


C x
98

!    

Cap tulo 9. Las ecuaciones de shallow-water

Seccin 9.1. Anlisis temporal o a

E(u)

A,E D

C B u

seccin de control

resalto hidrulico

CD

Figura 9.5: Comportamiento de diferentes cantidades en pendiente favorable/desfavorable, ujo subcr tico/supercr tico, para una presa.

9.1

Anlisis temporal a

Hasta ahora hemos hecho un anlisis puramente estacionario del problema, pero para entenderlo mejor a es imprescindible hacer un anlisis temporal. El sistema (9.2,9.3) se puede poner en la forma general a de un sistema hiperblico o U + F (U ) = Sw (9.14) t x donde U = h u
1 2 2u

F (U ) = S =

hu + gh

0 g (dH/dx)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

   
exclusa E x
(9.15) (9.16) (9.17) 99

   

Cap tulo 9. Las ecuaciones de shallow-water

Seccin 9.1. Anlisis temporal o a (dH/dx) > 0 (desfavorable.) Fr < 1 (subcr.) Fr > 1 (supercr.) aumenta disminuye aumenta disminuye disminuye aumenta aumenta disminuye disminuye aumenta aumenta disminuye (dH/dx) < 0 (favorable.) Fr < 1 (subcr.) Fr > 1 (supercr.) disminuye aumenta disminuye aumenta aumenta disminuye disminuye aumenta aumenta disminuye disminuye aumenta

Cantidad H E = 1 u2 + gh 2 u h h+H Fr

Tabla 9.1: Comportamiento de diferentes cantidades en pendiente favorable/desfavorable, ujo subcr tico/supercr tico son los vectores de estado, de ujos y trmino fuente. Si hacemos una discretizacin espacial y e o temporal (Euler expl del problema y ta) n h1 un 1 hn 2 n Un = u2 (9.18) . . . hn N un N es el vector de estado global al tiempo n, hn es la aproximacin al valor de h(xj , tn ) y similar para o j un . Entonces tendremos una serie de ecuaciones j Un+1 Un = G(Un ) t (9.19)

Despejando U n+1 obtenemos un mtodo de punto jo o de Richardson no-lineal para encontrar U e solucin del problema estacionario. Lo bueno de este mtodo es que, de alguna forma es ms probable o e a que de convergencia global, ya que (al menos en el l mite t 0) sigue la evolucin real del sistema, el o cual, a menos que el sistema sea inestable o no disipativo, deber converger a cierto estado estacionario. a (Ya veremos ms adelante como combinar este esquema con Newton.) Bajo esta ptica, la integracin a o o temporal es un esquema iterativo ms para resolver el sistema de ecuaciones que lleva al estado a estacionario. Primero estudiaremos las propiedades de los sistemas hiprbolicos en el dominio temporal. Adems, e a asumiremos una linealizacin del problema. Aplicando la regla de la cadena al trmino advectivo en o e (9.14), obtenemos U U + A(U ) = Sw (9.20) t x donde F A(U ) = (9.21) U es el jacobiano de los ujo advectivos. La hiptesis de linealidad consiste en asumir que el ujo o consiste de pequeas perturbaciones a un ujo constante U = U0 = cte = U (x), y entonces podemos n reemplazar los jacobianos por A(U0 ). Para simplicar an ms, asumiremos que tenemos un slo u a o

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

100

Cap tulo 9. Las ecuaciones de shallow-water

Seccin 9.1. Anlisis temporal o a campo incgnita, que es decir m = 1, y que no hay trmino fuente (Sw 0), en ese caso la ecuacin o e o t pica es u u +a =0 (9.22) t x con a = cte. Las soluciones a (9.22) son de la forma u(x, t) = f (x at) (9.23)

lo cual quiere decir que los valores de u son constantes sobre las rectas caracter sticas x at = cte. a tiene dimensiones de velocidad y representa entonces la velocidad con la cual se propaga u. En el caso de ms campos incgnita m > 1, supongamos que el jacobiano A puede diagonalizarse, a o es decir Avj = j vj (9.24) para un conjunto de m autovectores linealmente independientes vj . Entonces formando la matriz de cambio de base S = v1 v2 . . . vm (9.25) y deniendo = diag{1 , 2 , . . . , m } entonces (9.24) es equivalente a AS = S y haciendo el cambio de variables U V denido por U = SV la ecuacin linealizada, multidimensional, sin trmino fuente o e U U +A =0 t x queda como S y multiplicando la ecuacin por S 1 o U U + (S 1 AS) =0 t x U U + =0 t x (9.31) (9.32) U U + AS =0 t x (9.30) (9.29) (9.28) (9.27) (9.26)

pero como es diagonal, esto se desacopla en una serie de m ecuaciones de adveccin unidimensionales o iguales a (9.22) vj vj + j =0 (9.33) t x donde vj es la componente j de V . Como vimos anteriormente, esto signica que vj = fj (x j t) (9.34)

y por lo tanto, los j son las velocidades caracter sticas del sistema. Ntese que todo esto es vlido si o a A es diagonalizable y si los autovalores de A son reales. Justamente esta es la denicin de sistema o
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

101

Cap tulo 9. Las ecuaciones de shallow-water

Seccin 9.1. Anlisis temporal o a

x=cte+at

Figura 9.6: Propagacin de una onda para la ec. de adveccin escalar. o o

Figura 9.7: Propagacin de ondas de altura para la ec. de adveccin para las ec. shallow water para o o agua en reposo u = 0. hiperblico, que los jacobianos advectivos sean diagonalizables y con autovalores reales para cualquier o estado U admisible. El jacobiano para las ecuaciones de shallow water es A= Calculando los autovalores det(A I) = det de donde = u gh (9.37) De manera que las ecuaciones de shallow water son un sistema hiperblico. o En agua en reposo (u, Fr = 0), las dos son iguales y de sentido contrario gh. Por lo tanto si hacemos una perturbacin en altura, veremos dos ondas propagndose hacia x positivos y negativos con o a velocidad gh (ver gura 9.7). Manteniendo la profundidad constante y aumentando la velocidad a
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(F1 /h) (F1 /u) u h = (F2 /h) (F2 /u) g u

u h = (u )2 gh = 0 g u

  
x
(9.35) (9.36) 102

) ' & $ ! (%# " 

Cap tulo 9. Las ecuaciones de shallow-water

Seccin 9.2. Detalles de discretizacin o o

Figura 9.8: Propagacin de ondas de altura para la ec. de adveccin para las ec. shallow water para o o agua en movimiento, ujo subcr tico Fr < 1.

Figura 9.9: Propagacin de ondas de altura para la ec. de adveccin para las ec. shallow water para o o agua en movimiento, ujo supercr tico Fr > 1. u > 0 es equivalente a dejar el agua quieta y describir el fenmeno desde un sistema que se mueve con o respecto al agua con velocidad u < 0.Por lo tanto vemos a las ondas propagarse tambin hacia x e positivos y negativos con velocidad u gh (ver gura 9.8). Cuando la velocidad del uido llega a la cr tica u = gh la ola que va hacia x negativos se mantiene estacionaria con respecto al observador. Para velocidades mayores las dos velocidades son positivas y por lo tanto ambas ondas se propagan en la misma direccin. Esto es muy importante ya que implica que el ujo supercr o tico no es afectado aguas arriba por una perturbacin producida aguas abajo. o

9.2

Detalles de discretizacin o

Consideremos la discretizacin en una grilla de paso constante o xi = ix, i = 0, N (9.38)

con x = L/N el paso de la malla. Recordemos (ver seccin 3.11) que para la ecuacin de adveccin o o o (3.73) debe agregarse una difusin numrica knum . En el caso nuestro no tenemos difusin f o e o sica, es
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

7 5 4 32 1 ) ' % $ "6 0 (&#

7 5 4 32 1 ) ' % $ "6 0 (&#


x
103

!    "  !    " 

Cap tulo 9. Las ecuaciones de shallow-water

Seccin 9.3. Integracin temporal. Paso de tiempo cr o o tico decir k = 0 y por lo tanto Pex dependiendo del signo de a. Puede vericarse que el l mite corresponde a |a|x knum , para |Pex | (9.39) 2 De manera que el esquema apropiado para (9.14) (consideramos trmino fuente nulo) es e
n+1 n Uj Uj

n n Fj+1 Fj1 = 2x

|A|x 2

(Uj+1 2Uj + Uj1 )n x2

(9.40)

Primero que todo, debemos especicar que aqu |A| debe interpretarse como valor absoluto de A en el sentido matricial, es decir si A se decompone como en (9.27) entonces |A| = S diag{|1 |, |2 |, . . . , |m |}S 1 Asumiendo por ahora que A es constante, (9.40) puede ponerse en la forma
n+1 n Uj Uj

(9.41)

t donde (F )n j+1/2 =

n (F )n j+1/2 (F )j1/2

=0

(9.42)

n n F (Uj+1 ) + F (Uj ) Uj+1 Uj |A| 2 2 Lo importante de la formulacin (9.42) es que, en el estado estacionario se cumple o

(9.43)

(F )j+1/2 = (F )j1/2 = (F )j3/2 = . . .

(9.44)

(dejamos de lado el supra ndice n ya que estamos en el estado estacionario) y esto fuerza la conservacin o de F a travs de una variacin abrupta como es un resalto hidrulico, como veremos a continuacin. e o a o n Tomemos (F )n o j+1/2 de tal forma que dependa slo de los valores Uj,j+1 , por ejemplo (F )n j+1/2 =
n n F (Uj+1 ) + F (Uj ) Uj+1 Uj n |A(Uj+1/2 )| 2 2

(9.45)

n n n donde Uj+1/2 = 1/2(Uj + Uj+1 ). Entonces si, en el estado estacionario, hay una cierta variacin o grande de U en una regin |x| < y depus o e

Uj UL,R , paraj

(9.46)

entonces como los ujos F se conservan, tendremos que FL = FR . Pero como para j tenemos Uj UR , tenemos que, por (9.45), el trmino difusivo (el que contiene a |A|) desaparece y por lo tanto e Fj Fj FR . Anlogamente Fj Fj FL para j y por lo tanto F se conserva a travs del a e resalto. Esto quere decir que los ujos F se convervan, por eso se llaman esquemas conservativos. Bsicamente, estos esquemas aseguran que no habr prdida de masa ni momento ni otras cantidades a a e f sicas, incluso en el caso de que haya grandes variaciones de las variables, como ocurre en el resalto hidrulico. a

9.3

Integracin temporal. Paso de tiempo cr o tico


Un+1 = Un + tG(Un )

Consideremos ahora el esquema de integracin temporal (9.19). Ponindolo de la forma o e (9.47) 104

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

Cap tulo 9. Las ecuaciones de shallow-water

Seccin 9.3. Integracin temporal. Paso de tiempo cr o o tico

n+1 n j-1 j j+1

Figura 9.10: Dependencia de los datos en el esquema temporal expl cito vemos que, como ya mencionramos, es equivalente a un Richardson no-lineal, donde t juega el a papel de una parmetro de relajacin. Igual que para los sistemas lineales, cuanto ms alto podamos a o a poner el parmetro de relajacin ms rpido convergeremos al estacionario, pero subindolo demasiado a o a a e corremos el riesgo de pasarnos del l mite de estabilidad y que el esquema diverja. Necesitamos entonces, una estimacin del paso de tiempo cr o tico tcrit para el cual el esquema se vuelve inestable. Para sistemas hiperblicos, el tcrit pued estimarse considerando la velocidad de propagacin f o o sica de las ondas y la velocidad de propagacin inherente al esquema. o n+1 Efectivamente, consideremos la ecuacin de evolucin discreta para Uj o o (9.42). Esta ecuacin o n+1 n y de los ujos (F )n nos dice que Uj depende slo de Uj o j1/2 . A su vez, estos dos ultimos dependen n slo de Uk para k = j 1, j, j + 1, (ver gura 9.10). Decimos que el esquema expl o cito avanza un paso de malla x por paso de tiempo t. Esto quiere decir que si a tn tenemos una cierta perturbacin o en una regin x0 < x < x1 , por esta dependencia de los datos del esquema numrico, la perturbacin o e o puede haber llegado, en el paso de tiempo tm a lo sumo a la regin comprendida entre o x0 (m n)x < x < x1 + (m n)x (9.48)

Eso quiere decir que la parte ms avanzada/retrasada de la onda se mueve sobre una recta x a (x/t)t = cte. Por otra parte, la perturbacin inicialmente contenida entre x0 < x < x1 se deber o a (desde el punto de vista de la f sica del problema, es decir de la mecnica del continuo) descomponer a en una serie de componentes modales que se popagan cada una con la velocidad j (ver ec. (9.34)). O sea que la perturbacin deber ocupar la regon o a
+ x0 vmax (m n)t < x < x1 + vmax (m n)t

donde
vmax = + vmax = j=1,...,m j <0

max |j | max |j |

j=1,...,m j >0

+ son la mxima velocidad hacia x positivos y negativos, respectivamente. Si vmax > x/t (como se a ve en la gura) entonces despus de transcurrido un cierto tiempo la posicin donde deber estar la e o a onda queda fuera de la regin donde la informacin se puede haber propagado por las restricciones o o

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

&B$A"9@78&453 C 6 1 ) ( 20'
(9.49) (9.50) (9.51) 105

%#! &$"    

W U &V$"T QPHFD RSR IG E

Cap tulo 9. Las ecuaciones de shallow-water

Seccin 9.3. Integracin temporal. Paso de tiempo cr o o tico del esquema. Obviamente bajo estas condiciones, el esquema numrico no puede seguir la f e sica del problema y lo que ocurre en la prctica es que el esquema numrico se hace inestable. Tenemos a e + entonces que la restriccin para que esto no ocurra es vmax < x/t. Lo mismo ocurre para las ondas o que se propagan hacia la derecha, de manera que la restriccin combinada es la llamada condicin de o o Courant-Friedrichs-Lewy o tambin condicin CFL que dice que para que el esquema sea estable e o debe cumplirse que vmax t <1 (9.52) Co = x donde + vmax = max{vmax , vmax } = max |j | (9.53)
j=1,...,m

y Co es el nmero de Courant. En el caso de las ecuaciones de shallow water las velocidades de u propagacin estn dadas por (9.37), y o a vmax = |u| + gh (9.54)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

106

Cap tulo 9. Las ecuaciones de shallow-water

Seccin 9.4. Gu Nro. 5. Ecuaciones de shallow water. o a

9.4

Gu Nro. 5. Ecuaciones de shallow water. a

Ejer. 1: Propagacin de ondas alrededor de ujo homogneo (H cte). o e a.) Considerando condiciones iniciales h u Con = h0 + 0.1 e(xx0 ) = u0
2 / 2

(9.55)

L = 5 = 0.7 x0 = L/2 h0 = 1 u0 = 0.2

(9.56) (9.57) (9.58) (9.59) (9.60)

Ver como se propagan las ondas hasta llegar al estacionario. Evaluar la velocidad de propagacin de cada modo y comparar con la velocidad terica. Idem para u0 = 1.5. o o b.) Condiciones absorbentes: Considerar la condicin de contorno o u(x = 0, t) = u0 = 0.2 h(x = L, t) = h0 (9.61)

Hay reexin de las ondas en los contornos? Comparar con la condicin absorbente utilio o zada. Como afecta la convergencia hacia el estado estacionario? Repetir lo mismo para u(x = 0, t) = u0 h(x = 0, t) = h 0 u(x = L, t) = 0.3 h(x = L, t) = h 0
2 2

(9.62)

Ejer. 2. Flujo subcr tico con fondo variable Tomar H = 0.2 e(xx0 ) / . En este y siguientes ejercicios inicializaremos un valor constane U0 en la mitad izquierda y UL en la derecha, es decir con U0 UL 0 < x < L/2 L/2 < x < L

U (x, 0) =

(9.63)

Tomar U0 = UL =

1 . Se forma el perl subcr tico? Es simtrico? Como var Fr(x)? e a 0.3

h con h = 0.9, 0.8, 0.7 . . .. Ir gracando Fr(x). Se forma 0.3 un resalto? Donde se produce el cambio de ujo subcr tico a supercr tico y viceversa? Repetir el experimento para UL =

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

107

Cap tulo 9. Las ecuaciones de shallow-water

Seccin 9.4. Gu Nro. 5. Ecuaciones de shallow water. o a Ejer. 3. Ondas de choque y abanicos de expansin. Consideremos fondo plano. Sea U = o + el estado supercr 1 0.3 y U tico correspondiente, es decir tal que F (U + ) = F (U ) (usar la funcin supercr.m). Probar a inicializar con o Subcr tico/supercr tico: U0 = U , UL = U + Supercr tico/subcr tico: U0 = U + , UL = U Subcr tico/supercr tico con transicin suave: o U (x) = U + U+ U U+ x x0 tanh 2 2 (9.64)

Supercr tico/subcr tico con transicin suave: o U (x) = x x0 U + U+ U U+ + tanh 2 2 (9.65)

Se forman discontinuidades? Depende esto de si el perl inicial es suave o abrupto? Ejer. 4. Resaltos no estacionarios Sean h , u las componentes de U . Inicializar con U0 = estacionario? Porqu? e u+ + 0.1, h+ , UL = u + 0.1, h . Se forma un reslato no-

Probar con U0 = u+ 0.1, h+ , UL = u 0.1, h .

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

108

Cap tulo 10

Las ecuaciones de shallow-water 2D


La extensin de las ecuaciones (9.2-9.3) a 2D es la siguiente o h + (hu) = 0 (10.1) t u + (u)u = g (h + H) (10.2) t donde u = (u, v) es el vector velocidad el operador vector gradiente y el operador divergencia. Si bien esta notacin es muy compacta, a veces puede ser un poco confusa en cuanto a cuales o ndices estan contraidos. La siguiente es la forma tensorial h + (huj ) = 0 t xj ui ui + uj = g (h + H) t xj xi (10.3) (10.4)

donde hemos usado la convencin de Einstein de suma impl o cita sobre ndices repetidos. Hemos denotado (u1 , u2 ) = (u, v).

10.1

Forma conservativa

Para llevar estas ecuaciones a la forma de conservacin debemos proceder en forma un tanto diferente o a la usada en el caso 1D. Multiplicando (10.3) por ui , (10.4) por h y sumando ambas ecuaciones llegamos a 1 h2 H hui + (hui uj ) + g = gh (10.5) t xj 2 xi xi que puede ponerse como H hui 1 + (hui uj + gij h2 ) = gh (10.6) t xj 2 xi donde la delta de Kronecker est denida como a ij = 1 0 ; si i = j ; si i = j (10.7)

Podemos poner las ecuaciones en forma conservativa (es decir como en (9.14) poniendo h hu hv h , huv U = hu = , Fx = hu2 + gh2 /2 , Fy = hu 2 + gh2 /2 hv huv hv 109

(10.8)

Cap tulo 10. Las ecuaciones de shallow-water 2D

Seccin 10.2. Linealizacin de las ecuaciones o o

0 0 S = gh (H/x) = gh H gh (H/y) y entonces Fj U + =S t xj Los ujos advectivos Fi pueden ponerse en forma ms compacta como a aj Fj = donde a es cualquier vector de IR2 . h uj aj h (aj uj ) u + (gh2 /2) a

(10.9)

(10.10)

(10.11)

10.2

Linealizacin de las ecuaciones o

Como en el caso 1D (9.20) estudiaremos la forma en que se propagan perturbaciones a un ujo homogneo y sin trmino fuente, es decir una linealizacin del problema. La ec. (10.10) puede ponerse e e o como U Fx Fy + + t x y U U U + Ax + Ay t x y O en forma tensorial U U + Aj =0 t xj = 0 = 0 (10.12) (10.13)

(10.14)

Asumiremos que los Aj son constantes y que la U es en realidad una pequea perturbacin con respecto n o al ujo medio.

10.3

Velocidad de propagacin. Proyeccin unidimensional. o o

Cul es ahora la velocidad de propagacin de las perturbaciones? Primeramente podemos ver que a o depende de la direccin. Propongamos soluciones de la forma o U (x, t) = U (x n, t) = U(, t) (10.15)

es decir, donde U slo var en una direccin dada por el versor unitario n. es una coordenada segn o a o u esa direccin. Reemplazando esta forma para U en (10.14) llegamos a o U U U + Ax n x + Ay ny = 0 t U U + (nx Ax + ny Ay ) = 0 t (10.16) (10.17) (10.18) Es decir que el sistema se comporta como un sistema advectivo 1D de la forma (9.20) donde el jacobiano est dado por la proyeccin del vector de jacobianos Aj segn la direccin n a o u o An = n j Aj
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

(10.19) 110

Cap tulo 10. Las ecuaciones de shallow-water 2D

Seccin 10.3. Velocidad de propagacin. Proyeccin unidimensional. o o o Como hab amos visto, la velocidad de propagacin de las ondas estaba dada por los autovalores de o este jacobiano. Primero calculemos expl citamente la proyeccin del jacobiano o An = n j Aj = n j Fj Fn = (nj Fj ) = U U U (10.20)

donde Fn sale de (10.11). Pero pra calcular los jacobianos debemos poner Fn entrminos de las e componentes de U . Llamemos wj = huj , entonces (10.11) puede ponerse como Fn = (wj nj ) (wj nj ) wk /h + gh2 /2 nk (10.21)

Aqu en la segunda la k es un ndice que vale k = 1 para calcular la compoente 2 de Fn y k = 2 para la tercera componente. Es decir (wj nj ) Fn = (wj nj ) w1 /h + gh2 /2 n1 (10.22) 2 /2 n (wj nj ) w2 /h + gh 2 Esto hace hincapi en el carcter vectorial de las dos ultimas componentes de Fn . e a Ahora bien, An = (Fn /h) (Fn /wl ) Aqu l juega un rol similar al de la ecuacin previa. Realizando las derivadas, obtenemos que o An = = 0 nl 2 + ghn (nj wj ) wk /h k [(nj wj )kl + wk nl ]/h 0 nl (nj uj ) uk + ghnk (nj uj )kl + uk nl (10.24) (10.25)

(10.23)

Poniendo n = (1, 0) podemos obtener el jacobiano Ax y para n = (0, 1) obtenemos Ay 0 0 1 0 1 0 v u Ax = u2 + gh 2u 0 , Ay = vu 2 + gh 0 2v uv v u v Calculemos sus autovalores 1 0 0 det(Ax I) = det u2 + gh 2u uv v u = (u ) (2u ) (u2 + gh) = (u ) ( 2u + u gh) = (u ) ( u) gh de donde sale 1 = u 2,3 = u gh
2 2 2

(10.26)

(10.27) (10.28) (10.29) (10.30)

(10.31) (10.32)

Notar que los dos ultimos autovalores 2,3 coinciden con los del problema puramente unidimensional (9.37). El primer autovalor corresponde a perturbaciones de la componente y de velocidad, siempre segn la direccin x. u o
Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

111

Cap tulo 10. Las ecuaciones de shallow-water 2D

Seccin 10.4. Velocidad de fase o Anlogamente, para si asumimos slo variacin segn la direccin y, a o o u o 0 1 v u det(Ax I) = det vu 2 + gh v 0 2v = (v ) (2v ) (v 2 + gh) = (v ) ( 2v + v gh) = (v ) ( v) gh O sea que las soluciones son 1 = v 2,3 = v En ambos casos la solucin puede ponerse como o 1 = u j nj 2,3 = uj nj gh (10.39) (10.40) gh (10.37) (10.38)
2 2 2

(10.33) (10.34) (10.35) (10.36)

y efectivamente puede verse que esto vale para cualquier normal nj .

10.4

Velocidad de fase

Un caso particular de campo de velocidades que var segn una sola direccin como en (10.15) es el a u o caso de las ondas planas U1 cos(kj xj t + 1 ) U (x, t) = U2 cos(kj xj t + 2 ) (10.41) U3 cos(kj xj t + 3 ) donde cada componente var temporalmente segn una sinusoide con una frecuencia = 2/T , donde a u T es el per odo. Si consideramos, como antes, una coordenada = (kj xj )/k, donde k = kj kj es el mdulo del vector kj , entonces la sinusoide tiene una longitud de onda o = 2 k (10.42)

A kj se le llama el vector nmero de onda ya que para cualquier longitud L, kL es 2 veces el u nmero de ondas que entran en L. Notar que si bien todas las amplitudes tienen la misma frecuencia u temporal y vector nmero de onda, cada una puede tener su amplitud Uj y fase j . Ec. (10.41) puede o ponerse en forma ms compacta como a U (x, t) = Re U ei(kj xj t) donde Re {X} denota la parte real del complejo X, y los Uj son complejos dados por Uj = Uj eij Reemplazando en (10.14) y operando llegamos a Re (iI + iAj kj ) U ei(kj xj t) = 0 (10.45) 112 (10.44) (10.43)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

Cap tulo 10. Las ecuaciones de shallow-water 2D

Seccin 10.5. Velocidad de grupo o Ahora notemos que todo el trmino entre corchetes es una constante compleja que no depende ni e espacialmente ni del tiempo y la ecuacin debe ser vlida para todo x y t. Entonces, tomando xj = 0 o a y t = 0 llegamos a que ei(kj xj t) = 1 (10.46) y entonces Re (iI + iAj kj ) U =0 (10.47)

Ahora, tomando xj = 0 y t = /(2) = T /4 la exponencial compleja se hace ei(kj xj t) = ei/2 = i de manera que Re i (iI + iAj kj ) U = Im (iI + iAj kj ) U =0 (10.49) (10.48)

Juntando (10.49) y (10.47) llegamos a que todo el complejo entre corchetes debe ser nulo y entonces (I + Aj kj ) U = 0 (10.50)

es decir que y U deben ser autovalor y autovector de la proyeccin del jacobiano segn la direccin o u o dada por el vector nmero de onda. Entonces, las frecuencias son por (10.39,10.40) u 1 = uj kj 2,3 = uj kj ghk (10.51) (10.52)

Notar que en el segundo trmino de (10.52) debimos agregar el factor k ya que en (10.39,10.40) se ha e hecho uso de que nj es un vector de valor absoluto unitario. La velocidad de fase v es aquella con la que se mueven los planos de fase constante. Estos son aquellos determinados por kj xj t = cte de donde v = (10.53)

(10.54) k Esta velocidad est dirigida segn la normal a los planos de fase constante, es decir que en el sentido a u vectorial kj kj v,j = = 2 (10.55) k k k

10.5

Velocidad de grupo

En realidad la idea de una onda perfectamente monocromtica como (10.43). Veamos que sucede con a una paquete de ondas, es decir con una onda monocromtica modulada por una funcin suave, para a o lo cual elegiremos una Gaussiana (ver gura 10.1). Tomamos como estado inicial (a t = 0) una onda monocromtica modulada por una Gaussiana a
2 2 U (x, t = 0) = U e|xx0 | / eikj xj

(10.56)

En un abuso de notacin hemos omitido el s o imbolo parte real. Queremos ver como evoluciona en el tiempo para t > 0. Haciendo una transformada de Fourier en el espacio podemos descomponer a este paquete de ondas en ondas monocromticas a U (x, t = 0) =
k k

U (k) eikj xj

(10.57) 113

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

Cap tulo 10. Las ecuaciones de shallow-water 2D

Seccin 10.5. Velocidad de grupo o


onda monocromtica

paquete de ondas

Figura 10.1:

Figura 10.2: La envolvente de una paquete de ondas se propaga con velocidad de grupo, mientras que las crestas de las ondas lo hacen con la velocidad de fase. donde como la envolvente es suave las componentes involucradas van a aser aquellas que estn cerca de a k. Para cada componente monocromtica la evolucin temporal viene dada por el trmino temporal a o e it en la exponencial compleja U (x, t) =
k k,

U (k) ei(kj xj t)

va de 1 a 3 y es un ndice sobre los autovalores, para cada vector nmero de onda k. Como en la u suma es slo sobre vectores de onda k cercanos a k entonces podemos hacer un desarrollo en serie de o alrededor de k (k ) = (k) + (k k) + O(|k k|2 ) (10.59) k La cantidad ( /k) es un vector con dimensiones de velocidad y se llama la velocidad de grupo y la denotaremos por como vG,j = (10.60) kj Puede verse (no lo mostraremos aqu que la envolvente de la onda se propaga con la velocidad de ) grupo mientras que las crestas de las ondas lo hacen con la de fase (ver gura 10.2). Notar que esto implica que hay un cierto deslizamiento de las crestas de las ondas con respecto a la envolvente. As la cresta que est en el centro de la envolvente a tiempo t0 est ubicado 4 longitudes de onda , a a adelante del centro de la envolvente a t = t1 .

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

G 6C D CA HFE(&B@"9 674 8 4 5

2% '% ! 310)(&#$"    

  
(10.58) 114

Cap tulo 10. Las ecuaciones de shallow-water 2D

Seccin 10.6. Detalles de discretizacin o o El concepto de velocidad de grupo ha demostrado ser muy importante en todas las ramas de la f sica ondulatoria y, en general, puede decirse que tanto la energ como la informacin se propagan a o con la velocidad de grupo. Calculemos ahora las velocidades de grupo a partir de las leyes de dispersin (10.51,10.52). Teneo mos vG1,j vG23,j = = (kl ul ) = uj kj (kl ul ghk) = uj kj (10.61) gh kj k (10.62)

Notar que para el primer modo la velocidad de grupo es constante (no depende del vector nmero de u onda), mientras que para los modos 2 y 3 depende de la direccin de k pero no de su valor absoluto. o Ahora supongamos que a t = 0 provocamos una perturbacin en x = 0. Podemos descomponer esta o perturbacin como una integral de Fourier, es decir en paquetes de ondas planas de nmero de onda o u k para los diferentes modos = 1 a 3. A un cierto tiempo t > 0 el centro de cada uno de estos paquetes se va a encontrar en x = vG t . Por ejemplo si la velocidad del agua es u = 0, entonces los paquetes que corresponden al primer modo van a formar punto ubicado en x = 0 mientras que los un otros dos van a formar dos c rculos superpuestos de radio ght (ver gura 10.3) . Ahora supongamos que esta perturbacin la producimos a intervalos peridicos t, es decir a tn = nt, entonces a t = t o o la posicin del frente de onda S n para la perturbacin producida a t = tn es un c o o rculo con centro en x = 0 de radio gh (t tn ). Esto forma un sistema de c rculos concntricos. Ahora consideremos el e caso en que el agua se mueve con velocidad u, entonces la posicin del frente de onda S n es un c o rculo de radio gh (t tn ) pero ahora centrado en x = u (t tn ). Asumamos por ahora que el ujo es subcr tico (u < gh) y sin prdida de generalidad que u es paralelo al eje x. Entonces los frentes de e onda son como se muestra en la gura. La posicin de la interseccin de los frentes con el eje x > 0 o o es (u + gh) (t tn ) mientras que la de las intersecciones con el eje x < 0 son ( gh u) (t tn ). Notar el espaciamiento aguas abajo ((u + gh) t) es mayor que el espaciamiento aguas arriba que ((u gh) t). Para velocidades supercr ticas los frentes de onda son arrastrados por el uido con mayor velocidad de la que pueden propagarse hacia aguas arriba de manera que tienden a formar un cono hacia aguas abajo de la fuente de perturbacin. Todos los frentes de onda estan connados o dentro de un sector angular (un cono para ujo compresible en 3D) llamado cono de Mach. El a ngulo interior de este cono puede calcularse (ver gura 10.4) gh (t tn ) 1 sin = = (10.63) u (t tn ) Fr

10.6

Detalles de discretizacin o

Consideremos la resolucin de las ecuaciones de shallow-water 2D en un dominio rectangular 0 < x < o Lx , 0 < y < Ly . Necesitamos ahora una malla 2D de nodos equiespaciados con Nx , Ny intervalos de tal forma que hay (Nx + 1)(Ny + 1) nodos xij = (xi , yj ), con xi = (i 1) yj Lx , i = 1, . . . , Nx + 1 Nx Ly = (j 1) , j = 1, . . . , Ny + 1 Ny (10.64) (10.65)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

115

Cap tulo 10. Las ecuaciones de shallow-water 2D

Seccin 10.6. Detalles de discretizacin o o La ecuacin correspondiente al nodo i, j es una aproximacin por diferencias a (10.10) a saber o o
n+1 n Uij Uij

n n Fx,i+1/2,j Fx,i1/2,j

n n Fy,i,j+1/2 Fy,i,j1/2

n = Sij

(10.66)

Anlogamente al caso 1D los ujos F contienen un trmino de difusin numrica y pueden ponerse a e o e de la forma Fx,i+1/2,j = F x, i + 1/2, j + |Ax,i+1/2,j | (Ui+1,j Ui1,j ) (10.67) donde los ujos centrados F son Fx,i+1/2,j = F( Ui+1/2,j ) = F Ui,j + Ui+1,j 2 (10.68)

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

116

Cap tulo 10. Las ecuaciones de shallow-water 2D

Seccin 10.7. Gu 6. Ec. de shallow water 2D o a

10.7

Gu 6. Ec. de shallow water 2D a

a. Considerando las siguientes condiciones Lx = 8, Ly = 3, u0 = uL = 1 0.4 0 H = Hmax e[(xxc Hmax = 0.2


)2 +y 2 ]/ 2

Nx = 80 Nx = 30 cos t = 0.5

(10.69) (10.70) (10.71) (10.72) (10.73)

Donde hemos introducido un fondo variable en el tiempo para perturbar el sistema y ver como se propagan las perturbaciones. (a) Llegar al estado peridico y ver la zona de inuencia de la perturbacin. o o (b) Idem en rgimen supercr e tico u0 = uL = 1 1.4 0 (10.74)

b. Idem ejercicio previo (en regimen subcr tico y supercr tico) pero con un fondo constante en el tiempo, es decir H = Hmax e[(xxc )
2 +y 2 ]/ 2

(10.75)

Vericar la ley que relaciona la abertura del cono con el Fr. c. Buscar la solucin estacionaria para el fondo (10.75) con o

= 1.5 Hmax = 0.2 xc = Lx /4 con la siguiente inicializacin o U= [1, 0.4, 0] ; para x < xc [hL , 0.4, 0] ; para x > xc (10.76)

y probar con hL =1., 0.9, 0.8, ... Se forma un resalto hidrulico? Se mantiene estacionario. a Como es la convergencia en cada caso.

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

117

Cap tulo 10. Las ecuaciones de shallow-water 2D

Seccin 10.7. Gu 6. Ec. de shallow water 2D o a

en reposo

subcritico

supercritico

Figura 10.3: Perturbaciones peridicas en diferentes reg o menes de ujo.

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

CA97531

ri qp hg f e dc yx w '%u#"v uts CA49874531) ( B @ 6 2 0   


118

R QH I G F CA9P7H531E D

& $ !  '%#" 

V T US

aY b ` W X

Cap tulo 10. Las ecuaciones de shallow-water 2D

Seccin 10.7. Gu 6. Ec. de shallow water 2D o a

Figura 10.4: Angulo formado por el cono de Mach.

j+1 i,j+1/2 j i,j

i+1/2,j

j-1

i-1

i+1

Figura 10.5: Malla 2d para las ecuaciones de shallow-water

Id: itera.tex,v 2.18 1999/07/19 23:33:35 mstorti Exp mstorti

20('&$"   1 )# %#! 3
119

  

You might also like