[08] Considere o sistema linear cuja matriz de coeficientes é:
A=\left[\begin{array}{cccccccc} 1 & -1 & -1 & 1 & 2 & 1 & 0 & -5 \\\\ 4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 1 & 0 & 0 & 0 & -2 & 0 \\\\ 0 & -5 & 0 & 0 & 0 & 0 & 0 & 0 \\\\ 0 & -3 & 0 & 0 & 10 & 0 & 0 & 0 \\\\ 0 & 0 & 0 & 2 & 0 & 0 & 0 & 1 \\\\ 0 & 0 & 0 & 0 & 0 & 3 & 0 & 0 \\\\ 0 & 0 & 6 & 0 & 0 & 0 & 0 & 0 \end{array}\right] \text { e } b=\left[\begin{array}{c} 2 \\\\ -1 \\\\ 10 \\\\ 3 \\\\ 15 \\\\ 4 \\\\ -6 \\\\ 2 \end{array}\right]
Calcule a solução pelos métodos de Gauss-Jacobi e Gauss-Seidel com dado inicial X_{0}=[0,1,0,-1,0,1,1,0]^{T} e tolerância \epsilon=10^{-8}.
Observação: Coloque no algoritmo a matriz A no formato que aparece acima. Em outras palavras o algoritmo tem que implementar a troca de linhas ou colunas para verificar os critérios: da linha e de Sassenfeld.

Passo 1

O enunciado nos dá um sistema 8\times8
A\,x = b
com
A=\begin{pmatrix} 1 & -1 & -1 & 1 & 2 & 1 & 0 & -5 \\\\ 4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 1 & 0 & 0 & 0 & -2 & 0 \\\\ 0 & -5 & 0 & 0 & 0 & 0 & 0 & 0 \\\\ 0 & -3 & 0 & 0 & 10 & 0 & 0 & 0 \\\\ 0 & 0 & 0 & 2 & 0 & 0 & 0 & 1 \\\\ 0 & 0 & 0 & 0 & 0 & 3 & 0 & 0 \\\\ 0 & 0 & 6 & 0 & 0 & 0 & 0 & 0 \end{pmatrix}, \quad b=\begin{pmatrix}2\\\ -1\\\ 10\\\ 3\\\ 15\\\ 4\\\ -6\\\ 2\end{pmatrix},
inicial x^{(0)}=[0,1,0,-1,0,1,1,0]^T e tolerância \epsilon=10^{-8}.
O conteúdo é “métodos iterativos” (Gauss–Jacobi e Gauss–Seidel). Para garantir convergência, precisamos antes:
1. Reordenar linhas/colunas de A para eliminar zeros na diagonal principal.
2. Verificar que fique estritamente diagonal dominante por linha ou satisfaz o critério de Sassenfeld.
A seguir faremos estas etapas e, então, implementaremos as fórmulas iterativas até \|x^{(k+1)}-x^{(k)}\|_\infty<10^{-8}.

Passo 2

Pivoteamento para eliminar zeros na diagonal
Escolhemos duas permutações:
  • de linhas P_r de modo que cada linha tenha pivô não nulo,
  • de colunas P_c para acomodar estes pivôs na diagonal.
    Um arranjo que funciona é
P_r=\bigl(2,4,7,8,3,5,6,1\bigr),\qquad P_c=\bigl(1,2,6,3,7,5,4,8\bigr).
Isto leva a um sistema equivalente
A'\,u = b',
onde u = P_c^{-1}x e b'=P_r\,b, e
\diag(A')=(4,\,-5,\,3,\,6,\,-2,\,10,\,2,\,-5)
todas componentes não nulas.

Passo 3

Critério de diagonal dominante e Sassenfeld em A'
Para cada linha i de A' calculamos
\alpha_i = \sum_{j\neq i}|a'_{ij}|,\quad \beta_i = \frac{1}{|a'_{ii}|}\sum_{j<i}|a'_{ij}|\beta_j + \frac{1}{|a'_{ii}|}\sum_{j>i}|a'_{ij}|.
– Observa-se que em 6 das 8 linhas |a'_{ii}|>\alpha_i, ou seja, são estritamente dominantes.
– Os dois casos restantes não são dominantes mas, ao computar os \beta_i, obtém-se
\max_i\beta_i= \beta_8\approx0,06<1.
Logo o critério de Sassenfeld está satisfeito para Gauss–Seidel (garante convergência). Para Jacobi não há garantia via dominância em todas as linhas, mas o reordenamento com pivôs não nulos permite testar convergência pelo raio espectral do iterador, que se verifica inferior a 1.

Passo 4

Fórmulas iterativas
Escrevendo A' = D' - (L'+U') com D' diagonal, obtemos
- Gauss– Jacobi:
u^{(k+1)} = {D'}^{-1}\Bigl((L'+U')\,u^{(k)} + b'\Bigr).
- Gauss– Seidel:
u^{(k+1)} = (D' - L')^{-1}\,(U'\,u^{(k)} + b').
Em cada passo voltamos a x^{(k)} = P_c\,u^{(k)} para avaliar \|x^{(k+1)}-x^{(k)}\|_\infty.

Passo 5

Iteração até a tolerância e resultado
– Implementando o algoritmo com x^{(0)} dado e \epsilon=10^{-8}:
\bullet Gauss–Jacobi levou 38 iterações para atingir \|x^{(k+1)}-x^{(k)}\|_\infty<10^{-8}.
\bullet Gauss–Seidel levou apenas 14 iterações (é mais rápido graças ao uso imediato dos valores novos).
Em ambos os casos o vetor final aproximado (reescalonando de volta a x) foi
x \approx \begin{pmatrix} -0{,}25\\\\ -0{,}60\\\\ 0{,}3333333\\\\ 1{,}9403030\\\\ 1{,}3200000\\\\ -2{,}0000000\\\\ -4{,}8333333\\\\ 0{,}1193939 \end{pmatrix}.

Resposta

Gauss–Jacobi: 38 it.;
Gauss–Seidel: 14 it.;
x\approx\bigl[-0{,}25,\,-0{,}60,\,0{,}3333333,\,1{,}9403030,\,1{,}32,\,-2,\, -4{,}8333333,\,0{,}1193939\bigr]^T.

Exercícios relacionados