Sistemas de Equações Lineares Análise Numérica Artur M C Brito da Cruz Escola Superior de Tecnologia Instituto Politécnico de Setúbal 5/6 versão de Setembro de 7
Conteúdo Matrizes 3 Operações com Matrizes 4 3 Determinantes e Matriz Inversa 7 4 Sistemas de Equações Lineares 5 Método de Eliminação de Gauss 6 Factorização LU 4 7 Avaliação do Esforço Computacional 7 8 Pesquisa de Redutor 8 8 Pesquisa Parcial de Redutor 9 8 Pesquisa Total de Redutor 9 Métodos Compactos 9 Método de Doolittle 9 Método de Cholesky 5 Métodos Iterativos 8 Método de Jacobi 9 Método de Gauss-Seidel 3 3 Convergência dos Métodos Iterativos 3 3 Aplicação ao Método de Jacobi 34 3 Aplicação ao Método de Gauss-Seidel 35 DMAT ESTSetúbal/IPS
Matrizes Uma matriz real A de tipo m n (lê-se m por n) é uma representação de número reais em m linhas e n colunas a a a n a a a n A = = [a ij] m n a m a m a mn Por exemplo, a matriz [ 3 é uma matriz de tipo 3 O conjunto de todas as matrizes reais de tipo m n representa-se por M m n (R) Uma matriz linha é uma matriz de tipo n [ a a a n ], ] uma matriz coluna é uma matriz de tipo m a a e uma matriz quadrada, ou de ordem n, é uma matriz de tipo n n a a a n a a a n a n a n a nn Uma matriz diagonal é uma matriz quadrada A = [a ij ] i,j {,,n} em que isto é a m a ij = se i j, a a A = a nn Um exemplo de uma matriz diagonal é a matriz identidade de ordem n I n = DMAT 3 ESTSetúbal/IPS
Uma matriz triangular superior é uma matriz quadrada em que a ij = para i > j, isto é a a a n a a n a nn e uma matriz triangular inferior é uma matriz quadrada em que a ij = para i < j, isto é a a a a n a n a nn A matriz nula de tipo m n é a matriz = [] m n Uma matriz simétrica é uma matriz quadrada A = [a i,j ] i,j {,,n} em que a ij = a ji, isto é a a a n a a a n A = a n a n a nn Duas matrizes A e B do mesmo tipo m n são iguais, e escreve-se A = B, se a ij = b ij, para todo o i {,, m} e para todo o j {,, n} m n Operações com Matrizes Dadas duas matrizes A = [a ij ] e B = [b ij ] do mesmo tipo m n, define-se soma de A com B como sendo a matriz de tipo m n A + B = [a ij + b ij ] DMAT 4 ESTSetúbal/IPS
para todo o i {,, m} e para todo o j {,, n} Por exemplo, [ ] [ ] [ ] 3 5 + 3 3 4 5 = 6 + Analogamente define-se a subtracção de matrizes O produto escalar de k R por uma matriz A = [a ij ] de tipo m n define-se como sendo a matriz de tipo m n ka = [ka ij ] para todo o i {,, m} e para todo o j {,, n} Por exemplo, [ ] [ ] = 3 6 4 Teorema Sejam A,B e C matrizes de tipo m n, α,β números reais Então: A + B = B + A; (A + B) + C = A + (B + C) ; 3 A + [] m n = A; 4 α (A + B) = αa + αb; 5 (α + β) A = αa + βa; 6 (αβ) A = α (βa) ; 7 A = A e A = [] m n Duas matrizes A e B dizem-se encadeadas se o número de colunas de A é igual ao número de linhas de B Por exemplo, as matrizes 4 e 5 3 6 3 3 3 são encadeadas mas as matrizes 4 5 3 6 3 e 3 3 não são encadeadas Sejam A uma matriz de tipo m p e B uma matriz de tipo p n, ou seja A e B são matrizes encadeadas O produto das matrizes A e B é a matriz AB de tipo m n definida por p (ab) ij = a ik b kj k= DMAT 5 ESTSetúbal/IPS
ou seja, cada entrada i, j é obtida pela soma de todos os produtos dos elementos da linha i da matriz A pelos correspondentes elementos da coluna j da matriz B Por exemplo, = 4 4 3 4 5 3 6 3 4 4 Teorema Sejam A,B e C matrizes tais que as operações abaixo descritas estejam bem definidas e seja k R Então, A (BC) = (AB) C; A (B + C) = AB + AC; 3 (A + B) C = AC + BC; 4 k (AB) = (ka) B = A (kb) ; 5 [] m n A n p = [] m p ; 6 I m A m n = A m n I n = A m n Note-se que o produto de matrizes não é uma operação comutativa pois, por exemplo, o produto de uma matriz A de tipo 3 por uma matriz B de tipo 3 4 está bem definido mas não faz sentido em falar do produto da matriz B pela matriz A Seja A uma matriz de tipo m n A matriz transposta de A é a matriz de ordem n m, que se denota por A T, e é definida por A T = [a ji ] 4 Por exemplo, a matriz transposta de A = 4 4 é a matriz A T = [ 4 4 ] Teorema Sejam A e B matrizes tais que as operações abaixo descritas estejam bem definidas e seja k R Então, ( A T ) T = A; (ka) T = ka T ; 3 (A + B) T = A T + B T ; 4 (AB) T = B T A T DMAT 6 ESTSetúbal/IPS
3 Determinantes e Matriz Inversa Dada uma matriz A quadrada de ordem n, representa-se por A ij a matriz que se obtém da matriz A eliminando a linha i e coluna j e que se denomina como matriz menor Por exemplo, se 3 A = 4 5 6 7 8 9 então A 3 = [ 7 8 O determinante de uma matriz é uma função que associa a cada matriz A M n n (R) um número real, que se representa por det A ou A, ou seja ] det : M n n (R) R O determinante de uma matriz de ordem é definido por A det A A = [ a ] det A = a O determinante de uma matriz A = [a ij ] de ordem n é definido para uma qualquer linha i {, n} por det A = n a ij ij j= em que = a i i + a i i + + a in in ij = ( ) i+j det A ij se designa por complemento algébrico Por exemplo, o determinante de uma matriz de ordem pode ser calculado utilizando a ª linha da matriz Assim, [ ] a b det A = det c d = a ( ) + det [ d ] + b ( ) + det [ c ], donde det A = ad bc DMAT 7 ESTSetúbal/IPS
Calcule-se um determinante de uma matriz de ordem 3 pela primeira linha 3 det A = 4 5 6 7 9 = a ( ) + det A + a ( ) + det A + a 3 ( ) +3 det A 3 = 5 6 9 4 6 7 9 + 3 4 5 7 = (45 ) (36 4) + 3 ( 35) = 48 Note-se que esta definição está bem definida e não depende da escolha da linha i O cálculo do determinante desta forma denomina-se por desenvolvimento ao longo da linha i De facto, esta definição também pode ser introduzida pelo desenvolvimento ao longo da coluna j, ou seja, det A = n a ij ij i= = a j j + a j j + + a nj nj Ao repetir-se o exercício anterior aplicado ao longo da coluna 3 det A = 4 5 6 7 9 = ( ) + a det A + ( ) + a det A + ( ) 3+ a 3 det A 3 = 4 6 7 9 + 5 3 7 9 + = (36 4) + 5 (9 ) = 48 Esta não é única forma de calcular um determinante e denomina-se de fórmula de Laplace Um outro método muito utilizado no cálculo do determinante de uma matriz de ordem 3 é a regra de Sarrus: det A = a a a 3 a a a 3 a 3 a 3 a 33 = (a a a 33 + a a 3 a 3 + a 3 a a 3 ) (a 3 a a 3 + a a a 33 + a a 3 a 3 ) Por exemplo, DMAT 8 ESTSetúbal/IPS
det A = 3 4 = ( + 3 + ) ( + + ) = 6 Teorema Sejam A, B M n n (R) Então det (AB) = det (A) det (B) ; det ( A T ) = det (A) ; 3 det I n = ; 4 O determinante de uma matriz diagonal é igual ao produto dos elementos da diagonal principal (o produto dos elementos a ii com i {,, n}); 5 O determinante de uma matriz triangular (superior ou inferior) é igual ao produto dos elementos da diagonal principal Note-se que, em geral, det(a + B) det A + det B Por exemplo, se A = B = I, então det (A + B) = = 4 mas det A + det B = Dada uma matriz A quadrada de ordem n, A diz-se uma matriz invertível se existe uma outra matriz de ordem n, que se representa por A, tal que AA = A A = I n A matriz A tem o nome de matriz inversa de A Uma matriz que não é invertível diz-se singular [ ] Por exemplo, a matriz A = é invertível pois [ e [ Logo ] [ ] [ ] = ] = [ A = [ [ DMAT 9 ESTSetúbal/IPS ] ] ]
Teorema Se uma matriz for invertível, a sua inversa é única; A é uma matriz invertível se e só se det A Para calcular a matriz inversa poder-se-á recorrer à matriz adjunta Seja A uma matriz de ordem n Define-se a matriz adjunta de A como sendo a matriz transposta dos complementos algébricos, ou seja T n n adj (A) = n n nn A matriz adjunta da matriz A = adj (A) = = [ ] det [ 3 ] det [ 3 ] det 3 T 3 = é dada por [ ] det [ 3 ] det [ 3 ] det 3 [ ] det [ ] det [ ] det Teorema Seja A uma matriz de ordem n tal que det A Então, T A = adj (A) det A Por exemplo, dada a matriz A = 3 A = 3 = det A pois det A = 3 Teorema Sejam A e B matrizes de ordem n invertíveis Então: AB é invertível e (AB) = B A ; (I n ) = I n ; DMAT ESTSetúbal/IPS
3 (A ) = A; 4 ( A T ) = (A ) T ; 5 det (A ) = det A 4 Sistemas de Equações Lineares Um sistema de n equações lineares e n incógnitas x, x,, x n, pode ser representado na forma a x + a x + + a n x n = b a x + a x + + a n x n = b a n x + a n x + + a nn x n = b n onde a ij e b i (i, j {,, n}) são números reais conhecidos O elemento a ij é o coeficiente da incógnita x j na equação de ordem i e b i é o termo independente da mesma equação Matricialmente, o sistema anterior pode representar-se por AX = B, em que A = a a a n a a a n a n a n a nn = [a ij], X = x x x n = [x i] e B = b b b n = [b i], são, respectivamente, a matriz dos coeficientes, a matriz das incógnitas e a matriz dos termos independentes Usar-se-á a notação vectorial x = (x, x,, x n ) para representar uma matriz coluna X com n elementos e define-se matriz ampliada do sistema como a a a n b a a a n b A B = a n a n a nn b n A partir daqui e até ao final deste capítulo considerar-se-á apenas a resolução de sistemas de equações lineares em que a matriz dos coeficientes é quadrada e invertível o que na prática quer dizer que estes sistemas terão apenas uma única solução No ensino secundário ensina-se a resolver estes sistemas com recurso à técnica de substituição Por exemplo x 6x + 4x 3 = x x + x 3 = 5 x 4x + 6x 3 = 6 x = + 3x x 3 x x + x 3 = 5 x 4x + 6x 3 = 6 DMAT ESTSetúbal/IPS
x = + 3x x 3 ( + 3x x 3 ) x + x 3 = 5 ( + 3x x 3 ) 4x + 6x 3 = 6 x = + 3x x 3 x = 6 + x 3 (6 + x 3 ) + x 3 = 8 x = 6 x = 5 x 3 = x = + 3x x 3 x x 3 = 6 x + x 3 = 8 x = + 3x x 3 x = 6 + x 3 4x 3 = 4 Este sistema, possível e determinado, é representado na forma matricial AX = B e pode ser resolvido com recurso à matriz inversa, pois Ou seja, AX = B A AX = A B I n X = A B X = A B X = X = 5 6 5 Note-se que a resolução deste sistema por estes métodos é vagaroso e trabalhoso Em análise numérica pretende-se encontrar métodos eficientes para a resolução de sistemas de equações lineares de qualquer dimensão e que possam ser implementados num computador (o Google para o PageRank usa matrizes de ordem de milhares de milhões) Tais métodos de resolução podem ser classificados em métodos directos e métodos iterativos Nos métodos directos a solução é obtida após a realização de um número finito de operações aritméticas durantes as quais podem ocorrer erros (devido a arrendondamentos) que se propagam ao longo do algoritmo numérico usado Nos métodos iterativos, a partir de uma aproximação inicial, vão-se calculando sucessivamente novas aproximações da solução exacta do sistema Cada iteração consiste em obter uma nova aproximação (ou iterada) a partir das anteriores Os métodos iterativos produzem melhores soluções como será visto daqui em diante 5 Método de Eliminação de Gauss O método de eliminação de Gauss é um método directo baseado na transformação de um sistema dado AX = B num sistema equivalente UX = Y, em que U é uma matriz triangular superior (também chamada matriz em escada) Se A B é a matriz ampliada de AX = B, a transformação pode ser efectuada através da execução repetida de operações elementares sobre as linhas de A B As operações elementares são: DMAT ESTSetúbal/IPS 4 4 4 5 6
OE Troca entre si de linhas da matriz OE Multiplicação dos elementos de uma linha por uma constante diferente de zero OE3 Subtracção a uma linha de outra linha multiplicada por uma constante Qualquer uma destas operações sobre A B substitui o sistema inicial por outro equivalente, isto é, com as mesmas soluções Ao realizar estas operações de forma sistemática é possível, a partir do sistema inicial, determinar um sistema equivalente UX = Y, com U uma matriz triangular superior, cuja solução é facilmente obtida Use-se o método de eliminação de Gauss para resolver o sistema de equações do exemplo anterior: x 6x + 4x 3 = x x + x 3 = 5 x 4x + 6x 3 = 6 Tem-se então que A = 6 4 4 6, X = x x x 3 e B = A matriz ampliada deste sistema é dada por 6 4 A B = 5 4 6 6 Para transformar esta matriz efectuam-se, sucessivamente, as seguintes operações sobre linhas: Dado que a =, podemos usar este elemento para anular os restantes elementos da a coluna (a = e a 3 = ) Para tal, subtraímos aos elementos das a e 3 a linhas o produto da linha pelos multiplicadores respectivamente 6 4 5 4 6 6 m = a a = e m 3 = a 3 a =, OE3 L L ( m = L 3 L (m 3 = ) O elemento a =, designa-se por redutor (ou pivot) ) 5 6 6 4 6 8 Continuando a designar por a ij os elementos da matriz ampliada obtida, tomando a = como redutor, podemos anular o elemento abaixo (a 3 = ) utilizando de novo a operação OE3 Ao efectuar a subtracção entre a 3 a linha e o produto da a linha pelo multiplicador m 3 = a 3 a = =, DMAT 3 ESTSetúbal/IPS
e obtém-se 6 4 6 8 OE3 L 3 L (m 3 = ) 6 4 6 4 4 Designando a matriz ampliada obtida por U Y, verifica-se que 6 4 U = 4 é uma matriz triangular superior, pelo que o sistema correspondente UX = Y, isto é, x 6x + 4x 3 = x x 3 = 6 4x 3 = 4, pode ser facilmente resolvido por retrosubstituição Começando pela resolução da 3 a equação obtém-se a solução do sistema utilizando substituição de forma ascendente Como x 3 = 4 4 = x = 6 + x 3 = 5 x = ( + 6x 4x 3 ) = 6 então é solução do sistema inicial AX = B UX = Y, x = 6 x = 5 x 3 = Observação O método de eliminação de Gauss pode ser aplicado a qualquer sistema, nomeadamente a sistemas possíveis e inderteminados e impossíveis 6 Factorização LU Teorema Se ao longo do processo de eliminação de Gauss não se efectuar troca de linhas, então a matriz A admite a factorização A = LU em que L é uma matriz triangular inferior de diagonal unitária e U é a matriz triangular superior obtida no final daquele processo DMAT 4 ESTSetúbal/IPS
Repare-se que longo da resolução de um sistema AX = B pelo método de eliminação de Gauss são calculados os multiplicadores m ij Ao construir-se uma matriz triangular inferior m L = m 3 m 3, m n m n m n3 consegue-se obter a factorização A = LU descrita no teorema No sistema do exemplo anterior tem-se, 6 4 L = / e U = 4 e verifica-se que LU = O resultado deste teorema garante que 6 4 4 6 = A AX = B (LU) X = B L (UX) = B Considerando U X = Y, conclui-se que o método de eliminação de Gauss equivale à factorização A = LU seguida da resolução de dois sistemas: LY = B para obter Y ; UX = Y para obter X As soluções Y e X calculam-se facilmente visto que L e U são matrizes triangulares Por isso, se houver a necessidade de determinar a solução X do sistema AX = B, em que B é diferente de B, bastará resolver LY = B e seguidamente UX = Y Trata-se, com efeito, de uma vantagem significativa da factorização LU visto que, uma vez realizada, pode ser empregue para resolver sistemas que tenham em comum a mesma matriz de coeficientes Outra vantagem proporcionada pela factorização LU é a possibilidade de calcular de uma forma muito simples o determinante de A Se A = LU, resulta das propriedades do determinante que det A = det L det U Como o determinante de uma matriz triangular é o produto dos elementos da diagonal principal, tem-se det L = e det U = u u u nn, pelo que det A = det U = u u u nn Como hipótese necessária à validade do teorema admitiu-se que, ao longo do método de eliminação de Gauss, não se efectuou troca de linhas DMAT 5 ESTSetúbal/IPS
Exemplo Considere-se o sistema de equações lineares x + 4x 3 = x x + x 3 = 5 x 4x + 6x 3 = 6 Como o primeiro elemento da primeira linha da matriz dos coeficientes do sistema é nulo, torna-se necessário efectuar uma troca de linhas para escolher o redutor da primeira coluna da matriz O sistema x x + x 3 = 5 x + 4x 3 = x 4x + 6x 3 = 6 é equivalente ao primeiro, ao qual já se pode aplicar o método de Gauss e obter a factorização A = LU 5 4 4 6 6 Conclui-se assim que OE3 L 3 L (m 3 = ) L = OE3 (m = ) L 3 L (m 3 = ) 5 4 3 5 e U = 5 4 5 4 3 tais que A = LU Se for necessário trocar linhas, bastará realizar essas trocas na matriz A B antes de iniciar o método de eliminação de Gauss Exercício Considere o seguinte sistema de equações: 3x + x + 4x 3 + x 4 = 4 x + x + x 3 x 4 = 7 x + x 3 + x 4 = 4 x + x + 4x 4 = 7 Utilize o método de eliminação de Gauss para resolver o sistema; Obtenha a factorização LU da matriz dos coeficientes do sistema e aproveite-a para calcular o determinante dessa matriz (Note que se trocarmos duas linhas num determinante, mudamos o sinal ao determinante); 3 Utilize a alínea anterior para resolver o sistema tomando para o membro o vector (,, 3, 49) DMAT 6 ESTSetúbal/IPS
7 Avaliação do Esforço Computacional O esforço computacional realizado por um algoritmo é habitualmente medido pelo número de operações aritméticas elementares (adições, subtracções, multiplicações ou divisões) efectuadas, ou seja o número de flops efectuados (o termo flops abrevia a expressão inglesa floating point operations per second) O objectivo que temos agora em vista é a contagem do número de flops necessários para resolver um sistema AX = B pelo método de eliminação de Gauss Vamos considerar separadamente a criação das matrizes L e U a partir de A, depois a transformação de B no vector Y e finalmente a resolução de U X = Y utilizando a substituição ascendente Cálculo de L e U No método de eliminação de Gauss, para obter a matriz A (), a matriz resultante após anulamento dos termos a i para i {,, n}, são necessárias n divisões para calcular os multiplicadores m i, i =,, n A obtenção dos elementos a () ij requer, por outro lado, a realização de (n ) multiplicações e (n ) subtracções Utilizando o mesmo raciocínio podemos proceder à contagem das operações realizadas na obtenção de cada matriz A (i), i =,, n; a tabela seguinte resume estas contagens Obtenção de A (i) Adições/Subtracções Multiplicações Divisões A () (n ) (n ) n A (3) (n ) (n ) n A (n) = U Total j= n(n )(n ) 6 n(n )(n ) 6 O valor total em cada coluna foi obtido usando as igualdades p p(p ) p j = e j p(p + )(p + ) =, p 6 j= n(n ) Estas igualdades irão ser provadas na Unidade Curricular de Matemática Discreta Para a factorização LU, temos assim que o número total de flops é n(n )(n ) 6 + Transformação de B no vector Y Neste caso temos o seguinte quadro: n(n )(n ) 6 + n(n ) = n3 3 n n 6 Obtenção de B (i) Adições/Subtracções Multiplicações B () n n B (3) n n B (n) = Y Total n(n ) n(n ) DMAT 7 ESTSetúbal/IPS
O número total de flops é n(n ) + n(n ) = n n 3 Resolução de UX = Y Neste caso tem-se Obtenção de x i Adições/Subtracções Multiplicações Divisões x n x n x n n Total Assim, o número total de flops é n(n ) n(n ) + n(n ) + n = n n(n ) n Dos pontos, e 3 conclui-se que o número total de flops necessários para resolver AX = B é ( n 3 3 n n ) + ( n n ) + n = 6 3 n3 + 3 n 7 6 n 3 n3 A estimativa de n 3 /3 apontada para o número total de flops é válida para grandes valores de n De notar que a potência n 3 só aparece no cálculo do número de flops da factorização LU Deste modo, o cálculo de L e U constitui o maior esforço computacional do processo de eliminação de Gauss Uma vez obtidas estas matrizes, são somente necessários n n n flops para resolver AX = B Conclui-se, portanto, que é relativamente económico resolver outros sistemas com a mesma matriz dos coeficientes, desde que a factorização LU tenha sido guardada 8 Pesquisa de Redutor Note-se que os redutores utilizados no método de eliminação de Gauss são não nulos No entanto, as operações em ponto flutuante podem tornar não nulo um redutor que seria nulo caso os cálculos fossem realizados em aritmética exacta e, deste modo, poder-se-á introduzir erros grosseiros na solução final do sistema Por exemplo, o sistema { 3x + 594y = 597 59x 63y = 4678 tem solução exacta [ x y ] = [ ] DMAT 8 ESTSetúbal/IPS
No entanto, se resolvermos este sistema pelo método de eliminação de Gauss em F P (, 4, 99, 99, A), tem-se que [ 3 594 ] 597 OE3 [ 3 594 597 59 63 4678 L m L 43 44 onde m = 59 3 = 764 e a solução aproximada que se obtém é [ ] [ ] x = ȳ O erro tão grande obtido deve-se ao facto de se ter escolhido um redutor com um valor absoluto muito próximo de zero Pode-se evitar este problema com recurso aos métodos de pesquisa parcial de redutor e de pesquisa total de redutor 8 Pesquisa Parcial de Redutor Seja A (k) B (k) = a (k) a (k) a (k) k a (k) n b (k) a (k) a (k) k a (k) n b (k) a (k) kk a (k) kn a (k) nk a (k) nn b () n a matriz ampliada no início do passo k {,, n } do método de eliminação de Gauss Considere-se c k = max k i n a(k) ik, isto é, o maior dos valores absolutos dos elementos a (k) kk,, a(k) nk da coluna k a partir da diagonal principal de A (k) Se este máximo é atingido no elemento a (k) rk que se encontra na linha r {k,, n}, isto é, c k = a (k) rk, então trocam-se as linhas r e k da matriz A (k) B (k) e prossegue-se com o passo k do processo de eliminação de Gauss Note-se que este procedimento garante que os multiplicadores m ik, i = k +, n, verificam m ik o que evita uma grande variação dos elementos de A (k) B (k) e, possivelmente, erros propagados de grande magnitude [ 3 594 ] 597 [ 59 63 ] 4678 59 63 4678 L L 3 594 597 onde m = 3 59 OE3 L m L [ 59 63 4678 594 594 = 567 e a solução aproximada é [ ] [ ] x = ȳ que coincide com a solução exacta ] ], DMAT 9 ESTSetúbal/IPS
Exemplo Arredonde-se os resultados dos cálculos para 4 dígitos, e resolva-se o sistema { 5x + 8y = 784 333x + 5y = 5 sem pesquisa de redutor e com pesquisa parcial de redutor A solução do sistema com 4 algarismos exactos é x = 6 e y = 9688 Resolução sem pesquisa de redutor A transformação da matriz ampliada numa matriz triangular representa-se por [ ] 5 8 784 onde m = 333 5 Resolução com pesquisa de redutor 333 5 5 [ OE3 5 8 784 L m L 3764 3647 = 4666 Logo, a solução obtida por substituição ascendente é { y = 3647 3766 = 9689 x = 784 8 9689 5 = 8 Neste caso teremos de começar por trocar as a e a linhas da matriz ampliada visto que c = max { 5, 333 } = 333 A transformação da matriz ampliada numa matriz triangular representa-se por [ ] [ ] 5 8 784 333 5 5 L 333 5 5 L 5 8 784 [ ] OE3 333 5 5, L m L 867 786 ], = 43 Logo, a solução obtida por retrosubstituição ascen- y = 786 = 9689 867 onde m = 5 333 dente é x = 5 5 9689 333 = 6 Vê-se assim que sem a escolha parcial do redutor a percentagem de erro de y é de cerca de % mas a percentagem de erro de x é de cerca de 48% Por outro lado com a escolha parcial do redutor foi obtida uma solução do sistema com percentagem de erro total de % Isto ilustra o efeito positivo da pesquisa parcial de redutor no método de eliminação de Gauss DMAT ESTSetúbal/IPS
8 Pesquisa Total de Redutor Este procedimento consiste em calcular, no passo k da eliminação de Gauss, o elemento c k = max i,j n a(k) ij Trata-se do maior dos valores absolutos dos elementos da submatriz que se obtém eliminando as primeiras n k linhas e colunas de A (k) : a (k) kk a (k) kn a (k) nk a (k) nn Uma vez calculado c k procede-se à troca das linhas de A (k) B (k) e das colunas de A (k) de modo a trazer para a posição do redutor o elemento para o qual se obteve o valor de c k De notar que a troca de colunas deve levar a que se troquem igualmente as correspondentes variáveis na matriz das incógnitas A pesquisa total do redutor é o procedimento que melhor permite minorar os efeitos decorrentes da propagação dos erros de arredondamento No entato, o número de flops que requer é muito superior ao número exigido pela pesquisa parcial de redutor Acresce ainda que, na generalidade dos casos, a precisão permitida pela pesquisa parcial de redutor é muito próxima da fornecida pela pesquisa total Por estes motivos, a pesquisa parcial de redutor é o procedimento mais utilizado no método de eliminação de Gauss para controlar os erros de arredondamento 9 Métodos Compactos O método de eliminação de Gauss permite obter a factorização LU da matriz dos coeficientes dum sistema AX = B E, tal como aí foi referido, uma vez obtidas as matrizes L e U, a solução do sistema AX = B pode ser determinada resolvendo sucessivamente os sistemas triangulares LY = B e UX = Y Acontece que as matrizes L e U podem ser calculadas directamente, sem recorrer ao método de eliminação de Gauss, utilizando os chamados métodos compactos Esta designação deve-se ao facto dos elementos de L e U serem calculados de uma só vez através de fórmulas explícitas, ao contrário do que acontece na eliminação de Gauss onde aqueles elementos são obtidos por etapas à medida que o processo avança Apresenta-se em seguida o método de Doolittleque procede à factorização LU da matriz A de uma forma compacta Finaliza-se esta secção com um outro método compacto, o método de Cholesky, que se baseia numa factorização da matriz A distinta da factorização LU 9 Método de Doolittle Utiliza-se o método de Doolittle para factorizar uma matriz A em LU em que a diagonal da matriz L só tem s DMAT ESTSetúbal/IPS
Por exemplo, a factorização LU da matriz A 6 4 A = 4 6 pode ser obtida da seguinte forma 6 4 A = [a ij ] = LU = 4 6 m m 3 m 3 u u u 3 u u 3 u 33 Multiplicando as matrizes que se encontram à direita da última igualdade obtém-se 6 4 u u u 3 = m u u + m u u 3 + m u 3 4 6 m 3 u m 3 u + m 3 u u 33 + m 3 u 3 + m 3 u 3 Ao igualar os elementos homólogos da a coluna, conclui-se que u = a = a coluna m u = a = m = m 3 u = a 3 = m 3 = = De seguida, iguala-se os elementos homólogos das colunas seguintes e obtém-se a coluna 3 a coluna u = a = 6 u + m u = a = u = ( 6) = m 3 u + m 3 u = a 3 = 4 m 3 = 4 ( 6) = u 3 = a 3 = 4 u 3 + m u 3 = a 3 = u 3 = 4 = u 33 + m 3 u 3 + m 3 u 3 = a 33 = 6 u 33 = 6 4 ( ) = 4 A factorização A = LU é dada por 6 4 = 4 6 / 6 4 4 Para resolver o sistema AX = B com B = resolve-se primeiro o sistema LY = B, y / y = y 3 5 6 5 6 y y y 3 = 6 4 DMAT ESTSetúbal/IPS
e, finalmente, determina-se a solução de UX = Y, 6 4 x x = 6 4 x 3 4 x x x 3 = Na determinação das matrizes L e U no exemplo anterior, calculou-se os elementos da matriz u u u 3 L + U I 3 = m u u 3 m 3 m 3 u 33 e em que os elementos foram calculados por ordem crescente das colunas e em cada coluna, por ordem crescente das linhas Este procedimento pode ser generalizado a qualquer matriz A não singular de ordem n e o cálculo dos elementos m ij e u ij da matriz L + U I n pode fazer-se mediante as seguintes fórmulas: u j = a j j =,, n u ij = a ij i m is u sj j = i,, n; i m i = a i u m ij = u jj ( s= ) a ij j m is u sj s= i =,, n 6 5 i = j +,, n; j Apresenta-se a ordem pela qual os elementos de L + U I n podem ser calculados no esquema seguinte: Note-se que os elementos u jj têm de ser não nulos, o que pode sempre ser conseguido por troca de linhas Tem-se, portanto, que a aplicação do método de Doolittle à resolução de um sistema AX = B consiste na factorização de A, seguida da determinação das soluções dos sistemas triangulares LY = B e U X = Y por substituição descendente e ascendente, respectivamente Exemplo Resolva-se pelo método de Doolittle o sistema x + x + 3x 3 = 3x + x + 4x 3 = x + x + x 3 = 3 A matriz dos coeficientes do sistema é dada por: DMAT 3 ESTSetúbal/IPS
Tem-se que 3 Assim, u = a = m = a u = 3 m 3 = a 3 u = = u = a = u = a ( s= m 3 = u a 3 u 3 = a 3 = 3 u 3 = a 3 s= A = 3 3 4 m s u s = a m u = 3 = s= m 3s u s ) = a 3 m 3 u u = / = m s u s3 = a 3 m u 3 = 4 3 3 = u 33 = a 33 m 3s u s3 = a 33 m 3 u 3 m 3 u 3 = 3 + = L = s= 3/ e U = 3 / / Resolve-se agora LY = B, em que B é o o membro do sistema dado, isto é, y 3/ y =, y 3 3 pelo que y = y = 3 y = 3 = y 3 = 3 y y = 3 = Finalmente, determina-se a solução de UX = Y, isto é, 3 x / / x = / x 3, donde sai que x 3 = x = + x 3 x = + x 3 = x = x 3x 3 x = + 3 x = Portanto, a solução do sistema inicial é x =, x = e x 3 = DMAT 4 ESTSetúbal/IPS
9 Método de Cholesky O método de Cholesky aplica-se a sistemas cuja matriz dos coeficientes é simétrica e definida positiva Uma matriz A = [a ij ] de ordem n diz-se definida positiva se X T AX = n n a ij x i x j >, i= j= para toda a matriz coluna não nula X = [x i ] com n elementos Teorema Seja A uma matriz de ordem n simétrica Então A é definida positiva se e só se todas as submatrizes A i formadas pelos elementos das primeiras i linhas e i colunas de A têm determinante positivo, isto é, det A i >, para i =,, n Exemplo A matriz simétrica A = é definida positiva pois det A = det [] = > [ ] det A = = > e det A 3 = det A = det = 8 > Na resolução de sistemas AX = B pelo método de Cholesky, qualquer matriz A simétrica e definida positiva é factorizada nas matrizes L = [l ij ] (triangular inferior) e L T = [l ji ] tais que l ii > e A = LL T Assim, o sistema original AX = B pode escrever-se na forma ( LL T ) X = B, ou seja, L ( L T X ) = B Portanto, à semelhança do que foi visto para a decomposição LU, a solução de AX = B obtém-se resolvendo sucessivamente os sistemas LY = B e L T X = Y Em geral uma matriz A de ordem n, simétrica e definida positiva, factoriza-se na forma LL T = A, isto é, l l l l n a a a n l l l l n = a a a n l n l n l nn l nn a n a n a nn Efectuando o produto da a linha de L pela a coluna de L T obtém-se l = a l = a Multiplicando seguidamente a a linha de L pelas a e a colunas de L T respectivamente, l l = a e l + l = a, obtém-se, DMAT 5 ESTSetúbal/IPS
pelo que l = a e l = a l l Efectuando sucessivamente o procedimento anterior chegaríamos à etapa final que consiste em multiplicar a última linha de L por todas as colunas de L T Obter-se-ia então l n l = a n, l n l + l n l = a n,, ln + ln + + lnn = a nn, pelo que ( l n = a n, l n = a n l l ) n l nk l k,, l nn = ann lnk k= As fórmulas anteriores sugerem que os elementos l ij da matriz triagular inferior L podem ser obtidos, para cada i =,,, n, mediante as igualdades ( ) l ij = l jj a ij j l ik l jk j =,, i k= l ii = a ii i lik k= onde se usa a convenção k= a k = Apresenta-se ordem pela qual os elementos de L = [l ij ] podem ser calculados no esquema seguinte: k= Exemplo Resolva-se pelo método de Cholesky o sistema de equações lineares AX = B, onde 6 A = e B = 4 4 DMAT 6 ESTSetúbal/IPS
Já foi visto que a matriz A é definida positiva Então l = a =, l = a l = =, l 3 = a 3 = =, l l = a lk a = l = =, l 3 = l 33 = k= a 3 l 3k l k k= = a 3 l 3 l = = l l ( ) a 33 = a 33 l3 l3 = 4 = k= l 3k A factorização A = LL T é então = A partir daqui resolve-se LY = B, y y y 3 = 6 4 4 cuja solução é y y y 3 = 3 4 4 Finalmente, resolve-se L T X = Y, cuja solução é x x x 3 x x x 3 = = 3 4 4 Refira-se que o método de Cholesky é estável mesmo sem escolha de redutor e exige metade das operações que são necessárias no método de Doolittle DMAT 7 ESTSetúbal/IPS
Métodos Iterativos A solução de um sistema obtida por um qualquer método directo não é em geral exacta, devido a erros de arredondamento que se propagam nas operações efectuadas No entanto, é possível melhorar a solução através de um método iterativo Um método iterativo é um um conjunto de procedimentos que permite obter uma solução aproximada e melhorada do sistema a partir de outra solução aproximada Ao aplicar um método directo para resolver um sistema de equações lineares o utilizador conhece com antecedência o esforço computacional que vai ser dispendido Pelo contrário, num método iterativo, não se consegue prever o número de soluções aproximadas que devem ser calculadas para se obter uma dada precisão, visto que esse número pode variar de sistema de equações para sistema de equações Porquê então usar métodos iterativos? De facto, em muitas situações reais é necessário resolver sistemas de grande dimensão (isto é, com ou mais equações e variáveis) cuja matriz dos coeficientes é esparsa (isto é, o número de elementos não nulos é relativamente pequeno) Torna-se então impraticável utilizar um método directo para resolver estes sistemas, atendendo ao espaço de memória necessário para guardar todos os coeficientes nulos Por isso, a utilização de métodos iterativos nestes casos tem sentido, sendo mesmo em muitos deles a única possibilidade que existe para obter uma solução do sistema Para resolver iterativamente AX = B, começa-se por decompor a matriz A (não singular) na soma de duas matrizes M e N, isto é, A = M + N O sistema original escreve-se então na forma ou, equivalentemente, Esta igualdade sugere o processo iterativo (M + N) X = B MX = B NX MX (k+) = B N X (k), k =,,, em que X (k) = (x (k), x (k),, x (k) n ) designa a solução aproximada da solução do sistema AX = B obtida ao fim de k iterações Escolhendo para M uma matriz invertível, a igualdade anterior escreve-se na forma X (k+) = M B M N X (k), k =,, Assim, a partir de uma solução aproximada inicial X (), é gerada a sucessão de soluções iteradas X () = M B M N X () X () = M B M N X () X (k+) = M B M N X (k) DMAT 8 ESTSetúbal/IPS
que desejavelmente deve convergir para a solução de AX = B Ver-se-á adiante condições que garantem a convergência desta sucessão Antes, porém, ir-se-á descrever os métodos de Jacobi e Gauss-Seidel que correspondem precisamente a duas diferentes escolhas da matriz M Método de Jacobi Decomponha-se a matriz A = [a ij ] (i, j {,, n}) do sistema AX = B em onde e A = L + D + U, () a L = a (n ) a (n )(n ) a n a n(n ) a a D = a (n )(n ) a nn a a n a 3 a n U = a (n )n são, respectivamente, as matrizes diagonal inferior, diagonal e diagonal superior em que podemos decompor a matriz A O método de Jacobi baseia-se na seguinte escolha das matrizes M e N da decomposição A = M + N: M = D e N = L + U e o processo iterativo assume então a forma DX (k+) = B (L + U) X (k), k =,, Admitindo que todos os a ii (o que é sempre possível por meio de trocas de linhas e colunas desde que a matriz A seja não singular), esta igualdade é equivalente a ou ainda a X (k+) = D B D (L + U) X (k), k =,, ( x (k+) i = b i a ii n j=,j i a ij x (k) j considerando X (k) = (x (k), x (k),, x (k) n ) ), i =,,, n; k =,,, DMAT 9 ESTSetúbal/IPS
Exemplo Considere-se o sistema AX = B, com 5 x A = 3, X = x 3 x 3 e B = Tome-se X () = (,, ) e calculem-se três soluções aproximadas obtidas por iteração por aplicação do método de Jacobi Uma vez que e vem M = D = 5 3, N = L + U = M = D 5 =, 3 X (k+) = D B D (L + U)X (k) /5 /5 = / 3/ /5 /3 /3 /3 3 X (k), k =,, Para X () = (,, ), obtém-se /5 /5 X () = / 3/ /5 /3 /3 /3 X () = X (3) = / /3 / /3 /5 /5 3/ /5 /3 /3 /5 /5 3/ /5 /3 /3 3 = 3 5 3 7 = 3 3 5 3 7 = 5 3 5 53 75 e isto é, X (3) 333 6 767 Note-se que a solução do sistema com quatro algarismos significativos é X = ( 49,, 743) DMAT 3 ESTSetúbal/IPS
Método de Gauss-Seidel O método de Gauss-Seidel baseia-se na seguinte escolha o processo iterativo escreve-se na forma M = L + D e N = U (L + D) X (k+) = B U X (k), k =,,, e admitindo que M = L + D é invertível (condição equivalente a a ii, i), X (k+) = (L + D) B (L + D) U X (k), k =,, Exemplo Aplique-se o método de Gauss-Seidel à resolução do sistema anterior AX = B, com 5 x A = 3, X = x e B = 3 x 3 e vem Uma vez que M = L + D = 5 3 3 M = (L + D) =, N = U = 5, 3 5 3 5 3 3 X (k+) = (L + D) B (L + D) U X (k) = 7 Tome-se X () = (,, ), ou seja, X () = X () = X (3) = 7 7 7 5 3 5 3 5 3 3 5 3 5 5 7 5 3 5 5 5 7 5 5 5 5 5 7 5 5 5 5 5 7 5 5 3 3 5 5 X (3) 46 7 75 X (k), k =,, 7 = 4 5 5 7 375 = = 7 4 5 5 7 375 74 875 3 8 75 3 49 8 75 e, DMAT 3 ESTSetúbal/IPS
Verifica-se que X (3) = ( 46, 7, 75) está mais próxima da solução do sistema X = ( 49,, 743) do que a solução aproximada X (3) = ( 333, 6, 767) obtida pelo método de Jacobi O processo de Gauss-Seidel resulta da seguinte decomposição ou seja (L + D) X (k+) = B U X (k), k =,,, DX (k+) = B LX (k+) U X (k), k =,, Supondo que a ii, para todo o i {,, n}, deduz-se que a fórmula iterativa do método de Gauss-Seidel pode ser escrita na forma X (k+) = D (B LX (k+) U X (k) ), k =,, Uma vez que X (k) = (x (k), x (k),, x (k) n ( x (k+) i = a ii i b i j= a ij x (k+) j ), tem-se que ) n a ij x (k) j, i =,,, n; k =,,, j=i+ a qual evidencia uma importante característica do método de Gauss-Seidel: cada componente x (k+) i da solução aproximada X (k+) é calculada recorrendo às componentes x (k+), x (k+),, x (k+) i obtidas anteriormente na mesma iteração Este facto não ocorre no método de Jacobi em que o cálculo da componentes de X (k+) é feito unicamente com base nas componentes de X (k) Por esta razão o método de Jacobi é por vezes designado por método das substituições simultâneas enquanto o método de Gauss-Seidel é conhecido por método das substituições sucessivas O aproveitamento imediato da última componente calculada de X (k+) no cálculo da componente seguinte, propicia, como ilustra o exemplo anterior, uma convergência mais rápida do método de Gauss-Seidel quando comparado com o método de Jacobi 3 Convergência dos Métodos Iterativos Definição Uma norma de R n é uma aplicação que a cada vector x R n faz corresponder um número real x que verifica os seguintes axiomas: x > se x e = (Positividade) x + y x + y, para x, y R n (Desigualdade triangular) 3 λ x = λ x, para x R n e λ R (Homogeneidade) Apresentam-se alguns exemplos de normas A norma euclidiana em R n é definida por x = x + x + + x n Para x = (x, x ) R ou x = (x, x, x 3 ) R 3 tem-se x = x + x ou x = x + x + x 3 DMAT 3 ESTSetúbal/IPS
Seja A = [a ij ] uma matriz de ordem n A norma do máximo das somas por coluna é dada por n A = max a ij j n e a norma do máximo das somas por linha define-se por A = max i n i= n a ij j= Calcule-se as normas A e A da matriz Tem-se e A = A = max ( + + +, + + +, + + +, + + + ) = max (5, 6, 5, 6) = 6 A = max ( + + +, + + +, + + +, + + + ) = max(7, 6, 6, 3) = 7 A norma no estudo de matrizes e sistemas de equações lineares serve para medir a proximidade das soluções aproximadas e os respectivos erros obtidos por um qualquer método iterativo Recorde-se que a forma geral dos métodos iterativos é dada por ou seja, MX (k+) = B N X (k), k =,,, X (k+) = M B M N X (k), k =,,, supondo a invertibilidade de M Assim, considerando G = M N e C = M B, o processo iterativo anterior pode escrever-se na forma X (k+) = GX (k) + C, k =,, A matriz G designa-se por matriz de iteração Uma matriz A = [a ij ] tem diagonal estritamente dominante por linhas (SSD - strictly diagonally dominant) se n j=,j i a ij < a ii, i {,, n} DMAT 33 ESTSetúbal/IPS
Teorema Se a matrix A do sistema AX = B tem diagonal estritamente dominante por linhas, os métodos iterativos de Jacobi e de Gauss-Seidel são convergentes para a solução X, independentemente da aproximação inicial X () escolhida Além disso, para k =,, e G < é válida a seguinte estimativa da norma do erro da solução aproximada X (k+) : X X (k+) G X (k+) X (k) G Repare-se que neste teorema pode ser utilizada qualquer norma de matrizes geral, utiliza-se as normas do máximo das somas por linha ou por coluna Em 3 Aplicação ao Método de Jacobi No método de Jacobi, tem-se que X (k+) = D B D (L + U) X (k), k =,, pelo que a matriz de iteração (designada por G J ) é dada por Verifica-se que a matriz G J = D (L + U) A = 5 3 3 tem diagonal estritamente dominante por linhas De facto, Para i =, para i =, para i = 3, 3 j=,j 3 j=,j 3 j=,j 3 a j = + = < 5 = a, a j = 3 + = 5 < = a e a 3j = + = < 3 = a 33 Assim, pelo Teorema anterior, o método de Jacobi converge para a solução do sistema Além disso, /5 /5 G J = 3/ /5, /3 /3 pelo que ( G J = max 5,, ) = 3 3 < DMAT 34 ESTSetúbal/IPS
Assim, tem-se a seguinte estimativa da norma do erro da solução aproximada X (3) : X X (3) = G J X (3) X () G J /3 /3 5 59 5 5 = 59 5 787 3 Aplicação ao Método de Gauss-Seidel No método de Gauss-Seidel tem-se que X (k+) = (L + D) B (L + D) U X (k), k =,, pelo que a matriz de iteração (designada por G GS ) é dada por Já se viu que G GS = (L + D) U A = 5 3 3 tem diagonal estritamente dominante por linhas Além disso, 5 5 G GS = 3 pelo que 3 5 7 5 5 5, ( G GS = max 5, 5, 8 ) = 75 5 < Assim, tem-se a seguinte estimativa da norma do erro da solução aproximada X (3) pelo método de Gauss-Seidel: X X (3) G GS X (3) X () G GS 6 /5 875 = /5 63 875 4 875 = ( ) 6 3 max 875, 63 875, 4 875 = 3 6 875 9 DMAT 35 ESTSetúbal/IPS
Verifica-se assim que a estimativa da norma do erro obtida pelo método de Gauss-Seidel é muito inferior à estimativa homóloga calculada no método de Jacobi Isto ilustra a maior velocidade de convergência que, em geral, o método de Gauss-Seidel revela quando comparado com o método de Jacobi Exemplo Considere o sistema de equações lineares AX = B com / /3 x A = / a /4 X = x e B = /3 /4 a x 3 em que a é um parâmetro real Enuncie, justificando, uma condição sobre os elementos de A que garanta que o método de Gauss-Seidel converge; Para a = determine duas soluções aproximadas tomando X () = M B para aproximação inicial Indique uma estimativa da norma do erro da última solução obtida, Para assegurar a convergência dos métodos iterativos indicados é necessário que a matriz A tenha diagonal estritamente dominante por linhas, isto é, 3 j=,j i a ij < a ii, i {,, 3} Ora, para primeira linha, 3 a j = + 3 = 5 6 < a j=,j Resta garantir que a = a > + 4 = 3 4 e a 33 = a > 3 + 4 = 7 Assim, basta que a > 3 4 para que A tenha diagonal estritamente dominante por linha e, consequentemente, que o método de Gauss seja convergente Pelo método de Gauss-Seidel, tal que A = / /3 / /4 /3 /4 = M + N DMAT 36 ESTSetúbal/IPS
e Assim, donde M = L + D = / /3 /4 M = G GS = M U =, N = U = / 5/4 /4 / /3 /4 / 5/48 9/44 / /3 /4 ( G GS = max + 3, 4 +, 5 48 + 9 ) = 5 44 6 < As respectivas soluções aproximadas são dadas por, X (k+) = M B M U X (k) = / 5/4 /4 = / 9/4 Tome-se X () = M B = e X () = X () = = = / /3 /4 / 5/48 9/44 / 9/4 / 9/4 Então, 7/7 99/88 97/3456 / 9/4 33 368 3 87 4 47 43 587 497 664, / 5/4 /4 X (k) / /3 /4 / 5/48 9/44 / /3 /4 / 5/48 9/44 / /3 /4 / 9/4 7/7 99/88 97/3456 X (k) DMAT 37 ESTSetúbal/IPS
ou seja, X () (64, 743, 83) Logo, tem-se a seguinte estimativa da norma do erro da solução aproximada X () : X X () G GS X () X () G GS 89 5/6 368 = 5/6 6 447 646 497664 ( 89 = 5 max 368, 6 ) 447, 646 497664 = 5 89 368 39 DMAT 38 ESTSetúbal/IPS