260 likes | 402 Views
PRECONDICIONAMIENTO. Teoría y Aplicaciones. Dr. Pablo Barrera Sánchez Mat. Luis Alberto Vázquez Maison Facultad de Ciencias, UNAM. Laboratorio de cómputo científico. maison@ciencias.unam.mx. La solución de sistemas lineales . Aparece en diversos campos del computo científico.
E N D
PRECONDICIONAMIENTO Teoría y Aplicaciones Dr. Pablo Barrera Sánchez Mat. Luis Alberto Vázquez Maison Facultad de Ciencias, UNAM Laboratorio de cómputo científico maison@ciencias.unam.mx
La solución de sistemas lineales Aparece en diversos campos del computo científico Solución de Ecuaciones Diferenciales Parciales (EDP) Métodos clásicos: Tipo SOR (Jacobi, Gauss-Sidel) Elim. Gaussiana (Fact. LU, Choleski) Métodos de Krylov (no tan clásicos): GMRES, GC, BiGCStab
Sistemas sparse de dimensión grande N = 500, 5000 ,10000, 30000, ... Métodos clásicos: Costo computacional alto Métodos de Krylov: Convergencia lenta
Un precondicionador para el sistema • Es un operador M tal que uno de los siguientes sistemas es “fácil” de resolver:
1) • Problema General: Determinar un operador M tal que: 2) La construcción y almacenaje de M son económicos 3) El sistema es mas fácil que
Posibles formas para M Diagonales de A Factorización de A
El efecto “visible” de un precondicionador es el de disminuir el número de iteraciones necesarias para que un método de solución converja • El efecto “oculto” es el de cambiar las propiedades de los eigenvalores de A para disminuir su condición
Error relativo sin precondicionamiento 10e+0 Error relativo con precondicionamiento 10e-7
¿Cómo elegir un buen precondicionador? ¡¡ Buena pregunta !! Analizar el sistema: Propiedades de A Estructura deA ¿Que representa?
Factorizaciones incompletas Idea básica Definir un conjunto de índices bajo una condición particular Aplicar factorización LU considerando : Formas comunes para
GRADIENTE CONJUGADO Calcular Calcular Paraj=1,… Paraj=1,… 1) 1) 2) 2) 3) 3) (3-a) 4) 4) 5) 5) Fin Fin
No necesariamente es una matriz Un precondicionador puede darse como una rutina que resuelve el sistema Existen problemas donde el sistema de ecuaciones correspondiente no es construido explícitamente
Discretizacion por diferencias finitas sobre una malla de dimensión N La estructura de la matriz es conocida El sistema no es construido explícitamente, es decir, no se tiene la matriz A
La ecuación que se desea resolver es de tipo Elíptico La ecuación elíptica mas simple es la ecuación de Poisson Los sistemas lineales de ambas ecuaciones tienen estructuras similares Se conocen técnicas muy eficientes para resolver la ecuación de poisson sobre un rectángulo, basadas principalmente en el uso de la transformada rápida de Fourier (Fast Poisson Solvers) Una rutina de solución rápida de Poisson es un buen precondicionador para resolver el sistema correspondiente a una ecuación elíptica
GRADIENTE CONJUGADO Calcular 0) Paraj=1,… 1) 2) 3) (3-a) 4) 5) Fin
Rutina de solución para un sistema particular : Donde la matriz puede no ser conocida explícitamente Posibles rutinas: • Solución de sistemas tridiagonales • Sistemas triangulares (Substitución) • Cualquier solución implícita Que sea “Fácil” toma otro significado
¿Posibles rutinas?: SOR (Métodos tradicionales) Multigrid Métodos de Krylov La solución es solo aproximada, cada vez que se llama a la rutina se obtiene una aproximación con diferente precisión Mas de un precondicionador?