m etodo jacobi-richardson -...
Post on 17-Feb-2020
7 Views
Preview:
TRANSCRIPT
Metodo Jacobi-Richardson
Marina Andretta/Franklina Toledo/Ana Paula Mazzini
ICMC-USP
20 de agosto de 2013
Baseado no livro Calculo Numerico, de Neide B. Franco.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 1 / 26
Introducao
Ja vimos que existem dois tipos de metodos numericos para a solucao desistemas lineares:
Metodos Exatos;
Metodos Iterativos.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 2 / 26
Metodos exatos
Metodos como
Eliminacao de Gauss,
Decomposicao LU
sao ditos exatos: obtem a solucao final apos um numero k de passos.
Em alguns casos/aspectos, metodos iterativos tem algumas vantagens:
sao melhores em matrizes esparsas;
apresentam auto-correcao de erros (podem ser usados para melhorar asolucao obtida por metodos exatos).
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 3 / 26
Metodos Iterativos
Um metodo e iterativo quando fornece uma sequencia deaproximantes da solucao;
No caso de metodos iterativos, precisamos saber se a sequencia queestamos calculando esta convergindo ou nao para a solucao.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 4 / 26
O Metodo de Metodos Iterativos - Ideia geral
Queremos resolver o sistema linear Ax = b. Para tanto, vamos reescrevero sistema como
x = Bx + g ,
onde B = I − A, g = b, por exemplo.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 5 / 26
O Metodo de Metodos Iterativos
“Chutamos” um valor inicial para x , que chamamos de x (0). Obtemos
x (1) = Bx (0) + g ;
x (2) = Bx (1) + g ;
x (3) = Bx (2) + g ;...
x (k+1) = Bx (k) + g .
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 6 / 26
Convergencia
A sequencia gerada pelo algoritmo converge?
Criterio: A sequencia sera convergente se, para alguma norma dematrizes, ‖B‖ < 1.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 7 / 26
O Metodo Jacobi-Richardson
Considere o sistema linear Ax = b, de ordem n, onde det(A) 6= 0. Isto e,a11x1 + a12x2 + ...+ a1nxn = b1,a21x1 + a22x2 + ...+ a2nxn = b2,
...an1x1 + an2x2 + ...+ annxn = bn.
A matriz A pode ser escrita como a soma de tres matrizes:
A = L + D + R,
onde
L e uma matriz triangular inferior formada pela parte inferior de A,
D e uma matriz diagonal formada pela diagonal de A e
R e uma matriz triangular superior formada pela parte superior de A.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 8 / 26
O Metodo Jacobi-Richardson
Entao, L = (lij), D = (dij) e R = (rij), onde
lij =
{aij , i > j ,
0, i ≤ j ,
dij =
{aij , i = j ,
0, i 6= j ,
rij =
{aij , i < j ,
0, i ≥ j .
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 9 / 26
O Metodo Jacobi-Richardson
Exemplo: a11 a12 a13a21 a22 a23a31 a32 a33
=
0 0 0a21 0 0a31 a32 0
+
a11 0 00 a22 00 0 a33
+
0 a12 a130 0 a230 0 0
.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 10 / 26
O Metodo Jacobi-Richardson
Supondo que det(D) 6= 0, podemos transformar o sistema linear originalem
Ax = b ⇒(L + D + R)x = b ⇒
Dx = −(L + R)x + b ⇒x = −D−1(L + R)x + D−1b ,
onde −D−1(L + R) = B e D−1b = g .
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 11 / 26
O Metodo Jacobi-Richardson
O processo iterativo definido por
x (k+1) = −D−1(L + R)x (k) + D−1b
e chamado de Metodo Jacobi-Richardson.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 12 / 26
O Metodo Jacobi-Richardson
Supondo que det(D) 6= 0 (ou seja, aii 6= 0, i = 1, ..., n) e dividindo cadalinha de A pelo elemento da diagonal, temos 1 a12/a11 a13/a11
a21/a22 1 a23/a22a31/a33 a32/a33 1
=
1 a∗12 a∗13a∗21 1 a∗23a∗31 a∗32 1
=
0 0 0a∗21 0 0a∗31 a∗32 0
+
1 0 00 1 00 0 1
+
0 a∗12 a∗130 0 a∗230 0 0
.
Assim temos:
A∗ = L∗ + I + R∗.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 13 / 26
O Metodo Jacobi-Richardson
No caso geral,
l∗ij =
{a∗ij =
aijaii, i > j ,
0, i ≤ j ,
r∗ij =
{a∗ij =
aijaii, i < j ,
0, i ≥ j ,
b∗i =bi
aii.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 14 / 26
O Metodo Jacobi-Richardson
Reescrevendo novamente o sistema, temos
Ax = b ⇒A∗x = b∗ ⇒
(L∗ + I + R∗)x = b∗ ⇒x = −(L∗ + R∗)x + b∗,
onde −(L∗ + R∗) = B e b∗ = g .
O processo iterativo fica
x (k+1) = −(L∗ + R∗)x (k) + b∗.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 15 / 26
Convergencia do Metodo Jacobi-Richardson
Vimos que o processo iterativo
x (k) = Bx (k−1) + g
converge se ‖B‖ < 1, para ao menos uma norma de matriz.
Assim, o Metodo Jacobi-Richardson converge se, para alguma norma,‖L∗ + R∗‖ < 1.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 16 / 26
Convergencia do Metodo Jacobi-Richardson
Criterio das linhas:
‖L∗ + R∗‖∞ < 1.
Ou seja,
max1≤i≤n
n∑j=1,j 6=i
|a∗ij |.
Criterio das colunas
‖L∗ + R∗‖1 < 1.
Ou seja,
max1≤j≤n
n∑i=1,i 6=j
|a∗ij | < 1.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 17 / 26
Convergencia do Metodo Jacobi-Richardson
Note que, se a matriz for estritamente diagonal dominante (isto e, emcada linha, o modulo do elemento da diagonal e estritamente maior que asoma do modulo de todos os outros elementos da linha), entao o criteriode convergencia e automaticamente atendido para B = −(L∗ + R∗).
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 18 / 26
Criterios de Parada
Erro absoluto:
Eabs = ‖x (k) − x (k−1)‖ ≤ ε.
Erro relativo:
Erel =‖x (k) − x (k−1)‖‖x (k)‖
≤ ε.
Geralmente, ε e um valor suficientemente pequeno que nos indica atolerancia que o erro podera ter (por exemplo,ε = 10−2, ε = 10−3, ε = 10−4).
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 19 / 26
Exemplo
Resolva o sistema linear
10x1 + 2x2 + x3 = 7,
x1 + 5x2 + x3 = −8,2x1 + 3x2 + 10x3 = 6
pelo Metodo Jacobi-Richardson, usando o ponto inicialx (0) = (0.7,−1.6, 0.6)T , ate encontrar um erro de 10−2.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 20 / 26
Exemplo
Primeiramente, vamos verificar se e possıvel garantir a convergencia doMetodo Jacobi-Richardson na resolucao deste sistema linear.
Note que a matriz e estritamente diagonal dominante
|a12|+ |a13| = |2|+ |1| < |10| = |a11|,|a21|+ |a23| = |1|+ |1| < |5| = |a22|,|a31|+ |a32| = |2|+ |3| < |10| = |a33|.
Isso ja nos garante que o metodo ira convergir.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 21 / 26
Exemplo
Criterio das linhas:
|a∗12|+ |a∗13| = |0.2|+ |0.1| = 0.3,|a∗21|+ |a∗23| = |0.2|+ |0.2| = 0.4,|a∗31|+ |a∗32| = |0.2|+ |0.3| = 0.5,
max1≤i≤n
3∑j=1,j 6=i
|a∗ij | = 0.5 < 1.
Criterio das colunas:
|a∗21|+ |a∗31| = |0.2|+ |0.2| = 0.4,|a∗12|+ |a∗32| = |0.2|+ |0.3| = 0.5,|a∗13|+ |a∗23| = |0.1|+ |0.2| = 0.3,
max1≤j≤n
3∑i=1,i 6=j
|a∗ij | = 0.5 < 1.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 22 / 26
Exemplo
x(k+1)1 = −0.2x
(k)2 − 0.1x
(k)3 + 0.7,
x(k+1)2 = −0.2x
(k)1 − 0.2x
(k)3 − 1.6,
x(k+1)3 = −0.2x
(k)1 − 0.3x
(k)2 + 0.6.
Iteracao 1:
x(1)1 = −0.2x
(0)2 − 0.1x
(0)3 + 0.7 = −0.2(−1.6)− 0.1(0.6) + 0.7 = 0.96,
x(1)2 = −0.2x
(0)1 − 0.2x
(0)3 − 1.6 = −0.2(0.7)− 0.2(0.6)− 1.6 = −1.86,
x(1)3 = −0.2x
(0)1 − 0.3x
(0)2 + 0.6 = −0.2(0.7)− 0.3(−1.6) + 0.6 = 0.94.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 23 / 26
Exemplo (solucao)
Calculando o erro:
Eabs = ‖x (1) − x (0)‖∞ =
∥∥∥∥∥∥ 0.26−0.26
0.34
∥∥∥∥∥∥∞
= 0.34,
Erel =‖x (1) − x (0)‖∞‖x (1)‖∞
=0.34
1.86' 0.1828 > 10−2.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 24 / 26
Exemplo
Como o erro nao foi satisfeito, continuamos o processo iterativo:
k 0 1 2 3 4
x(k)1 0.7000 0.9600 0.9780 0.9994 0.9979
x(k)2 -1.6000 -1.8600 -1.9800 -1.9888 -1.9996
x(k)3 0.6000 0.9400 0.9660 0.9984 0.9968
Eabs - 0.3400 0.1200 0.0324 0.0108
Erel - 0.2125 0.0645 0.0163 0.0054
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 25 / 26
Exemplo
Como
Erel =‖x (4) − x (3)‖∞‖x (4)‖∞
=0.0108
1.9996' 0.0054 < 10−2,
paramos o processo iterativo e devolvemos x (4) como solucao aproximadado sistema.
Marina Andretta/Franklina Toledo/Ana Paula Mazzini (ICMC-USP)sme0300 - Calculo Numerico 20 de agosto de 2013 26 / 26
top related