O erro total de um número em aritmética de ponto flutuante é dado pelo erro nas parcelas mais o erro residual de cada operação. Dito isso, pede-se:
a) Diga quanto vale o erro relativo para u=(m+n) w / o supondo que o erro relativo dos números vale \frac{1}{2} \times 10^{-t+1} e usando o arredondamento.
b) Diga quanto vale o erro relativo para o mesmo u, mas agora supondo que os números são representados exatamente e usando o truncamento.
c) Se os valores aproximados para \mathrm{m}, \mathrm{n}, o e w valem, respectivamente, 10, 20, 30 e 40, calcule quanto valem os erros dos dois itens anteriores.

Passo 1

O enunciado pede três coisas e dá uma informação sobre erro nas representações:
  • Pedido (a): determinar o erro relativo em \,u=(m+n)w/o\, assumindo que os números (as representações de m,n,o,w) têm erro relativo igual a \dfrac{1}{2}\times 10^{-t+1} e que usamos arredondamento nas operações.
  • Pedido (b): determinar o erro relativo em \,u=(m+n)w/o\, agora supondo que os números são representados exatamente e que cada operação usa truncamento.
  • Pedido (c): com as aproximações m=10, n=20, o=30, w=40, calcular numericamente os erros correspondentes aos itens (a) e (b).
Informações úteis fornecidas:
  • Erro relativo máximo nas representações (no item a): \displaystyle \delta = \frac{1}{2}\times 10^{-t+1}.
  • No arredondamento, modela-se cada operação aritmética por um fator (1+\varepsilon) com |\varepsilon|\le \delta.
  • No truncamento (item b), o erro relativo por operação pode ser bounded por \displaystyle \delta_{\text{trunc}}=10^{-t+1}.
  • A sequência de operações considerada é: primeiro soma m+n, depois multiplica por w, depois divide por o. Vamos usar esse fluxo para modelar os erros.

Passo 2

Modelo de erro usado (explicando bem devagar, como numa prova):
  • Representação: se um número exato é x e sua representação é \tilde x, escrevemos \tilde x = x(1+e_x) com |e_x| sendo o erro relativo da representação.
  • Arredondamento/truncamento das operações: quando executamos uma operação aritmética (soma, subtração, multiplicação, divisão) com operandos exatos a e b, o valor armazenado da operação é modelado como \mathrm{fl}(a\\ \text{op}\\ b) = (a\\ \text{op}\\ b)\,(1+\varepsilon),onde \varepsilon é o erro relativo da operação e |\varepsilon| é limitado pela unidade de arredondamento (ou truncamento).
  • Para arredondamento com t dígitos em base 10, admitemos |\varepsilon|\le \delta com \delta=\dfrac{1}{2}\times 10^{-t+1}.
  • Para truncamento com t dígitos em base 10, admitemos |\varepsilon|\le \delta_{\text{trunc}}=10^{-t+1}.
  • Observação importante (cuidado com soma): o modelo multiplicativo acima é o modelo padrão de análise de erros (modelo de arredondamento), válido como bound de primeira ordem, desde que não ocorra cancelamento catastrófico na soma. Aqui assumimos situação não-catastrófica (os valores dados no item c são positivos, então não há cancelamento).

Passo 3

Vamos modelar passo a passo a computação com representações e arredondamento, com as notações:
  • representações iniciais: \tilde m = m(1+e_m), \tilde n = n(1+e_n), \tilde w = w(1+e_w), \tilde o = o(1+e_o) com |e_m|,|e_n|,|e_w|,|e_o|\le \delta.
  • operações aritméticas com erros: denotemos \varepsilon_1 o erro da soma (arredond.), \varepsilon_2 o erro da multiplicação, \varepsilon_3 o erro da divisão, com |\varepsilon_i|\le \delta para i=1,2,3.
  1. Soma interna:
\tilde s \equiv \mathrm{fl}(\tilde m+\tilde n) = (\tilde m+\tilde n)(1+\varepsilon_1).
Escrevendo \tilde m+\tilde n = (m+n) + (m e_m + n e_n), podemos colocar
\tilde m+\tilde n = (m+n)\bigl(1+\theta_1\bigr),
onde \displaystyle \theta_1=\frac{m e_m + n e_n}{m+n} e, pelo fato de |e_m|,|e_n|\le \delta e m,n\ge0, tem-se |\theta_1|\le \delta.
Logo
\tilde s = (m+n)(1+\theta_1)(1+\varepsilon_1).
  1. Multiplicação por \tilde w:
\tilde p \equiv \mathrm{fl}(\tilde s\cdot \tilde w) = \tilde s\cdot \tilde w\,(1+\varepsilon_2) = (m+n)w\,(1+\theta_1)(1+\varepsilon_1)(1+e_w)(1+\varepsilon_2).
  1. Divisão por \tilde o e arredondamento final:
