Transcript Precondi00
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 [email protected] Precondicionamiento: teoría y aplicaciones [email protected] La solución de sistemas lineales Ax b 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 Precondicionamiento: teoría y aplicaciones [email protected] Sistemas sparse de dimensión grande N = 500, 5000 ,10000, 30000, ... Métodos clásicos: Costo computacional alto Métodos de Krylov: Convergencia lenta Precondicionamiento: teoría y aplicaciones [email protected] Un precondicionador para el sistema Ax b Es un operador M tal que uno de los siguientes sistemas es “fácil” de resolver: 1 1 MA xMb 1 A M ub 1 x M u 1 1 1 M A M u b xM u 2 1 1 M M M 1 2 Precondicionamiento: teoría y aplicaciones [email protected] Problema General: Determinar un operador M tal que: 1) M A 1 MA xIxMb 1 2) La construcción y almacenaje de M son económicos 3) El sistema Mu x es mas fácil que Ax b Precondicionamiento: teoría y aplicaciones [email protected] Posibles formas para M Diagonales de A Factorización de A Precondicionamiento: teoría y aplicaciones Algunos ejemplos [email protected] Precondicionamiento: teoría y aplicaciones [email protected] Precondicionamiento: teoría y aplicaciones [email protected] Precondicionamiento: teoría y aplicaciones [email protected] EDP D i v c o s ( x ) G r a d U x , y U x , y 1 0 ( x , y ) 2 Precondicionamiento: teoría y aplicaciones [email protected] Precondicionamiento: teoría y aplicaciones [email protected] 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 Precondicionamiento: teoría y aplicaciones [email protected] Distribucion de los eigenvalores 10 10 8 10 6 10 4 10 2 10 0 10 0 50 100 150 200 250 300 1 2.4 x 10 2 350 400 450 500 Precondicionamiento: teoría y aplicaciones [email protected] Error relativo sin precondicionamiento 10e+0 Error relativo con precondicionamiento 10e-7 Precondicionamiento: teoría y aplicaciones [email protected] ¿Cómo elegir un buen precondicionador? ¡¡ Buena pregunta !! Analizar el sistema: Propiedades de A Estructura de A ¿Que representa? Precondicionamiento: teoría y aplicaciones [email protected] Factorizaciones incompletas Idea básica Definir un conjunto de índices bajo una condición particular i,j|C S : o n d i c i o n Aplicar factorización LU considerando : i,j S li,j 0 i,j i,j S u 0 Formas comunes para S i,j|a i,j S : t o l i,j|li,j S : t o l Precondicionamiento: teoría y aplicaciones [email protected] Llenado de una matriz Precondicionamiento: teoría y aplicaciones [email protected] GRADIENTE CONJUGADO bA x;p r Calcular r 0 0 0 0 1 b A xpr ;0 ; z M r Calcular r 00 0 0 Para j=1,… Para j=1,… 1) 2) 3) 4) x j j1 p 5) j j1 j j r j ,r j r j1 j p Ap j,p j xj jp x 3) r j1 r j j A p (3-a) r j 1 ,r j 1 r j ,r j 2) 4) z j1 j1 j M Fin p j1 1 j j r j1 r j1 ,z j1 r j ,z j j 5) Fin j Ap j ,p j r j1 r j j A p 1) r j ,r j xj jp 0 z j1 jp j Precondicionamiento: teoría y aplicaciones M No necesariamente es una matriz Un precondicionador puede darse como una rutina que resuelve el sistema Mu x Existen problemas donde el sistema de ecuaciones correspondiente no es construido explícitamente [email protected] Precondicionamiento: teoría y aplicaciones [email protected] D i va ,y r a d ,y ,y x G x f x U a x , yf ; x , y C o n o c i d a s , [ 0 ,1 ] [ 0 ,1 ] xy 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 Precondicionamiento: teoría y aplicaciones [email protected] 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 Precondicionamiento: teoría y aplicaciones [email protected] ,y o a x , y 1 . 1 s e n 3 x 5 y ; fx s e n . 5c x s y D i va ,y G r a d U ,y ,y x x f x N=60 (3600 variables) utilizando GC 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.2 0.4 0.6 0.8 1 Precondicionamiento: teoría y aplicaciones [email protected] GRADIENTE CONJUGADO bA x;p r; Calcular r 0 0 0 0 z0 M1r0 z0 F r0 0) Para j=1,… j x j1 r j ,r j Ap j,p j xj jp r j1 r j j A p z j1 j p j1 M 1 j j r j1 1) j 2) x j1 x j j p 3) r j1 r j j A p (3-a) r j1 ,z j1 4) r j ,z j z j1 jp j r j ,r j 5) Fin Ap j,p j z j1 F j p j1 j j rj1 r j1 ,z j1 r j ,z j z j1 j p j Precondicionamiento: teoría y aplicaciones [email protected] u F x Rutina de solución para un sistema particular : Mu x 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 Mu x sea “Fácil” toma otro significado Precondicionamiento: teoría y aplicaciones ¿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? [email protected] Precondicionamiento: teoría y aplicaciones GRACIAS [email protected]