Computação Científica Sistema Lineares Métodos Diretos Métodos Iterativos Estacionários Lucia Catabriga LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD
Referências www.inf.ufes.br/~luciac Barret, R, et al., ``Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods'', SIAM, 1994. Shewchuk, J. R., ``An Introduction to the Conjugate Gradient Method Withuot the Agonizing Pain'', 1994. Dongarra, J.J., Duff, I.S., Sorasen, D.C., Van der Vorst, H.A., Numerical LInear Algebra for High-Performance Computers, SIAM, 1998. Golub, G. and Van Loan, C., "Matrix Computations", The John Hopkins University Press,1993. Kelley C.T., "Iterative Methods for Linear and Nonlinear Equations", SIAM, 1995. Saad, Y., "Iterative Methods for Sparse Linear Systems", PWS Publishing Company, 1996. White, R.E., "Computational Modeling with Methods and Analysis", 2003.
Solução de Sistemas Lineares Métodos Diretos Introdução Solução de sistemas triangulares Eliminação de Gauss Decomposição LU Métodos diretos x Matrizes Esparsas
Introdução Característica: encontra a solução exata a menos de erros de arredontamento Objetivo: transformar o sistema em um sistema trivial (sistema triangular) Complexidade: em torno de n 3 (número de operações de ponto flutuante)
Sistemas triangulares Sistema Triangular Inferior Lx = c l11 x1 c1 i 1 l21 l 22 x 2 c 2 ci lij x j j= 1 l31 l32 l33 x3 = c3 xi =, i = 1,2, L, n lii M M M O M M ln1 ln2 ln3 L l nn x n c n Substituição (Complexidade: n 2 ) Sistema Triangular Superior Ux = d u u u L u u x d 11 12 13 1, n 1 1n 1 1 u22 u23 L u n 2, n 1 u 2, n x 2 d 2 di uij x j u33 L u3, n 1 u3, n x3 d3 j= i+ 1 i O M M M M uii un 1, n 1 un 1, n xn 1 dn 1 unn xn dn = x =, i = 1,2, L, n Retrosubstituição (Complexidade: n 2 )
Redução a Sistemas triangulares Eliminação de Gauss Ax = b { Ux = d Decomposição LU Operações Elementares Li Li mij Lj Li λlj L L i j Complexidade n 3 Ld = Ax = b { LUx { = b Ux = A= LU d b d
Reduação a Sistemas triangulares Processo de Eliminação de Gauss a11 a12 a13 L a1, n 1 a1 n b1 ai1 mi1 = a21 a22 a23 L a2, n 1 a2, n b2 a11 a a a L a a b L L m L A b = M M M O M M a a m a an 1,1 an 1,2 an 1,3 L an 1, n 1 an 1, n b n 1 b b m b a ij n1 an2 an3 an, n 1 ann b L = 2, L, n n 31 32 33 3, n 1 3, n 3 i i i1 1 ij ij i1 1 j i i i1 1 a11 a12 a13 L a1, n 1 a1n b1 1 1 1 1 1 0 a22 a23 L a2, n 1 a2, n b2 1 1 1 1 1 0 a32 a33 L a3, n 1 a3, n b3 M M M O M M 1 1 1 1 1 0 an 1,2 an 1,3 L an 1, n 1 an 1, n b n 1 1 1 1 1 1 0 an2 an3 an, n 1 ann b L n A b k 1 k 1 a a L a L a b a a L a L a b a = O M M M M Li Li mik Lk = O M M M M k 1 k 1 k 1 a a kk L akn b k ij aij mika k k k kj akk L akn bk M O M M bi bi mikbk O M M k 1 k 1 k 1 a ij k 1,, n nk ann b = + L k k L n L ann bn 11 12 1k 1n 1 11 12 1k 1n 1 ik 1 1 1 1 m ik 1 1 1 1 a22 L a2k L a2, n b2 a a22 L a2k L a2, n b2 kk 1 1 1 n-1 etapas totalizando complexidade em torno de n 3
Redução a Sistemas triangulares Processo de Decomposição LU A= LU 644444444444444 4744444444444444448 1 a11 a12 L a1 k L a1 n 1 1 1 m21 1 a22 a2k a L L 2, n m31 m32 1 O M M M L = U = k 1 k 1 M M M O akk L akn mn 1,1 mn 1,2 mn 1,3 L 1 O M k mn1 mn2 mn3 L mn, n 1 1 ann Ld = Ax = b { LUx { = b Ux = A= LU d b d n-1 etapas totalizando complexidade em torno de n 3
Métodos Diretos x Matrizes Esparsas O processo de decomposição preenche com coeficientes não-nulos posições orginalmente nulas! Armazenamento SKL ou banda completa.
Solução de Sistemas Lineares Métodos Iterativos Estacionários Introdução Critérios de convergência e Parada Jacobi Seidel SOR Métodos iterativos x Matrizes Esparsas
Introdução Características: encontra a solução aproximada com precisão pré-fixada, depende de critérios de convergência relacionados a matriz dos coeficientes A. Objetivo: transformar o sistema em uma expressão recurssiva tal que x (k+1) = F(x (k), A,b) para uma condição inicial x (0) conhecida. Complexidade: em torno de n 2 por iteração.
Introdução Ax = b x = Cx + g x = Cx + g { ( k + 1) ( k ) Definição Resultado necessário e suficiente: O método iterativo x (k+1) = Cx (k) +g converge com qualquer valor inicial x (0) se, e somente se, ρ(c) < 1. ρ(c) é o raio espectral de C (maior autovalor em módulo) Resultado suficiente: O método iterativo x (k+1) = Cx (k) +g converge com qualquer valor inicial x (0) se C < 1. Critérios de Parada: x (k+1) é solução aproximada com tolerância ε se: x x ( k ) ( k 1) x ( k ) < ε ou r = b Ax < ε
Métodos Jacobi, Seidel e SOR Ax = b Dx = ( L + U) x + b x = D ( L + U ) x + D b ( L + D + U ) x = b ( L + D) x = Ux + b x = D Lx D Ux + D b ( k + 1) 1 ( k ) 1 J J ( k + 1) 1 ( k + 1) 1 ( k ) 1 S S S ( k+ 1) ( xi ) ( k+ 1) ( xi ) J S = = b n ( k ) i aijx j j= 1 j i a ii i 1 n ( k+ 1) ( k ) i ij j ij j j= 1 j= i+ 1 b a x a x ( k+ 1) ( k+ 1) ( k ) ( xi ) = w( xi ) + (1 w) ( xi ) a SOR S SOR ii O método SOR converge para 0<w<2 Os coeficientes de A e b não são alterados durante o processo iterativo
Métodos Iterativos Estacionários x Matrizes Esparsas Somente os coeficientes não nulos necessitam ser armazenados A linha genérica i do sistema resultante da discretização por diferenças finitas para um problema bidimensional é: a x + a x + a x + a x + a x = b i, i n i n i, i 1 i 1 ii i i, i+ 1 i i, i+ n i+ n i ( k ) ( k ) ( k ) ( k ) ( k+ 1) i i, i n i n i, i 1 i 1 i, i+ 1 i i, i+ n i+ n ( xi ) ( k+ 1) ( k + 1) ( k ) ( k ) ( k+ 1) i i, i n i n i, i 1 i 1 i, i+ 1 i i, i+ n i+ n ( xi ) ( k+ 1) ( xi ) J S SOR b a x a x a x a x = a b a x a x a x a x = a ii ii b a x a x a x a x = w + ( k+ 1) ( k+ 1) ( k ) ( k ) i i, i n i n i, i 1 i 1 i, i+ 1 i i, i+ n i+ n k (1 w) xi aii