\tilde u \equiv \mathrm{fl}\!\left(\frac{\tilde p}{\tilde o}\right) = \frac{\tilde p}{\tilde o}\,(1+\varepsilon_3) = \frac{(m+n)w}{o}\,(1+\theta_1)(1+\varepsilon_1)(1+e_w)(1+\varepsilon_2)\frac{1}{1+e_o}(1+\varepsilon_3).
Agora escrevemos a relação entre valor computado \tilde u e o verdadeiro u=(m+n)w/o:
\frac{\tilde u}{u} = (1+\theta_1)(1+\varepsilon_1)(1+e_w)(1+\varepsilon_2)(1+e_o)^{-1}(1+\varepsilon_3).
Para pequenos erros, usamos a expansão de primeira ordem (desprezando termos quadráticos como \varepsilon_1\varepsilon_2, etc.). Então o erro relativo total aproximado é a soma dos pequenos termos:
\frac{\tilde u - u}{u} \approx \theta_1 + \varepsilon_1 + e_w + \varepsilon_2 - e_o + \varepsilon_3.
Tomando módulos e usando |\theta_1|\le \delta, |\varepsilon_i|\le \delta, |e_w|\le \delta, |e_o|\le \delta, obtemos o bound
\left|\frac{\tilde u - u}{u}\right| \le 6\,\delta.
Substituindo \delta=\dfrac{1}{2}\times 10^{-t+1},
\boxed{\text{(a) }\\ \text{erro relativo} \le 6\cdot\frac{1}{2}\times 10^{-t+1} = 3\cdot 10^{-t+1}.}
Comentário intuitivo: os seis termos são (i) erro de representação combinada da soma \theta_1, (ii) erro de arredondamento da soma \varepsilon_1, (iii) erro de representação de w ( e_w), (iv) erro de arredondamento da multiplicação \varepsilon_2, (v) erro de representação de o (entra com sinal negativo, mas em módulo contribui |e_o|), (vi) erro de arredondamento da divisão \varepsilon_3. Cada um tem magnitude \le \delta.

Passo 4

Agora os números m,n,o,w são representados exatamente, isto é e_m=e_n=e_w=e_o=0. Usa-se truncamento nas operações, cujo erro relativo por operação satisfaz |\varepsilon_i|\le \delta_{\text{trunc}}=10^{-t+1}.
Repetindo o modelo das operações (mas sem erros de representação), obtemos
\frac{\tilde u}{u} = (1+\varepsilon_1)(1+\varepsilon_2)(1+\varepsilon_3),
e, a primeira ordem,
\frac{\tilde u - u}{u} \approx \varepsilon_1 + \varepsilon_2 + \varepsilon_3.
Portanto, em módulo,
\left|\frac{\tilde u - u}{u}\right| \le 3\,\delta_{\text{trunc}} = 3\cdot 10^{-t+1}.
Assim:
\boxed{\text{(b) }\\ \text{erro relativo} \le 3\cdot 10^{-t+1}.}
Observação: o fator 3 vem das três operações aritméticas (soma, multiplicação, divisão). Em truncamento cada operação pode errar até 10^{-t+1} em relativo; em arredondamento os erros por operação eram no máximo \tfrac{1}{2}10^{-t+1}, mas havia também erros de representação iniciais em (a), e o balanço final levou ao mesmo fator numérico 3\cdot 10^{-t+1} para estes dados do problema.

Passo 5

Primeiro calculemos o valor exato (com os números indicados) do ideal u:
u = \frac{(m+n)w}{o} = \frac{(10+20)\cdot 40}{30} = \frac{30\cdot 40}{30} = 40.
Agora multiplicamos o bound de erro relativo por |u| para obter o bound de erro absoluto.
  • Para (a): erro relativo \le 3\cdot 10^{-t+1}. Assim o erro absoluto satisfaz
    |\tilde u - u| \le |u|\cdot 3\cdot 10^{-t+1} = 40\cdot 3\cdot 10^{-t+1} = 120\cdot 10^{-t+1}.
  • Para (b): erro relativo \le 3\cdot 10^{-t+1} também. O erro absoluto é o mesmo:
    |\tilde u - u| \le 40\cdot 3\cdot 10^{-t+1} = 120\cdot 10^{-t+1}.
Portanto, numericamente, com os valores dados, ambos os bounds de erro absoluto dão o mesmo número em função de t.

Resposta

(a) \displaystyle \left|\frac{\tilde u - u}{u}\right| \le 3\cdot 10^{-t+1}.
(b) \displaystyle \left|\frac{\tilde u - u}{u}\right| \le 3\cdot 10^{-t+1}.
(c) Com m=10,\\ n=20,\\ o=30,\\ w=40 e u=40: erro absoluto (a) \le 120\cdot 10^{-t+1}; erro absoluto (b) \le 120\cdot 10^{-t+1}.

Exercícios relacionados