You are on page 1of 30

Mtodo de diferencias finitas para

ecuaciones diferenciales parciales


elpticas
(Parte II)

Mtodos numricos para sistemas lineales

Solucin numrica de EDPs requiere resolver sistemas de


ecuaciones lineales
Matrices pueden ser grandes y sparse (5 o 6 elementos
distintos de cero por fila)
Qu mtodos existen?

Exactos

Iterativos

Mtodos numricos para sistemas lineales

Mtodos exactos (Ejemplo: Gauss):

Resuelve el sistema en forma exacta (al usar punto flotante siempre


hay errores)
Hay mtodos (y software) especiales para manejar matrices sparse de
manera eficiente. A pesar de esto requieren harto espacio de
almacenamiento

Mtodos iterativos:

Requieren menos espacio de almacenamiento

Guardan solo valores distintos de cero de la matriz


Requieren de una solucin inicial del sistema para
comenzar
Criterio de detencin es complicado de manejar para
asegurar precisin en la solucin aproximanda obtenida

(captulo 3, Mathews-Fink, apuntes MC Rivara)

Mtodos directos

Mtodo de Gauss: La matriz ampliada de AX=B es la siguiente:

Esta se resuelve usando operaciones elementales sobre sus filas


(las variables xk sirven para marcar el sitio de los coeficientes y
pueden ser omitidas hasta el final de los clculos)

Mtodos directos: mtodo de Gauss

Operaciones elementales con las filas, pivotes y multiplicadores

Mtodos directos: mtodo de Gauss


Ejemplo

Sistema de ecuaciones

Matriz ampliada

Mtodos directos: mtodo de Gauss


Ejemplo

Elementos primera columna eliminados

Elementos segunda columna eliminados

Mtodos directos: mtodo de Gauss


Ejemplo

Elementos tercera columna eliminados

Resultado: sistema triangular superior

Se resuelve de abajo hacia arriba

9x 4=18

Costo computacional del mtodo de Gauss

Para una matriz de NxN es de O(N) (este es el orden del nmero de


operaciones divisiones, multiplicaciones y restas que realiza el algoritmo)

Propuesto: contarlas!

Qu problemas trae esto?

Muy lento para grillas no muy grandes y usa harto espacio


Por ejemplo: un problema de Dirichlet requiere la resolucin de un
sistema de (n-2)(m-2) ecuaciones
Si la grilla de R es de 10x10 cuadrados, cuntas ecuaciones e incgnitas son?
Si R es de 100x100?
De qu orden es el nmero de operaciones que realiza el algoritmo de Gauss?
Cuanto se demora sobre un computador que tiene 2GHz (suponiendo que tiene
la memoria suficiente)? 2GHz significa 2*10 tics por segundo. Supongamos
que 1 operacin de punto flotante necesita 4 tics => 500 megaflops por segundo
(operaciones de punto flotante).

Mtodos iterativos: Jacobi

Sistema de ecuaciones

Solucin: (2,4,3)

Estas ecuaciones se pueden escribir como:

Qu sugiere esto?

Mtodos iterativos: Jacobi

Sugiere un mtodo iterativo:

Qu necesitamos? Valores iniciales x 0, y 0, z 0


calcular x y z
1,

1,

P0 = x 0, y 0, z 0 =1,2,2

Comencemos con

Parece converger a la solucin

para

Mtodos iterativos: Jacobi


Este proceso se conoce como: Mtodo de iteracin de Jacobi
No sirve para resolver todos los sistemas lineales
En el ejemplo: 19 iteraciones

Mtodo iterativo de Jacobi: Ejemplo de


divergencia

El mismo sistema de ecuaciones reordenado:

Si escribimos estas ecuaciones como:

Mtodo iterativo de Jacobi: Ejemplo de


divergencia

As, el mtodo iterativo de Jacobi queda:

Y partimos con el mismo punto inicial

P0 = x 0, y 0, z 0 =1,2,2

El punto (1.5,3.375, 5) est ms alejado de la solucin que el punto


inicial de la solucin.

Mtodo iterativo de Jacobi: Ejemplo de


divergencia

En este ejemplo, el mtodo diverge!

Mtodo iterativo de Gauss-Seidel

Podemos algunas veces acelerar la convergencia?

Basado en el mtodo de Jacobi, la idea es que cada vez que


tenemos un nuevo valor, usamos ese para obtener el valor de la
siguiente ecuacin

Lo aplicamos al ejemplo anterior:

El nuevo punto est ms cerca de la solucin que el punto obtenido


