Sunteți pe pagina 1din 25

Cap tulo 5

Matrizes e Sistemas lineares


Neste cap tulo estudaremos alguns m etodos para calcular a solu c ao de sistemas de equa c oes lineares. Apenas nos preocuparemos com sistemas quadrados, isto e, aqueles em que o n umero de equa c oes e igual ao n umero de inc ognitas. Sup oe-se que as no c oes b asicas de algebra matricial, como adi c ao e multiplica c ao de matrizes, matriz inversa e identidade, determinante de uma matriz etc., sejam conhecidas do leitor.

5.1

Introdu c ao

pode ser representado atrav es de uma equa c ao matricial Ax = b , onde a11 6 . A=4 . . 2 a12 . . . .. .

Um sistema de equa c oes alg ebricas de ordem n, que e um conjunto de n equa c oes com n inc ognitas, 8 > >a11 x1 + a12 x2 + . . . + a1n xn = b1 > > <a21 x1 + a22 x2 + . . . + a2n xn = b2 . . > > . > > : an1 x1 + an2 x2 + . . . + ann xn = bn 3 a 1n 7 . . e matrix dos coecientes, . 5 ann

bn Em todo o texto, salvo men c ao em contr ario, sempre indicaremos um sistema linear gen erico de ordem n por Ax = b. Para facilidade de nota c ao usaremos indistintamente 2 3 x1 6 . 7 x=4 . . 5 ou x = (x1 , . . . , xn ) . xn 60

an1 a n2 2 3 x1 7 6 . e o vetor colunar das inc ognitas, x=4 . . 5 xn 2 3 b1 6. 7 b=4. e o vetor dos termos independentes. . 5

5.2
5.2.1

Exemplos de Aplica c ao
Provetas
1

Considere o seguinte problema: quatro tipos de materiais particulados est ao distribu dos por quatro provetas, e em cada proveta os materiais s ao dispostos em camadas, n ao misturadas, de modo que seja poss vel medir facilmente o volume de cada material em cada uma delas. Dado que possamos medir a massa total de cada proveta, e que saibamos a massa da proveta vazia, queremos calcular a densidade de cada um dos materiais. Para colocar o problema em termos matem aticos, chamemos os materiais de A, B, C e D, e suas densidades respectivas de A , B , C e D . Essas s ao as inc ognitas do problema, n umeros que queremos descobrir. Entre os dados dispon veis para resolv e-lo est ao a massa conjunta dos quatro materiais em cada uma das provetas (numeradas de 1 a 4), que chamaremos de m1 , m2 , m3 e m4 , j a descontada a tara das provetas.

Al em disso, temos o volume de cada um dos materiais em cada uma das provetas. Chamaremos de v1A , v1B , v1C e v1D o volume dos materiais A, B, C e D na Proveta 1, v2A , v2B , v2C e v2D o volume dos materiais A, B, C e D na Proveta 2, e assim por diante. Como a densidade e a raz ao entre massa e volume, a massa do material A na Proveta 1 e v1 A . Estendendo esse racioc nio para os demais materiais, obtemos que a massa total m1 contida na Proveta 1 e v1A A + v1B B + v1C C + v1D D . Considerando as quatro provetas, obteremos quatro equa c oes: 8 > >v1A A + v1B B + v1C C + v1D D > > <v + v + v + v 2A A 2B B 2C C 2D D > v + v + v + v 3A A 3B B 3C C 3D D > > > :v + v + v + v 4A A 4B B 4C C 4D D
1

= m1 = m2 = m3 = m4

Trata-se de um sistema linear de quatro equa c oes e quatro inc ognitas.


Extra do de Asano & Coli 2009

61

Uma poss vel aplica c ao em geologia seria a seguinte. Uma sonda faz o papel das provetas, e uma coluna de material e retirada, contendo materiais diferentes dispostos em camadas (pode ser at e uma sonda coletando material congelado). A sonda permitiria medir a dimens ao de cada camada, mas n ao poder amos desmanchar a coluna para medir a densidade de cada material isoladamente, sob o risco de alterar a compacta c ao.

5.2.2

Resolu c ao do C rculo

Vamos agora concluir o exemplo iniciado no Cap tulo 2. Nosso problema era o seguinte: dadas as coordenadas de tr es pontos quaisquer, (x1 , y1 ), (x2 , y2 ), (x3 , y3 ), resolver a equa c ao do c rculo que passa por estes tr es pontos, (x a) 2 + ( y b) 2 = r 2 ,

de forma a determinar o centro do c rculo (a, b) e seu raio, r. Temos tr es inc ognitas, de forma que s ao necess arias tr es equa c oes para resolver o problema. S ao elas 8 2 2 2 > < ( x 1 a ) + ( y 1 b) = r ( x 2 a ) 2 + ( y 2 b) 2 = r 2 > : ( x 3 a ) 2 + ( y 3 b) 2 = r 2 . Vamos inicialmente manipular a primeira equa c ao. Expandindo os termos quadr aticos obtemos 2 2 x2 2ax1 + y1 + b2 2by1 r2 = 0 . 1+a Denindo k a 2 + b2 obtemos 2x 1 a + 2 y 1 b
2 k = x2 1 + y1 .

r2

Manipulando as demais equa c oes da mesma forma, obtemos o seguinte sistema de equa c oes lineares 8 2 2 > < 2x 1 a + 2 y 1 b k = x 1 + y 1 2 2x 2 a + 2 y 2 b k = x 2 2 + y2 > : 2 2x 3 a + 2 y 3 b k = x 2 3 + y3 . que, escrito em forma matricial, 2 2x 1 4 2x 2 2x 3 ca 2y1 2y2 2y3 32 3 2 2 3 2 1 a x 1 + y1 25 15 4 b 5 = 4x2 2 + y2 . 2 2 1 k x 3 + y3 (5.1)

O problema resume-se, agora, em resolver o sistema acima para obter a, b e k .

5.2.3

Calculando as popula c oes do H em uma regi ao H II

5.3

M etodo de Cramer

Um m etodo para resolver sistemas lineares, talvez j a conhecido do leitor, e o m etodo de Cramer. Nele a solu c ao do sistema Ax = b e dada por xi = det(Ai ) , i = 1, 2, . . . , n det(A) 62

onde det(A) e o determinante da matriz A, e Ai e a matriz obtida de A substituindo a sua i- esima coluna pelo vetor b dos termos independentes. O determinante de uma matriz A de ordem n pode ser calculado atrav es do desenvolvimento por linhas (regra de Laplace): det(A) =
n X j =1

( 1)i+j aij det(Aij )

