Como pode o épsilon da máquina ser empregado para formular um critério de parada
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
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
e o próximo número de ponto flutuante maior que . - 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:
.
Isso significa que qualquer incremento menor quenão muda o valor no formato de ponto flutuante usado pelo computador. - Intuição:
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
; 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
- Critério absoluto:
- Critério relativo:
- Critério combinado (evita divisão por zero):
- Como escolher
em função de : - Para métodos com convergência linear ou se não se quer arriscar, uma escolha típica é
com entre e 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
porque depois de certa iteração os erros quadráticos ficam abaixo de e a aritmética limita ganhos adicionais. Um razoável é entre e .
Explanação intuitiva: se a aritmética de ponto flutuante tem precisão relativa
, obter um erro relativo muito abaixo de
com métodos que têm erro relacionado ao quadrado do passo costuma ser impossível / inútil. Portanto
é 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
com
se o método converge rápido (Newton), ou
se o método converge linearmente. Escolha
entre
e
conforme o problema (testes rápidos ajudam a ajustar).
Dicas práticas que sempre implementar:
- Impor um número máximo de iterações
para evitar loops infinitos. - Verificar também o resíduo (quando aplicável):
. - Usar tolerância absoluta pequena (por ex.
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
- Portanto
- Uma escolha prática para Newton seria, por exemplo,
Passo 6
Exemplo concreto: Newton para
- Problema: encontrar raiz da função
. A iteração de Newton é
- Critério escolhido: relativo combinado com
, ou seja:
- Iterações (valores aproximados):
-
. -
. -
. -
. -
(valor limite, em double).
-
- Diferenças relativas:
- entre
e : grande (não satisfaz). - entre
e : (não satisfaz). - entre
e : (não satisfaz). - entre
e : (satisfaz).
- entre
- Conclusão do exemplo: com
o método para pára em 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
como escala: criterions proporcionais a ou a 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
.