Como pode o épsilon da máquina ser empregado para formular um critério de parada \varepsilon_{s} para os seus programas? Dê um exemplo.

Passo 1

O que o enunciado pede:
  • Explicar como usar o épsilon da máquina para formular um critério de parada \varepsilon_{s} em programas numéricos.
  • Dar um exemplo concreto.
Informações relevantes (implícitas na pergunta):
  • Existe um número chamado épsilon da máquina que mede a menor diferença representável entre 1 e o próximo número de ponto flutuante maior que 1.
  • Queremos um critério de parada prático e seguro para um método iterativo (por exemplo, Newton, iteração fixa, gradiente).

Passo 2

O que é o épsilon da máquina e por que ele importa
  • Definição matemática: \varepsilon_{\text{máq}}=\min\{\varepsilon>0 \mid 1+\varepsilon>1\}á.
    Isso significa que qualquer incremento menor que \varepsilon_{\text{máq}}á não muda o valor 1 no formato de ponto flutuante usado pelo computador.
  • Intuição: \varepsilon_{\text{máq}}á mede a precisão relativa máxima que a aritmética de ponto flutuante pode garantir. Se tentarmos buscar uma solução com precisão muito menor que essa, a aritmética do computador vai “apagar” as diferenças por arredondamento.
  • Consequência prática: não vale a pena pedir um critério de parada com tolerância menor que algo proporcional a \varepsilon_{\text{máq}}á; o método não ganhará dígitos significativos além desse limite e pode até ficar preso por causa de ruído numérico.

Passo 3

Formas usuais de critérios de parada que usam \varepsilon_{\text{máq}}á
  • Critério absoluto:
\|x^{(k+1)}-x^{(k)}\| < \varepsilon_{s}.
  • Critério relativo:
\frac{\|x^{(k+1)}-x^{(k)}\|}{\|x^{(k+1)}\|} < \varepsilon_{s}.
  • Critério combinado (evita divisão por zero):
\frac{\|x^{(k+1)}-x^{(k)}\|}{\|x^{(k+1)}\|+1} < \varepsilon_{s}.
  • Como escolher \varepsilon_{s} em função de \varepsilon_{\text{máq}}á:
    • Para métodos com convergência linear ou se não se quer arriscar, uma escolha típica é
    \varepsilon_{s} = c\cdot\varepsilon_{\text{máq}},ácom c entre 10^{2} e 10^{6} dependendo do problema (controle empírico).
    • Para métodos com convergência rápida (por exemplo Newton, que tem convergência quadrática perto da raiz), costuma-se usar
    \varepsilon_{s} = c\cdot\sqrt{\varepsilon_{\text{máq}}},áporque depois de certa iteração os erros quadráticos ficam abaixo de \sqrt{\varepsilon_{\text{máq}}}á e a aritmética limita ganhos adicionais. Um c razoável é entre 1 e 10^{2}.
Explanação intuitiva: se a aritmética de ponto flutuante tem precisão relativa \varepsilon_{\text{máq}}á, obter um erro relativo muito abaixo de \sqrt{\varepsilon_{\text{máq}}}á com métodos que têm erro relacionado ao quadrado do passo costuma ser impossível / inútil. Portanto \sqrt{\varepsilon_{\text{máq}}}á é um bom limiar para métodos quadráticos.

Passo 4

Critério prático para implementar (receita pronta)
  • Use um critério relativo combinado, por exemplo
\frac{\|x^{(k+1)}-x^{(k)}\|}{\|x^{(k+1)}\|+1} < \varepsilon_{s},
com
\varepsilon_{s} = c\cdot\sqrt{\varepsilon_{\text{máq}}}á
se o método converge rápido (Newton), ou
\varepsilon_{s} = c\cdot\varepsilon_{\text{máq}}á
se o método converge linearmente. Escolha c entre 1 e 10^{4} conforme o problema (testes rápidos ajudam a ajustar).
Dicas práticas que sempre implementar:
  • Impor um número máximo de iterações k_{\max} para evitar loops infinitos.
  • Verificar também o resíduo (quando aplicável): \|f(x^{(k)})\| < \text{tol\_resid}.
  • Usar tolerância absoluta pequena (por ex. 10^{-12} ou similar) como fallback para problemas muito próximos de zero.

Passo 5

Valor numérico para ponto flutuante double e escolha típica
  • Para aritmética double (IEEE 754) temos aproximadamente
\varepsilon_{\text{máq}} \approx 2,22\times 10^{-16}.á
  • Portanto
\sqrt{\varepsilon_{\text{máq}}}\approx 1,49\times 10^{-8}.á
  • Uma escolha prática para Newton seria, por exemplo,
\varepsilon_{s} = 10\cdot\sqrt{\varepsilon_{\text{máq}}}\approx 1,49\times 10^{-7}.á

Passo 6

Exemplo concreto: Newton para \sqrt{2}
  • Problema: encontrar raiz da função f(x)=x^{2}-2. A iteração de Newton é
x^{(k+1)} = \frac{x^{(k)} + \dfrac{2}{x^{(k)}}}{2}.
  • Critério escolhido: relativo combinado com \varepsilon_{s}=\sqrt{\varepsilon_{\text{máq}}}\approx 1,49\times 10^{-8}á, ou seja:
\frac{|x^{(k+1)}-x^{(k)}|}{|x^{(k+1)}|+1} < 1,49\times 10^{-8}.
  • Iterações (valores aproximados):
    • x^{(0)}=1{,}5.
    • x^{(1)}=\dfrac{1{,}5+2/1{,}5}{2}=1{,}4166666666666667.
    • x^{(2)}=1{,}4142156862745098.
    • x^{(3)}=1{,}4142135623746899.
    • x^{(4)}=1{,}4142135623730951 (valor limite, \sqrt{2} em double).
  • Diferenças relativas:
    • entre x^{(1)} e x^{(0)}: grande (não satisfaz).
    • entre x^{(2)} e x^{(1)}: \approx 1{,}7\times 10^{-3} (não satisfaz).
    • entre x^{(3)} e x^{(2)}: \approx 1{,}5\times 10^{-6} (não satisfaz).
    • entre x^{(4)} e x^{(3)}: \approx 1{,}6\times 10^{-12} < 1{,}49\times 10^{-8} (satisfaz).
  • Conclusão do exemplo: com \varepsilon_{s}=\sqrt{\varepsilon_{\text{máq}}}á o método para \sqrt{2} pára em k=4 iterações; pedir tolerância muito menor não traria ganhos por causa do limite imposto pela aritmética.

Passo 7

Resumo e recomendações finais — motivação prática
  • Use \varepsilon_{\text{máq}}á como escala: criterions proporcionais a \varepsilon_{\text{máq}}á ou a \sqrt{\varepsilon_{\text{máq}}}á são robustos.
  • Prefira critérios relativos quando os magnitudes das soluções variam; combine com absoluto para casos perto de zero.
  • Sempre combine critério com limite de iterações e checagem de resíduo.
  • Teste com alguns exemplos do seu problema e ajuste o fator c.

Resposta

\displaystyle\text{Critério sugerido: }\frac{\|x^{(k+1)}-x^{(k)}\|}{\|x^{(k+1)}\|+1}<\varepsilon_{s},\quad \varepsilon_{s}=c\cdot\sqrt{\varepsilon_{\text{máq}}}.éá\newline
\displaystyle\text{Exemplo numérico (double): }\varepsilon_{\text{máq}}\approx 2{,}22\times 10^{-16}\Rightarrow \sqrt{\varepsilon_{\text{máq}}}\approx 1{,}49\times 10^{-8}.éáá

Exercícios relacionados