Pelo método de eliminação de Gauss com condensação pivotal, trabalhando em ponto flutuante com dois algarismos significativos. Considere uma precisão de \varepsilon=0,01 e calcule no máximo 5 iterações.
usando o método de eliminação de Gauss com condensação pivotal (pivotamento parcial), trabalhando em ponto flutuante com dois algarismos significativos. Foi dada uma precisão de \varepsilon=0,01 para o critério de parada da refinamento iterativo e devo calcular no máximo 5 iterações.
Informações relevantes que o enunciado fornece:
Matriz dos coeficientes A=\begin{pmatrix}5 & 7\\[2pt]7 & 11\end{pmatrix}.
Vetor termo independente b=\begin{pmatrix}12\\[2pt]18\end{pmatrix}.
Trabalhar com aritmética em ponto flutuante com 2 algarismos significativos (ou seja, cada resultado deve ser arredondado para 2 algarismos significativos a cada operação).
Pivotamento parcial (escolher, em cada coluna, a maior magnitude na coluna como pivô e trocar linhas se necessário).
Usar refinamento iterativo: calcular o resíduo r=b-Ax, resolver A\delta=r para a correção \delta, atualizar x\leftarrow x+\delta, e repetir até \max_i|\delta_i|<\varepsilon ou até 5 iterações.
A partir daqui eu faço a eliminação de Gauss com pivotamento parcial obedecendo o arredondamento para 2 algarismos significativos em todas as operações.]
Passo 2
Breve explicação dos procedimentos que vou usar (didática rápida e aplicada):
Eliminação de Gauss com pivotamento parcial: em cada coluna eu escolho como pivô o elemento de maior valor absoluto entre as linhas ainda não eliminadas; se for necessário troco linhas. Em seguida, para zerar abaixo do pivô eu uso multiplicadores m_{ij}=a_{ij}/a_{jj} e faço \text{linha}_i \leftarrow \text{linha}_i - m_{ij}\cdot\text{linha}_j.
Back substitution: depois de triangularizar, resolvo a partir da última equação para cima.
Arredondamento: cada resultado (divisão, multiplicação, soma, subtração) será arredondado para 2 algarismos significativos imediatamente. Exemplos de arredondamento que vou aplicar: 0,714285\ldots \to 0,71; 4,97\to 5,0; 1,25\to 1,3. Uso vírgula para decimais.
Refinamento iterativo: calculo r=b-Ax (com as regras de arredondamento) e então resolvo A\delta=r (usando a mesma rotina de eliminação com pivôs e 2 algarismos) para obter \delta. Se \max(|\delta_i|)<0,01 paro; caso contrário atualizo x e repito até 5 vezes.
Agora aplico essas regras passo a passo ao sistema dado.
Passo 3
Montagem inicial da matriz aumentada e escolha do pivô na primeira coluna:
Matriz aumentada inicial
Na primeira coluna os valores são 5 e 7. O maior em magnitude é 7 (segunda linha), então faço a troca de linhas (pivotamento parcial). Após trocar linha 1 com linha 2 (troca exata, números são inteiros e já têm 2 algarismos significativos) obtenho:
Arredondando para 2 algarismos significativos: m_{21}=0,71. (Explicação: duas casas significativas, o primeiro algarismo não nulo é o 7, seguido de 1 → 0,71.)
Agora aplico \text{linha}_2 \leftarrow \text{linha}_2 - m_{21}\cdot\text{linha}_1. Faço produto termo a termo e arredondo cada produto a 2 algarismos significativos:
m_{21}\cdot a_{11}=0,71\cdot 7=4,97\to arredondado para 2 algarismos: 5,0.
m_{21}\cdot a_{12}=0,71\cdot 11=7,81\to arredondado para 2 algarismos: 7,8.
m_{21}\cdot b_{1}=0,71\cdot 18=12,78\to arredondado para 2 algarismos: 13 (escrevo 13, dois algarismos).
Agora subtraio (também arredondando resultados das subtrações a 2 algarismos, quando necessário):
Nova a_{21}=5-5,0=0,0 (exatamente zero).
Nova a_{22}=7-7,8=-0,8 (arredondado para 2 sig. dig.).
Nova b_2=12-13=-1,0.
A matriz aumentada após eliminação da primeira coluna fica (valores já arredondados):
Observação rápida (didática): o sistema exato tem solução x=(1,1) (pode-se verificar resolvendo exatamente), mas com a aritmética de baixa precisão obtivemos x^{(0)}=(0,57,\,1,3). Agora sigo com o refinamento iterativo para tentar melhorar x^{(0)}.]
Passo 6
Explicação do refinamento iterativo (passo a passo aplicável na prova):
Calculo o resíduo r=b-Ax^{(k)}. Isso me diz quanto a solução aproximada viola as equações.
Depois resolvo A\delta = r (com a mesma rotina numérica) para obter a correção \delta.
Atualizo x^{(k+1)}=x^{(k)}+\delta.
Repito até \max_i |\delta_i|<\varepsilon (aqui \varepsilon=0,01) ou até 5 iterações.
Importante: como estou preso à aritmética de 2 algarismos, todo o cálculo do resíduo e das correções será feito com o mesmo arredondamento. Isso pode fazer com que o resíduo aparente seja zero mesmo quando o erro real não é.
Passo 7
Iteração 1 do refinamento (usando x^{(0)}=(0,57,\,1,3)):
Calculo Ax^{(0)}. Faço cada multiplicação e soma com arredondamento a 2 algarismos:
Arredondado com 2 algarismos dá r=\begin{pmatrix}0,0\\[2pt]0,0\end{pmatrix}.]
Passo 8
Como o resíduo é r=(0,0), ao resolver A\delta=r a solução da correção é \delta=(0,0). Em termos numéricos com a rotina de eliminação isso também resulta em correção nula. Portanto \delta=\begin{pmatrix}0,0\\[2pt]0,0\end{pmatrix}.
Checo o critério de parada: \max(|\delta_i|)=0 < \varepsilon(=0,01). Logo paro o refinamento. Não preciso fazer mais iterações (e mesmo que continuasse, o resíduo permaneceria zero na aritmética de 2 algarismos, então não haveria progresso).
Comentário didático-final: aqui vemos um efeito clássico de aritmética de baixa precisão: embora a solução exata seja x=(1,1), o arredondamento durante eliminação introduziu erro grande e, por sorte/cancelamento, o resíduo numérico ficou exatamente zero em baixa precisão, impedindo que o refinamento iterativo melhore a solução. Em provas, é importante notar esse tipo de fenômeno e explicar por que o refinamento pode não convergir se o resíduo for computado com a mesma baixa precisão.]