Conte´
udo
3 Sistemas de equa¸c˜oes lineares. M´etodos Iterativos 2
3.1 Introdu¸c˜ao . . . 2
3.1.1 Defini¸c˜ao matricial . . . 2
3.2 M´etodo de Elimina¸c˜ao de Gauss . . . 3
3.3 M´etodo de Jacobi-Richardson . . . 4
3.3.1 Crit´erios de convergˆencia . . . 6
3.4 M´etodo de Gauss-Seidel . . . 7
Sistemas de equa¸
c˜
oes lineares.
M´
etodos Iterativos
3.1
Introdu¸
c˜
ao
Os sistemas lineares de equa¸c˜oes aparecem em muitos - quase todos - problemas de mod-elagem computacional em engenharia e ciˆencias. Neste tema estudaremos m´etodos itera-tivos que nos permitiram encontrar uma solu¸c˜ao aproximada de um sistema de equa¸c˜oes.
3.1.1
Defini¸
c˜
ao matricial
Seja dado o sistema com n equa¸c˜oes e n inc´ognitas: a11x1 + a12x2 + . . . + a1n = b1 a21x1 + a22x2 + . . . + a2n = b2 .. . ... . .. ... ... ... an1x1 + an2x2 + . . . + ann = bn (3.1)
O sistema anterior pode ser escrito na forma: a11 a12 . . . a1n a21 a22 . . . a2n .. . ... . .. ... an1 an2 . . . ann · x1 x2 .. . xn = b1 b2 .. . bn
Jos´e A. Nhavoto, MSc 29 de Agosto de 2011 Se considerarmos A = a11 a12 . . . a1n a21 a22 . . . a2n .. . ... . .. ... an1 an2 . . . ann ; x = x1 x2 .. . xn ; b = b1 b2 .. . bn ent˜ao podemos simplesmente escrever
Ax = b.
Exemplo
Escreva o sistema abaixo na forma matricial: 2x1 + 4x2 + 4x3 = 2 x1 + 5x2 + 6x3 = 2 2x1 + 3x2 + x3 = −1
Resolu¸c˜ao: Trata-se de um sistema de 3 equa¸c˜oes e 3 inc´ognitas. Seguindo a l´ogica exposta anteriormente, temos:
2 4 5 1 5 6 2 3 1 · x1 x2 x3 = 2 2 −1 donde: A = 2 4 5 1 5 6 2 3 1 ; x = x1 x2 x3 e b = 2 2 −1
3.2
M´
etodo de Elimina¸
c˜
ao de Gauss
O m´etodo de Elimica¸c˜ao de Gauss ´e um m´etodo ditrecto. Este m´etodo ´e um dos mais eficiente e utilizado na solu¸c˜aoo de um sistema linear geral da forma
a11x1 + a12x2 + . . . + a1n = b1 a21x1 + a22x2 + . . . + a2n = b2 .. . ... . .. ... ... ... an1x1 + an2x2 + . . . + ann = bn 3
A ideia central deste m´etodo consiste na elimina¸c˜ao sistem´atica das inc´ognitas transfor-mando o sistema geral em um sistema do tipo triangular o qual j´a sabemos como resolver.
Exemplo Resolver o sistema: x1 + x2 + x3 = 4 2x1 + 3x2 + x3 = 9 x1 − x2 − x3 = −2
usando o m´etodo de Elimina¸c˜ao de Gauss. Resolu¸c˜ao:
Passo 1 POdemos eliminar a inc´ognita x1 nas linhas `2 e `3 fazendo `2 ← (−2)`1 + `3
(substituir `2 por (−2) · `1+ `2) e `3 ← (−1)`1+ `3: x1 + x2 + x3 = 4 x2 − x3 = 1 − 2x2 − 2x3 = −6
Passo 2 Vamos agora eliminar a inc´ognita x2 na linha `3 fazendo a seguinte opera˜ao:
`3 ← (2)`2+ `3: x1 + x2 + x3 = 4 x2 − x3 = 1 − 4x3 = −4
Temos agora um sistema triangular que pode ser resolvido com o algoritmo da retro-substitui¸c˜ao: x3 = −4 −4 = 1 x2 = 1 + x3 = 1 + 1 = 2 x1 = 4− x2− x3 = 4− 1 − 2 = 1 Assim, a solu¸c˜ao ´e: x = (1, 2, 1)T
3.3
M´
etodo de Jacobi-Richardson
Neste m´etodo cada coordenada do vector correspondente `a nova aproxima¸c˜ao ´e calculada a partir da respectiva equa¸c˜ao do sistema, utilizando-se as demais coordenadas do vector
Jos´e A. Nhavoto, MSc 29 de Agosto de 2011
aproxima¸c˜ao da itera¸c˜ao anterior:
x(k)i = bi− n ∑ j=1,j6=i aijx (k−1) j aii , i = 1, 2, . . . , n (3.2) Exemplo
Determine a solu¸c˜ao do sistema 3x1 + x2 + x3 = 7 x1 + 4x2 + 2x3 = 4 2x2 + 5x3 = 5
com chute inicial x(0) = [0, 0, 0]T.
Resolu¸c˜ao: Primeiro reescrevemos o sistema na forma matricial: 3 1 1 1 4 2 0 2 5 x1 x2 x3 = 7 4 5
Aplicando a f´ormula (??), obtemos as equa¸c˜oes de recorrˆencia: x(k)1 = 7− 1 · x (k−1) 2 − 1 · x (k−1) 3 3 x(k)2 = 4− 1 · x (k−1) 1 − 2 · x (k−1) 3 4 x(k)3 = 5− 0 · x (k−1) 1 − 2 · x (k−1) 2 5
Substituindo, no sistema anterior, os valores x(0)1 = 0, x(0)2 = 0, x(0)3 = 0 obtemos a tabela
abaixo: Itera¸c˜ao x(k)1 x(k)2 x(k)3 1 2.3333 1.0000 1.0000 2 1.6667 −0.0833 0.6000 3 2.1611 0.2833 1.0333 4 1.8944 −0.0569 0.8867 5 2.0568 0.0831 1.0228 6 1.9647 −0.0256 0.9668 7 2.0196 0.0254 1.0102 8 1.9881 −0.0100 0.9898 .. . ... ... ... solu¸c˜ao exacta 2.0000 0.0000 1.0000
3.3.1
Crit´
erios de convergˆ
encia
O m´etodo de Jacobi-Ricchardson converge se: max
i
∑
j=1,j6=i
|a∗
ij| < 1 (crit´erio das linhas)
ou max j ∑ i=1,i6=j |a∗
ij| < 1 (crit´erio das colunas)
Observa¸c˜ao: O processo iterativo para quando
|x(k)− x(k−1)|
|x(k)| ≤
onde ´e um n´umero positivo previamente estabelecido. Exemplo Resolver o sistema: 10x1 + 2x2 + x3 = 7 x1 + 5x2 + x3 = −8 2x1 + 3x2 + 10x3 = 6
pelo m´etodo de Jacobi-Richardson com x(0) = (0.7, −1.6, 0.6)T e < 10−2.
Resolu¸c˜ao: Dividindo cada equa¸c˜ao pelo correspondente elemento da diagonal principal
obtemos: x1 + 0.2x2 + 0.1x3 = 0.7 0.2x1 + x2 + 0.2x3 = −1.6
Jos´e A. Nhavoto, MSc 29 de Agosto de 2011 Daqui temos: max i ∑ j=1,j6=i |a∗ ij| = 0.5 < 1
portanto temos o crit´erio de convergˆencia satisfeito. Neste caso o crit´erio das colunas, max
j
∑
i=1,i6=j
|a∗
ij| = 0.5 < 1, tamb´em est´a satisfeito.
Efetuando-se as itera¸c˜oes definidas por: x(k)1 = 0.7− 0.2x(k2−1)− 0.1x(k3 −1) x(k)2 =−1.6 − 0.2x(k1−1)− 0.2x(k3 −1) x(k)3 = 0.6− 0.2x(k1−1)− 0.3x(k2 −1) a partir de x(0) = (0.7, −1.6, 0.6)T, resultam os seguintes valores:
k x1 x2 x3 0 0.7 −1.6 0.6 1 0.96 −1.86 0.94 2 0.978 −1.98 0.966 3 0.9994 −1.9888 0.9984 4 0.99792 −1.99956 0.99676
Para < 10−2 temos que a solu¸c˜ao do sistema ´e: X = (0.99; −1.99; 0.99)T. No entanto,
a solu¸c˜ao exata do sistema proposto ´e x = (1,−2, 1)T.
3.4
M´
etodo de Gauss-Seidel
Neste m´etodo cada coordenada do vector correspondente `a nova aproxima¸c˜ao ´e calculada a partir da respectiva equa¸c˜ao do sistema, utilizando-se as demais coordenadas do vector aproxima¸c˜ao da itera¸c˜ao anterior:
x(k)i = bi− i∑−1 j=1 aijx (k) j − n ∑ j=i+1 aijx (k−1) j aii , i = 1, 2, . . . , n (3.3) Exemplo 7
Resolver o sistema 3 1 1 1 4 2 0 2 5 x1 x2 x3 = 7 4 5
com chute inicial x(0) = 0 0 0 .
Resolu¸c˜ao: Aplicando a f´ormula (??), obtemos as equa¸c˜oes de recorrˆencia: x(k)1 = 7− 1 · x (k−1) 2 − 1 · x (k−1) 3 3 x(k)2 = 4− 1 · x (k) 1 − 2 · x (k−1) 3 4 x(k)3 = 5− 0 · x (k) 1 − 2 · x (k) 2 5
Substituindo, no sistema anterior, os valores x(0)1 = 0, x(0)2 = 0, x(0)3 = 0 obtemos a tabela abaixo: Itera¸c˜ao x(k)1 x(k)2 x(k)3 1 2.3333 0.4167 0.8333 2 1.9167 0.1042 0.9583 3 1.9792 0.0260 0.9896 4 1.9948 0.0065 0.9974 5 1.9987 0.0016 0.9993 6 1.9997 0.0004 0.9998 7 1.9999 0.0001 1.0000 .. . ... ... ... solu¸c˜ao exacta 2.0000 0.0000 1.0000
3.4.1
Crit´
erios de convergˆ
encia
Matriz diagonalmente dominante
Dizemos que uma matriz An×n´e diagonalmente dominante se
|aii| > n ∑ j=1,j6=i |aij|, i = 1, . . . , n. Exemplo
Jos´e A. Nhavoto, MSc 29 de Agosto de 2011 A matriz A = 3 −1 1 2 5 −2 1 3 7
´e diagonalmente dominante pois
|3| > | − 1| + |1| |5| > |2| + | − 2| |7| > |1| + |3|
Proposi¸c˜ao 3.1. Considere o sistema linear Ax = b. Se A ´e diagonalmente dominante ent˜ao a sequˆencia de itera¸c˜oes para o m´etodo de Gauss-Seidel converge para a solu¸c˜ao do sistema.
Crit´erio de Sassenfeld
O m´etodo de Gauss-Seidel converge se: max
i βi < 1
onde os βi s˜ao calculados por recorrˆencia atrav´es de:
βi = i−1 ∑ j=1 |a∗ ij|βj + n ∑ j=i+1 |a∗ ij|.
Crit´erio das linhas
O m´etodo de Gauss-Siedel converge se o crit´erio das linhas for satisfeito, isto ´e, se: max i ∑ j=1,j6=i |a∗ ij| < 1. Exemplo Resolver o sistema: 5x1 + x2 + x3 = 5 3x1 + x2 + x3 = 6 3x1 + x2 + 6x3 = 0
pelo m´etodo de Gauss-Siedel com x(0) = [0, 0, 0]T e < 10−2.
Resolu¸c˜ao: Dividindo cada equa¸c˜ao pelo correspondente elemento da diagonal principal
obtemos: x1 + 0.2x2 + 0.2x3 = 1 0.75x1 + x2 + 0.25x3 = 1.5 0.5x1 + 0.5x2 + x3 = 0 9
Temos: max i ∑ j=1,j6=i |a∗ ij| = 1.
Portanto, por esse crit´erio n˜ao podemos garantir convergˆencia. Mas aplicando o crit´erio de Sassenfeld, temos: β1 =|0.2| + |0.2| = 0.4 β2 =|0.75|(0.4) + |0.25| = 0.55 β3 =|0.5|(0.5) + |0.5|(0.55) = 0.475 isto ´e, max i βi = 0.55 < 1.
Logo temos o crit´erio de convergˆencia satisfeito. Efetuando-se as itera¸c˜oes definidas por: x(k)1 = 1− 0.2x(k2 −1)− 0.2x(k3 −1) x(k)2 = 1.5− 0.75x(k)1 − 0.25x(k3 −1) x(k)3 =−0.5x(k)1 − 0.5x(k)2 a partir de x(0) = [0, 0, 0]T, resultam os seguintes valores:
k x1 x2 x3 0 0 0 0 1 1 0.75 0.875 2 1.025 0.95 −0.9875 3 1.0075 0.99125 −0.999375 4 1.001625 0.998625 −1.000125
Para < 10−2 temos que a solu¸c˜ao do sistema ´e x = (1.00; 0.99; −1.00)T. No entanto, a
solu¸c˜ao exata do sistema proposto ´e x = (1, 1, −1)T.
Observa¸c˜oes:
• Dado um sistema linear Ax = b pode acontecer que o m´etodo de Jacobi-Richardson
aplicado a ele resulte convergente enquanto que o de Gauss-Seidel resulta divergente e vice-versa.
• A convergˆencia para os m´etodos: Jacobi-Richardson e Gauss-Seidel n˜ao depende do