User Tools

Site Tools


calculo1:estabilidadedecomputacao

Erro de Aproximação, Estabilidade de computação

Problema: Considere a função $ f(x) = 5x+3.$ Qual é a precisão na entrada desta função para que a saída tenha erro menor do que $ 10^{-4}?$

Observem que o problema acima pode surgir num problema aplicado. por exemplo quando aumentamos as dimensões de uma figura na tela de computador (5 vezes maior) e gostaríamos de que a imagem resultante não seja de má qualidade. Somar com 3 pode representar uma translação que não implicaria nada na resolução!

Bom, se inserirmos $ x_1, x_2$ na função. Queremos saber quão pequena precisamos escolher $ |x_1-x_2|$ tal que $ |f(x_1) -f(x_2)| = |(5x_1 + 3) - (5x_2 +3)| \leq 10^{-4}$ ou seja

$ |5(x_1 - x_2)| \leq 10^{-4}.$ portanto é claro que se tivermos $ |x_1 - x_2| \leq 10^{-4}/5$ então teremos a precisão desejada na saída da função.

Exemplo:

Considere a função quadrática $ f(x) =x^2.$ Queremos saber qual é a precisão necessária de x para que o erro de aproximação de seu quadrado seja menor do que $ 10^{-3}.$

Neste exemplo não podemos dar uma resposta independente do x. Vamos analisar melhor: sejam $ x_1, x_2$ duas entradas da função e queremos determinar $ \delta$ tal que se $ |x_1 - x_2| \leq \delta$ então

$ |x_1^2 - x_2^2| \leq 10^{-3}$ ou equivalentemente $ |x_1 +x_2| |x_1 - x_2| \leq 10^{-3}$.

Observe que não existe algum $ \delta$ universal para satisfazer a desigualdade acima. Suponhamos que por absurdo exista tal $ \delta.$ Então, escolhemos $ x_1, x_2$ dois números maiores que $ \frac{1}{\delta}$ e que $ |x_1 - x_2| \leq \delta/2$. por exemplo, $ x_1 = 1/ \delta, x_2 = 1/ \delta + \delta /2.$ Assim, $ |x_1 - x_2| = \delta/2 < \delta$ e $ |x_1 + x_2| = 2/\delta + \delta/2$ e portanto

$ |x_1^2 - x_2^2| = (\frac{2}{\delta} + \frac{\delta}{2})(\frac{\delta}{2}) = 1 + \frac{\delta^2}{4}$. ou seja nunca $ |x_1^2 - x_2^2|$ será menor do que $ 10^{-3}!$

O que podemos fazer????

O ponto é que qualquer erro de aproximação de $ x$ acarreta um erro “perto” de dobro deste erro multiplicado por $ x$. Vamos ver isto usando álgerba! (assim que álgebra entra no mundo de aproximação!)

$ (x+h)^2 - x^2 = h^2 + 2hx$ ou seja o erro de calcular o quadrado de $x$, usando $ (x+h)^2$ é $ h^2 + 2hx$. Observe que se h é um número pequeno ($ < 1$) então $ h^2$ é menor ainda (os físicos as vezes até ignoram este termo!!!!! nós também, mas vamos fingir que não! :-X). Porém $ 2hx$ pode ser um número grande dependendo do $ x$.

Considere um problema específico: seja $ A= 15,a_1a_2a_3\cdots $ que os dígitos $ a_n$ são calculáveis com certo custo. Queremos saber quantos dígitos são necessários para que o erro de computação de $ A^2$ seja menor do que $ 10^{-3}.$

Ou seja queremos achar n tal que se $ A_n = 15,a_1a_2a_3\cdots a_n$ tenhamos certeza de que $ |A^2 - A_n^2| \leq 10^{-3}.$

Observe que $ |A-A_n| \leq 10^{-n}$ e já que A e $ A_n$ são menor do que 16,

$ |A^2 - A_n^2| = |A-A_n||A+A_n| \leq 32 \times 10^{-n}$. Portanto basta que

$ 32 \times 10^{-n} \leq 10^{-3}$ e assim $ 10^n \geq 32 \times 10^3$ e basta escolher $ n \geq 5.$

Exemplo:

Considere a função $ f: \{x \in \mathbb{R} : x > 0\} \rightarrow \mathbb{R}$ com regra $ f(x) = \frac{1}{x}$. Novamente gostariamos de saber qual é a precisão necessária para determinar x tal que o erro no cálculo de $ f(x)$ seja menor do que $ 10^{-3}.$ Neste caso, como exemplo anterior, a precisão necessária vai depender do x.

Se a diferença entre dois números grandes for $ 10^{-n}$ então a diferença entre seus inversos é pequeno. Porém se dois números pequenos tiverem diferença $ 10^{-n}$ suas inversas podem ser muito diferente. vamos ver o que queremos dizer com isto:

Seja $ x_1 = 10, x_2 = 10+10^{-3}$ então $ f(x_1) - f(x_2)$ é aproximadamente 0,000009999. Enquanto isto se $ x_1 = 10^{-3}, x_2 = 10^{-3} + 10^{-3}$ então $ f(x_1) - f(x_2) = 500$!

Olhem o gráfico da função f(x) para visualizar geometricamente o que descrevemos no parágrafo anterior.

O gráfica mostra que escolhendo dois números com a mesma distância resulta distantes diferentes entre suas inversas. Assim que, para números pequenos precisamos de ter precisão mais alta para ter um erro computacional fixo.

Por exemplo suponhamos que $ A = 0,02a_3a_4a_5\cdots $ queremos determinar $ \delta $ de tal maneira que se $ |A-A^{'}| \leq \delta$ então $ |\frac{1}{A} - \frac{1}{A^{'}}| \leq 10^{-2}.$ Observe que

$ |\frac{1}{A} - \frac{1}{A^{'}}| = \frac{|A-A^{'}|}{AA^{'}}$ e essa última fração mostra o cuidado que devemos ter na hora de escolher $ \delta$! se escolhermos o $ \delta = A$ podemos escolher $ A^{'}$ muito perto de zero e assim a fração $ \frac{|A-A^{'}|}{AA^{'}}$ vai ser enorme! Por isto primeiro escolhemos um número $ \delta_1$ menor do que A, tipo 0,02. Então se $ |A-A^{'}| < \delta_1$ já que $A \geq 0,02$ concluímos que $ A^{'} > 0,01.$ Sendo assim, se $ |A-A^{'}| < 10^{-2}$ obteremos

$ |\frac{1}{A} - \frac{1}{A^{'}}| < \frac{|A-A^{'}|}{0,01 \times 0,02} = \frac{10^4}{2} |A-A^{'}| $

Agora queremos que o lado direito da desigualdade acima seja menor do que $ 10^{-2}$ e portanto basta que $ |A-A^{'}| < 2 \times 10^{-6}.$

8-O Afinal das contas qual será a escolha da precisão $ \delta$?

Bom, basta escolhermos $ \delta= 2 \times 10^{-6}$ pois assim $ \delta < \delta_1$ e automaticamente todos os cálculos acima estarão corretos.

calculo1/estabilidadedecomputacao.txt · Last modified: 2022/03/08 14:22 by 127.0.0.1