con Jacobi

Mtodo iterativo Gauss-Seidel

Y se necesitaron 10 iteraciones!

Cmo saber cuando convergen?

Definicin: Se dice que una matriz A de NxN es de diagonal


estrictamente dominante cuando:
N

akk

j=1, jk

a kj para k=1,2,. .. , N

Teorema (Mtodo iterativo de Jacobi). Supongamos que A es una matriz


diagonal estrictamente dominante. Entonces el sistema de ecuaciones
lineales AX = B tiene solucin nica X=P. Adems, el proceso iterativo de
Jacobi produce una sucesin de vectores que converge a P cualquiera sea
el vector de partida.

Dem: Puede encontrarse en textos anlisis numrico avanzado.

Nota: Esta es una condicin suficiente pero no necesaria...

Mtodo sobrerelajacin sucesiva

Cmo se deduce? Recordemos la ecuacin de diferencias de


Laplace

ui 1j ui1j uij1uij14 u ij =0

y supongamos que conocemos los valores de u(x,y) en el contorno

u x 1, y j =u1, j para 2 jm1 a la izquierda


u x i , y 1 =u i ,1 para 2in1 abajo
u x n , y j =u n , j para 2 jm1 a la derecha
u x i , y m =ui , m para 2in1 arriba

Mtodos sobrerelajacin sucesiva

La ecuacin escrita de manera adecuada para iterar es:

uij =uij r ij

siendo

u i1j u i1juij1 uij1 4 uij


r ij =
4

con 2in1 y 2 jm1

Qu informacin adicional necesitamos?

Mtodos sobrerelajacin sucesuva

Disponer de valores iniciales en los puntos interiores de la


malla (grilla)

En que consiste cada iteracin?

Usar por ejemplo la constante K definida como la media de los 2n


+ 2m -4 valores de contorno
Hacer un barrido de todos los puntos interiores de la malla con la
frmula recursiva hasta que r ij se reduzca a cero (| r ij | < ,
siendo una tolerancia prefijada)

Se puede aumentar la velocidad de la convergencia a cero?

Si: usando mtodo de sobrerelajacin sucesiva

Mtodos sobrerelajacin sucesiva

Mtodo de relajacin sucesiva:

Ejemplo: Laplace- cond. Dirichlet

Problema: determinar la solucin aproximada de la


ecuacin de Laplace en el rectngulo
donde u(x,y) denota la temperatura en un punto (x,y), los
valores de frontera son:

u(x,0) = 20

0<x<4

u(x,4) = 180

0 <x<4

u(0,y) = 80

0<y<4

u(4,y) =0

0 <y < 4

Solucin: dividimos el cuadrado en 64 cuadrados,

usamos h = 0.5 y valor inicial puntos interiores = 70,


para i=2,...,8 y j = 2,...,8. = 1.44646, n=9, m=9

Resultados

- Obtenido despues de 19
iteraciones
- r 0.0006060.001

ij

- Uso de promedio en esquinas

Mtodos iterativos ...

Mtodo de relajacin sucesiva: Condiciones de Neumann

Ejemplo: Laplace- Cond. Mixtas

Problema: determinar la solucin aproximada de la


ecuacin de Laplace en el rectngulo
donde u(x,y) denota la temperatura en un punto (x,y), los
valores de frontera son:

u(x,4) = 180

0 < x < 4 (Dirichlet)

uy(x,0) = 0

0 < x < 4 (Neumann)

u(0,y) = 80

0 < y < 4 (Dirichlet)

u(4,y) =0

0 <y < 4

(Dirichlet)

Solucin: dividimos el cuadrado en 64 cuadrados,

usamos h = 0.5, valor inicial puntos interiores 70,


para i=2,...,8 y j = 2,...,8. = 1.44646, n=9, m=9,
valor inicial para y = y1 = 0, interpolacin lineal,

Resultados

- Obtenido despues de 29
iteraciones
- r 0.0009980.001

ij

- Uso de promedio en esquinas

EDPs Elpticas ms generales

Mtodo iterativo aplicado a ecuacin de Poisson

EDPs Elpticas ms generales

Mtodo iterativo aplicado a ecuacin de Helmholz

Resumen

Mtodos para resolver sistemas lineales

Mtodo de Gauss (exacto)

Mtodo iterativo de Jacobi

Mtodo iterativo de Gauss-Seidel

Mtodo de sobrerelajacin sucesiva (aplicado a la


ecuacin de Laplace)

You might also like