Logo Passei Direto
Buscar

Sistemas-de-Eq-Lineares-Metodos-Iterativos-1-Metodos-estacionarios-Gauss-Jacobi

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Prévia do material em texto

Introdução aos Métodos 
Numéricos
Instituto de Computação UFF
Departamento de Ciência da Computação
Otton Teixeira da Silveira Filho
 
Conteúdo específico
● Sistemas de Equações Lineares. Métodos Iterativos
 
Conteúdo temático
● Conceitos básicos
● Métodos Estacionários
● Decomposição aditiva de uma matriz
● Método de Gauss-Jacobi
 
Métodos iterativos
Dado o sistema
pretendemos elaborar um método de resolução que tenha a 
forma
 
x⃗ i+1=Φ ( x⃗i ) ; dado x⃗0
A x⃗=b⃗ ; det (A)≠0
 
Métodos iterativos
Suporemos também o teorema do ponto fixo neste caso, ou 
seja, 
 
lim
i→∞
x⃗i= x⃗⇒ x⃗=Φ( x⃗)
 
Métodos iterativos
Mas porque usar métodos iterativos?
 
Métodos iterativos
Mas porque usar métodos iterativos?
Assim como os métodos iterativos que já vimos:
● Um método deste tipo não teria a instabilidade numérica dos 
métodos diretos
 
Métodos iterativos
Mas porque usar métodos iterativos?
Assim como os métodos iterativos que já vimos:
● Um método deste tipo não teria a instabilidade numérica dos 
métodos diretos
● Também teria um critério claro de quando convergiria
 
Métodos iterativos
Mas porque usar métodos iterativos?
Assim como os métodos iterativos que já vimos:
● Um método deste tipo não teria a instabilidade numérica dos 
métodos diretos
● Também teria um critério claro de quando convergiria
● Não exigiria um procedimento posterior de verificação
 
Métodos iterativos
Trabalharemos aqui com os Métodos Iterativos Estacionários 
que têm a seguinte forma
onde B e c não dependem de i
x⃗ i+1=B x⃗ i+ c⃗
 
Métodos iterativos
Trabalharemos aqui com os Métodos Iterativos Estacionários 
que têm a seguinte forma
onde B e c não dependem de i
Observe que o algoritmo é uma multiplicação de matriz por 
vetor seguida de uma soma vetorial
x⃗ i+1=B x⃗ i+ c⃗
 
Métodos iterativos
Estes métodos que veremos são de implementação simples e 
são úteis em muitas situações
 
Decomposição aditiva
Decomposição aditiva de uma matriz
Seja A uma matriz quadrada. Escreveremos esta matriz como 
onde D é a diagonal de A, M a matriz triangular estritamente 
superior de A e N a matriz triangular estritamente inferior 
de A
A=D+M+N
 
Decomposição aditiva
Um exemplo
então
A=(
9 −1 3 4
2 8 2 −2
−2 3 7 1
3 1 2 7
)
 
Decomposição aditiva
Um exemplo
A=(
9 −1 3 4
2 8 2 −2
−2 3 7 1
3 1 2 7
) ;D=(
9 0 0 0
0 8 0 0
0 0 7 0
0 0 0 7
) ;M=(
0 −1 3 4
0 0 2 −2
0 0 0 1
0 0 0 0
); N=(
0 0 0 0
2 0 0 0
−2 3 0 0
3 1 2 0
)
 
Métodos iterativos
Métodos Iterativos Estacionários
Uma maneira de construir um método iterativo é partir das 
equações que pretendemos resolver e obter uma função de 
iteração de forma similar ao que fizemos no Método da Iteração 
Linear
 
Gauss-Jacobi
Partiremos do sistema original usando a decomposição aditiva 
que apresentamos, ou seja,
e reescrevendo como
A x⃗=b⃗⇒ ( D+M+N ) x⃗=b⃗
 
Gauss-Jacobi
Partiremos do sistema original usando a decomposição aditiva 
que apresentamos, ou seja,
e reescrevendo como
A x⃗=b⃗⇒ ( D+M+N ) x⃗=b⃗
D x⃗=−( M+N ) x⃗+b⃗
 
Gauss-Jacobi
Suporemos que a matriz associada ao sistema está arrumada 
de tal forma que a matriz D tenha inversa. Então podemos 
escrever
e isto será a base do método iterativo dado por 
x⃗=−D−1 ( M+N ) x⃗+D−1 b⃗
 
Gauss-Jacobi
 dado . 
A matriz
 é chamada de Matriz de Gauss-Jacobi
