3.2 Precondicionamento de Sistemas Lineares
4.4.3 Precondicionamento tipo split
H´a ainda uma terceira forma poss´ıvel de precondicionamento quando se tem a forma fatorada de um precondicionador M = M1M2:
Nesse caso h´a uma esp´ecie de precondicionamento simultˆaneo pela esquerda e di- reita, acarretando um res´ıduo diferente como no caso do precondicionamento pela es- querda e uma mudan¸ca de vari´aveis como no caso do da direita.
E o subespa¸co de Krylov correspondente fica:
Cap´ıtulo 5
Precondicionadores
O uso de precondicionadores em sistemas lineares de grande porte e esparsos est´a diretamente relacionado com o desenvolvimento dos m´etodos iterativos. Hoje em dia existe uma enorme quantidade de precondicionadores dispon´ıveis com as mais diversas caracter´ısticas e limita¸c˜oes, e consequentemente muitos trabalhos foram desenvolvidos para compreender o tema, podendo ser citados os trabalhos de Benzi [2] e Ferronato [10]. Os dois trabalhos citados podem ajudar a entender o estado da arte dos precon- dicionadores, sendo que [10] ´e mais recente (2012).
De certa forma o in´ıcio da hist´oria dos precondicionadores ´e marcado pelo trabalho de Cesari em 1937 [4]. Por´em o termo “precondicionamento” usado como uma t´ecnica para m´etodos iterativos na solu¸c˜ao de sistemas lineares surgiu apenas em 1968 num artigo de Evans [9]. ´E importante ressaltar que desde o s´eculo 19 os m´etodos iterativos vinham sendo desenvolvidos, por´em foi com o tr´agico advento da Segunda Guerra Mundial que computadores com poder de processamento maior puderam impulsionar o desenvolvimento tecnol´ogico e com ele a necessidade de solucionar problemas de grande porte.
Em um primeiro momento, entre as d´ecadas de 1940 e 1970 houve um dom´ınio dos m´etodos chamados diretos, em sua maioria variantes da Elimina¸c˜ao Gaussiana. Apesar de ter surgido em 1952 o m´etodo dos Gradientes Conjugados, para matrizes sim´etricas positivas definidas (SPD), era ainda compreendido como uma esp´ecie de m´etodo direto uma vez que possui convergˆencia em no m´aximo m passos, com m sendo o n´umero de autovalores distintos da matriz A.
Mas foi apenas entre as d´ecadas de 1980 e 1990 que os m´etodos de subespa¸cos de Krylov ganharam definitivamente espa¸co. Foi em 1986 que surgiu o m´etodo do Res´ıduo M´ınimo Generalizado (GMRES) [16], e em 1992 o m´etodo dos Gradientes Biconjugados estabilizado (Bi-CGSTAB). Com a maior aceita¸c˜ao do uso de m´etodos
28 que utilizam subespa¸cos de Krylov, e o entendimento que um fator cr´ıtico para um m´etodo desse tipo ´e a escolha de um bom precondicionador, houve um crescimento no interesse dos pesquisadores pelo tema do precondicionamento de sistemas lineares.
Como disse Ferronato [10], a pesquisa no campo dos precondicionadores teve um crescimento consider´avel nas ´ultimas duas d´ecadas, enquanto n˜ao se percebeu grandes avan¸cos em m´etodos de subespa¸cos de Krylov.
Devido a enorme quantidade de precondicionadores, ´e interessante fazermos uma classifica¸c˜ao mesmo que did´atica em grupos para aproveitar caracter´ısticas semelhantes. Uma primeira separa¸c˜ao que pode ser feita ´e entre os precondicionadores projetados especificamente para um determinado problema e os precondicionadores de aplica¸c˜ao “geral”.
Os precondicionadores espec´ıficos levam em considera¸c˜ao caracter´ısticas do pro- blema como as condi¸c˜oes de contorno e as propriedades f´ısicas do sistema de equa¸c˜oes a ser solucionado. Desse modo, pode-se construir precondicionadores que possuem grande efetividade em um dado problema, mas que em geral n˜ao podem ser aprovei- tados em outros problemas sem grandes esfor¸cos de pesquisa. Ainda que diante do mesmo problema, se ocorrerem mudan¸cas em alguma caracter´ıstica relativa a ele, o efeito ben´efico de um precondicionador desse tipo pode ser reduzido.
Por outro lado, os precondicionadores chamados de Alg´ebricos se baseiam nas ca- racter´ısticas da matriz A dos coeficientes do sistema linear. Desse modo, para um determinado grupo de problemas que possuam algumas caracter´ısticas em comum, como serem diagonal dominantes por exemplo, podem ser precondicionadas utilizando uma mesma estrat´egia, mesmo quando a interpreta¸c˜ao f´ısica dos problemas n˜ao tenham nenhuma correla¸c˜ao. Infelizmente n˜ao existe um precondicionador t˜ao geral ao ponto de poder ser aplicado a qualquer matriz, levando a uma enorme quantidade de precon- dicionadores dispon´ıveis. Ainda no grupo dos precondicionadores alg´ebricos, pode-se dividi-los como fez Benzi [2] em duas classes, fatora¸c˜oes incompletas e inversas aproxi- madas. Essas duas classes se diferenciam essencialmente pelo fato de que na fatora¸c˜ao incompleta a matriz aplicada M−1 n˜ao ´e formada explicitamente, enquanto no caso da
inversa aproximada ´e a pr´opria matriz M−1 que ´e constru´ıda e diretamente aplicada.
H´a ainda um outro tipo de precondicionador alg´ebrico chamado de Multigrid, o qual vem suscitando uma grande pesquisa na ´ultima d´ecada [10]. A principal vantagem do Multigrid ´e que ele se adapta a escala, ou seja, a convergˆencia n˜ao depende do n´umero de n´os da malha, podendo ser adaptado a uma malha mais fina sem grande aumento no custo computacional.
5.1 Jacobi 29 para aplica¸c˜ao num´erica proposta no cap´ıtulo 6:
• ILU • SSOR • Jacobi
Para entender o funcionamento desses precondicionadores precisamos decompor a matriz A em suas componentes: A = D − E − F , onde:
A = -E + D + -F
Figura 5.1: Decomposi¸c˜ao da matriz A • D = diagonal de A
• -E = componente triangular inferior estrita de A • -F = componente triangular superior estrita de A
5.1
Jacobi
O precondicionador de Jacobi, assim como o SSOR, podem ser obtidos a partir do desenvolvimento e compara¸c˜ao com a itera¸c˜ao de ponto-fixo [17]:
Dado o sistema
Ax = b,
A = M − N. (5.1)
Pode-se definir a itera¸c˜ao linear de ponto-fixo:
xk+1 = M−1N xk+ M−1b. (5.2)
No caso de Jacobi, calcula-se o i-´esimo componente de xk+1 resolvendo:
5.2 SSOR 30