Jacobi

Propaganda
Cálculo Numérico
Sistemas lineares
Métodos Iterativos: Introdução
Método Iterativo de Jacobi-Richardson
Métodos exatos
Métodos como:
Método de eliminação de Gauss
Método de decomposição LU
Método de Cholesky
são ditos exatos: obtém a solução final após um
número k de passos.
Em alguns casos/aspectos, métodos iterativos têm
algumas vantagens.
são melhores em matrizes esparsas
apresentam auto-correção de erros (podem ser
usados para melhorar a solução obtida por métodos
exatos).
Idéia geral
Similar à idéia do método iterativo linear para
resolução de equações.
Queremos resolver: Ax =b
E reescrevemos o sistema como:
x = Bx + g
(B = I-A, g =b, por exemplo)
Idéia geral
De posse de x = Bx +g:
Chutamos um valor inicial para x: x(0).
Obtemos:
x(1) = Bx(0) +g.
x(2) = Bx(1) +g.
x(3) = Bx(2) +g.
...
x(k+1) = Bx(k) +g.
Da mesma forma como fazíamos:
xk+1 = ψ(xk)
Convergência
A seqüência converge ?
Critério: A sequência será convergente se, para
qualquer norma de matrizes, ||B|| < 1.
Demonstração:
e(k) = x - x(k)
Mas x = Bx + g
(5.1)
x(k) = Bx(k-1) + g
(5.2)
Logo: e(k) = B(x - x(k-1)) = B e(k-1)
Convergência
e(k) = B(x - x(k-1)) = B e(k-1)
Como fizemos antes para mostrar a
convergência do método iterativo linear:
e(k) = B e(k-1)
e(k-1) = B e(k-2)
Logo: e(k) = B2e(k-2)
E, se aplicamos sucessivamente:
e(k) = Bke(o)
Convergência
e(k) = Bke(o)
Usando normas consistentes (def. 1.14 do
livro):
||AB|| ≤ ||A||.||B|| e logo,
||e(k) || ≤ || Bk || . ||e(o) ||
Que tende a zero quando || B || < 1.
Note a semelhança com o método iterativo
linear:
B é chamada a matriz de iteração do processo
iterativo
Conclusão
Condição suficiente:
O sistema é convergente se, para uma
norma qualquer de matrizes, ||B||<1.
Uma condição necessária e suficiente:
max |λi| <1, onde λi são os autovalores
de B
Por hora, vamos nos preocupara com a condição
suficiente. Depois veremos como calcular os autovalores
de B.
Algumas normas
norma linha
norma coluna
norma Euclidiana
Exemplo:
Exemplo (convergência)
Um sistema Ax=b que seja reescrito na forma:
x = Bx + g
Irá convergir quando o método iterativo for aplicado ?
Não podemos concluir... tentemos outra norma:
Convergência garantida!
Método iterativo
Vimos que dado um sistema Ax=b, se conseguirmos
reescrevê-lo na forma:
x = Bx+g
Podemos usar um processo iterativo do tipo:
x(k+1) = Bx(k) +g.
Que convergirá se, para qualquer norma consistente,
||B|| <1.
Jacobi-Richardson
Vamos ver uma maneira simples de obter uma matriz
B, chamado de método de Jacobi-Richardson.
Seja o sistema :
A matriz A (det(A)≠0) do sistema linear pode ser escrita como a
soma de três matrizes:
A = L+D+R.
Jacobi-Richardson
A = L+D+R.
Vamos escolher L,D e R de modo que
L só tenha elementos abaixo da diagonal
D só tenha elementos na diagonal
R só tenha elementos acima da diagonal
Jacobi-Richardson
Exemplo (3x3)
A
L
D
R
Jacobi-Richardson
Supondo det(D)≠ 0 (aii ≠ 0, i=1,...n) e dividindo cada linha pelo
elemento da diagonal, temos:
A*
L*
I
R*
exemplificado no caso 3x3, mas válido para qualquer dimensão
obviamente, o vetor bi também é dividido pelo elemento aii.
Jacobi-Richardson
No caso geral:
Reescrevendo
Podemos reescrever o sistema como:
(L*+I+R*)x = b*
x = -(L*+R*)x + b*
B
g
E o processo iterativo fica:
Jacobi-Richardson
Convergência
Vimos que o processo iterativo
converge se ||B|| < 1, para ao menos uma norma.
No caso de Jacobi-Richardson: B = -(L*+R*) e
portanto o método converge se, por exemplo:
||L*+R*||1 < 1 (critério das linhas) ou
||L*+R*||1 < 1 (critério das colunas):
Notas
Note que se a matriz for estritamente diagonal
dominante (isto é, em cada linha, o elemento da
diagonal é estritamente maior que a soma de todos
os outros elementos da linha), então o critério de
convergência é automaticamente atendido para
B = -(L*+R*).
Note que o critério independe de x(0)
No método de Jacobi-Richardson todos os valores de
x da iteração (k+1) dependem dos valores de x da
iteração (k), por isso o método é também chamado de
Método dos deslocamentos simultâneos.
Exemplo
Resolva o sistema linear:
Pelo método de Jacobi-Richardson com
x(0) = (0.7,-1.6,0.6)t , até encontrar um erro
de 10-2.
Exemplo (solução)
Verificando convergência:
Vemos que a matriz é estritamente diagonal dominante:
Portanto o método irá convergir.
Exemplo (solução)
Verificando convergência (outros critérios que poderiam
ser usados):
Critério das linhas:
Critério das colunas:
Exemplo (solução)
Iteração 1:
Exemplo (solução)
Continuando:
Download