x⃗ i+1=−D
−1 ( M+N ) x⃗ i+D
−1 b⃗
x⃗0
−D−1 ( M+N )
 
Gauss-Jacobi
 
Como já adiantamos, o algoritmo consiste em uma 
multiplicação de matriz por vetor seguido de uma soma vetorial
x⃗ i+1=−D
−1 ( M+N ) x⃗ i+D
−1 b⃗
 
Gauss-Jacobi
 
Como já adiantamos, o algoritmo consiste em uma 
multiplicação de matriz por vetor seguido de uma soma vetorial
● Custo computacional por iteração: O(n2).
x⃗ i+1=−D
−1 ( M+N ) x⃗ i+D
−1 b⃗
 
Gauss-Jacobi
Observe que
● -(M + N) é a matriz original A sem a diagonal e com sinal 
trocado 
x⃗ i+1=−D
−1 ( M+N ) x⃗ i+D
−1 b⃗
 
Gauss-Jacobi
Observe que
● -(M + N) é a matriz original A sem a diagonal e com sinal 
trocado 
● D-1 é obtida calculando os recíprocos dos valores da diagonal
x⃗ i+1=−D
−1 ( M+N ) x⃗ i+D
−1 b⃗
 
Gauss-Jacobi
Observe que
● -(M + N) é a matriz original A sem a diagonal e com sinal 
trocado
● D-1 é obtida calculando os recíprocos dos valores da diagonal
● Multiplicar por D-1 é equivalente a dividir cada linha de M + N e 
do vetor b pelo valor correspondente da diagonal de D
x⃗ i+1=−D
−1 ( M+N ) x⃗ i+D
−1 b⃗
 
Gauss-Jacobi
Temos um algoritmo para montar a fórmula de Gauss-Jacobi!
 
 
Gauss-Jacobi
● Divida todo o sistema pelos valores correspondentes da 
diagonal da matriz A
 
 
Gauss-Jacobi
● Divida todo o sistema pelos valores correspondentes da 
diagonal da matriz A
● Zere a diagonal da matriz resultante
 
Gauss-Jacobi
● Divida todo o sistema pelos valores correspondentes da 
diagonal da matriz A
● Zere a diagonal da matriz resultante
● Troque o sinal dos valores da matriz
 
 
Gauss-Jacobi
Já que estamos falando de algoritmo vamos ver como seria o 
algoritmo em pseudocódigo
 
 
Gauss-Jacobi
“Arrumação“ da matriz
 para i←1até n
diag←aii
para j ←1até n
aij←−aij /diag
bi←bi /diag
aii←0
 
Gauss-Jacobi
Laço de repetição do Método de Gauss-Jacobi
 
para l←1até n
xl← xauxl
para k←1até niteracoes
para i ←1até n
s←0
para j ←1até n
s← s+aij x j
xauxi← s+bi
 
Gauss-Jacobi
Laço de repetição do Método de Gauss-Jacobi
 
 
 Vetor auxiliar para preservar os 
 valores do vetor na iteração
para l←1até n
xl← xauxl
para k←1até niteracoes
para i ←1até n
s←0
para j ←1até n
s← s+aij x j
xauxi← s+bi
 
Métodos Iterativos
Como verificaremos a evolução da sequência
 ?( x⃗0, x⃗1, x⃗2,⋯, x⃗ i , x⃗i+1 ,⋯)
 
Métodos Iterativos
Como verificaremos a evolução da sequência
 ?
Usaremos a norma da diferença dos vetores dividido pela 
norma de um dos vetores
( x⃗0, x⃗1, x⃗2,⋯, x⃗ i , x⃗i+1 ,⋯)
 
Métodos Iterativos
Algo assim
 ‖x⃗ i+1− x⃗i‖
‖x⃗ i‖
;i>0
 
Métodos Iterativos
Algo assim
 
Em nossos cálculos usaremos a norma do máximo
‖x⃗ i+1− x⃗i‖
‖x⃗ i‖
;i>0
 
Métodos Iterativos
No momento não nos preocuparemos com a questão da 
condição de convergência
 Vamos para um exercício...
 
Gauss-Jacobi – Um 
exemplo
 Partiremos para a construção do método
(
8 1 0 −1
1 9 1 0
−1 2 10 0
0 1 1 12
) x⃗=(
13 /2
−8
−3
5
)
 
Gauss-Jacobi – Um 
exemplo
Dividamos todo o sistema pelos valores da diagonal
 
(
8/8 1 /8 0 /8 −1 /8
1/9 9 /9 1/9 0 /9
−1 /10 2/10 10 /10 0 /10
0 /12 1/12 1/12 12/12
) ; (
(13/2)/8
−8/9
−3/10
5 /12
)
 