onde i e o ndice de uma linha qualquer e Aij e a matriz obtida de A retirando-se a i- esima linha e a j- esima coluna. Observe que se det(A) 6= 0 ent ao o sistema Ax = b tem uma u nica solu c ao. Se det(A) = 0 ent ao podem ocorrer dois casos: 1. o sistema n ao possui solu c ao (sistema inconsistente); 2. o sistema possui innitas solu c oes (sistema indeterminado). Por exemplo, no caso de um sistema linear de ordem 2, cada equa c ao representa uma reta. Resolver o sistema signica determinar a intersec c ao das duas retas. Se as duas retas forem coincidentes, ent ao h a innitos pontos de interse c ao. Se forem paralelas, n ao h a nenhum ponto de interse c ao. Neste texto nos preocuparemos com sistemas lineares que tenham uma u nica solu c ao. Uma das propriedades do determinante e que se uma das linhas da matriz for uma combina c ao linear de outra (ou outras), ent ao o determinante ser a zero. Por exemplo, a matriz abaixo tem determinante zero 1 2 . 3 6 Sistemas que possuem equa c oes que s ao combina c oes lineares s ao ditos degenerados ou singulares. Como vimos acima, eles podem ser ou inconsistentes ou indeterminados. Sistemas n ao singulares (em que o det(A) 6= 0) possuem sempre uma solu c ao. Entretanto, duas quest oes num ericas podem impedir que a solu c ao seja obtida 1. embora n ao sejam combina c oes lineares exatas de outras, algumas equa c oes podem ser t ao pr oximas a combina c oes lineares que erros de arredondamento as tornem linearmente dependentes em algum est agio da solu c ao. Neste caso, o procedimento num erico ir a falhar. 2. Erros de arredondamento cumulativo podem impedir que a solu c ao seja obtida. Ao longo deste cap tulo discutiremos formas de lidar com estas duas quest oes. A utiliza c ao do m etodo de Cramer para resolver sistemas lineares pode ser invi avel, pois o n umero de opera c oes aritm eticas que devem ser efetuadas aumenta consideravelmente com um pequeno aumento na ordem do sistema. Para estimar o n umero de opera c oes necess arias para a regra de Cramer, vamos considerar o caso de um sistema com n = 20. Para resolv e-lo, precisamos calcular 21 determinantes de ordem 20. Mas, para calcular um determinante de ordem 20, usamos a regra de Laplace, que decomp oe o determinante em uma soma envolvendo 20 determinantes de ordem 19. Se extrapolarmos o processo at e chegarmos em determinantes de ordem 2, teremos que o n umero de opera c oes aritm eticas ser a da ordem de 21! 5 1019 . Para um sistema de ordem n, temos que o n umero de opera c oes ser a da ordem de (n + 1)!. 63

Em um computador pessoal de 30 Gops2 estas 1020 opera c oes levariam 3.3 109 s ou aproximadamente 100 anos! Na pr atica, a situa c ao e ainda pior, pois estamos considerando apenas o tempo para efetuar as opera c oes aritm eticas, e n ao o acesso ` a mem oria. No novo super-computador do IAG, que ter a uma capacidade te orica de 20 Tops, esta conta levaria apenas 57 dias. Embora u til para sistemas de ordem menor, o m etodo de Cramer e impratic avel para sistemas maiores, e outros m etodos devem ser empregados neste caso. Outro aspecto negativo do m etodo de Cramer e que como ele necessita de muitas opera c oes aritm eticas, ele potencialmente gerar a mais erros de arredondamento. Exerc cio 1: use a regra de Cramer para obter uma solu c ao anal tica para o problema do c rculo (Eq. 5.1).

5.4

Tarefas da algebra linear computacional

H a muito mais na algebra linear do que resolver um u nico sistema de equa c oes lineares. Abaixo listamos os principais t opicos abordados neste cap tulo. - Solu c ao para a equa c ao matricial Ax = b para um vetor colunar desconhecido, x. - Solu c ao para mais de uma de uma equa c ao matricial, Axj = bj , para um conjunto de vetores xj , j = 0, 1, . . . , cada um correspondendo a um dado vetor de termos independentes, bj . Nesta tarefa a simplica c ao chave e que a matriz A e mantida constante, enquanto que os termos independentes variam. - C alculo da matriz inversa A e a matriz identidade.
1,

que obedece ` a equa c ao matricial AA

= I , onde I

- C alculo do determinante de uma matriz quadrada A. - Melhora iterativa da solu c ao de um sistema.

5.5

Sistemas de acordo com as propriedades das matrizes

Tipicamente, podemos ter dois tipos de sistemas lineares, os sistemas cheios e esparsos. Nos sistemas cheios, todos, ou ao menos a grande maioria, dos elementos da matriz A e diferente de zero. Nos sistemas esparsos, uma parte importante dos elementos de A e nula. Um caso importante s ao sistemas com matrizes tridiagonais, como ilustrado na Figura 5.1. Sistemas esparsos possuem solu c oes particulares e mais r apidas que os sistemas cheios. Vamos inicialmente estudar os m etodos de solu c ao para matrizes cheias.

5.6
5.6.1

M etodo da Elimina c ao de Gauss


Sobre o m etodo

o m E etodo mais simples para solu c ao de um sistema de equa c oes. O m etodo de Gauss possui v arias caracter sticas que o tornam interessante, mesmo que haja m etodos mais ecientes. Uma caracter stica interessante do m etodo e que quando aplicado para resolver um conjunto de equa c oes lineares, a elimina c ao de Gauss produz tanto a solu c ao das equa c oes
2

Flops signica n umero de opera co es de ponto utuante por segundo.

64

Figura 5.1: Exemplos de matrizes esparsas.

(para um ou mais vetores de termos independentes) quanto a inversa da matriz A (esta u ltima e obtida quando empregamos uma variante do m etodo, chamada de m etodo de Gauss-Jordan, se c ao 5.7). Uma de suas caracter sticas mais importantes e que o m etodo e t ao est avel quanto qualquer outro m etodo direto (direto, aqui, e usado em contraposi c ao aos m etodos iterativos mostrados no m do cap tulo), desde que seja empregado o pivotamento (se c oes 5.6.4 e 5.7.2) Algumas deci encias do m etodo s ao 1. se a matriz inversa n ao for desejada, o m etodo de Gauss e tipicamente 3 vezes mais lento que a melhor alternativa dispon vel (decomposi c ao LU, se c ao 5.10). 2. quanto o empregamos para mais de uma equa c ao matricial (Axj = bj ), todos os vetores de termos independentes devem ser armazenados na mem oria e manipulados simultaneamente. A deci encia 1) acima pode suscitar questionamentos, anal, se temos a matriz inversa, podemos calcular as inc ognitas de um sistema Axj = bj atrav es de: xj = A
1

bj .

Isto realmente funciona, mas este procedimento resulta em uma resposta muito suscet vel a erros de arredondamento, e deve ser evitado.

5.6.2

Procedimento

Vamos ilustrar o procedimento do m etodo de elimina c ao de Gauss com um exemplo simples. O objetivo consiste em transformar o sistema Ax = b em um sistema triangular equivalente. Para isso, usarmos a seguinte propriedade da Algebra Linear. Propriedade: A solu c ao de um sistema linear n ao se altera se subtrairmos de uma equa c ao outra equa c ao do sistema multiplicada por uma constante. Considere o seguinte sistema de equa c oes: 8 > <2x + y + z = 7 4x + 4y + 3z = 21 > : 6x + 7y + 4z = 32 65

Multiplicando a segunda equa c ao por (-2) e somando na terceira temos 8 > <2x + y + z = 7 2y + z = 7 > : z= 3 Substituindo na primeira equa c ao temos 2x + 2 + 3 = 7 ) x = 1 . Da terceira equa c ao temos z = 3 ) z = 3 . Substituindo na segunda equa c ao temos 2y + 3 = 7 ) y = 2 .

Multiplicando a primeira equa c ao por (-2) e somando na segunda, e multiplicando a primeira equa c ao por (-3) e somando na terceira temos 8 > < 2x + y + z = 7 2y + z = 7 > : 4y + z = 11

