Método de Gauss-Seidel: explicação, aplicações, exemplos - Ciência - 2023
science
Contente
- Explicação usando um caso simples
- Passos a seguir
- Análise de método
- Formulários
- Exemplos do método Gauss-Seidel
- - Exemplo 1
- Solução
- - Exemplo 2
- Solução
- - Exemplo 3
- Solução
- - Exemplo 4
- Solução
- Referências
o Método Gauss-Seidel é um procedimento iterativo para encontrar soluções aproximadas para um sistema de equações algébricas lineares com precisão escolhida arbitrariamente. O método é aplicado a matrizes quadradas com elementos diferentes de zero em suas diagonais e a convergência é garantida se a matriz for diagonalmente dominante.
Foi criado por Carl Friedrich Gauss (1777-1855), que deu uma demonstração privada a um de seus alunos em 1823. Posteriormente, foi formalmente publicado por Philipp Ludwig von Seidel (1821-1896) em 1874, daí o nome de ambos os matemáticos.
Para uma compreensão completa do método, é necessário saber que uma matriz é diagonalmente dominante quando o valor absoluto do elemento diagonal de cada linha é maior ou igual à soma dos valores absolutos dos demais elementos dessa mesma linha.
Matematicamente, é expresso assim:
Explicação usando um caso simples
Para ilustrar em que consiste o método de Gauss-Seidel, tomaremos um caso simples, no qual os valores de X e Y podem ser encontrados no sistema 2 × 2 de equações lineares mostrado abaixo:
5X + 2Y = 1
X - 4Y = 0
Passos a seguir
1- Primeiramente, é necessário determinar se a convergência é segura. Observa-se imediatamente que, de fato, é um sistema diagonalmente dominante, pois na primeira linha o primeiro coeficiente tem um valor absoluto superior aos demais da primeira linha:
|5|>|2|
Da mesma forma, o segundo coeficiente na segunda linha também é diagonalmente dominante:
|-4|>|1|
2- As variáveis X e Y são resolvidas:
X = (1 - 2Y) / 5
Y = X / 4
3- Um valor inicial arbitrário, denominado "semente", é colocado: Xo = 1, I = 2.
4-A iteração começa: para obter a primeira aproximação X1, Y1, a semente é substituída na primeira equação da etapa 2 e o resultado na segunda equação da etapa 2:
X1 = (1 - 2 I) / 5 = (1 - 2 × 2) / 5 = -3/5
Y1 = X1 / 4 = (-3/5) / 4 = -3/20
5- Procedemos de forma semelhante para obter a segunda aproximação da solução do sistema de equações:
X2 = (1 - 2 Y1) / 5 = (1 - 2x (-3/20)) / 5 = 13/50
Y2 = X2 / 4 = (13/50) / 4 = 13/200
6- Terceira iteração:
X3 = (1 - 2 Y2) / 5 = (1 - 2 (13/200)) / 5 = 87/500
Y3 = X3 / 4 = (87/500) / 4 = 87/2000
7- Quarta iteração, como iteração final deste caso ilustrativo:
X4 = (1 - 2 Y3) / 5 = (1 - 2 (87/2000)) / 5 = 913/5000
Y4 = X4 / 4 = (913/5000) / 4 = 913/20000
Esses valores concordam muito bem com a solução encontrada por outros métodos de resolução. O leitor pode verificar isso rapidamente com a ajuda de um programa matemático online.
Análise de método
Como pode ser visto, no método de Gauss-Seidel, os valores aproximados obtidos para a variável anterior nessa mesma etapa devem ser substituídos na variável seguinte. Isso o diferencia de outros métodos iterativos, como o de Jacobi, em que cada etapa requer as aproximações da etapa anterior.
O método Gauss-Seidel não é um procedimento paralelo, enquanto o método Gauss-Jordan é. É também a razão pela qual o método Gauss-Seidel tem uma convergência mais rápida - em menos etapas - do que o método Jordan.
Quanto à condição de matriz diagonalmente dominante, isso nem sempre é satisfeito. No entanto, na maioria dos casos, simplesmente trocar as linhas do sistema original é suficiente para que a condição seja atendida. Além disso, o método quase sempre converge, mesmo quando a condição de dominância diagonal não é atendida.
O resultado anterior, obtido por quatro iterações do método Gauss-Seidel, pode ser escrito na forma decimal:
X4 = 0,1826
Y4 = 0,04565
A solução exata para o sistema de equações proposto é:
X = 2/11 = 0,1818
Y = 1/22 = 0,04545.
Portanto, apenas 4 iterações geram um resultado com um milésimo de precisão (0,001).
A Figura 1 ilustra como as iterações sucessivas convergem rapidamente para a solução exata.
Formulários
O método de Gauss-Seidel não se limita apenas a um sistema 2 × 2 de equações lineares. O procedimento anterior pode ser generalizado para resolver um sistema linear de n equações com n incógnitas, que é representado em uma matriz como esta:
PARAX = b
Onde PARA é uma matriz n x n, Enquanto X é o vetor n componentes das n variáveis a serem calculadas; Y b é um vetor que contém os valores dos termos independentes.
Para generalizar a sequência de iterações aplicadas no caso ilustrativo a um sistema n x n, a partir do qual a variável deve ser calculada XI, a seguinte fórmula será aplicada:
Nesta equação:
– k é o índice para o valor obtido na iteração k.
-k + 1 indica o novo valor no próximo.
O número final de iterações é determinado quando o valor obtido na iteração k + 1 Difere do obtido imediatamente antes, por um valor ε que é precisamente a precisão desejada.
Exemplos do método Gauss-Seidel
- Exemplo 1
Escreva um algoritmo geral para calcular o vetor de soluções aproximadas X de um sistema linear de equações nxn, dada a matriz de coeficientes PARA, o vetor de termos independentes b, o número de iterações (iter) e o valor inicial ou "semente" do vetor X.
Solução
O algoritmo consiste em dois ciclos “To”, um para o número de iterações e outro para o número de variáveis. Seria o seguinte:
Para k ∊ [1..iter]
Para i ∊ [1..n]
X [i]: = (1 / A [i, i]) * (b [i] - ∑j = 1n(A [i, j] * X [j]) + A [i, i] * X [i])
- Exemplo 2
Verifique o funcionamento do algoritmo anterior aplicando-o em um software matemático Estúdio SMath grátis para usar, disponível para Windows e Android. Tome como exemplo o caso da matriz 2 × 2 que nos ajudou a ilustrar o método de Gauss-Seidel.
Solução
- Exemplo 3
Aplique o algoritmo de Gauss-Seidel para o seguinte sistema de equações 3 × 3, que foi previamente ordenado de forma que os coeficientes da diagonal sejam dominantes (ou seja, de maior valor absoluto do que os valores absolutos dos coeficientes de a mesma linha):
9 X1 + 2 X2 - X3 = -2
7 X1 + 8 X2 + 5 X3 = 3
3 X1 + 4 X2 - 10 X3 = 6
Use o vetor nulo como uma semente e considere cinco iterações. Comente o resultado.
Solução
Para o mesmo sistema com 10 iterações em vez de 5, os seguintes resultados são obtidos: X1 = -0,485; X2 = 1,0123; X3 = -0,3406
Isso nos diz que cinco iterações são suficientes para obter três casas decimais de precisão e que o método converge rapidamente para a solução.
- Exemplo 4
Usando o algoritmo de Gauss-Seidel fornecido acima, encontre a solução para o sistema de equações 4 × 4 fornecido abaixo:
10 x1 - x2 + 2 x3 + 0 x4 = 6
-1 x1 + 11 x2 - 1 x3 + 3 x4 = 25
2 x1 - 1 x2 + 10 x3 - 1 x4 = -11
0 x1 + 3 x2 - 1 x3 + 8 x4 = 15
Para iniciar o método, faça uso desta semente:
x1 = 0, x2 = 0, x3 = 0 e x4 = 0
Considere 10 iterações e estime o erro do resultado, comparando com a iteração número 11.
Solução
Ao comparar com a próxima iteração (número 11), o resultado é idêntico. As maiores diferenças entre as duas iterações são da ordem de 2 × 10-8, o que significa que a solução mostrada tem uma precisão de pelo menos sete casas decimais.
Referências
- Métodos de solução iterativa. Gauss-Seidel. Recuperado de: cimat.mx
- Métodos numéricos. Gauss-Seidel. Recuperado de: test.cua.uam.mx
- Numérico: método de Gauss-Seidel. Recuperado de: aprendeenlinea.udea.edu.co
- Wikipedia. Método de Gauss-Seidel. Recuperado de: en. wikipedia.com
- Wikipedia. Método de Gauss-Seidel. Recuperado de: es.wikipedia.com