Introdução aos Métodos Numéricos Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho
Introdução aos Métodos Numéricos
Instituto de Computação UFFDepartamento 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
● Método de Gauss-Seidel
Gauss-Seidel
Método de Gauss-Seidel
Partiremos novamente do sistema original usando a decomposição aditiva que apresentamos, ou seja,
e reescrevendo como
A x⃗=b⃗⇒ ( D+M+N ) x⃗=b⃗
( D+N ) x⃗=−M x⃗+b⃗
Gauss-Seidel
Suporemos que a matriz associada ao sistema está arrumada de tal forma que a matriz D + N tenha inversa. Então podemos escrever
A matriz é denominada Matriz de Gauss-Seidel
x⃗=−( D+N )−1 M x⃗+( D+N )
−1 b⃗
−( D+N )−1 M
Gauss-Seidel
Podemos escrever este método como
mas não o faremos pois há uma maneira mais interessante de escrevê-lo.
x⃗ i+1=−( D+N )−1 M x⃗ i+ ( D+N )
−1 b⃗
Gauss-Seidel
Podemos escrever este método como
mas não o faremos pois há uma maneira mais interessante de escrevê-lo.
Retornemos uma pouco...
x⃗ i+1=−( D+N )−1 M x⃗ i+ ( D+N )
−1 b⃗
Gauss-Seidel
Partiremos novamente do sistema original usando a decomposição aditiva que apresentamos, ou seja,
e reescrevendo:
A x⃗=b⃗⇒ ( D+M+N ) x⃗=b⃗
( D+N ) x⃗=−M x⃗+b⃗
Gauss-Seidel
Aplicaremos a fórmula iterativa diretamente aqui, ou seja,
e daí ( D+N ) x⃗i+1=−M x⃗ i+b⃗
D x⃗ i+1=−N x⃗ i+1−M x⃗i+ b⃗
Gauss-Seidel
Supondo novamente existir uma ordenação do sistema tal que D tenha inversa, teremos
que descreve a iteração que define o Gauss-Seidel
x⃗ i+1=−D−1 N x⃗ i+1−D−1 M x⃗i+D−1 b⃗
Gauss-Seidel
Gauss-Seidel
dado . x⃗0
x⃗ i+1=−D−1 N x⃗ i+1−D−1 M x⃗i+D−1 b⃗
Métodos iterativos
Compare as fórmulas de
Gauss-Jacobi
Gauss-Seidel
Observe que a matriz e o vetor operadores são “os mesmos“ mas usados de forma diferente
x⃗ i+1=−D−1 N x⃗ i+1−D−1 M x⃗i+D−1 b⃗
x⃗ i+1=−D−1 ( M+N ) x⃗ i+D−1 b⃗
Métodos iterativos
Assim, podemos usar o mesmo algoritmo de construção de montagem mas dividindo a matriz resultante em sua parte triangular estritamente superior e estritamente inferior
Gauss-Seidel
Vamos ao pseudocódigo de Gauss-Seidel
Gauss-Seidel
“Arrumação“ da matriz
para i←1até ndiag←aii
para j ←1até naij←−aij /diag
bi←bi /diagaii←0
Gauss-Seidel
Laço de repetição do Método de Gauss-Seidel
para k←1até niteracoespara i ←1até n
s←0para j ←1até n
s← s+aij x j
x i←s+bi
Gauss-Seidel
Laço de repetição do Método de Gauss-Seidel
Observe que não temos a necessidade de um vetor auxiliar
para k←1até niteracoespara i ←1até n
s←0para j ←1até n
s← s+aij x j
x i←s+bi
Gauss-Seidel
No cálculo manual usaremos um esquema mais “humano“
É apenas um esquema, nem o melhor, nem o pior
Gauss-Seidel – Um Exemplo
Partiremos para a construção do método
(8 1 0 −11 9 1 0
−1 2 10 00 1 1 12
) x⃗=(13/2−8−35
)
Gauss-Seidel – Um Exemplo
Dividamos todo o sistema pelos valores da diagonal
(8/8 1 /8 0 /8 −1 /81/9 9 /9 1/9 0/9
−1 /10 2/10 10 /10 0 /100 /12 1/12 1/12 12/12
) ; ((13 /2)/8−8 /9−3 /10
5 /12)
Gauss-Seidel – 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-Seidel – Um Exemplo
Troque o sinal dos valores da matriz
(0 −1/8 0 1/8
−1 /9 0 −1/9 01/10 −1 /5 0 00 −1 /12 −1 /12 0
) ; (13 /16−8 /9−3 /10
5 /12)
Gauss-Seidel – Um Exemplo
Método de Gauss-Seidel
x⃗i+1=(0 0 0 0
−1 /9 0 0 01/10 −1 /5 0 0
0 −1/12 −1/12 0) x⃗i+1+(
0 −1/8 0 1/80 0 −1/9 00 0 0 00 0 0 0
) x⃗i+(13 /16−8/9−3 /10
5 /12)
x⃗ i+1=−D−1 N x⃗ i+1−D−1 M x⃗i+D−1 b⃗
Gauss-Seidel – Um Exemplo
Usaremos o mesmo vetor que usamos no exemplo de Gauss-Jacobi, mesmo sabendo que é bem ruim como inicialização
x⃗0= (14
−35
)
Gauss-Seidel – Um Exemplo
Usaremos o mesmo vetor que usamos no exemplo de Gauss-Jacobi, mesmo sabendo que é bem ruim como inicialização
Para facilitar a compreenção, trabalharemos a passos de tartaruga calculando uma componente por vez
x⃗0= (14
−35
)
ATENÇÃO!
Como é uma “versão em passos de tartaruga“ não é a que se usará em exercícios ou na prova nem é usado num cálculo real
É apenas usada para compreender alguns passos do algoritmo
Gauss-Seidel – Um Exemplo
Ao multiplicarmos a primeira linha da primeira matriz multiplicarmos a primeira matriz pelo vetor teremos um valor nulo e a segunda matriz por se faz diretamente
x⃗1=(0 0 0 0
−1 /9 0 0 01/10 −1 /5 0 0
0 −1/12 −1/12 0) x⃗1+(
0 −1/8 0 1/80 0 −1/9 00 0 0 00 0 0 0
) x⃗0+(13 /16−8 /9−3 /10
5/12)
x⃗1
x⃗0
x⃗0=(14
−35
)
Gauss-Seidel – Um Exemplo
Ao multiplicarmos a primeira linha da primeira matriz multiplicarmos a primeira matriz pelo vetor teremos um valor nulo e a segunda matriz por se faz diretamente
Deixando um pouco mais claro...
x⃗1=(0 0 0 0
−1 /9 0 0 01/10 −1 /5 0 0
0 −1/12 −1/12 0) x⃗1+(
0 −1/8 0 1/80 0 −1/9 00 0 0 00 0 0 0
) x⃗0+(13 /16−8 /9−3 /10
5/12)
x⃗1
x⃗0
x⃗0=(14
−35
)
Gauss-Seidel – Um Exemplo
x⃗1=(0 0 0 0
−1 /9 0 0 01/10 −1 /5 0 0
0 −1/12 −1/12 0) x⃗1+(
0 −1/8 0 1/80 0 −1/9 00 0 0 00 0 0 0
) x⃗0+(13 /16−8/9−3 /105/12
)x⃗1=(
[0]+[−1/8×4+0×(−3)+1 /8×5]+13/16...
)=(15 /16
.
.
.)=(
0,9375...
)
x⃗0=(14
−35
)
Gauss-Seidel – Um Exemplo
O primeiro par de colchetes indica o valor resultante do cálculo da primeira linha da primeira matriz pelo vetor x⃗1
Gauss-Seidel – Um Exemplo
O primeiro par de colchetes indica o valor resultante do cálculo da primeira linha da primeira matriz pelo vetor
Claro que este cálculo sempre dará zero em todas as iterações
x⃗1
Gauss-Seidel – Um Exemplo
O primeiro par de colchetes indica o valor resultante do cálculo da primeira linha da primeira matriz pelo vetor
Claro que este cálculo sempre dará zero em todas as iterações
O segundo colchete indica os cálculos para a segunda matriz
x⃗1
Gauss-Seidel – Um Exemplo
O resultado deste cálculo nos dá a primeira componente de que marcaremos em negrito
Então podemos escrever
x⃗1
Gauss-Seidel – Um Exemplo
x⃗1=(0 0 0 0
−1 /9 0 0 01/10 −1 /5 0 0
0 −1/12 −1/12 0) x⃗1+(
0 −1/8 0 1/80 0 −1/9 00 0 0 00 0 0 0
) x⃗0+(13 /16−8/9−3 /105/12
)x⃗1=(
[0]+[−1 /8×4+0×(−3)+1/8×5]+13 /16[−1/9×15 /16 ]+[−1/9×(−3)+0×5]−8 /9
.
.)=(
15 /16−95 /144
.
.)=(
0,9375−0,659722
.
.)
x⃗0=(14
−35
)
Métodos iterativos
Temos agora a primeira e a segunda componentes de
Da mesma forma que escreveremos antes
x⃗1
Gauss-Seidel – Um Exemplo
x⃗1=(0 0 0 0
−1 /9 0 0 01/10 −1 /5 0 0
0 −1/12 −1/12 0) x⃗1+(
0 −1/8 0 1/80 0 −1/9 00 0 0 00 0 0 0
) x⃗0+(13 /16−8/9−3 /105/12
)x⃗1=(
[0]+[−1/8×4+0×(−3)+1/8×5 ]+13 /16[−1 /9×15 /16 ]+[−1/9×(−3)+0×5 ]−8 /9
[1 /10×15 /16−1/5×(−95 /144)]+[0×5 ]−3 /10.
)=(15 /16
−95 /144−107 /1440
.)=(
0,9375−0,6597 22−0,07430 55
.)
x⃗0=(14
−35
)
Gauss-Seidel – Um Exemplo
x⃗1=(0 0 0 0
−1 /9 0 0 01/10 −1 /5 0 0
0 −1/12 −1/12 0) x⃗1+(
0 −1/8 0 1/80 0 −1/9 00 0 0 00 0 0 0
) x⃗0+(13 /16−8/9−3 /105/12
)x⃗1=(
[0 ]+[−1 /8×4+0×(−3)+1 /8×5 ]+13 /16[−1 /9×15 /16 ]+[−1 /9×(−3)+0×5 ]−8 /9
[1/10×15 /16−1 /5×(−95 /144)]+[0×5 ]−3 /10[0×15 /16−1 /12×(−95 /144)−1 /12×(−107 /1440)]+[0 ]+5 /12
)=(15 /16
−95 /144−107 /14408257 /17280
)=(0,9375
−0,6597 22−0,0743055
0,477835)
x⃗0=(14
−35
)
Gauss-Seidel – Um Exemplo
Sim, concordo, exagerei nas frações...
Gauss-Seidel – Um Exemplo
Repare que você pode compreender este algoritmo como algo da forma
“se eu tenho (uma componente nova) eu uso“
Gauss-Seidel – Um Exemplo
Façamos o próximo passo
Gauss-Seidel – Um Exemplo
x⃗2=(0 0 0 0
−1 /9 0 0 01 /10 −1 /5 0 0
0 −1/12 −1 /12 0) x⃗2+(
0 −1 /8 0 1 /80 0 −1 /9 00 0 0 00 0 0 0
) x⃗1+ (13 /16−8 /9−3 /105 /12
)x⃗2=(
[0]+[−1/8×(−95 /144)+0×(−0,07430 22)+1 /8×0,477835 ]+13 /16...
)=(0,954694
.
.
.)
x⃗1=(15 /16
−95 /144−0,07430 22
0,477835)
Gauss-Seidel – Um Exemplo
x⃗2=(0 0 0 0
−1 /9 0 0 01 /10 −1 /5 0 0
0 −1/12 −1 /12 0) x⃗2+(
0 −1 /8 0 1 /80 0 −1 /9 00 0 0 00 0 0 0
) x⃗1+ (13 /16−8 /9−3 /105 /12
)x⃗2=(
[0 ]+[−1 /8×(−95 /144)+0×(−0,07430 22)+1 /8×0,477835 ]+13/16[−1 /9×0,954694 ]+[−1/9×(−0,074305)+0×0,477835 ]−8 /9
.
.)=(
0,954694−0,986709
.
.)
x⃗1=(15 /16
−95 /144−0,07430 22
0,477835)
Gauss-Seidel – Um Exemplo
x⃗2=(0 0 0 0
−1 /9 0 0 01 /10 −1 /5 0 0
0 −1/12 −1 /12 0) x⃗2+(
0 −1 /8 0 1 /80 0 −1 /9 00 0 0 00 0 0 0
) x⃗1+ (13 /16−8 /9−3 /105 /12
)x⃗2=(
[0 ]+[−1 /8×(−95 /144)+0×(−0,07430 22)+1 /8×0,477835 ]+13 /16[−1 /9×0,954694 ]+[−1/9×(−0,074305)+0×0,477835 ]−8 /9[1 /10×0,954694−1/5×(−0,986709)+0×0,477835−3 /10 ]
.)=(
0,954694−0,986709−0,007188
.)
x⃗1=(15 /16
−95 /144−0,07430 22
0,477835)
Gauss-Seidel – Um Exemplo
x⃗2=(0 0 0 0
−1 /9 0 0 01 /10 −1 /5 0 0
0 −1/12 −1 /12 0) x⃗2+(
0 −1 /8 0 1 /80 0 −1 /9 00 0 0 00 0 0 0
) x⃗1+ (13 /16−8 /9−3 /105 /12
)x⃗2=(
[0 ]+[−1 /8×(−95 /144)+0×(−0,07430 22)+1 /8×0,477835 ]+13 /16[−1 /9×0,954694 ]+[−1/9×(−0,074305)+0×0,477835 ]−8 /9[1 /10×0,954694−1 /5×(−0,986709)+0×0,477835 ]−3 /10
[0×0,954694−1 /12×(−0,986709)−1 /12×(−0,007188)]+[0 ]+5 /12)=(
0,954694−0,986709−0,0071880,499491
)
x⃗1=(15 /16
−95 /144−0,07430 22
0,477835)
Gauss-Seidel – Um Exemplo
Avaliemos a evolução dos vetores obtidos
x⃗2− x⃗1=(0,954694
−0,986709 22−0,0071880,499491
)−(0,9375
−0,6597 22−0,0743050,477835
)≈(0,017194−0,21520,0671170,021656
)⇒‖x⃗2− x⃗1‖max≈0,2152
‖x⃗1‖max=0,9375⇒
‖x⃗2− x⃗1‖max
‖x⃗1‖max
≈0,2295
Gauss-Seidel – Um Exemplo
Observe que o valor obtido aqui é bem menor que no mesmo passo de aplicação de Gauss-Jacobi
Gauss-Seidel – Um Exemplo
Façamos mais um passo do método de Gauss-Seidel
Gauss-Seidel – Um Exemplo
x⃗3=(0 0 0 0
−1 /9 0 0 01 /10 −1 /5 0 0
0 −1/12 −1 /12 0) x⃗3+(
0 −1 /8 0 1 /80 0 −1 /9 00 0 0 00 0 0 0
) x⃗2+(13 /16−8/9−3 /105 /12
)x⃗3=(
[0 ]+[−1 /8×(−0,954694)+0×(−0,007188)+1/8×0,499491 ]+13 /16...
)=(0,998275
.
.
.)
x⃗2=(0,954694
−0,986709−0,0071880,499491
)
Gauss-Seidel – Um Exemplo
x⃗3=(0 0 0 0
−1 /9 0 0 01 /10 −1 /5 0 0
0 −1/12 −1 /12 0) x⃗3+(
0 −1 /8 0 1 /80 0 −1 /9 00 0 0 00 0 0 0
) x⃗2+(13 /16−8/9−3 /105 /12
)x⃗3=(
[0 ]+[−1 /8×(−0,954694)+0×(−0,007188)+1/8×0,499491 ]+13 /16[−1/9×0,998275 ]+[−1/9×(−0,007188)+0×0,499491]−8 /9
.
.)=(
0,998275−0,999009
.
.)
x⃗2=(0,954694
−0,986709−0,0071880,499491
)
Gauss-Seidel – Um Exemplo
x⃗3=(0 0 0 0
−1 /9 0 0 01 /10 −1 /5 0 0
0 −1/12 −1 /12 0) x⃗3+(
0 −1 /8 0 1 /80 0 −1 /9 00 0 0 00 0 0 0
) x⃗2+(13 /16−8/9−3 /105 /12
)x⃗3=(
[0 ]+[−1 /8×(−0,954694)+0×(−0,007188)+1/8×0,499491 ]+13 /16[−1/9×0,998275 ]+[−1/9×(−0,007188)+0×0,499491]−8 /9[1 /10×0,998275−1/5×(−0,999009)+0×0,499491]−3 /10
.)=(
0,998275−0,999009−0,000370
.)
x⃗2=(0,954694
−0,986709−0,0071880,499491
)
Gauss-Seidel – Um Exemplo
x⃗3=(0 0 0 0
−1 /9 0 0 01 /10 −1 /5 0 0
0 −1/12 −1 /12 0) x⃗3+(
0 −1 /8 0 1 /80 0 −1 /9 00 0 0 00 0 0 0
) x⃗2+(13 /16−8/9−3 /105 /12
)x⃗3=(
[0 ]+[−1 /8×(−0,954694)+0×(−0,007188)+1 /8×0,499491]+13 /16[−1 /9×0,998275 ]+[−1/9×(−0,007188)+0×0,499491]−8 /9[1/10×0,998275−1/5×(−0,999009)+0×0,499491 ]−3 /10
[0×0,998275−1/12×(−0,999009)−1 /12×(−0,000370)]+[0 ]+5 /12)=(
0,998275−0,999009−0,0003700,499948
)
x⃗2=(0,954694
−0,986709−0,0071880,499491
)
Gauss-Seidel – Um Exemplo
Avaliemos a evolução dos vetores
x⃗3− x⃗2=(0,998275
−0,999009−0,0003700,499948
)−(0,954694
−0,986709−0,0071880,499491
)≈ (0,0435
−0,01230,0068
0,000457)⇒‖x⃗3− x⃗2‖max≈0,0435
‖x⃗2‖max=0,986709⇒
‖x⃗3− x⃗2‖max
‖x⃗2‖max
≈0,0440
Gauss-Seidel – Um Exemplo
Novamente observe que o valor obtido aqui é bem menor que no mesmo passo de aplicação de Gauss-Jacobi
Gauss-Seidel – Um Exemplo
Vamos a mais uma iteração sem passo de tartaruga
Gauss-Seidel – Um Exemplo
x⃗ 4=([0 ]+[−1/8×(−0,999009)+0×(−0,000370)+1 /8×0,499948 ]+13 /16
[−1 /9×0,999869 ]+[−1 /9×(−0,000370)+0×0,499948 ]−8 /9[1 /10×0,999869−1 /5×(−0,999944)+0×0,499948 ]−3 /10
[0×0,999869−1 /12×(−0,999944)−1/12×(−0,000024)]+[0]+5 /12)=(
0,999869−0,999944−0,0000240,4999973
)
x⃗3=(0,998275
−0,999009−0,0003700,499948
)x⃗ 4=(
0 0 0 0−1 /9 0 0 01/10 −1 /5 0 0
0 −1 /12 −1 /12 0) x⃗ 4+(
0 −1 /8 0 1 /80 0 −1/9 00 0 0 00 0 0 0
) x⃗3+ (13 /16−8 /9−3 /105 /12
)
Gauss-Seidel – Um Exemplo
Avaliemos a evolução dos vetores
x⃗4− x⃗3=(0,999869
−0,999944−0,0000240,4999973
)−(0,998275
−0,999009−0,0003700,499948
)≈ (0,0015
−0,0004−0,00030,00004
)⇒‖x⃗4− x⃗3‖max≈0,0015
‖x⃗3‖max≈0,999009⇒
‖x⃗ 4− x⃗3‖max
‖x⃗3‖max
≈0,0015
Gauss-Seidel – Um Exemplo
A solução exata do sistema é
e observem a sequência de vetores
x⃗=(1
−10
1/2)
x⃗1=(0,9375
−0,6597 22−0,0743050,477835
) ; x⃗2=(0,954694
−0,986709−0,0071880,499491
) ; x⃗3= (0,998275
−0,999009−0,0003700,499948
) ; x⃗4= (0,999869
−0,999944−0,0000240,4999973
)
Gauss-Seidel – Um Exemplo
e os valores da avaliação se aproximam de zero mais rapidamente
‖x⃗2− x⃗1‖max
‖x⃗1‖max
≈0,2295 ;‖x⃗3− x⃗2‖max
‖x⃗2‖max
≈0,0440 ;‖x⃗4− x⃗3‖max
‖x⃗3‖max
≈0,0015
Gauss-Seidel – Um Exemplo
Repare que cada componente de cada não pode ser calculada independentemente uma das outras como em Gauss-Jacobi portanto,
o algoritmo de Gauss-Seidel não é facilmente paralelizável.
Isto gera implicações que devem ser levadas em consideração quando da construção de códigos eficientes.
x i+1
Métodos iterativos
Em todos os exercícios até agora feito o custo computacional execedeu o custo computacional usando, por exemplo, fatoração LU
Porque então usar estes métodos iterativos?
Métodos iterativos
Um motivo já foi dito:
● Estes métodos são, quando convergem, numericamente estáveis
Outro motivo:
● Existem sistemas de interesse (em geral de ordem grande) que tem efetivamente custo computacional menor quando usados com métodos iterativos
Gauss-Seidel – Um Exemplo
Mais um exercício sem ser em passo de tartaruga...
Gauss-Seidel – Outro exemplo
Aplique no sistema abaixo o método de Gauss-Seidel até o critério de parada for menor que 0,01.
Temos a informação que a solução é próxima do vetor
(6 2 31 −4 21 2 4 ) x⃗=(
457 )
(002 )
Gauss-Seidel – Outro exemplo
Construindo a matriz e o vetor para Gauss-Seidel...
...e montando a fórmula
(6 2 31 −4 21 2 4 ) ; (
457 )⇒ (
0 2 /6 3/61 /−4 0 2 /−41 /4 2 /4 0 ) ; (
4 /65/−47 /4 )⇒ (
0 −1/3 −1/21/4 0 1/2
−1/4 −1/2 0 ) ; (2/3
−5/47 /4 )
x⃗i+1=(0 0 0
1 /4 0 0−1 /4 −1 /2 0 ) x⃗i+1+ (
0 −1/3 −1 /20 0 1 /20 0 0 ) x⃗i+ (
2 /3−5 /47 /4 )
Gauss-Seidel – Outro exemplo
Tendo
x⃗ i+1=(0 0 0
1/4 0 0−1 /4 −1/2 0 ) x⃗ i+1+(
0 −1 /3 −1 /20 0 1 /20 0 0 ) x⃗ i+ (
2/3−5 /47 /4 )
x0=(002 )
x⃗1=([0]+[−1 /3×0−1/2×2]+2/3[1/4×(−1 /3)]+[1/2×2]−5 /4
[−1/4×(−1 /3)−1/2×(−1 /3)]+[0 ]+7 /4 )=(−1/3−1/3
2 )=(−0, 33−0, 33
2 )
Gauss-Seidel – Outro exemplo
Qual o significado das primeiras componentes darem iguais e a última repetir o chute?
Gauss-Seidel – Outro exemplo
Qual o significado das primeiras componentes darem iguais e a última repetir o chute?
Nenhum...
Gauss-Seidel – Outro exemplo
Tendo
x⃗ i+1=(0 0 0
1/4 0 0−1 /4 −1/2 0 ) x⃗ i+1+(
0 −1 /3 −1 /20 0 1 /20 0 0 ) x⃗ i+ (
2/3−5 /47 /4 )
x1=(−1 /3−1 /3
2 )
x⃗2=([0]+[−1/3×(−1 /3)−1/2×(2)]+2/3
[1/4×(−2 /9)]+[1 /2×2]−5/4[−1 /4×(−2/9)−1/2×(−11/36)]+[0 ]+7 /4 )=(
−2 /9−11/3647 /24 )=(
−0,22−0,30 551,958 33 )
Gauss-Seidel – Outro exemplo
Avaliemos a evolução dos vetores
x⃗2− x⃗1=(−0, 22
−0,30 551,958 33 )−(
−0, 33−0, 33
2 )≈(0,11
0,0277−0,04166 )⇒‖x⃗2− x⃗1‖max≈0,1111
‖x⃗1‖max=2⇒
‖x⃗2− x⃗1‖max
‖x⃗1‖max
≈0,0555
Gauss-Seidel – Outro exemplo
Tendo
x⃗ i+1=(0 0 0
1/4 0 0−1 /4 −1/2 0 ) x⃗ i+1+(
0 −1 /3 −1 /20 0 1 /20 0 0 ) x⃗ i+ (
2/3−5 /47 /4 )
x2=(−2 /9
−11/3647 /24 )
x⃗3=([0 ]+[−1 /3×(−11 /36)−1/2×47 /24 ]+2 /3[1/4×(−91 /432)]+[1/2×47 /24 ]−5 /4
[−1 /4×(−91 /432)−1/2×(−559 /1728)]+[0]+7 /4 )=(−91/432
−559/17282263/1152 )≈ (
−0,210648−0,3234951,964409 )
Gauss-Seidel – Outro exemplo
Avaliemos a evolução dos vetores
x⃗3− x⃗2=(
−0,210648−0,3234951,964409 )−(
−0, 22−0,30 551,958 33 )≈ (
0,011574−0,0179390,006075 )⇒‖x⃗3− x⃗2‖max≈0,0179
‖x⃗2‖max=1,958333⇒
‖x⃗3− x⃗2‖max
‖x⃗2‖max
≈0,0091
Gauss-Seidel – Outro exemplo
Já atingimos o solicitado mas vamos a mais um passo só para treinar...
Gauss-Seidel – Outro exemplo
Tendo
x⃗ x+1=(0 0 0
1 /4 0 0−1 /4 −1 /2 0 ) x⃗ i+1+(
0 −1 /3 −1 /20 0 1 /20 0 0 ) x⃗i+(
2 /3−5 /47 /4 )
x⃗3=(−0,210648−0,3234951,964409 )
x⃗4=([0]+[−1/3×(−0,323495)−1 /2×1,964409 ]+2 /3
[1/4×(−0,207706)]+[1 /2×1,964409 ]−5 /4[−1/4×(−0,207706)−1/2×(−0,319721)]+[0 ]+7 /4 )≈(
−0,207706−0,3197211,961787 )
Gauss-Seidel – Outro exemplo
Avaliemos a evolução dos vetores
x⃗4− x⃗3=(−0,207706−0,3197211,961787 )−(
−0,210648−0,3234951,964409 )≈(
0,0029420,003774
−0,002622 )⇒‖x⃗4− x⃗3‖max≈0,0037
‖x⃗3‖max=1,964409⇒
‖x⃗4− x⃗3‖max
‖x⃗3‖max
≈0,0018