Vemos que o m etodo de Gauss e uma forma sistem atica de triangularizar um sistema linear. A solu c ao e obtida em dois passos: 1. Elimina c ao (forward elimination ): triangulariza c ao propriamente dita. 2. Substitui c ao (back substitution ): obten c ao da solu c ao nal (vetor x). Se usarmos a nota c ao matricial, 2 2 44 6 2 estamos resolvendo a equa c ao 32 3 2 3 1 1 x 7 4 35 4y 5 = 4215 7 4 z 32

transformando-a em

Como antes multiplicamos a primeira equa c ao por 2 e subtra mos da segunda; multiplicamos a primeira equa c ao por 3 e subtra mos da terceira: 2 3 2 1 1 7 40 2 1 7 5 . 0 4 1 11 Ent ao multiplicamos a segunda equa c ao por 2 e subtra mos da terceira 2 3 2 1 1 7 40 2 1 75. 0 0 1 3 66

Entretanto, podemos trabalhar somente com os n umeros sem escrever as equa c oes. Para tanto e conveniente escrever a chamada matriz aumentada 2 3 2 1 1 7 44 4 3 215 . 6 7 4 32

2 3 2 3 3 7 1 x 4 5 4 5 y = 75. 1 3 1 z | {z } matriz triangular superior 2 1 4 2

5.6.3

Estimativa do n umero de opera c oes realizadas

Vamos estimar o n umero de opera co es realizadas na obten c ao da solu c ao x. Estimaremos separadamente o n umero de opera c oes feitas durante a elimina c ao e a substitui c ao. 1) Processo de elimina c ao Para estimar o n umero de opera c oes realizadas durante a triangula c ao da matriz, calcularemos quantas adi c oes e multiplica c oes s ao necess arias em cada etapa do processo. Por exemplo, para eliminarmos a primeira coluna, temos (n 1) linhas onde para cada uma delas s ao calculadas n + 1 multiplica c oes e n adi c oes. elimina c ao da: a 1 coluna 2a coluna . . . (n 1)a coluna Total multiplica c oes (n 1)(n + 1) (n 2)n . . . (1)(3) Pn 1
i=1

adi c oes (n 1)n (n 2)(n . . . (2)(1) Pn 1


i=1 n 1 X i=1

1)

i(i + 2)

(i + 1)i

O total de multiplica c oes e


n 1 X i=1

i(i + 2) =

n 1 X i=1

i2 + 2

i.

Avaliando cada uma das somat orias


n 1 X

i = i=

i=1 n 1 X i=1

n X i=1

n X i=1

i2 i

n2 = n=

n(n + 1)(n + 2) 6 n= n2 2

n2 = n , 2

n3 3

n2 n + 2 6

n(n + 1) 2

que implica
n 1 X i=1

i +2

n 1 X i=1

n3 i= 3

n2 n + +2 2 6

n2 2

n 2

n3 n2 + 3 2

5n . 6

O n umero total de adi c oes pode ser obtido de forma an aloga:


n 1 X i=1

(i + 1)i =

n3 3

n . 3

Obtemos, assim, que o n umero total de opera c oes de ponto utuante para o processo de elimina c ao e 2n 3 n 2 7n Nelim = + . 3 2 6 Para um valor de n sucientemente grande, temos que os termos n3 dominam nas express oes acima, de forma que o total de opera c oes na elimina c ao ser a O(2n3 /3). 2) Processo de substitui c ao Vamos agora estimar quantas opera c oes de ponto utuante s ao feitas durante o c alculo da solu c ao nal a partir da matriz triangularizada (back substitution ). 67

passo linha n linha n 1 linha 1 Total

multiplica c oes 1 2 . . . n Pn
1 i

adi c oes 0 1 . . . n 1 Pn 1
1

Obtemos que o n umero de opera c oes para esta fase Nsubst = n2 .

Chegamos, assim, ao o n umero total de opera c oes necess arias para resolver um sistema de ordem n pelo m etodo de Gauss NGauss = 2n3 3n2 + 3 2 7n . 6

Conclu mos que para valores altos de n o processo de elimina c ao necessita de um n umero muito maior de opera c oes que a substitui c ao e que, neste caso, o total de opera c oes e NGauss 2n3 . 3

Por exemplo, um sistema matricial de 20 20 implica em aproximadamente 2 203 /3 5 103 op. Com um PC de 30 Gops o problema ser a resolvido em t= 5 103 op 2 10 30 109 ops
7

s!

Esta estimativa e muito otimista, pois consideramos que cada opera c ao de ponto utuante e efetuada em um ciclo da CPU. Isto e v alido para adi c oes, mas n ao para multiplica c oes, que tipicamente requerem da ordem de dez ciclos de CPU. Al em disso n ao consideramos fatores como a perda de eci encia devido ao acesso ` a mem oria. De qualquer maneira, vemos que o m etodo de Gauss e imensamente mais eciente que o m etodo de Cramer.

5.6.4

Pivotamento parcial
2 32 3 2 3 10 7 0 x1 7 4 3 2.099 65 4x2 5 = 43.9015 5 1 5 x3 6

Seja o sistema

(5.2)

cuja solu c ao e x = [0, 1, 1]. Vamos considerar que nosso operador de ponto utuante tenha apenas 5 algarismos signicativos, e vamos resolver o sistema acima pelo m etodo de Gauss. Multiplicando a 1a equa c ao por 0.3 e somando na 2a ; multiplicando a 1a equa c ao por -0.5 e somando na 3a , obtemos 2 3 10 7 0 7 40 0.001 6 6.0015 . (5.3) 0 2. 5 5 2. 5 68

Note que, devido ` a restri c ao de 5 algarismos signicativos, tivemos que truncar as seguintes opera c oes 6.001 2500 = 15002.5

Multiplicando a 2a equa c ao por 2.5/ 0.001 = 2500 e somando na 3a equa c ao 2 3 10 7 0 7 40 0.001 6 6.001 5 . 0 0 15005 15004

15002.5 + 2.5 = 15004.5 = 15004 . Ao efetuarmos a substitui c ao obteremos 15004 = 0.99993 15005 6.001 6 0.99993 6.001 5.99958 x0 = = 2 = 0.001 0.001 7 + 7 ( 1.5) x0 = 7 10.510 = 0.35 1 = 10 x0 3 =

1. 5

Comparando este vetor x0 = (0.99993, 1.5, 0.35) obtido com o vetor x = (1, 1, 0) solu c ao, vemos o qu ao grande foi o erro gerado pela restri c ao de 5 algarismos signicativos! O que causou este problema? O primeiro elemento da linha que est a sendo usada para eliminar os termos das demais e chamado de piv o. Na primeira etapa da elimina c ao acima (Eq. 5.3), o piv o, ( 0.001), tornou-se muito pequeno em rela c ao aos outros coecientes, resultando num enorme multiplicador (2500) que fez aparecerem erros de arredondamento. Estes erros por sua vez s ao ampliados na fase de substitui c ao, onde apareceram subtra c oes de n umeros muito pr oximos divididas por n umeros muito pequenos, o que amplica enormemente o erro (por exemplo, veja o c alculo de x0 2 , acima). Uma solu c ao simples e eciente para este problema e empregar pivotamento parcial no m etodo de Gauss, que consiste em trocar linhas de forma que tenhamos sempre o maior valor absoluto poss vel para o piv o. Isto garantir a multiplicadores . 1 em m odulo. No exemplo acima, empregamos o pivotamento parcial j a na primeira etapa 3 2 3 2 7 10 7 0 7 10 7 0 pivotamento 40 40 ! 0.001 6 6.0015 2. 5 5 2.5 5 . parcial 0 2. 5 5 2. 5 0 0.001 6 6.001 O multiplicador ser a ( 0.001)/( 2.5) = 0.0004. Multiplicando a 2a equa c ao por este valor a e somando na 3 equa c ao, obtemos a matriz estendida 2 3 10 7 0 7 4 0 2. 5 5 2. 5 5 , 0 0 6.002 6.002