Gauss-Jacobi – Um 
exemplo
Zere a diagonal da matriz
 
(
0 1 /8 0 −1/8
1/9 0 1/9 0
−1 /10 1 /5 0 0
0 1 /12 1 /12 0
) ; (
13 /16
−8 /9
−3 /10
5/12
)
 
Gauss-Jacobi – Um 
exemplo
Troque o sinal dos valores da matriz
 
(
0 −1/8 0 1/8
−1 /9 0 −1/9 0
1/10 −1 /5 0 0
0 −1 /12 −1 /12 0
) ; (
13 /16
−8 /9
−3 /10
5 /12
)
 
Gauss-Jacobi – Um 
exemplo
Método de Gauss-Jacobi
 
x⃗ i+1=−D
−1 ( M+N ) x⃗ i+D
−1 b⃗
x⃗ i+1=(
0 −1 /8 0 1 /8
−1/9 0 −1 /9 0
1 /10 −1/5 0 0
0 −1/12 −1/12 0
) x⃗ i+ (
13 /16
−8 /9
−3 /10
5 /12
)
 
Gauss-Jacobi – Um 
exemplo
Mas qual será o vetor inicial?
 
Métodos Iterativos
Mas qual será o vetor inicial?
● Em problemas reais temos sempre uma dica se examinamos o 
problema como ele merece
 
Métodos Iterativos
Mas qual será o vetor inicial?
● Em problemas reais temossempre uma dica se examinamos o 
problema como ele merece
● Aqui escolheremos um vetor qualquer antecipando que, se o 
método converge, convergirá para qualquer vetor inicial
 
Métodos Iterativos
Usaremos
 
x⃗0= (
1
4
−3
5
)
 
Gauss-Jacobi – Um 
exemplo
 
x⃗1=(
0 −1 /8 0 1 /8
−1/9 0 −1/9 0
1 /10 −1 /5 0 0
0 −1/12 −1/12 0
) x⃗0+(
13 /16
−8 /9
−3 /10
5/12
)
x⃗1=(
[0×1−1/8×4+0×(−3)+1 /8×5]+13 /16
[−1/9×1+0×4−1 /9×(−3)+0×5]−8 /9
[1 /10×1−1 /5×4+0×(−3)+0×5]−3/10
[0×1−1 /12×4−1/12×(−3)+0×5]+5 /12
)=(
15 /16
−2/3
−1
1/3
)=(
0,9375
−0,66
−1
0,33
)
x⃗0=(
1
4
−3
5
)
 
Gauss-Jacobi – Um 
exemplo
 
x⃗2=(
0 −1 /8 0 1 /8
−1/9 0 −1 /9 0
1 /10 −1/5 0 0
0 −1/12 −1/12 0
) x⃗1+ (
13 /16
−8 /9
−3 /10
5 /12
)
x⃗2=(
[0×15 /16−1/8×(−2 /3)+0×(−1)+1/8×1/3]+13 /16
[−1/9×15 /16+0×(−2/3)−1/9×(−1)+0×1/3]−8 /9
[1/10×15 /16−1/5×(−2/3)+0×(−1)+0×1/3]−3 /10
[0×15 /16−1 /12×(−2 /3)−1/12×(−1)+0×1 /3 ]+5 /12
)=(
15 /16
−127 /144
−7 /96
5 /9
)=(
0,9375
−0,8819 44
−0,07291 66
0,55
)
x⃗1=(
15 /16
−2/3
−1
1 /3
)
 
Gauss-Jacobi – Um 
exemplo
Avaliemos a evolução dos vetores obtidos
 
x⃗2− x⃗1=(
0,9375
−0,8819 44
−0,07291 66
0,55
)− (
0,9375
−0,66
−1
0, 33
)≈ (
0
−0,2152
0,9270
0,2222
)⇒‖x⃗2− x⃗1‖max≈0,9270
‖x⃗1‖max=1⇒
‖x⃗2− x⃗1‖max
‖x⃗1‖max
≈0,9270
 
Gauss-Jacobi – Um 
exemplo
Qual o significado da primeira componente ter se repetido?
 
Gauss-Jacobi – Um 
exemplo
Qual o significado da primeira componente ter se repetido?
Nenhum! Observe que as demais componentes mudaram 
consideravelmente
Estamos em busca de um vetor!
 
Gauss-Jacobi – Um 
exemplo
Você já deve ter reparado que estamos apresentando cálculos 
desnecessários. Os valores da diagonal da matriz de Gauss-
Jacobi sempre serão nulos para qualquer sistema de equações 
lineares.
 Simplifiquemos um pouco... 
 
