Академический Документы
Профессиональный Документы
Культура Документы
INTRODUO
NUMRICOS
PARA
LGEBRA
O objetivo, desse trabalho, apresentar alguns dos mais usuais mtodos numricos para resolver sistemas lineares. A forma de apresentao, atravs de uma linguagem orientada ao uso de hipertexto, tem duplo objetivo: o pimeiro, permitir aos alunos que possam estudar sozinhos e/ou resolver seus problemas de forma independente; o segundo, trabalhar com os atuais alunos da disciplina de Mtodos Numricos de 1996, do curso de Engenharia de Computao da PUC-Rio. Esses alunos receberam o texto j digitado por mim e fizeram, comigo, o restante de todo o trabalho. A organizao do trabalho foi feita em duas partes integradas e complementares: um tutorial sobre a parte conceitual com exemplos e uma parte que contm algumas rotinas que podem ser usadas sem dificuldades para que se resolvam sistemas lineares. Os algortmos escolhidos para implementao foram: dois mtodos diretos: Eliminao de Gauss e Fatorao de Crout; e trs mtodos iterativos: Jacobi, Gauss-Seidel e Sobrerelaxao.
Index
1. Complementos de lgebra linear 2. Mtodos Diretos para Soluo de Sistemas Lineares 3.Mtodos Iterativos
A=
B=
C=A+B=
n, j
m.
Claro, para se realizar a adio de matrizes, preciso que ambas tenham a mesma dimenso. Exemplo 1.1
A=
B=
C=A+B=
Por definio, temos: C = A x B ; Cij = isto , o nico que se exige que o nmero de colunas da matriz A seja igual ao nmero de linhas de B, para que todas as parcelas (aik . bkj ) estejam definidas. Exemplo 1.2 Sejam A e B do exemplo anterior
C=AxB=
Exemplo 1.3
{ x + y + z = 3 y + z = 5 x + y = 3
Esse um sistema de trs equaes e trs incgnitas, cuja soluo x = -2, y = 5 e z = 0, isto , esses valores satisfazem as trs equaes simultaneamente. A soluo de um sistema , portanto, a soluo comum a todas as equaes. H certas operaes entre as equaes de um sistema que preservam a soluo original. Por exemplo, se somarmos duas linhas completas e colocarmos essa nova equao no lugar de uma das que foram somadas, continuamos com a soluo original. Exemplo 1.4 No exemplo anterior somando a 1a equao com a 3a, colocando o resultado no lugar da 3a equao, teremos um sistema cuja soluo a mesma do sistema anterior:
{ x + y + z = 3 y + z = 5 2x + 2y + z = 6
que continua tendo a soluo anterior. Essas operaes so exemplos das chamadas operaes elementares. Cada uma delas pode ser representada pela multiplicao de uma matriz, chamada matriz elementar, pela matriz do sistema. Assim, nos nossos exemplos anteriores o resultado da adio das duas equaes seria obtida se multiplicssemos a matriz A do sistema dado, pela matriz elementar
P1 =
, pois P1.A =
P2 =
, pois P2.A =
e vemos que P1.A representa a matriz do sistema do exemplo 1.4 e P2.A representa a matriz do exemplo 2.1.
De um modo geral as matrizes elementares so obtidas da matriz identidade, mudandose um dos seus elementos. As operaes definidas com uso de matrizes elementares so a base da definio dos chamados mtodos de eliminao, pois permitem transformar um dado sistema em outro mais simples de se resolver.
1.4.1 - Introduo
O estudo da resoluo de um sistema linear pode ser grandemente facilitado se lhe aplicarmos os nossos conhecimentos sobre matrizes. Neste pargrafo, faremos exatamente isso. Usaremos os conceitos dados para determinar a resoluo de um sistema linear em geral.
A=
;X=
;B=
e sua soluo, x= y = z = 1 ; X = (1 1 1)t. De agora em diante, todo estudo feito com sistema linear ser com a sua forma matricial. Veremos, adiante um modo muito simples de se determinar a soluo de um sistema chamado mtodo de eliminao de Gauss.
o mtodo de Gauss consiste em fazer operaes entre linhas deste sistema at chegarmos a um novo sistema (que ter a mesma soluo que o inicial) com a forma triangular:
a'11.x1 + (2.2) a'12.x2 + a'22.x2 + . . . . . . + a'1n.xn = b'1 . . . + a'2n.xn = b'2 . . . a'nn.xn = b'n
Claro que a determinao da soluo de (1.3) bvia e direta: o valor de x(n) j est determinado na ltima equao. O valor de x(n-1) ser determinado na penltima, substituindo-se o valor de x(n); o valor de x(n-2) ser obtido na penltima linha com os valores j determinados de x(n) e x(n-1) , e assim por diante at determinamos x(1). Ento, desde que se consiga levar o sistema (1.2) na forma (1.3) sem alterar suas solues, o nosso problema est resolvido. Vejamos, ento, como fazer esta transformao. Usaremos um exemplo para tornar o processo mais claro. Consideremos outra vez o sistema (1.1). Os passos a executar so: 1. considerar a 1a linha como base para a eliminao ; 2. zerar todos os coeficientes da 1a coluna abaixo da a11; 3. zerar todos os coeficientes abaixo da diagonal principal; para isso vamos fazer: 3.1. calcular o elemento mi1= - (ai1 / a11) , 1 i n;
3.2. vamos somar 2a equao a 1a , multiplicada pelo coeficiente m21, e colocar o resultado na 2a linha. Isto tambm no altera a soluo do sistema; repetir para as equaes abaixo, usando mi1 na i-sima equao; 3.3. calcular o elemento m12= - (a'i2/ a'22) ; 3.4. repetir o passo 3.2 com as demais equaes.
Para representar todas as mudanas vamos formar uma matriz com duas partes: a 1a ser a matriz dos coeficientes e a 2a ser o vetor dos termos independentes:
B=
Todos os passos indicados sero realizados sobre B, e assim economizamos tempo e simplificamos a notao: Passo 1: Com m21 = - 1/3 zeramos o elemento da posio (2,1):
Passo 3: Com m32 = - (a'32/ a'22)= -2/7 zeramos o elemento da posio (3,2):
B' =
Ento x3 = (45/21)/(45/21) = 1.
Voltando penltima linha B', teremos: (7/3) x2 + (2/3) x3 = 3 e como x3 = 1; (7/3) x2 + (2/3) = 3 ; x2 = 1. Da 1a linha vem: 3x1+ 2x2 + x3 = 6 e como x2 = x3 = 1: 3x1+ 2 + 1 = 6 ; x1= 1.
B= Ento procuraremos chegar a outra matriz, com os passos do mtodo anterior, com a forma diagonal:
B=
Isto quer dizer que se conseguirmos chegar da matriz B matriz B', a soluo do sistema imediata. Podemos, ainda, dividindo cada linha pelo elemento da diagonal, chegar matriz identidade. Por exemplo:
a)
b)
c)
d)
e)
f) Observaes: (1) Eliminamos de uma s vez o 1o e 3o elemento da 2a coluna, fazendo: - 1a linha nova = 1a linha antiga - 2/3 da 2a linha; - 3a linha nova = 3a linha antiga - 2/3 da 3a linha; (2) Eliminamos o 1o e o 2o elemento da 1acoluna, fazendo: - 1a linha nova = 1a linha antiga - 3/21 da 3a linha; - 2a linha nova = 2a linha antiga - 2/7 da 3a linha. Assim o sistema resultante ser: x1 = 1; x2 = 1; x3 = 1 ou seja , temos diretamente a soluo exata do sistema.
10
multiplicao da matriz do sistema por uma matriz elementar. Assim, a cada transformao fica definida uma certa matriz Gi e temos: (2.5) A1 = G1.A, A1 = G2.G1 A, . . ., A1 = Gk . . . G2.G1.A Quando, para um certo k, Ak for triangular, teremos: (2.6) A' = Ak . Naturalmente, se modificamos um dos membros do sistema, tambm deveremos modifcar o outro, isto : Gk . . . G2.G1.A.X = Gk . . . G2 G1.A.B (2.7) A'.X = B' A' = Gk. . . G2.G1.A B' = Gk. . . G2.G1.B No caso do mtodo de Gauss-Jordan, essas multiplicaes so extendidas de modo a se formar no fim do processo a matriz identidade ou seja: Gm . . .G2.G1.A.X = Gm . . .G2.G1.B (2.10) Gm . . .G2.G1.A = I Gm . . .G2.G1.B = B'', m > k I.X = X = B'' Este resultado o que nos permite utilizar o mtodo de eliminao para inverter matrizes: A.X = B Gm . . .G2.G1.X = I.X = X = B'' = Gm . . .G2.G1.B e, j que I.X = X = B'' e X = , verificamos que se fizermos o produto Gm . . .G2.G1 teremos, na realidade, calculado a matriz . Assim, criamos um algoritmo que calcula : Seja a mariz aumentada (2.11) A1 = ( A | I ) Vamos multiplicar A1 por G1 ,G2 , . . ., Gm Ento: Gm . . .G2.G1.( A| I )
11
Seja A =
Ento:
= 1/4.
Observao: algumas vezes todas as tentativas que fazemos para levar a matriz A na matriz identidade so infrutferas. Acontece que a inversa de A pode no existir. Para evitar isso, basta verificar se det(A) diferente de 0. Por exemplo, a matriz
A=
A=
12
Como se pode verificar impossvel obter do lado esquerdo a matriz identidade; mas det(A)=0 e A no tem inversa.
2.4 - Fatorao de A
Observamos que no caso do mtodo de Gauss, podemos transformar uma dada matriz A em outra A', triangular superior. Vamos agora, explicitar o que acontece com as matrizes Gi definidas anteriormente, obter um novo mtodo direto, chamado mtodo compacto de Banachievicz ou Doolittle. Ele representa a fatorao da matriz A no produto L.U onde L triangular inferior e U triangular superior, isto , A = L.U. Vejamos como isso funciona. Consideremos o produto, G = Gm . . .G2.G1 , onde cada Gi triangular inferior da forma:
Gi= Ento, o produto G dessas matrizes tambm ser triangular inferior com diagonal de elementos 1. Alm disso, desde que existe inversa : (pois det Gi = 1) tambm existir a
13
podemos escrever que tambm triangular inferior, com elementos 1 na diagonal. Assim, aps a triangularizao de A, teremos: Gm . . .G2.G1.A = A' , ou seja, G.A = A', e A = .A'.
de L e A' de U, teremos decomposto a matriz A em um produto de Logo, chamando duas matrizes L e U, respectivamente triangular inferior e superior. Esse mtodo usa o fato de que possvel determinar duas matrizes L e U tais que seu produto seja A e determinar essas matrizes diretamente. Se X a soluo do sistema A.X = B , ento desde que A = L.U, temos: L.U.X = B. Escrevendo: U.X = Y e L.Y = B, vemos que reduzimos a soluo do sistema original na soluo de dois subsistemas interligados, ambos com matrizes triangulares o que facilita sua soluo. Consideremos, ento, as matrizes L e U na sua forma geral:
L=
U=
Ento, a igualdade L.U = A, feita diretamente nos dar o valor dos l's e dos u's , de acordo com os produtos: (2.12)
(2.13) (2.14)
(2.15)
14
(2.16)
(2.17) e assim, sucessivamente vamos determinando os l's e u's que definem L e U. Observao: as condies u11diferente de 0, . . . , unn diferente de 0, so equivalentes exigncia det (Ak) diferente de 0, onde Ak, k = 1, . . ., n, so as sucessivas matrizes obtidas de A ao longo da diagonal: A11 = (a11); etc. Exemplo 1.7
A=
L=
eU=
Ento:
L=
eU=
15
L=
eU=
(A.X , X) = qualquer que seja X , X diferente de 0 (estamos trabalhando com A real). Uma das caractersticas dessas matrizes que todos os determinantes de ordens desde 1 a n definidos sobre sua diagonal so positivos:
Essas matrizes, quando so reais e simtricas, admitem uma fatorao mais simples, da forma A = L Lt que utiliza apenas a matriz triangular L. O procedimento de obteno dos elementos (lij) de L o mesmo dos mtodos anteriores, levando-se em considerao o fato de que U = Lt. Nesse caso podemos definir o algoritmo: a) Podemos garantir que L11 real pois, desde que A positivo-definida, temos que a11 > 0. O mesmo acontece com as demais razes que ocorrem nos passos abaixo:
b)
16
c)
2.7 - Concluso
Apresentamos os mtodos diretos, e estes, aps um certo nmero de operaes fornecem a soluo exata de um sistema, pelo menos teoricamente. Isto porque, quando fazemos muitas divises e multiplicaes, introduzimos erros de arredondamento produzidos pelo computador. Por isso, os mtodos diretos s so indicados para o caso em que temos um sistema pequeno, de modo que, em sua soluo tenhamos de fazer um nmero reduzido de operaes; seno a soluo que vamos obter muitas vezes se afasta da soluo real. Para os sistemas maiores, esse efeito diminui com outros mtodos que garantem em certos casos, qualquer preciso desejada. Estes mtodos so chamados mtodos iterativos, onde usamos uma aproximao inicial da soluo e a melhoramos quantas vezes sejam necessrias para chegarmos a uma preciso satisfatria.
(mtrica em R)
2) Inverta a matriz
3) Mostre que o algoritmo Xn+1 = Xn ( 2.I - A.Xn ) permite aproximar a inversa de uma matriz (nxn). 4) Construa uma matriz M(4x4) real redutvel . Em seguida resolva o sistema MX = Y reduzindo-o a dois subsistemas. Obs : Yt = (1,1,1,1) 5) Considere o seguinte sistema: 5x + y = 13500 x + 5y -(3/2)z + w = 11250 x + y + 5z = 12000
17
(1/2)x - y + w = 4250 a) Utilizando determinante, verifique se o sistema tem soluo. Se existe, ache-a por eliminao Gaussiana. b) O sistema acima pode ser escrito da forma A.X = Y . Utilizando a inversa de A resolva-o. 6) Sem realizar a decomposio, mostre que possvel decompor M, abaixo, no produto Ut.U ( U triangular superior) e, em seguida determine a matriz U.
9) Usando a fatorao de A em L.U , resolva o sistema AX = B b) Determine a inversa de A c) Defina a matriz M = Mi.Mi-1 ..... M2.M1 que leva a matriz A em sua inversa (so matrizes elementares)
18
19
A=
(3.3)
Vamos supor que A foi reordenada de modo que todos os seus elementos da diagonal sejam no-nulos: . Vamos ento tirar o valor de cada xi na i-sima equao (i = 1, 2, . . ., n). Como assumimos que aii no nulo, podemos escrever:
Se considerarmos o lado esquerdo do sistema como os elementos de um novo passo de iterao (k+1) e os elementos do lado direito como elementos do passo anterior (k), teremos:
e ento: representam os dois vetores que aproximam a soluo do sistema, respectivamente na iterao k+1 e k. K um vetor constante da forma K = ( b1 / a11 b2 / a22 . . . bn / ann) e
20
J a matriz que define o processo iterativo. Neste caso, esse processo o chamado Mtodo Iterativo de Jacobi e, por isso, a matriz J chamada de Matriz de Iterao de Jacobi e tem a forma
(3.5)
x2 = - (1/2).x1
+ 0.x2 + 2
X=
,J=
,C=
Agora faamos o seguinte: 1. Chamamos de e as aproximaes iniciais (arbitrrias, como vamos ver posteriormente) das componentes de X, ou seja, definimos um vetor :
2. Aplicamos
do lado direito do sistema (3.6) obtendo um novo valor para x1 e x2. = = 0; assim obtemos os valores:
21
5. Para os demais:
etc... Como vemos, o valor das componentes de X(i) vo se aproximando da soluo exata, x1 = 2 e x2 = 1, na medida em que vamos calculando novas iteraes. Como j dissemos anteriormente, esse mtodo chamado Mtodo Iterativo de Jacobi e a matriz J a sua matriz de iterao. Podemos, entretanto, introduzir uma variao na escolha dos ndices (k) e (k+1), caracterizando um novo processo iterativo. Com o intuito de aproveitar os valores j encontrados em em passo da iterao, faremos a seguinte modificao no mtodo de Jacobi: vemos que ao calcularmos o valor x2(1) na primeira iterao, dispomos do valor x1(1) que j foi calculado antes e que, assim, poder ser usado no lugar de x1(0). Analogamente, no cculo de x3(3) temos os valores de x1(2) e x2(2) que podero ser usados. E assim por diante. Com esta modificao introduzida, temos o Mtodo Iterativo de Gauss-Seidel. Ento, para qualquer iterao o sistema (3.4) ficar:
Nesse caso a matriz de iterao ser obtida substituindo-se diretamente os valores que vo sendo calculados, isto , depois do clculo de x1(1) substituimos esse valor na avaliao de x2(1); em seguida, na avaliao de x3(1) j podemos usar esses valores que j foram atualizados, x1(1) e x2(1). Assim, vamos atualizando os valores obtidos,
22
durante o prprio passo da iterao. Isso significa que no damos um passo completo com os valores (k) do passo anterior, como no Mtodo de Jacobi e sim, vamos usando as modificaes feitas imediatamente. Deste modo, temos:
Vejamos, com um exemplo simples, a forma da matriz desse mtodo iterativo. Exemplo 3.2 Para o sistema : 2.x1 + x2 = 5 x1 + 2.x2 = 4 separamos as variveis x1 e x2 da seguinte forma: x1 = 5/2 - 1/2.x2 x2 = 2 - 1/2.x1 escolhemos os ndices da iterao k e k+1:
Ento, a matriz de Gauss-Seidel (R1) obtida desse sistema, observando-se que devemos ter :
23
e, de modo geral,
Fica fcil verificar que esta sequncia ir convergir se , (com a norma definida no problema dado), pois, neste caso, a k - sima aproximao vai estar to prxima do valor exato do vetor X quanto se queira. Caso contrrio diverge. Da mesma forma que no problema f(x) = 0, precisamos de condies gerais de convergncia para a aplicao desses mtodos iterativos a sistemas lineares. Mas, como estamos tratando com matrizes, essas condies tornam-se mais complexas. Vejamos, inicialmente, como se comporta a propagao do erro nesses casos. Seja U soluo exata do sistema dado. Ento, por definio, U = HU + K. Assim, o erro no passo k ser dado por:
onde,
o erro inicial.
Fica, portanto, claro que o acmulo de erro em cada passo, cresce com a potncia da matriz de iterao H, isto , se cometemos um erro inicial , o erro final, na k-sima iterao ser de esperar que o erro ser maior que . Assim, se tender a zero medida que k cresce, podemos diminua. Caso contrrio certamente vamos ter resultados poder
desastrosos, pois no nos aproximaremos nunca do valor exato de U, j que , para todo k.
Vamos examinar a condio necessria para que . Um dos resultados da lgebra Linear* nos diz que essa condio se verifica se e somente se todos os autovalores de H forem, em mdulo, menores que um. Resta-nos, ento definir esses novos elementos, isto , os autovalores de uma dada matriz.
24
Definio 3.1 Dada uma matriz A, dizemos que o escalar seu autovalor, se existir um vetor x diferente de 0, tal que . Nesse caso dizemos que x autovetor de A associado a . Obsevao: Quando possvel diagonalizar uma matriz, os elementos que vo aparecer na diagonal da nova matriz sero exatamente seus autovalores. A determinao desses ; nmeros feita a partir da prpria definio. Seja ento: (3.8) um novo sistema linear homogneo, obtido do antigo, e que mantm suas solues originais. Sabemos que um sistema homogneo s tem soluo no trivial x diferente de 0, quando o determinante da matriz do sistema for nulo. No nosso caso a matriz do . sistema Ento a equao det = 0 (3.9)
representa um polinmio e as suas razes so os autovalores de A. Definio 3.2 Dizemos que duas matrizes A e B so similares, se existe uma matriz M, inversvel, tal que . Quando isso acontece, dizemos que M define uma transformao de similaridade. Nesse caso, as matrizes similares tm os mesmos autovalores, isto , a similaridade preserva autovalores de uma matriz. Exemplo 3.3
Calcular os autovalores de A =
Voltemos nossa matriz H, supondo que ela possui todos seus autovalores distintos (quando houver autovalores de multiplicidade maior que um, o estudo se torna um
25
pouco mais complexo). Ento, sabemos que existe uma tranformao de similaridade que leva a matriz H na sua forma diagonal M, isto : , M a matriz diagonal onde Ento: Assim se , teremos tambm . Mas desde que: (autovalores de H).
Logo, se os autovalores de H (que so os mesmos de M, pois elas so matrizes similares) tm mdulos menores do que um, a matriz vai tender a zero. assim, o erro Definio 3.3 Sejam (i autovalores de uma matriz A tal que . Ento , chamado raio espectral de A. Podemos, ento, apresentar o seguinte teorema sobre condies necessrias e suficientes para a convergncia de um processo iterativo para a soluo de sistemas lineares. Teorema 3.1 O mtodo iterativo inicial X0, se e somente se Exemplo 3.4 converge soluo U, qualquer que seja o vetor . vai tender matriz nula e
Sendo a matriz A =
26
tenha como ponto fixo a soluo U do problema considerado. Voltado ao pargrafo anterior, vemos que o mtodo de Jacobi pode ser obtido do sistema (3.4.a), onde a matriz J ou matriz iterao de Jacobi tem a forma (3.5). Vejamos agora, como interpretar matricialmente esse resultado. Consideremos o sistema dado reescrito da seguinte forma, sendo A desdobrada como segue: A= D - E - F, (D - E - F) X = B (3.11) onde: * D a matriz diagonal formada pelos elementos diagonais de A; * E a matriz triangular estritamente inferior, formada pelos simtricos dos elementos da parte triangular inferior de A; * F a matriz triangular estritamente superior, formada pelos simtricos dos elementos da parte triangular superior de A. Ento, podemos separar em duas partes a equao (3.11), obtendo: D X = (E + F) X + B ou, supondo que existe o inverso de cada elemento de D: (3.12) Comparando essa ltima expresso (3.12) com a (3.4.a) vemos que se considerarmos a iterao (3.13) ambas representam o mesmo processo. Isso quer dizer que a matriz de Jacobi tem a forma:
27
ou, se fizermos
(3.13-a)
Da mesma forma podemos definir a matriz do mtodo de Gauss-Seidel. Basta que a partir de (3.12), consideremos a caracterstica fundamental desse mtodo, isto , os elementos j calculados em um passo so imediatamente aproveitados no prximo passo. Olhando o sistema (3.7) podemos verificar que isso representado pela iterao: (3.14) ou seja, usando L e U e reescrevendo temos:
o que fornece:
(3.15)
desde que, (I - L) certamente inversvel (verifique que essa matriz triangular inferior com diagonal formada de elementos iguais a 1 e, assim det(I - L) = 1 e ela tem inversa). Assim, a matriz de iterao do mtodo de Gauss-Seidel dada por: (3.16)
estaremos definindo um processo iterativo que pode nos levar s razes de F. Da mesma forma que anteriormente, separamos A em trs matrizes independentes:
Considerando agora, iteraes do tipo realizadas pelo algoritmo de Gauss-Seidel, podemos obter:
28
isto :
ou seja: (3.19) pois (como voc pode verificar) a matriz tem inversa.
A equao (3.19) fornece assim, a expresso da matriz da Sobre-Relaxao: (3.20) fcil verificar que se tivermos Seidel. Exemplo 3.5 Aplique a Sobre-Relaxao a um sistema de trs equaes e trs incgnitas. Naturalmente, para usar na prtica a Sobre-Relaxao, no necessrio a definio matricial de . Podemos fazer diretamente: , essa matriz se reduz a R1, a matriz de Gauss-
Para:
,teremos:
29
Assim, como j foi visto, a convergncia desse processo se dar quando a potncia k de H tender a zero, medida que k cresce infinitamente. J vimos tambm que esse fato se d quando os autovalores de H tm mdulo menor que 1. Vejamos ento, como se comportam os autovalores da matriz de iterao da sobre-relaxao, (3.21) J vimos anteriormente que, o determinante de uma matriz igual ao produto de seus autovalores. Para , esse resultado fornece:
mas,
(3.22)
pois triangular inferior, com elementos diagonais iguais a 1. O mesmo obtido acontece com sua inversa, (verifique!). O valor de facilmente, se verificarmos que essa matriz triangular superior, com elementos diagonais todos iguais a . Assim: (3.23) De (3.22) e (3.23) temos que: Chamamos de o raio espectral de , podemos escrever por definio que:
Assim:
Para garantirmos a convergncia de um processo iterativo definido com a matriz H, j vimos que necessrio e suficiente que: .
30
Podemos resumir esse resultado no seguinte teorema: Teorema 3.2 . Existem famlias muito O mtodo da Sobre-Relaxao converge sempre que importantes de matrizes para as quais, por condies de convergncia w deve assumir valores, apenas entre 1 e 2. Por isso o processo chamado de Sobre-Relaxao. Exemplo 3.6 Para o sistema (3.1), a soluo com uso da sobre - relaxao, seria:
e assim sucessivamente. O valor de w deve ser escolhido de forma a diminuir o erro e algumas vezes isso pode ser facilmente feito. Vide P. Albrecht [1], pg. 105, 112 e 113.
(3.24)
onde , so quadradas e regulares com aplicarmos os mtodos iterativos apresentados no item anterior, ao sistema
. Se
31
, onde
(3.25)
O ndice B indica uma certa partio em blocos da matriz, usada quando temos particular interesse nesta partio. : matrizes bloco triangular estritamente inferiores; : matrizes bloco triangular estritamente superiores; chegamos s frmulas Bloco Jacobi, Bloco Gauss-Seidel e da Bloco Sobre-Relaxao, que sero apresentadas em seguida. Em cada passo k preciso resolver n sistemas lineares por mtodos diretos, pois a inverso de Db no se reduz mais a uma simples diviso, como ocorria nos mtodos no blocos. Em geral aconselhvel calcular as inversas antes do incio da iterao, para facilitar a resoluo dos n sistemas em cada passo. Entretanto, se so tridiagonais, prefere-se a resoluo sucessiva pela eliminao de Gauss. Esse caso especial frequente no tratamento da equaes diferencias parciais: os chamados mtodos linha (line-methods), so exemplos tpicos para a combinao da iterao bloco com a eliminao de Gauss.
32
Exemplo 3.7
Esta a iterao:
com
33
(3.28) Ento:
(3.29) . Ento, para esse sistema, a partio em blocos indicada favoreceu a convergncia, isto , o mtodo bloco de Jacobi deve convergir mais rpido que o mtodo simples.
34
1. So aplicveis quando o sistema grande demais para ser armazenado na memria do computador. 2. Em certos casos converge mais rapidamente do que os mtodos de iterao simples.
35
Limitamos a demonstrao ao caso em que J iredutvel: Seja =(R1). Se =0, ento, (J) < 1 e (J) = (L + U) > (L) = 0 pois U 0. Assim, (a) satisfeita e pode-se, agora, considerar > 0. Como (I - L)-1 = I + L + .... + Ln-1 0 e U 0, tem-se: R1 = (I - L)-1 U 0 Ento, existe (vide Teorema 4.21) um y n tal que y 0 e R1y = y, donde: Uy = (I - L)y e, sendo 0: (U + L)y = y; (-1 U + L)y = y Como J suposta irredutvel e no-negativa, (U + L) e (-1 U + L) so irredutveis e nonegativas. Se fosse para z 0, w 0: (U + L)z = kz, k > ou ( -1 U + L)w = w, > 1, ento z > 0, w > 0 e z y, w y logo: (U + L) = , ( -1 U + L) = 1 - se 0 < < 1 : = (U + L) < (U + L) = (U + L) = (J) < ( -1U + L) = 1, - se = 1 : = (U + L ) = (J) = 1, - se > 1 : = (U + L) > (U + L) = (J) > (J) > > (-1 U + L ) = 1 Usando a teoria das matrizes no-negativas pode-se tambm tirar concluses sobre a vantagem da partio em blocos, atravs do seguinte teorema de Fiedler-Ptk: Teorema 3.4 Seja J = L + U 0 e R1b = (I - L -B)-1 (U - B), R1 = (I - L )-1 U , onde B (n,n) uma matriz tal que : U - B 0 , B 0 , B 0 ; R1b 0; R1b 0. Ento, se 0 < (J) < 1, tem-se (R1b) < (R1). Demonstrao: Se k = (R1b) e = (R1), ento existe um vetor x 0, x 0, tal que R1bx=kx , ou seja : (U - B)x = ( I - L - B ) kx, [k-1 (U - B) + (L + B)] x = x. Ento, analogamente demonstrao anterior, tem-se:
36
[k-1 (U - B) + (L + B)] = 1; (-1 U + l) = 1 Como 0 < < (J) < 1 tem-se: 1 = (-1 U + L) = (-1 (U - B) + L + -1 B) >> (-1 (U - B) + L + B) Ento: (k-1(U - B) + ( L + B)) > (-1(U - B) + L + B), donde se conclui que: k < Por este teorema v-se que uma partio em blocos de A apropriada para acelerar a convergncia assinttica da iterao de Gauss-Seidel, se U B U, UB U. Teorema 3.5 Sejam J, R( (n, n) as matrizes (blocos ou no) de Jacobi e da sobre- relaxao. Se J irredutvel, J = L + U 0 e (J) < 1, ento: (a) R( converge para todo 0 < 1 (b) (R(1) < (R(2) < 1, se 0 < 1 < 2 1 Demonstrao: (= B(-1 C( com B( = 1/ (I - L); C( = 1/ (U + (1 -)I). Seja 0 < 1 e S = B( - C(= I - J, ento C( 0 e B( e S so regulares com B-1( 0, S-1 0. Logo, com B-1( C(= R( obtem-se: (R() =[ (S-1C()] / [1 + (S-1 C()] < 1, o que prova (a). S-1 = I + J + J2 + ... irredutvel, pois J irredutvel. Logo, para 0 < < 1, S-1C( tambm irredutvel pois C(= (cij) 0 e cij 0. Alm disso, se 0 < 1 < 2 1, tem-se S-1 C(1 S-1 C(2 com C(1 > C(2 . Ento: ( S-1 C(1 ) > (S -1 C(2) e, portanto, (b) fica provado. O Teorema anterior apresenta uma classe de matrizes para as quais a sub-ralaxao ( < 1 ) no aconselhvel.
37
| aij | > | a ij | i= 1,2,. . .,n ( j ( i ) Teorema 3.6 Seja A (n,n): (a) de diagonal estritamente dominante ou , (b) de diagonal dominante e irredutvel. Ento, tanto o mtodo (no bloco) de Jacobi como o de Gauss-Seidel convergem. Demonstrao: Para o caso (a), usando-se o Teorema de Gershgorin e para o caso (b) usando-se o Teorema j apresentado tem-se: ( | J | ) < 1. Ento, segue: (J) ( | J | ) < 1 o que prova a convergncia do mtodo de Jacobi. Sendo L triangular inferior, obtem-se de R1 = (I - L)-1U : | R1 | = | (I + L+. . . +Ln-1) U | (I + |L| + . . .+|L|n- 1) |U| (I - | L| )-1 | U|= R1 Como R*1 a matriz de Gauss-Seidel, associada matriz de Jacobi | J | , segue do teorema de Stein-Rosenberg e dos teoremas j apresentados: (R1) (|R1|) (R* i ) ( | J | ) < 1 Como P= || J || L = mx. 1/|aii| . |aij| <1 no caso das matrizes de diagonal estritamente dominante, obtem-se a seguinte estimativa de erro da iterao de Jacobi, sendo ui as componentes da soluo exata: mx | xi (k+1) - ui | __P__ mx = | xi (k+1) - xi (k) | i 1- P i Esta estimativa vale tambm no caso da iterao de Gauss-Seidel, se A de diagonal estritamente dominante e P = R1L .
38
Demonstrao: Seja S = (B - C)-1 (C* + (1 - )B ). Deve-se demonstrar que: ( S)<1. Como : det (S - I) = det (B - C)-1 . det (C* + (1 - )B - (B - C)), ento todos os autovalores de S so razes de det (C* + (1 - )B - (B - C)) = 0. Seja x 0 um vetor tal que: [B - C]x = [C* + (1 - )B]x Multiplicando por 2/ e somando (A - B + C + C*) = 0 expresso entre colchetes obtem-se: (2/ - 1) + (A + C* -C )]x = [ B (2/ - 1) - A + (C* - C)]x Como (C* - C)* = - (C*- C) fcil provar que (x T(C*- C)x imaginrio puro para qualquer x0. Como: (x T Ax= a ; (xTBx = b ; (xT (C*-C)x = ic, obtem-se : [(2/w-1)b + a + ic] = [(2/w-1)b - a + ic] Ento, se 0<W | | = |(2/w -1)b + ic - a| / |(2/w-1)b + ic + a | < 1 , pois (2/w-1) > 0, a>0 , b>0 Como a sobre-relao (bloco ou no) um caso particular da iterao obtem-se o seguinte Corolrio : Corolrio 3.1 Seja A hermitiana e positiva definida. Ento, a sobre-relaxao (bloco ou no) converge para todo 0 < w < 2. Pela multiplicao por A* sempre se pode reduzir o sistema Ax=B, det A0, a um problema com uma matriz hermitiana e positiva definida. Entretanto, este procedimento no aconselhvel porque, em geral, piora consideravelmente o condicionamento do sistema. Um caso especial das matrizes hermitianas e positivas definidas so as matrizes de Stieltjes. Definio 3.7 Uma matriz A= (aij) (n,n) chamada matriz de Stieltjes se A simtrica, positiva definida e se aij 0 para todo ij.
39
Para essas matrizes pode-se decidir quando a iterao bloco de Gauss-Seidel converge assintoticamente mais rpido do que a iterao no bloco: Teorema 3.8 Seja A uma matriz irredutvel de Stieltjes. Se existe uma patio de A em blocos tal que, pelo menos uma das matrizes Aii contenha elementos no nulos fora da diagonal, ento o mtodo bloco de Gauss-Seidel converge assintoticamente mais rpido do que o mtodo no bloco. A demonstrao baseada no Teorema j apresentado e no fato de que a inversa de uma matriz irredutvel de Stieltjes positiva.
Com
, obtem-se:
40
Portanto, se os autovalores de
Definio 3.8 A matriz J chamada consistentemente (r, q) - ordenada se os autovalores de so independentes de a. Chamaremos um sistema Ax = B consistentemente ordenado se a matriz de Jacobi de A for consistentemente ordenada. Reciprocamente seja autovalor de J = L +U e J consistentemente (r, q) ordenada. Ento, segue-se de :
que :
para qualquer a
satisfaz
segue:
Portanto,
autovalor de
Teorema 3.9 Seja J consistentemente (r, q) - ordenada. Seja definido por : no nulo, um autovalor de e
Ento, um autovalor da matriz de Jacobi J. Reciprocamente, se e se satisfaz equao acima, ento autovalor de . Teorema 3.10
um autovalor de J
41
Corolrio 3.2 Seja o sistema Ax = B consistentemente (r,q) - ordenado; ento, ambas as iteraes (bloco ou no) de Jacobi e Gauss-Seidel convergem ou divergem .Se convergem, ento :
Observa-se que esse corolrio fornece, sob hipteses diferentes, um resultado mais preciso do que o Teorema de Stein-Rosenbgerg. Do Teorema acima segue que a convergncia assinttica da sobre-relaxao a mesma para todas as (r,q) - ordenaes (se existirem) de um sistema Ax = B. Antes, porm, de se estudar a influncia de ordenao do sistema Ax = B em , deve-se estudar quais as matrizes que so consistentemente ordenadas.
onde os Ij, j=0,1,...,n-1 so as matrizes identidade. Temos, com a partio induzida por S(a):
42
Logo, J consistentemente (r,q) - ordenada se todas as sub-matrizes da matriz acima so nulas a menos das matrizes da r-sIMA diagonal inferior e da q-sIMA diagonal superior. Definio 3.9 As matrizes acima so chamadas de matrizes 2-banda. Teorema 3.11 Se J fracamente cclica de ndice p, ento existe uma matriz de permutao P tal que consistentemente (1 , p-1) - ordenada. A reordenao (P a matriz de permutao) de uma matriz A no influencia o raio espectral da matriz de Jacobi, pois se A tem a matriz de iterao de Jacobi, , ento tem a matriz de Jacobi:
Ento, O raio espectral de matriz de sobre-relaxao depende, entretanto, da ordenao de A. Por esta razo pode-se meljhorar a convergncia assintnica da sobre-relaxao pela reordenao do sistema em considerao. Ainda no existe uma teoria completa para decidir, no caso geral, qual reordenao do sistema Ax=B resulta na melhor convergncia assintnica da sobre-relaxao. Entretanto, em dois casos particulares essa deciso possvel: (a) Se simtrica, irredutvel e , ento pode-se demonstrar que a ordenao consistente, se existe, a mais indicada de todas as reordenaes da forma . (b) Se existem (r,q) - ordenaes de J com diferentes valores de (r,q) ( como, por exemplo, no caso das matrizes fracamnte cclicas) e se os autovalores de ,
43
so negativos por exemplo, se J simtrica e positiva definida), ento a (1,p-1) ordenao a melhor quanto convergncia da sobre-relaxao. Isto : Teorema 3.12 Seja J consistentemente (r,q) - ordenada com , reais e no negativos. a) Se r diferente de 1, ento b) Se r=1, ento raiz real no intervalo (1, q+1/q) da equao : onde o valor "timo" a nica e sejam o autovalores de
Observaes: -A relao (equao acima) possibilita a determinao do melhor parmetro w da sobrerelaxao, se os autovalores de J so conhecidos. -Como no caso das matrizes de Jacobi no-negativas, a melhor escolha .
44
a) Construa a forma cannica de Jordan de A b) Calcule c) Aplique matriz A o teorema de Gerschgorin (que localiza autovalores no plano complexo) . Calcule um autovetor v de B , d) Calcule , um autovalor qualquer de B = associado ao autovalor , que tenha norma igual a 2. 3) Limite os autovalores das matrizes A1 , A2 , A3 dadas abaixo :
4) Com o mtodo bloco da sobre-relaxao e com w = 1.1 , calcule a aproximao X1 do sistema abaixo , com a partio indicada . Escreva tambm a matriz de iterao desse mtodo. Use Xo = (0,-1,1,0)t . Verfique cuidadosamente a convergncia . Seria possvel garantir a convergncia de algum mtodo simples ?
5) Considerando-se
45
e a) Usando o mtodo da partio geral, calcule a inversa de A b) Resolva o sistema Ax = B usando a inversa calculada. 6) Dadas as seguintes matrizes abaixo :
a) Determine limites para todos os autovelores das matrizes A1 , A2 , A3 b) Determine o maior autovalor , em mdulo , da matriz A1 e o autovetor a ele associado. c) Usando o mtodo das potncias pelo menos uma vez, determine todos os autovalores de A3 d) Determine os autovetores de A2
7) Para a matriz a) Usando o mtodo de Jacobi , pelo menos uma vez , determine os autovalores de b) Sabendo-se que ele associado = 5 o maior autovalor de A1 , determine um autovetor unitrio a
c) Calcule o determinante de
46
d) Escreva a forma cannica de Jordan de A1 8) Considere as matrizes A1 e A2 abaixo. Com elas resolva os sistemas A1.x = b e A2.x = b , ( b1 e b2 tambm dados ) com os mtodos ( A1 e A2 so 60 X 60 ) : a) Eliminao de Gauss , sem pivoteamaneto b) Eliminao de Gauss , com pivoteamaneto c) Crout d) Iterao de Jacobi e) Iterao de Gauss-Seidel Para cada mtodo e cada matriz , imprima a soluo obtida e o erro absoluto (a soluo os dois sistemas Xi = 1 ) Compare os resultados.
47
Calcule a 2a aproximao da soluo. 10) Usando w = 1,2 calcule a 2a aproximao da soluo do sistema abaixo, com a sobre-relaxao. Verifique a convergncia.
11) Dado o sitema Ax = B abaixo, aplicamos a ele o mtodo da sobre-relaxao, tambm definido abaixo:
Algoritimo: a) Determine a matriz clculos realizados) , de iterao da sobre-relaxao. (Obs. indique todos os
b) Considerando para a norma || || = e levando em conta que , verifique se para w1=1 e w2=1.04 a convergncia da sobre-relaxao se verificar. (Obs. indique todas as suposies e concluses) 12) Resolva o sistema pelo mtodo iterativo de Gauss-Seidel. Faa 4 iteraes a partir de Xo = (0,0,0,0)t.
48
13) Para o sistema AX = b, onde A e b so dados abaixo, com a partio indicada, com Xo =0 , calcule X2 com o mtodo bloco de Jacobi. Em seguida, examinando as matrizes de iterao desse mtodo bloco e do mtodo simples de Jacobi, determine o que apresenta melhor convergncia assinttica.
a) Determine os autovalores e autovetores da matriz A , abaixo , usando o mtodo das potncias . b) Para a mesma matriz A , resolva o sistema Ax = b com o mtodo bloco de GaussSeidel Onde b = (1,1,1,1)t. c) Verifique a convergncia do mtodo aplicado no item anterior . 15) Seja o sistema Ax = B dado por :
49
Calcule a aproximao X(1) da soluo u do sistema. Use w = 1.08 ; X(o) = (1,1,1)t b) Se tivermos w=1, que mtodo iterativo ser definido?