que resulta na solu c ao exata x0 = (1, 1, 0). Uma regra importante a ser seguida: o pivotamento parcial sempre deve ser empregado no m etodo de Gauss!

69

5.6.5

Solu c ao simult anea de v arias equa c oes matriciais

Vimos na Se c ao 5.4 uma tarefa corriqueira da algebra linear e resolver um conjunto de equa c oes matriciais, Axj = bj , j = 1, . . . , m. Neste conjunto as equa c oes matriciais compartilham a matriz A e possuem cada uma um dado dado vetor de termos independentes, bj . Neste caso, em vez de fazer a mesma elimina c ao m vezes, podemos guardar a sequ encia de opera c oes aplicadas na triangula c ao da matriz A para depois aplicar em bj , j = 1, . . . , m. Por exemplo, seja a matriz 2 3 2 6 2 45 A = 41 3 3 6 9 e o vetor de pivotamento que cont em o n umero da linha que foi pivotada, 2 3 Com o pivotamento da 3a linha, temos 2 3 2 3 3 6 9 3 41 3 5 4 5. 4 ; 2 6 2 p=4 5.

Fazendo 2a linha ( 1/2) + 3a linha, 2 3 6 1/3 4 2/3

Nesta opera c ao, preservamos os multiplicadores que foram utilizados para eliminar os primeiros coecientes das linhas que n ao eram o piv o. Para concluir a triangulariza c ao da matriz, novamente utilizamos o pivotamento da 3a linha: 2 3 2 3 3 6 9 3 6 1/3 2 7 4 5 8 4 5; 3 . 2/3 1 7 6 2 1/2 3 2 3 9 3 87 5 ; 435 . 3

Fazendo 1a linha ( 1/3) + 2a linha e 1a linha ( 2/3) + 3a linha, 2 3 2 3 3 6 9 3 6 1/3 1 7 4 5 7 ; . 4 5 2/3 2 8

Para ilustrar como utilizar os multiplicadores armazenados e o vedor de pivotamento, vamos encontrar a solu c ao para o vetor b = [4, 7, 39]. - 1o passo: trocar a linha 1 com a linha p(1) = 3 ! b = [39, 7, 4]; - 2o passo: multiplicar a 1a linha por linha por 1/3 e somar na 2a linha; multiplicar a 1a 2/3 e somar na 3a linha, ! b = [39, 20, 22]; 70

- 3o passo: trocar a linha 2 com a linha p(2) = 3 ! b = [39, 22, 20]; - 4o passo: Multiplicar a 2a linha por 1/2 e somar na 3a linha, b = [39, 22, 9]. Assim, o vetor x com a solu c ao do sistema ser a dado por 2 32 3 2 3 39 3 6 9 x1 40 2 85 4x2 5 = 4 225 , 0 0 3 x3 9 x3 = 9/( 3) = 3 61 9 3]/3 = 2 .

que pode ser facilmente resolvido por substitui c ao

