Métodos de Jacobi e
Gauss-Seidel.
MS211 - Cálculo Numérico
Exemplos incluem:
I O Google trabalha com matrizes gigantescas contendo
informações dos links das páginas na internet. Essas
matrizes geralmente são esparsas e algumas delas
possuem aproximadamente 10 elementos não-nulos por
linha ou coluna. A multiplicação dessas matrizes por um
vetor requer aproximadamente 10n operações aritméticas,
em que n denota a dimensão do vetor.
I A cúpula geodésica.
Cúpula Geodésica
Richard Buckminster (Bucky) Fuller desenvolveu estruturas
chamadas cúpulas ou domos geodésicos.
https://en.wikipedia.org/wiki/Buckminster_Fuller#/media/File:Biosphère_Montrèal.jpg)
A cúpula geodésica aparece também na molécula de carbono
e na bola de futebol.
https://commons.wikimedia.org/wiki/File:C60a.png#/media/File:C60a.png)
10
20
30
40
50
60
0 10 20 30 40 50 60
nz = 180
10 10
20 20
30 30
40 40
50 50
60 60
0 10 20 30 40 50 60 0 10 20 30 40 50 60
nz = 451 nz = 419
| {z }| {z }
L U
ou ainda
x1 = (b1 − a12 x2 + . . . + a1n xn ) /a11 ,
x2 = (b2 − a21 x1 + . . . + a2n xn ) /a22 ,
. .. .. ..
..
. . .
xn = bn − an1 x1 + . . . + an,n−1 xn−1 /ann .
Método de Jacobi
Dada uma aproximação inicial x(0) para a solução do sistema
Ax = b, o método de Jacobi define a sequência de vetores
{x(k ) }k ≥0 através da seguinte relação de recorrência:
(k +1) (k ) (k )
x1 = b 1 − a x
12 2 + . . . + a x
1n n /a11 ,
x (k +1) = b2 − a21 x (k ) + . . . + a2n xn(k ) /a22 ,
2 1
.. . .
.. .. ..
. .
(k +1) (k ) (k )
xn = bn − an1 x1 + . . . + an,n−1 xn−1 /ann ,
para k = 0, 1, . . ..
Observação
Para aplicar o método de Jacobi, devemos ter aii 6= 0, para
todo i = 1, . . . , n.
Forma Matricial do Método de Jacobi
Podemos escrever o método de Jacobi na forma matricial:
em que
a11
a22
D = diag (a11 , a22 , . . . , ann ) =
..
.
ann
com
kx(1) − x(0) k∞ 1/2
= = 1.
kx(1) k∞ 1/2
Exemplo 2
Use o método de Jacobi, com aproximação inicial x0 = [0, 0]T e
τ = 10−4 como critério de parada, para determinar a solução
do sistema linear
(
2x1 + x2 = 1,
3x1 + 4x2 = −1.
com
kx(2) − x(1) k∞ 3/8 3
= = .
kx(2) k∞ 5/8 5
Exemplo 2
Use o método de Jacobi, com aproximação inicial x0 = [0, 0]T e
τ = 10−4 como critério de parada, para determinar a solução
do sistema linear
(
2x1 + x2 = 1,
3x1 + 4x2 = −1.
com
kx(3) − x(2) k∞ 3/16 3
= = .
kx(3) k∞ 23/16 23
Exemplo 2
Use o método de Jacobi, com aproximação inicial x0 = [0, 0]T e
τ = 10−4 como critério de parada, para determinar a solução
do sistema linear
(
2x1 + x2 = 1,
3x1 + 4x2 = −1.
com
kx(19) − x(18) k∞
= 7.3 × 10−5 .
kx(19) k∞
Resumindo, encontramos sequência de pontos vermelhos
1
0.5
-0.5
-1
-1.5
-2
-2.5
-3
0 0.5 1 1.5 2
para k = 0, 1, . . ..
(k +1) (k )
Note que xj usa os valores antigos xi , i < j, que já foram
calculados!
para k = 0, 1, . . ..
em que
a11
a21 a22
L= .
.. ..
..
. .
an1 an2 . . . ann
é uma matriz triangular inferior e
0 a12 . . . a1n
0 0 . . . a2n
U = A − L = . .. ,
.. ..
.. . . .
0 0 ... 0
é triangular superior.
Método de Gauss-Seidel
com
kx(1) − x(0) k∞ 5/8
(1)
= = 1.
kx k∞ 5/8
Exemplo 3
Use o método de Gauss-Seidel, com aproximação inicial
x0 = [0, 0]T e τ = 10−4 como critério de parada, para
determinar a solução do sistema linear
(
2x1 + x2 = 1,
3x1 + 4x2 = −1.
com
kx(2) − x(1) k∞ 5/16 4
(2)
= = .
kx k∞ 55/64 11
Exemplo 3
Use o método de Gauss-Seidel, com aproximação inicial
x0 = [0, 0]T e τ = 10−4 como critério de parada, para
determinar a solução do sistema linear
(
2x1 + x2 = 1,
3x1 + 4x2 = −1.
com
kx(3) − x(2) k∞ 12
(3)
= .
kx k∞ 91
Exemplo 3
Use o método de Gauss-Seidel, com aproximação inicial
x0 = [0, 0]T e τ = 10−4 como critério de parada, para
determinar a solução do sistema linear
(
2x1 + x2 = 1,
3x1 + 4x2 = −1.
com
kx(11) − x(10) k∞
= 4.6 × 10−5 .
kx(11) k∞
Resumindo, encontramos sequência de pontos vermelhos
1
0.5
-0.5
-1
-1.5
-2
-2.5
-3
0 0.5 1 1.5 2
Exemplo 4
Ambos os métodos divergem quando aplicados para resolver o
sistema linear Ax = b quando
1 2
A= .
3 4
Em particular, encontramos encontramos sequência de pontos
vermelhos
4000
3000
2000
1000
-1000
-5000 -4000 -3000 -2000 -1000 0
ϕ(x) = x ⇐⇒ Ax = b.
ϕ(x) = Cx + g,
em que C ∈ Rn×n e g ∈ Rn .
Semelhante ao método do ponto fixo para zeros de função,
dada uma aproximação inicial x(0) , define-se:
Jϕ (x) = C, ∀x ∈ Rn ,