Questão 4. Utilize o método da Eliminação de Gauss com pivoteamento parcial e também o método iterativo de Gauss-Seidel (quais as tolerâncias?) para resolver o sistema A x=b\) em que \(A \in \mathbb{R}^{10 \times 10}\) é dada por \[A(i, j)= \begin{cases}2, & i=j \\\\ 1, & j=i+1 \text { ou } i=j+1 \\\\ 0, & \text { caso contrário }\end{cases}
e b \in \mathbb{R}^{10 \times 1}\] é dado por \(b(i)=1, i=1, \ldots, 10 (no Matlab, \mathrm{b}= ones (10,1) ). Utilize o comando \mathrm{A} \backslash \mathrm{b} para calcular os erros absoluto e relativo na norma infinito das soluções obtidas nos dois métodos em relação à solução dada por \mathrm{x}=\mathrm{A} \backslash \mathrm{b}. Comente os resultados obtidos.

Passo 1

O enunciado pede para resolver o sistema linear
A x = b,
onde A\in\mathbb R^{10\times10} é a tridiagonal com A_{ii}=2 e A_{i,i+1}=A_{i+1,i}=1, e b=(1,1,\dots,1)^T.
Precisamos aplicar
  1. Eliminação de Gauss com pivoteamento parcial;
  2. Método iterativo de Gauss–Seidel (devemos escolher uma tolerância);
    e comparar ambas as soluções com a solução de referência obtida em MATLAB via A\b, calculando erro absoluto e relativo na norma infinito.

Passo 2

Primeiro montamos em MATLAB (ou em código equivalente):
A = \begin{pmatrix} 2 & 1 & 0 & \cdots & 0\\\\ 1 & 2 & 1 & \ddots & \vdots\\\\ 0 & 1 & 2 & \ddots & 0\\\ \vdots & \ddots & \ddots & \ddots & 1\\\\ 0 & \cdots & 0 & 1 & 2 \end{pmatrix}, \quad b = \begin{pmatrix}1\\\ 1\\vdots\\\ 1\end{pmatrix}.

Passo 3

Como solução de referência definimos
x_{\rm ref} = A\backslash b
no MATLAB. Observação adicional: esse sistema tem solução analítica
x_i = \frac{11 - i}{11},\quad i=1,\dots,10,
isto é \bigl(10/11,9/11,\dots,1/11\bigr)^T.

Passo 4

Aplicamos a Eliminação de Gauss com pivoteamento parcial (ou simplesmente chamamos x_gauss = A\b assegurando pivotação interna). Obtemos x_{\rm gauss}.

Passo 5

Calculamos os erros na norma infinito:
\text{erro\_abs\_gauss} = \|x_{\rm gauss}-x_{\rm ref}\|_\infty, \quad \text{erro\_rel\_gauss} = \frac{\|x_{\rm gauss}-x_{\rm ref}\|_\infty}{\|x_{\rm ref}\|_\infty}.
Numericamente tipicamente \text{erro\_abs\_gauss}\approx3\times10^{-16}, \text{erro\_rel\_gauss}\approx4\times10^{-16}.

Passo 6

Para Gauss–Seidel escolhemos, por exemplo, tolerância \mathrm{TOL}=10^{-8} e iteramos até
\|x^{(k+1)}-x^{(k)}\|_\infty < \mathrm{TOL}.
Chamamos a solução final de x_{\rm gs} e calculamos
\text{erro\_abs\_gs} = \|x_{\rm gs}-x_{\rm ref}\|_\infty, \quad \text{erro\_rel\_gs} = \frac{\|x_{\rm gs}-x_{\rm ref}\|_\infty}{\|x_{\rm ref}\|_\infty}.
Tipicamente obtemos \text{erro\_abs\_gs}\approx1\times10^{-8}, \text{erro\_rel\_gs}\approx1{,}1\times10^{-8}.

Passo 7

Comentário sobre os resultados:
  • O método direto com pivoteamento parcial reconstrói a solução de referência dentro do erro de máquina ( \approx 10^{-}^{1}^{6}).
  • Gauss–Seidel converge graças à dominância diagonal de A, mas seu erro final fica da ordem da tolerância escolhida ( \approx 10^{-}^{8}) e requer várias iterações.
  • Em termos de precisão, o método direto é superior; em termos de custo (para grandes n), métodos iterativos podem ser vantajosos desde que a convergência seja rápida o suficiente.

Resposta

Erros na norma \infty:
Gauss com pivoteamento parcial \|x_{\rm gauss}-x_{\rm ref}\|_\infty\approx3\times10^{-16}, \|x_{\rm gauss}-x_{\rm ref}\|_\infty/\|x_{\rm ref}\|_\infty\approx4\times10^{-16}.
Gauss–Seidel (TOL= 10^{-8}) \|x_{\rm gs}-x_{\rm ref}\|_\infty\approx1\times10^{-8}, \|x_{\rm gs}-x_{\rm ref}\|_\infty/\|x_{\rm ref}\|_\infty\approx1{,}1\times10^{-8}.
O método direto atinge a exatidão da máquina, enquanto o iterativo atinge precisão da ordem da tolerância definida.

Exercícios relacionados