x2 = [ 22 + 8 3]/2 = 1 x1 = [39 .

O procedimento ilustrado pode ser repetido para um n umero arbitr ario de vetores bj . Uma sugest ao para uma implementa c ao eciente do m etodo de Gauss e fazer uma subrotina para a elimina c ao, que retorna a matriz triangularizada com os coecientes de elimina c ao, segundo procedimento acima, e outra para a substitui c ao. Abaixo delineamos um poss vel algoritmo para implementar a elimina c ao de Gauss computacionalmente, mantendo os multiplicadores para uso posterior: 8 > de i = 1 at e n 1 fa ca > > > > > determine o ndice do pivoteamento l i > > > > en > troque as linhas i e l, das colunas i at > > > > esimo pivotamento: p(i) = l > < registre 8 o i- > de j = i + 1 at e n fa ca > > > > > < > calcule o multiplicador para a linha j > > > la co > > > guarde-o no lugar do elementos eliminado > > > > > > > : > adicione m ultiplos da linha l ` a linha j > > > : m do la co

5.6.6

C alculo do determinante de uma matriz A

Pelas propriedades do determinante, o determinante n ao se altera se somarmos um m ultiplo de uma linha da matriz ` a outra, ou seja, se efetuarmos uma combina c ao linear entre as linhas. Assim, a elimina c ao de Gauss para se obter uma matriz triangular superior n ao afeta o valor do determinante 2 0 3 2 3 a11 a0 a0 a11 a12 a1n 12 1n 6 0 a0 7 6 a21 a22 a2n 7 a0 22 2n 7 6 6 7 = det det 6 . 6 7 7 . . . . . . . . . 4 . 4 . . . . 5 . . . 5 Mas o determinante de uma matriz triangular e o produto dos elementos da matriz. Portanto, 0 0 det A = det U = a0 11 a22 . . . hann . 71 | a n1 an2 {z
A

ann

{z
U

a0 nn

Aten c ao: cada opera c ao de pivotamento troca o sinal do determinante! Assim, se para implementar a elimina c ao de Gauss foram realizados np pivotamentos, o determinante ser a
0 0 det A = ( 1)np a0 11 a22 . . . aann .

Exemplo: calcule o determinante da matriz abaixo usando o m etodo de Gauss: 2 3 2 1 1 A = 4 4 4 35 . 6 7 4 Usando a elimina c ao 2 2 4 U= 0 0 de Gauss sem pivotamento, obtemos 3 1 1 2 1 5 ! det A = det U = 2 2 ( 1) = 0 1

4.

Exerc cio 2: Calcule, usando do sistema 2 4 62 6 42 6

o m etodo de Gauss com pivotamento parcial a solu c ao 32 3 2 3 5 3 2 2 x1 6 x 2 7 6 87 1 1 27 76 7 = 6 7 2 2 45 4x3 5 435 1 1 4 x4 1

5.7

M etodo de Gauss-Jordan

Este m etodo e uma variante do m etodo de Gauss, onde s ao eliminados todos os elementos acima e abaixo do piv o. O resultado da elimina c ao de Gauss-Jordan e uma matriz diagonal. Para ilustrar m etodo, vamos aplic a-lo ` a solu c ao de um sistema Ax = b e ` a obten c ao simult anea da matriz inversa de A. Considere a equa c ao matricial A [ x 1 _ x 2 _ Y ] = [ b1 _ b2 _ I ] . (5.4)

onde A e Y s ao matrizes quadradas, xi e bi s ao vetores colunares, I e a matriz identidade, o operador () signica um produto de matrizes e o operador _ signica o aumento de matriz, ou seja, a remo c ao dos par enteses das matrizes para fazer uma matriz mais larga. E f acil perceber, da equa c ao acima, que os x1 e x2 s ao simplesmente a solu c ao das equa c oes matriciais A x 1 = b1 , A x 2 = b2 , e que a matriz Y e a inversa de A, ou seja AY =I. Para simplicar, mas sem perda de generalidade, vamos podemos escrever explicitamente a Eq. (5.4) usando matrizes de ordem 3 82 3 2 3 2 2 3 82 3 2 3 2 39 39 a11 a12 a13 < x11 x12 y11 y12 y13 = b12 1 0 0 = < b11 4a21 a22 a23 5 4x21 5 _ 4x22 5 _ 4y21 y22 y23 5 = 4b21 5 _ 4b22 5 _ 40 1 05 : ; : ; a31 a32 a33 x31 x32 y31 y32 y33 b31 b32 0 0 1 72

Usando a nota c ao de matrizes aumentada, o sistema acima ca 2 3 a11 a12 a13 b11 b12 1 0 0 4a21 a22 a23 b21 b22 0 1 05 a31 a32 a33 b31 b32 0 0 1

5.7.1

Exemplo de aplica c ao: invers ao de matrizes


A [ x _ Y ] = [b _ I ] . 2 a11 4a21 a31 2 2 44 6 2 2 40 0 3 a12 a13 b1 1 0 0 a22 a23 b2 0 1 05 a32 a33 b3 0 0 1 3 1 1 7 1 0 0 4 3 21 0 1 05 7 4 32 0 0 1 3 1 1 7 1 0 0 2 1 7 2 1 05 4 1 21 3 0 1 (5.5)

Finalmente, normaliza-se a matriz, de forma que ` a esquerda camos com uma matriz identidade. Obt em-se, assim, o vetor solu c ao do problema e a matriz inversa de A. 2 3 2 3 1 0 0 1 5/4 3/4 1/4 40 1 05 2 4 1/2 3/2 1/25 . 0 0 1 3 1 2 1 |{z} | {z }
X A
1

A partir daqui, elimina-se os elementos superiores e inferiores ao piv o: 2 3 2 0 1/2 7/2 2 1/2 0 40 2 1 7 2 1 05 0 0 1 3 1 2 1 2 3 2 0 0 2 5/2 3/2 1/2 40 2 0 4 1 1 1 5 0 0 1 3 1 2 1

5.7.2

Pivotamento total

Vimos acima (se c ao 5.6.4) um exemplo em que o pivotamento parcial foi usado para evitar erros de arredondamento que podem aparecer quando o multiplicador ca muito pequeno. Partindo do princ pio que os erros de arredondamento s ao t ao menores quanto maiores forem os multiplicadores, em geral obt em-se melhores resultados empregando-se o pivotamento total, em que se pivotam colunas, al em das linhas, de forma a sempre manter o maior termo de uma data linha como piv o. O pivotalmento total pode ser empregado devido ` a seguinte propriedade da Algebra Linear: Propriedade: a solu c ao de um sistema linear n ao e alterada quando trocamos de lugar duas colunas i e j de A, desde que se troquem as duas linhas correspondentes nos vetores x e na matriz Y (Eq. 5.5). 73

Vamos agora trocar de lugar as colunas 2 e 3, de forma que o coeciente 6 ser a o piv o 3 2 7 10 0 7 40 6 0.001 6.0015 . 0 5 2. 5 2. 5 Eliminando o segundo termo da terceira linha, obtemos 3 2 10 0 7 7 40 6 0.001 6.001 5 , 0 0 2.50083 2.50083

Desta forma, vemos que as opera c oes de troca de colunas embaralham o(s) vetor(es) das inc ognitas e a matriz inversa, de forma que para empregar o pivotamento total devemos manter um registro das trocas de colunas efetuadas para podermos colocar a solu c ao nal na ordem correta. Para exemplicar, vamos resolver novamente o sistema da Eq. (5.2). Ap os a elimina c ao da primeira coluna, obtemos 2 3 10 7 0 7 40 0.001 6 6.0015 . 0 2. 5 5 2. 5

que pode ser facilmente resolvido para obtermos xp = (0, 1, 1). Como zemos uma troca de colunas, a solu c ao nal e obtida trocando-se de lugar as linhas 2 e 3 de xp , ou seja, x = (0, 1, 1).

5.8

Renamento da Solu c ao
Ax = b . (5.6)

Seja o sistema Resolvendo por Gauss ou Gauss-Jordan, obtemos a solu c ao x(0) . Sabemos que erros de arredondamento podem ocorrer quando se resolve um sistema linear pelo m etodo de elimina c ao, podendo compromer o resultado obtido. Mesmo utilizando pivoteamento total, n ao se pode assegurar que a solu c ao obtida seja exata. Inicialmente, notemos que e trivial vericarmos se a solu c ao de um sistema est a correta, para isso basta multiplicarmos a matriz A pela solu c ao obtida, x(0) , e o resultado deve ser b. Numericamente, esta verica c ao deve ser feita impondo-se um crit erio de converg encia do tipo: (0) bi bi < , i = 1, . . . , n , bi onde b(0) e o vetor obtido do produto Ax(0) . O que fazemos quando o resultado obtido x(0) n ao passa pelo crit erio de converg encia? Uma possibilidade e fazermos o renamento da solu c ao, como delineado a seguir. Vamos chamar de erro a diferen ca entre o valor verdadeiro, x, e o valor obtido, e(0) = x x(0) . Substituindo no sistema (5.6), temos A(x(0) + e(0) ) = b Ae(0) = b Ax(0) r(0) . (5.7) (5.8)

74

Resolvendo o sistema (5.8) determinamos e(0) , a partir do qual podemos fazer uma nova estimativa para a solu c ao: x(1) = x(0) + e(0) . Caso x(1) obede ca ao crit erio de converg encia estipulado, teremos encontrado nossa solu c ao. Caso contr ario, podemos renar novamente a solu c ao obtendo uma estimativa para o erro de x(1) resolvendo o sistema Ae(1) = b Ax(1) r(1) . (5.9)

fundamental que as Este processo pode ser executado quantas vezes desejarmos. E opera c oes envolvidas nos c alculos dos res duos sejam feitas em dupla precis ao. Importante: Como o renamento envolve a resolu c ao de v arios sistemas que compartilham a mesma matriz A, podemos empregar o procedimento descrito na se c ao 5.6.5 para tornar o processo mais eciente.

5.9

Sistemas mal-condicionados

Estes sistemas tamb em s ao conhecidos pelo termo mal-condicionados (ill conditioned, em ingl es). Vejamos um exemplo. ( x+ y = 1 99x + 100y = 99.5 A solu c ao deste sistema eu nica e exata: x = 0.5, y = 0.5. Agora considere o sistema ( x+ y = 1 , 99.4x + 99.9y = 99.2 cuja solu c ao u nica e exata e x = 1.4, y = 0.4, muito diferente da do sistema anterior, apesar dos coecientes serem parecidos. Gracando as retas no plano (x, y ) vemos porque isto acontece: as retas correspondentes ` as equa c oes s ao quase paralelas, ou seja, as equa c oes s ao quase linearmente dependentes. Uma maneira de se medir o condicionamento de uma traz e calcular seu determinante. Entretanto, o valor do determinante depende da norma (m odulo) de cada um dos seus vetores. Assim, devemos normalizar os vetores para depois calcular o determinante. Isto produzir a um determinante com valor (em m odulo) no intervalo [0, 1]. Se o m odulo do determinante for pr oximo de zero, ent ao o sistema e mal-condicionado. Por exemplo, vamos considerar o primeiro exemplo acima. Normalizando os vetores da matriz 1 1 , 99 100 obtemos p p 1/ 2 1/ 2 . 99/140.716 100/140.716

O m odulo do determinante da matriz normalizada e 1 100 p 140 .716 2 1 99 p 5 10 140 .716 2


3

o que demonstra, quantitativamente, que a matriz original e mal-condicionada.

75

H a outras medidas do condicionamento de uma matriz, assim como h a f ormulas que relacionam o erro cometido no m etodo de Gauss ou Gauss-Jordan com essas medidas e o n umero de algarismos signicativos utilizado. Isto, por em, est a al em do escopo destas notas. Veja, por exemplo, a se c ao sobre singular value decomposition no Numerical Recipes.

5.10

Decomposi c ao LU

Suponhamos que se possa escrever a matriz A como o produto de duas matrizes A=LU, (5.10)

onde L e uma matriz triangular inferior (tem elementos somente na diagonal e abaixo) e U e uma matriz diagonal superior (com elementos somente na diagonal e acima). Para o caso de uma matriz 4 4, Eq. (5.10) caria 2 3 2 32 3 a11 a12 a13 a14 l11 0 0 0 u11 u12 u13 u14 6a21 a22 a23 a24 7 6l21 l22 0 6 7 07 6 7 6 7 6 0 u22 u23 u24 7 . 4a31 a32 a33 a34 5 = 4l31 l32 l33 0 5 4 0 0 u33 u34 5 a41 a42 a43 a44 l41 l42 l43 l44 0 0 0 u44 | {z }| {z } triangular inferior
L

triangular superior

Pode-se usar esta decomposi c ao para resolver o conjunto de equa c oes lineares Ax = (LU )x = L(U x) = b . Inicialmente resolvemos para o vetor y tal que Ly = b e depois resolvemos Ux = y , (5.12) para obter a solu c ao nal. Qual a vantagem em quebrarmos um sistema em dois sistemas sucessivos? A vantagem e que a solu c ao de um sistema triangular e trivial. Dessa forma, o sistema (5.11) e resolvido por substitui c ao para frente: y1 = b1 l11 (5.13)
i X j =1

(5.11)

e o sistema (5.12) por substitui c ao para tr as: xn = yn unn 2 1 4 xi = yi uii

2 1 4 yi = bi lii

lij yi 5 , i = 2, 3, . . . , n ,

(5.14)

(5.15)
n X

j =i+1

uij xj 5 , i = n 76

1, n

2, . . . , 1 .

(5.16)

5.10.1

Efetuando a Decomposi c ao LU

Como podemos achar L e U dado A? Abaixo vamos delinear um algoritimo bastante utilizado, que pode ser estudado em mais detalhes no Numerical Recipes. Vamos escrever explicitamente o componente i.j da Eq. (5.10). Este componente e sempre uma soma que come ca co, li1 u1j + = aij . O n umero de termos da soma depende se i < j , i > j , ou i = j . De fato, temos os tr es casos acima i < j : li1 u1j + li2 u2j + + lii uij = aij (5.17) (5.18) (5.19)

i > j : li1 u1j + li2 u2j + + lij ujj = aij

i = j : li1 u1j + li2 u2j + + lii ujj = aij

As Eqs. (5.17) (5.19) perfazem n2 equa c oes para n2 + n inc ognitas (note que a diagonal est a representada duas vezes). Trata-se, assim, de um sistema indeterminado. Para resolver este sistema, deve-se, assim, especicar arbitrariamente valores para n inc ognitas. Um procedimento muito usado para resolver a decomposi c ao e o Algoritmo de Crout, que resolve de forma trivial as equa c oes acima para todos os ls e us simplesmente rearranjando as equa c oes em determinada ordem. O algoritmo e como se segue: - Fa ca lii , i = 1, , n (de forma a reduzir o n umero de inc ognitas para n2 ); - Para cada j = 1, , n, fa ca os dois procedimentos seguintes: Primeiramente, para i = 1, , j , use Eqs. (5.17) e (5.18), e a condi c ao acima, para determinar os uij , ou seja uij = aij
i 1 X k=1

lik ukj .

(5.20)

Quando i = 1 a soma anterior e tomada como zero. Em segundo lugar, para i = j +1, , n use (5.17) para achar os lij , da seguinte maneira ! j 1 X 1 lij = aij lik ukj . (5.21) ujj
k=1

Certique-se de executar ambos os procedimentos antes de passar para o pr oximo j ! A chave para compreender o procedimento acima e que os ls e us que ocorrem no lado direito das equa c oes (5.20) e (5.21) j a est ao sempre determinados no momento em que s ao necess arios (por isso que o m etodo de Crout e basicamente uma ordem em que as equa c oes devem ser resolvidas). Vemos, tamb em, que cada aij e usado apenas uma vez durante o processo. Isso signica que os ls e us podem ser armazenados nos lugares que os termos as ocupavam na mem oria do computador. Ou seja, o m etodo de Crout substitui a matriz original A por uma matriz combinada dos elementos de L e U : 2 3 u11 u12 u13 u14 6 l21 u22 u23 u24 7 6 7 4 l31 l32 u33 u34 5 . l41 l42 l43 u44 77

O pivotamento, tal como no caso dos m etodos de Gauss e Gauss-Jordan, e essencial para a estabilidade do m etodo de Crout. Quando se emprega o pivotamento parcial, na realidade n ao se decomp oe a matriz A na sua forma LU , mas sim uma permuta c ao das linhas de A. Para ver como efetuar o pivotamento no m etodo de Crout, consulte o cap tulo 2 do Numerical Recipes. Qual a vantagem da Decomposi c ao LU sobre o m etodo de Gauss? Como listado na se c ao 5.12, o n umero de opera c oes necess arias para efetuar a decomposi c ao e da ordem 3 de 1/3 n , exatamente o mesmo n umero de passos necess arios para fazer a elimina c ao de Gauss. Na literatura, frequentemente cita-se uma vantagem da Decomposi c ao LU que eo fato de que uma vez tendo-se L e U e trivial obter a solu c ao para um n umero arbitr ario de vetores de termos independentes (ou seja, resolve-se facilmente um conjunto de sistema de equa c oes lineares). Entretanto, o mesmo procedimento pode ser feito de forma igualmente eciente ` a partir do procedimento delineado na se c ao 5.6.5. Conclus ao: o m etodo de Gauss e o m etodo da Decomposi c ao LU s ao igualmente ecientes quando se trata de resolver um sistema de equa c oes lineares, ou um conjunto de sistemas de equa c oes lineares.

5.10.2

Um caso especial: decomposi c ao LU de matrizes tridiagonais

Um caso particular em que a decomposi c ao LU oferece uma solu c ao eciente e no caso de matrizes tridiagonais. Suponha que A seja uma matriz na forma 2 3 b1 c 1 6 a 2 b2 7 c2 6 7 6 7 .. .. .. A=6 7, . . . 6 7 4 a n 1 bn 1 c n 1 5 an bn

ou seja, apenas os elementos da diagonal principal e das diagonais imediatamente acima e abaixo s ao n ao nulos. Neste caso, a decomposi c ao LU ent ao tem uma forma simples 2 3 1 6 l2 1 7 6 7 6 7 .. .. 6 7, . . L=6 7 6 7 .. .. 4 . . 5 ln 1 6 6 6 U =6 6 6 4 2 u1 v1 u2 v2 .. . .. .. 7 7 7 7. 7 7 15 3

. . vn un

f E acil demonstrar que a determina c ao dos ls, us e v s e feita atrav es da seguintes rela c oes de recorr encia: 8 > < u 1 = b1 lj = aj /uj 1 > : uj = bj lj cj 1 , j = 2, 3, . . . , n 78

Note que nas rela c oes acima est a impl cito que vi = ci . Tendo determinado as matrizes L e U atrav es das rela c oes acima, o procedimento para determinar o vetor solu c ao x do sistema Ax = d (note que aqui usamos d para evitar confus ao com os bs da matriz tridiagonal) e simples. Inicialmente calcula-se a solu c ao do sistema Ly = d atrav es da substitui c ao para frente: ( y1 = d 1 yi = di li yi 1 , i = 2, . . . , n Calcula-se, ent ao, o vetor solu c ao x resolvendo-se o sistema U x = y por substitui c ao para tr as: ( yn xn = u n xk+1 x k = yk c k u , k = n 1, . . . , 1 k O procedimento descrito acima e muito eciente do ponto de vista computacional e pode ser implementado com facilidade em duas subrotinas, uma para o c alculo da decomposi c ao e outra para a solu c ao do sistema. Note que o fato de que a decomposi c ao LU de uma matriz tridiagonal tamb em e tridiagonal simplica muito as substitui c oes para frente e para tr as. Veremos no Cap. 6 que esta solu c ao para um sistema tridiagonal ser a muito u til para calcular os coecientes da interpola c ao por spline c ubica.

5.11

Forma alternativa para o c alculo da matriz inversa

Denotemos a matriz inversa de A por B , tal que: AB = I , onde I e a matriz identidade. Como usar a decomposi c ao LU ou o m etodo descrito na se c ao (5.6.5) para encontrar B ? Isso e feito simplesmente escrevendo a equa c ao matricial acima para cada uma das colunas de B, ou seja, 2 3 2 3 1 b11 6b21 7 607 7 6 7 A6 4b31 5 = 405 , b41 0 3 2 3 b12 0 6b22 7 617 7 6 7 A6 4b32 5 = 405 , b42 0 2

e assim por diante. Ou seja, o c alculo da matriz inversa reduz-se a resolver um conjunto de n sistemas lineares em que os vetores de termos independentes s ao as diferentes colunas da matriz identidade.

5.12

Comparando Gauss, Gauss-Jordan, e Decomposi c ao LU

Conclu mos esta parte do cap tulo comparando a eci encia dos tr es m etodos diretos estudados. Temos no quadro abaixo a compara c ao do n umero de opera c oes empregadas em cada m etodo para as diferentes tarefas da algebra linear. 79

Solu c ao de Sistemas Lineares Invers ao de Matriz m lados direitos

m etodo Gauss Gauss-Jordan LU Gauss Gauss-Jordan LU Gauss Gauss-Jordan LU

opera c oes 1/3 n3 1/2 n3 1/3 n3 5/6 n3 n3 5/6 n3 1 3 1 2 3 n + 2 mn 1 3 2 2 n + mn 1 1 3 2 3 n + 2 mn

5.13

M etodos Iterativos

Os m etodos que vimos at e agora (Gauss, Gauss-Jordan, Decomposi c ao LU) s ao conhecidos como m etodos diretos, pois a solu c ao e obtida atrav es da manipula c ao direta das equa c oes do sistema. Tais m etodos podem se tornar inecientes quando o n umero de equa c oes ca muito grande (n & 100), pois o n umero de opera c oes de ponto-utuante e O(n3 ). Mais detalhes em Blum(1972), p.131. Nos m etodos ditos iterativos (tamb em chamados de m etodos indiretos), arbitra-se um vetor inicial x(0) para a solu c ao e calcula-se uma nova estimativa da solu c ao, x(1) como fun c ao de x(0) e assim sucessivamente, ou seja, xk+1 = g (xk ) , onde k e a k - esima itera c ao e g representa uma fun c ao qualquer. O processo e repetido at e obter a precis ao desejada, que se traduz em uma diferen ca muito pequena entre xk+1 e xk . Nota: n ao confunda m etodos iterativos com a melhora iterativa da solu c ao, apresentada na se c ao 5.8.

5.13.1

M etodo de Jacobi

Podemos reescrev e-lo na seguinte forma 8 1 > >x1 = a11 (b1 a12 x2 a13 x3 . . . a1n xn ) > > <x2 = 1 (b2 a21 x1 a23 x3 . . . a2n xn ) a22 . . > > . > > : 1 xn = ann (bn an1 x1 an2 x2 . . . an,n 1 xn

Seja um sistema linear de ordem n 8 a11 x1 + a12 x2 + . . . + a1n xn = > > > > <a21 x1 + a22 x2 + . . . + a2n xn = . . > > . > > : an1 x1 + an2 x2 + . . . + ann xn =

b1 b2 . . . bn

1)

No m etodo de Jacobi, escolhemos arbitrariamente um vetor inicial x(0) e substitu mos no lado direito das equa c oes acima obtendo um novo vetor x(1) . Repetindo-se o processo k vezes, vemos que a k - esima estimativa da solu c ao e obtida da seguinte rela c ao de recorr encia: 80

ou, de forma mais compacta,


(k+1) xi

8 (k+1) x1 > > > > <x(k+1) 2 . > >. . > > : (k+1) xn

= = =

1 a11 (b1 1 a22 (b2

a12 x2 a21 x1

(k ) (k )

... ... ...

a 1n x n ) a 2n x n ) an,n 1
(k ) 1 xn 1 ) (k )

(k )

1 ann (bn

an1 x1 0

(k )

Dizemos que o processo iterativo converge se, para a sequ encia de aproxima c oes gerada, dado > 0, existir um j tal que para todo k > j e i = 1, 2, . . . , n, |xk x , onde x e i i a solu c ao do sistema. Como na pr atica n ao a conhecemos, torna-se necess ario um crit erio de parada para o processo iterativo. Um poss vel crit erio e impor que a varia c ao relativa entre duas aproxima c oes consecutivas seja menor que . Dado x(k+1) e x(k) , tal condi c ao e escrita como ) ( (k+1) (k ) xi xi , i = 1, . . . , n . (5.22) max (k ) xi Exemplo: considere o seguinte sistema de equa c oes 8 > <4x1 + 2x2 + x3 = 11 x 1 + 2x 2 =3 , > : 2x1 + x2 + 4x3 = 16

1 B Bb i = aii @

n X j =1 j 6=i

(k ) C aij xj C A.

temos que as rela c oes de recorr encia, pelo m etodo de Jacobi, s ao x1 x2 x3


(k+1) (k+1) (k+1)

cuja solu c ao e x = (1, 2, 3). Rescrevendo as equa c oes como 8 x3 11 1 > < x1 = 4 2 x2 4 1 , x2 = 3 + x 2 2 1 > : 1 1 x3 = 4 2 x1 4 x2 11 4 3 = + 2 = =4
(k )

1 (k ) x 3 x , 2 2 4 1 (k ) x , 2 1 1 (k ) 1 (k ) x x . 2 1 4 2

(5.23)

Come cando com um vetor arbitr ario x(0) = [1, 1, 1] obtemos x1 = x2


(1) (1) (1)

11 4 3 = + 2

x3 = 4

1 1 1 1=2 2 4 1 1=2 2 1 1 13 .1 1= 2 4 4 81

Substituindo x(1) do lado direito do sistema (5.26) obtemos x1 = x2


(2) (2) (2)

11 4 3 = + 2

x3 = 4

1 13 15 = 4 4 16 1 5 2= 2 2 1 1 5 .2 2= 2 4 2

1 2 2

Na tabela abaixo listamos os resultados para as 5 primeiras itera c oes. Vemos que a sequ encia converge, e atinge uma precis ao de aproximadamente 5% em 5 itera c oes. k 0 1 2 3 4 5 x1 1 2 15/16 7/8 133/128 519/512
(k )

x2 1 2 5/2 63/62 31/16 517/256

(k )

x3 1 13/4 5/2 93/32 393/128 767/256

(k )

max{|(xi

(k )

xi

(k 1)

)/xi |, i = 1, . . . , n} 9/13 3/10 17/63 7/131 21/517

(k )

5.13.2

Converg encia do M etodo de Jacobi

(REVISAR) Vamos escrever a matriz A como A=L+D+U onde L e a lower triangular matrix (sem diagonal); U upper triangular matrix (sem diagonal); e D a matriz diagonal. Desta forma, Ax = (L + D + U )x = b Dx = x=D
1 (L 1

(L + U )x + b [ ( L + U ) x + b]

x = Jx + c onde J = D Aplicando o m etodo iterativo teremos 2 a13 a 1n 3 a12 ... 0 a11 a11 a11 a23 a 2n 7 6 a21 0 ... 6 a22 a22 a22 7 7 6 . . (k ) . . = Jx + c, onde J = 6 0 . 7 7 6 . 6 . 7 . . . 4 . 0 . 5 an,n 1 an 1 an 2 ... 0 ann ann ann x (k ) = J k x(0) + [1 + J + J 2 + . . . + J k |{z} elevado ak
k!1 1

+ U) e c = D

1 b.

x(k+1)

Partindo de x(0) e fazendo sucessivamente a itera c ao temos

]c

(5.24)

Para que convirja, requer que

lim J k = [0] 82

O que implica que limk!1 [1 + J + J 2 + . . . + J k 1 ] = (1 J ) 1 . Assim quando (5.24) e satisfeita, x = limk!1 x(k) existe e x = 0 + (1 J ) 1 c, isto e, (1 J )x = c ou x = Jx + c. Mas a condi c ao (5.24) e v alida se e somente se todos os auto valores da matriz J forem em m odulo < 1. Seja s = max | 1 |, | 2 |, . . . , | n | onde | i | s ao os autovalores da matrix J . s e tamb em chamado de raio espectral (spectral radius ). Ent ao para atingir precis ao p ap os k itera c oes devemos ter k s 10
p

! k

p ln 10 ln s

Assim se s estiver pr oximo de 1 a converg encia ser a muito lenta. Existem m etodos de acelera c ao. Ver Quinney e NR se c ao 19.5. Determinar os auto valores da matriz J requerir a outro algoritmo, em geral. Na pr atica, muitas vezes e mais f acil testar numericamente a converg encia. Crit erio das linhas Uma condi c ao mais simples de converg encia , por em apenas suciente, e que o sistema possua diagonal principal estritamente dominante, ou seja, |aii | > X
j =1 j 6=i

|aij |, i = 1, . . . , n

(5.25)

que e chamado de crit erio das linhas. Note que por este crit erio, os elementos da diagonal principal nunca podem ser nulos. Exerc cio: mostre que a matriz 2 4 4 1 2 do sistema 32 3 2 3 2 1 x1 11 2 05 4x2 5 = 4 3 5 1 4 x3 16

satisfaz o crit erio das linhas.

Por ser um crit erio apenas suciente, um sistema que n ao satisfaz o crit erio das linhas pode convergir. Al em disso, alterando a ordem das linhas ou colunas pode-se tornar um sistema convergente em divergente e vice-versa.

5.13.3

M etodo de Gauss-Seidel

O m etodo de Gauss-Seidel e muito semelhante ao m etodo de Jacobi, mas em geral apresenta uma converg encia mais r apida. Neste m etodo, aproveita-se os valores j a calculados (k+1) em uma itera c ao (ex:, x1 ) para a estimativa dos termos seguintes. As rela c oes de recorr encia tomam a seguinte forma 8 (k+1) (k ) (k ) (k ) > x1 = a1 (b1 a12 x2 a13 x3 . . . a 1n x n ) > 11 > > (k+1) (k+1) (k ) (k ) > > = a1 (b2 a21 x1 a23 x3 . . . a 2n x n ) > 22 < x2 (k+1) (k+1) (k+1) (k ) x3 = a1 (b3 a31 x1 a32 x2 . . . a 2n x n ) 22 > > >. . > . > > > (k+1) (k+1) : (k+1) 1 ( bn a n 1 x 1 . . . an,n 1 xn 1 ) xn = ann 83

ou, de forma mais compacta, xi


(k+1)

1 @ bi aii

i 1 X j =1

aij xj

(k+1)

j =i+1

n X

(k ) aij xj A .

As rela c oes de recorr encia, pelo m etodo de Gauss-Seidel, s ao 1 1 11 (k+1) (k ) (k ) x1 = x x , 4 2 2 4 3 3 1 (k+1) (k+1) x2 = + x1 , (5.26) 2 2 1 (k+1) 1 (k+1) (k+1) x x . x3 =4 2 1 4 2 Come cando novamente com o vetor x(0) = [1, 1, 1] obtemos sucessivamente 0 1 0 1 0 1 0 1 2 29/32 1033/1024 1.0087 x(1) = @ 5/2 A , x(2) = @ 125/64 A , x(3) = @ 4095/2048 A @1.9995A . 19/8 783/256 24541/8192 2.9957 Note que, neste exemplo, a taxa de converg encia e muito maior.

Exemplo: vamos considerar novamente o sistema 8 > <4x1 + 2x2 + x3 = 11 x 1 + 2x 2 =3 . > : 2x1 + x2 + 4x3 = 16

5.13.4

Converg encia do M etodo de Gauss-Seidel

O crit erio das linhas tamb em pode ser aplicado ao m etodo de Gauss-Seidel, mas, como no m etodo de Jacobi, trata-se apenas de uma condi c ao suciente. Para o m etodo de Gauss-Seidel existe um outro crit erio, menos restritivo que o crit erio das linhas, chamado crit erio de Sassenfeld. Seja M = max onde os
i 1i n i,

s ao denidos por
1

= =

|a12 | + |a13 | + + |a1n | , |a11 | Pi 1 Pn j =1 j |aij | + j =i+1 |aij | |aii |

A condi c ao M < 1 e suciente para que as aproxima c oes sucessivas pelo m etodo de GaussSeidel convirjam. Muito importante: A converg encia (ou n ao) dos m etodos de Jacobi ou Gauss-Seidel independe do vetor inicial escolhido. Exerc cio: use o m etodo de Gauss-Seidel para resolver o sistema abaixo. Verique se a matriz satisfaz o crit erio das linhas e o crit erio da Sassenfeld. 2 32 3 2 3 10 2 2 1 x1 3 6 2 5 7 6x2 7 6 5 7 1 1 6 76 7 = 6 7 4 1 1 /2 6 1 5 4x3 5 4 95 1 1 0 20 x4 17 84

S-ar putea să vă placă și