Gauss-Jacobi – Um 
exemplo
 
x⃗3=(
0 −1/8 0 1/8
−1 /9 0 −1/9 0
1/10 −1/5 0 0
0 −1/12 −1/12 0
) x⃗2+ (
13 /16
−8 /9
−3 /10
5 /12
)
x⃗3=(
[−1/8×(−127 /144)+0×(−7 /96)+1/8×5/9 ]+13 /16
[−1/9×15 /16−1/9×(−7 /96)+0×5 /9]−8 /9
[1/10×15 /16−1 /5×(−127 /144)+0×5/9]−3 /10
[0×15 /16−1 /12×(−127 /144 )−1/12×(−7 /96)]+5 /12
)=(
127/128
−851 /864
−43 /1440
1715 /3456
)=(
0,992188
−0,984953 44
−0,02986 22
0,496238
)
x⃗2=(
15 /16
−127 /144
−7 /96
5 /9
)
 
Gauss-Jacobi – Um 
exemplo
Avaliemos a evolução dos vetores
 
x⃗3− x⃗2=(
0,992188
−0,984953 44
−0,02986 22
0,496238
)− (
0,9375
−0,8819 44
−0,0729166
0,55
)≈ (
0,0546
−0,1030
0,0430
−0,0593
)⇒‖x⃗3− x⃗2‖max≈0,1030
‖x⃗2‖max=0,9375⇒
‖x⃗3− x⃗2‖max
‖x⃗2‖max
≈0,1098
 
Gauss-Jacobi – Um 
exemplo
 
x⃗4= (
0 −1/8 0 1/8
−1 /9 0 −1/9 0
1/10 −1/5 0 0
0 −1/12 −1/12 0
) x⃗3+ (
13 /16
−8/9
−3/10
5 /12
)
x⃗ 4=(
[−1 /8×(−0,984953)+0×(−0,029862)+1 /8×0,496238 ]+13 /16
[−1 /9×0,992188−1/9×(−0,029862)+0×0,496238 ]−8 /9
[1 /10×0,992188−1/5×(−0,984953)+0×0,496238 ]−3 /10
[0×0,992188−1 /12×(−0,984953)−1 /12×(−0,029862)]+5 /12
)=(
0,997648
−0,995814
−0,004514
0,501234
)
x⃗3=(
0,992188
−0,984953
−0,029862
0,496238
)
 
Gauss-Jacobi – Um 
exemplo
Avaliemos a evolução dos vetores
 
x⃗4− x⃗3=(
0,997648
−0,995814
−0,004514
0,501234
)−(
0,992188
−0,984953
−0,029862
0,496238
)≈ (
0,0054
−0,0108
0,02534
0,0049
)⇒‖x⃗4− x⃗3‖max≈0,02534
‖x⃗3‖max≈0,9921⇒
‖x⃗4− x⃗3‖max
‖x⃗3‖max
≈0,0255
 
Gauss-Jacobi – Um 
exemplo
Observe que os valores da avaliação se aproximam de zero a 
medida que fazemos mais e mais iterações. 
‖x⃗2− x⃗1‖max
‖x⃗1‖max
≈0,9270 ;
‖x⃗3− x⃗2‖max
‖x⃗2‖max
≈0,1098 ;
‖x⃗4− x⃗3‖max
‖x⃗3‖max
≈0,0255
 
Gauss-Jacobi – Um 
exemplo
De fato a solução exata do sistema é
 
x⃗= (
1
−1
0
1/2
)
 
Gauss-Jacobi – Um 
exemplo
De fato a solução exata do sistema é
e observem a sequência de vetores 
x⃗= (
1
−1
0
1/2
)
x⃗1=(
0,9375
−0,66
−1
0, 33
) x⃗2=(
0,9375
−0,8819 44
−0,07291 66
0,55
) x⃗3=(
0,9921 88
−0,984953 44
−0,02986 22
0,496238
) x⃗4=(
0,997648
−0,995814
−0,004514
0,501234
)
 
Gauss-Jacobi
Repare que a cada iteração, cada componente do vetor 
pode ser calculado independentemente. 
 Assim, este algoritmo é facilmente paralelizável, ou seja, é fácil 
implementá-lo num computador paralelo. 
 
x i+1
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52
	Slide 53
	Slide 54
	Slide 55
	Slide 56
	Slide 57
	Slide 58
	Slide 59
	Slide 60
	Slide 61

Mais conteúdos dessa disciplina