Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 ·...

430
Condicionamento de algoritmos Condicionamento de algoritmos Prof o : Eduardo Abreu - IMECC - DMA UNICAMP/IMECC - 1 o Semestre 2016 Slides originalmente preparados para o curso MS211 - CÆlculo NumØrico 1 / 430

Transcript of Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 ·...

Page 1: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Condicionamento de algoritmos

Profo: Eduardo Abreu - IMECC - DMA

UNICAMP/IMECC - 1o Semestre 2016Slides originalmente preparados para o curso

MS211 - Cálculo Numérico

1 / 430

Page 2: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

O curso Cálculo NumérioInício Previsto pelo Calendário DAC/UNICAMP

– Ementa, Critérios de avaliação e Referências bibliográficas

– Linguagens de programação

2 / 430

Page 3: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

O curso (Ementa, Critérios de avaliação e Referênciasbibliográficas)

3 / 430

Page 4: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

Ementa (Tópicos)

1) Impacto da Computação em Precisão Finita: Aritméticade Ponto Flutuante e Erros em Operações Numéricas.(Perda de dígitos significativos e Condicionamento dealgoritmos). Teorema de Taylor.

2) Zeros reais de Funções Reais (equações não-lineares -escalar): Método da bissecção. Método de Newton.Método da Secante (um método do tipo “quase-Newton”).

3) Resolução de Sistemas Lineares - Métodos diretos:Eliminação de Gauss e Decomposição LU. Métodositerativos: Gauss-Jacobi e Gauss-Seidel.

4) Resolução de Sistemas não Lineares: Método deNewton para sistemas. 4 / 430

Page 5: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

5) Resolução numérica de equações diferenciaisordinárias. Problemas de valor inicial: método de Euler,métodos de série de Taylor e de Runge-Kutta. Equaçõesde ordem superior. Problemas de valor de contorno:método das diferenças finitas.

6) Aproximação: Ajuste de curvas via método dosquadrados mínimos (quadrados mínimos lineares elinearizáveis).

7) Aproximação: Interpolação polinomial. Formas deLagrange e de Newton. Erro de interpolação. Interpolaçãolinear por partes (Spline linear).

8) Integração Numérica: Fórmulas de Newton-Cotes eQuadratura Gaussiana.

5 / 430

Page 6: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

Critérios de avaliação

No semestre, serão aplicadas DUAS provas:

- A primeira prova P1 versará sobre os tópicos de 1 a 4 daementa.

- Enquanto que a segunda prova P2 abrangeráprincipalmente os tópicos de 5 a 8.

Outra avaliação MT (projetos, listas de exercícios, testesem sala de aula, etc.), a critério do professor tambémserá utilizada para compor a nota do aluno.http://www.ime.unicamp.br/∼ms211-cursao/

6 / 430

Page 7: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

- Cálculo da média final: M = (P1 + P2 + MT)/3,

P1 e P2 são as notas das provas 1 e 2, respectivamente, eMT é a nota do projeto.

Se M >= 7.0 e o aluno tiver pelo menos 75% de presença,então o aluno está aprovado e dispensado do exame,sendo sua média final MF = M.

Agora, se M < 7.0 e se a frequência nas aulas for superiora 75%, então o aluno deverá, obrigatoriamente, fazer oexame. Neste caso, sua média final será calculada comoMF = (M + E)/2, onde E é a nota do exame.

Se MF < 5.0 o aluno estará reprovado na disciplina deCálculo Numérico.

7 / 430

Page 8: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

Na realização das provas:

- Datas das provas e do exame verhttp://www.ime.unicamp.br/∼ms211-cursao/

1.) É obrigatória a apresentação da identidade estudantil.2.) O aluno deve trazer sua calculadora, não poderá usar

calculadoras de aparelhos celulares.3.) O aluno que faltar a uma das provas tem um prazo de 15

dias, a partir da data da prova, para entregar ao professorresponsável da turma os documentos que justifiquem estafalta, de acordo com o artigo 72 do Regimento Geral daGraduação (UNICAMP).

Monitoria de Cálculo Numérico (Horários)- Existem monitores PAD e PED, em horários diversos- Consultar http://www.ime.unicamp.br/∼ms211-cursao/ 8 / 430

Page 9: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

Referências bibliográficas

- Márcia A. Gomes Ruggiero e Vera Lúcia da Rocha Lopes,Cálculo Numérico, Pearson Education do Brasil, SãoPaulo, segunda edição, 2000.

- Maria Cristina Cunha, Métodos Numéricos para asEngenharias e Ciências Aplicadas, Editora da Unicamp,Campinas, segunda edição, 2003.

- Análise Numérica, R. L. Burden e J. D. Faires. EditoraPioneira, 2003.

- Numerical Computing with MatLab, Cleve B. Moler, EditoraSIAM, 2004. (Capítulos 1 a 7).

9 / 430

Page 10: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

Referências bibliográficas (consulta adicional)

- Arieh Iserles, A first course in the numerical analysis ofdifferential equations. U.K.: Cambridge University Press,2009.

- K. Atkinson, Theoretical numerical analysis: a functionalanalysis framework, 3rd ed, 2010.

- E. Hairer, S.P. Norsett, G. Wanner., Solving ordinarydifferential equations I: nonstiff problems I., ed. 2009.

- E. Hairer, S.P. Norsett, G. Wanner., Solving ordinarydifferential equations I: stiff differential - algebraic problemsII, ed. 2010.

10 / 430

Page 11: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

Referências bibliográficas (consulta adicional)

- David Kincaid e Ward Cheney, Numerical Analysis,Brooks-Cole, 1991.

- J. D., Lambert, Numerical methods for ordinary differentialsystems: the initial value problem, U.K.: John Wiley, 1991.

- G. Hammerlin e K.-H. Hoffmann, Numerical mathematics(translated by Larry Schumaker) Springer, 1991; New York,N.Y.: Série (Undergraduate texts in mathematics)

- J. W. Demmel, Applied numerical linear algebra, SIAM -Society for Industrial and Applied Mathematics, 1997.

11 / 430

Page 12: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

Referências bibliográficas (consulta adicional)

- Numerical methods for special functions, Amparo Gil,Javier Segura, Nico M. Temme. Philadelphia, PA: SIAM,2007.

- John H. Mathews e Kurtis D. Fink, Numerical MethodsUsing MATLAB, Pearson Prentice Hall, quarta edição,2007.

- D. Hanselman e B. Littlefield, MATLAB 6 - Curso completo,Pearson Education do Brasil, São Paulo, segunda edição,2003.

12 / 430

Page 13: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

IMPORTANTE:

A biblioteca do IMECC tem TODOS os livros indicados.

Esses livros abrangem a ementa do curso de CálculoNumérico1, em diferentes níveis de profundidade e nosdois relevantes aspectos:– teórico (fundamentação matemática) e– prático (aplicações computacionais)

1O material presente neste arquivo foi elaborado com base na bibliografiaanteriomente indicada para o curso de Cálculo Numérico MS211. Críticas,Sugestões ou comentários são bem-vindos, [email protected]

13 / 430

Page 14: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

Linguagens de programação

14 / 430

Page 15: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

A que for mais confortável para vocês

Por exemplo:

- Interpretadas (alto nível): Matlab, Maple, Mathematica,etc...

- Compiladas (baixo nível): C, C++, FORTRAN, PASCAL,etc...

15 / 430

Page 16: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 00

Lembrandro...

Informações sobre o curso MS211:– Ementa,– Critérios de avaliação e– Referências bibliográficas,

estão disponíveis emhttp://www.ime.unicamp.br/∼ms211-cursao/

16 / 430

Page 17: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Tópico 01

Aritmética de Ponto Flutuante e Erros em OperaçõesNuméricas. (Perda de dígitos significativos eCondicionamento de algoritmos). Teorema de Taylor.

17 / 430

Page 18: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Impacto da Computação em Precisão Finita:

– Perda de Dígitos Significativos- Tipos de erros e incertezas- Sistema de Numeração Utilizado pelo Computador- Representação de números no sistema F (β, t ,m,M)

- Operações aritméticas em ponto flutuante

– Condicionamento de algoritmos - efeitos numéricos- Cancelamento- Propagação do erro- Instabilidade numérica- Mal condicionamento

– Exemplos de “desastres numéricos” (ou falha humana ?)18 / 430

Page 19: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

- Tipos de erros e incertezas

19 / 430

Page 20: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

FIG 1. TIPOS DE ERROS E INCERTEZAS

20 / 430

Page 21: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

FIG 1. TIPOS DE ERROS E INCERTEZAS

Erro (incerteza) nos dados de entrada/medidos→ 574,39 ± 0,28 mm→ 143,57 ± 0,71 ml→ 95,27 ± 0,46 Kg→ 127,00 ± 2,54 Volts→ Censo populacional (altura, peso, etc...)→ Economia de um país

21 / 430

Page 22: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

FIG 1. TIPOS DE ERROS E INCERTEZAS

Erro na simplificação do modelo matemáticoEXEMPLO: Modelagem de Sistemas ComplexosProcessos na vida real são inerentemente multi-física emulti-escala (no tempo e espaço)

→ Dinâmica de fluidos→ Astrofísica→ Processos físico-químicos→ Sistemas biológicos (e.g., humano)

22 / 430

Page 23: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

FIG 1. TIPOS DE ERROS E INCERTEZAS

Erro de arredondamentoErro de truncamento

Neste curso estamos interessados nos dois últimos(perda de dígitos significativos no contexto de ariméticade ponto flutuante), i.e., entender sua fonte, propagação,magnitude, e a taxa de crescimento e a quantificaçãodesses erros.

23 / 430

Page 24: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO (Erro de arredondamento)

Vamos resolver, de duas formas, para as variáveis x e y ,o seguinte sistema linear 2 × 2 de equações:

0.1036x + 0.2122y = 0.73810.2081x + 0.4247y = 0.9327

24 / 430

Page 25: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

(1) Vamos considerar somente três dígitos significativosde precisão nos cálculos.

25 / 430

Page 26: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Lembrete: Dígitos significativos são dígitos que iniciamcom o dígito não nulo mais à esquerda e terminam com odígito mais correto à direita

EXEMPLOS

0.0035→ 0.35× 10−2 tem dois dígitos significativos

0.03017→ 0.3017× 10−1 tem quatro dígitos significativos

0.33011→ 0.33011× 100 tem cinco dígitos significativos

0.0001469→ 0.1469× 10−3 tem quatro dígitossignificativos

26 / 430

Page 27: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO (Erro de arredondamento)Procedimento: Vamos arredondar todos os números noproblema original para três dígitos significativos e, a cadaetapa, arredondar todos os cálculos mantendo somentetrês dígitos significativos.

L1 : 0.1036x + 0.2122y = 0.7381L2 : 0.2081x + 0.4247y = 0.9327

Fazendo o arredondamento · · ·

0.104x + 0.212y = 0.738 L1 ← L10.208x + 0.425y = 0.933 L2 ← L2

27 / 430

Page 28: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO (Erro de arredondamento)Procedimento: Vamos arredondar todos os números noproblema original para três dígitos significativos e, a cadaetapa, arredondar todos os cálculos mantendo somentetrês dígitos significativos.

0.104x + 0.212y = 0.738 L1 ← L10.208x + 0.425y = 0.933 L2 ← L2 − αL1

O multiplicador α =0.2080.104

≈ 2.00,

0.104x + 0.212y = 0.7380.001y = −0.547

28 / 430

Page 29: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO (Erro de arredondamento)Procedimento: Vamos arredondar todos os números noproblema original para três dígitos significativos e, a cadaetapa, arredondar todos os cálculos mantendo somentetrês dígitos significativos.

0.104x + 0.212y = 0.738 L1 ← L10.208x + 0.425y = 0.933 L2 ← L2 − αL1

O multiplicador α =0.2080.104

≈ 2.00,

0.104x + 0.212y = 0.7380.001y = −0.547

Solução: y = −0.5470.001

≈ −547 e x ≈ 0.111× 104.

29 / 430

Page 30: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO (Erro de arredondamento)

(2) Vamos agora repetir os mesmos cálculos com quatrodígitos significativos para o sistema original:

0.1036x + 0.2122y = 0.73810.2081x + 0.4247y = 0.9327

30 / 430

Page 31: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO (Erro de arredondamento)

0.1036x + 0.2122y = 0.7381 L1 ← L10.2081x + 0.4247y = 0.9327 L2 ← L2 − αL1

O multiplicador α =0.20810.1036

≈ 2.009,

31 / 430

Page 32: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO (Erro de arredondamento)

0.1036x + 0.2122y = 0.7381 L1 ← L10.2081x + 0.4247y = 0.9327 L2 ← L2 − αL1

O multiplicador α =0.20810.1036

≈ 2.009,

0.1036x + 0.2122y = 0.7381−0.0016y = −0.5503

32 / 430

Page 33: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO (Erro de arredondamento)

0.1036x + 0.2122y = 0.7381 L1 ← L10.2081x + 0.4247y = 0.9327 L2 ← L2 − αL1

O multiplicador α =0.20810.1036

≈ 2.009,

0.1036x + 0.2122y = 0.7381−0.0016y = −0.5503

Solução: y =−0.5503−0.0016

≈ 342.9 e x ≈ 695.2.

A resposta mudou de y = −547 para y = 343.9 !!!

A “pertubação” de UM dígito significativo fez MUITAdiferença !!

33 / 430

Page 34: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exemplos (Erro de truncamento)

Cálculo de e0.1, sen(0.1) e cos(0.1) usando série deTaylor:

ex = 1 + x +x2

2!+

x3

3!+ · · ·+ xn

n!+ · · ·

sen x = x − x3

3!+

x5

5!+ · · ·+ (−1)n x2n+1

(2n + 1)!+ · · ·

cos x = 1− x2

2!+

x4

4!+ · · ·+ (−1)n x2n

(2n)!+ · · ·

Com a ferramenta matemática “série de Taylor”, podemosescrever, por exemplo, funções trigonométricas,exponenciais, logarítmicas em POLINÔMIOS

34 / 430

Page 35: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Função seno de x e aproximações de série de Taylor compolinômios de grau 1, 3, 5, 7, 9, 11 e 13.

35 / 430

Page 36: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLOS (Erro de truncamento)

Para o cálculo efetivo (na prática) de e0.1, sen(0.1) ecos(0.1) precisamos truncar a série (uso de um númerofinito de termos).

Pela fórmula do erro Rn(x) =f (n+1)(z)

(n + 1)!(x − c)n+1 temos

que os respectivos erros 0 ≤ x ≤ 0.1 (c = 0) serãoinferiores a (com os dois primeiros termos):

Erros|x |2

2!,|x |5

5!e|x |4

4!.

Sob as hipóteses do teorema de Taylor, temos umafórmula explícita para o erro cometido na aproximação !!!

36 / 430

Page 37: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

FIG 1. TIPOS DE ERROS E INCERTEZAS

Representação de números reais com um númerofínito de dígitos significativos

Neste curso também vamos levar em conta esse tipo deerro.

37 / 430

Page 38: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erro de Representação I→ Depende da capacidade de representação numérica da

máquina disponível (e do “tempo” disponível para efetuaros cálculos)

π = 3.14159π = 3.14159265358979323π = 3.1415926535897932384626433832795028841 · · ·

43

= 1.33333333 · · ·

√3 = 1.7320508075688772935274463415058723669 · · ·

38 / 430

Page 39: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erro de Representação II→ Um número pode ter uma representação finita (e precisa)

em uma base e não finita em outra base (isto independeda máquina utilizada !!!)

(3.8)10 = (11.110011001100)2

(0.1)10 = (0.0001100110011)2

39 / 430

Page 40: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Lembrete: Regra de conversão de base

EXEMPLO (3.75)10 = (11.11)2

40 / 430

Page 41: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Lembrete: Regra de conversão de base

EXEMPLO (3.75)10 = (11.11)2

Calcule:

(1101)2 = ( ? )10

(0.110)2 = ( ? )10

41 / 430

Page 42: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para manter uma resposta precisa deve-se realizar ascontas com máxima precisão ao longo dos cálculosintermediários e somente realizar algum procedimento dearredondamento no final

É importante usar técnicas de aproximação que nospermitam quantificar o erro que cometemos nos cálculos(isso é a regra em qualquer teoria de aproximação !)

Com o objetivo de medir os erros de truncamento earredondamento nos cálculos numéricos, vamos discutiros erros:

Absoluto, relativo e percentual.

42 / 430

Page 43: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros Absoluto, relativo e percentual

Suponha que x e x∗ são dois números, sendo um delesuma aproximação do outro.

O erro de x∗ como uma aproximação de x é x − x∗.

O erro absoluto de x∗ como uma aproximação de x édefinido por:

EAx ≡ |x − x∗|

43 / 430

Page 44: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Suponha que x e x∗ são dois números, sendo um delesuma aproximação do outro

O erro de x∗ como uma aproximação de x é x − x∗

O erro absoluto de x∗ como uma aproximação de x édefinido por:

EAx ≡ |x − x∗|

EXEMPO: Considere os números 30.1358 e 1.1358

44 / 430

Page 45: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Suponha que x e x∗ são dois números, sendo um delesuma aproximação do outro

O erro de x∗ como uma aproximação de x é x − x∗

O erro absoluto de x∗ como uma aproximação de x édefinido por:

EAx ≡ |x − x∗|

EXEMPO: Considere os números 30.1358 e 1.1358

Sejam 30.0000 e 1, respectivamente, aproximações de30.1358 e 1.1358

45 / 430

Page 46: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

O erro absoluto de 30.0000, como uma aproximação de30.1358, é:|30.1358− 30.0000| = 0.1358

46 / 430

Page 47: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

O erro absoluto de 30.0000, como uma aproximação de30.1358, é:|30.1358− 30.0000| = 0.1358

Note que o erro absoluto de 1, como uma aproximação de1.1358, é:|1.1358− 1| = 0.1358

47 / 430

Page 48: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

O erro absoluto de 30.0000, como uma aproximação de30.1358, é:|30.1358− 30.0000| = 0.1358

Note que o erro absoluto de 1, como uma aproximação de1.1358, é:|1.1358− 1| = 0.1358

Claramente observamos que os erros absolutos são osmesmos.

48 / 430

Page 49: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

O erro absoluto de 30.0000, como uma aproximação de30.1358, é:|30.1358− 30.0000| = 0.1358

Note que o erro absoluto de 1, como uma aproximação de1.1358, é:|1.1358− 1| = 0.1358

Claramente observamos que os erros absolutos são osmesmos.

Pergunta: Mas, com base nos erros absolutos, podemosdizer que 30.0000 e 1 representam aproximações com amesma precisão ?

49 / 430

Page 50: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para responder a pergunta, precisamos comparar a ordemde grandeza (o peso) dos erros absolutos com osrespectivos valores exatos (sempre quando disponíveis).

50 / 430

Page 51: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para responder a pergunta, precisamos comparar a ordemde grandeza (o peso) dos erros absolutos com osrespectivos valores exatos.

Vamos comparar por meio do erro relativo.

51 / 430

Page 52: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para responder a pergunta, precisamos comparar a ordemde grandeza (o peso) dos erros absolutos com osrespectivos valores exatos.

Vamos comparar por meio do erro relativo.

O erro relativo de x∗ como uma aproximação de x édefido por:

ERx ≡|x − x∗||x |

52 / 430

Page 53: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para responder a pergunta, precisamos comparar a ordemde grandeza (o peso) dos erros absolutos com osrespectivos valores exatos.

Vamos comparar por meio do erro relativo.

O erro relativo de x∗ como uma aproximação de x édefido por:

ERx ≡|x − x∗||x |

O erro relativo2 não está definido para o caso x = 0.2Em alguns livros o erro é definido com o sinal oposto ao que é usado

aqui. Tipicamente não faz quase diferença alguma a convenção que seutiliza, desde que o seja de forma consistente ao longo de todo o texto. Noteque x − x∗ é a correção que deve ser adicionada ao valor de x∗ paraeliminar do erro. A “correção” e o “erro absoluto” têm a mesma magnitude,mas podem ter sinais diferentes.

53 / 430

Page 54: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Então temos que:

|30.1358− 30.0000|30.1358

= 0.004506268

|1.1358− 1|1.1358

= 0.119563303

54 / 430

Page 55: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Então temos que:

|30.1358− 30.0000|30.1358

= 0.004506268

|1.1358− 1|1.1358

= 0.119563303

Ou ainda, pelo erro relativo percentual,|30.1358− 30.0000|

30.1358= 0.004506268 ≈ 0.45%

|1.1358− 1|1.1358

= 0.119563303 ≈ 11.96%

55 / 430

Page 56: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Então temos que:

|30.1358− 30.0000|30.1358

= 0.004506268

|1.1358− 1|1.1358

= 0.119563303

Ou ainda, pelo erro relativo percentual,|30.1358− 30.0000|

30.1358= 0.004506268 ≈ 0.45%

|1.1358− 1|1.1358

= 0.119563303 ≈ 11.96%

Portanto, devemos utilizar o erro relativo para obter umamelhor informação sobre a precisão das aproximações esuas ordens de grandeza.

56 / 430

Page 57: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

- Sistema de Numeração Utilizado pelo Computador

57 / 430

Page 58: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Fato: O conjunto dos números representáveis emqualquer máquina é finito.

58 / 430

Page 59: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Fato: O conjunto dos números representáveis emqualquer máquina é finito.

Ou seja, não é possível representar em uma máquinatodos os números de um dado intervalo [a,b], a < b.

OBS.: Como vimos anteriormente, no exemplo daresolução de sistemas lineares, a implicação desse fato éque o resultado de uma simples operação aritmética ouo cálculo de uma função, realizadas com essesnúmeros, podem conter erros.

59 / 430

Page 60: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Representação de números em ponto flutuanteNORMALIZADO

Dado um número real, x 6= 0, este será representado emponto flutuante por:

±0.d1d2d3 · · · dt × βe, onde

60 / 430

Page 61: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Representação de números em ponto flutuanteNORMALIZADO

Dado um número real, x 6= 0, este será representado emponto flutuante por:

±0.d1d2d3 · · · dt × βe, onde

β é a base de operações aritméticas da máquina

61 / 430

Page 62: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Representação de números em ponto flutuanteNORMALIZADO

Dado um número real, x 6= 0, este será representado emponto flutuante por:

±0.d1d2d3 · · · dt × βe, onde

β é a base de operações aritméticas da máquinae é o expoente, −m ≤ e ≤ M (m,M ∈ N)

62 / 430

Page 63: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Representação de números em ponto flutuanteNORMALIZADO

Dado um número real, x 6= 0, este será representado emponto flutuante por:

±0.d1d2d3 · · · dt × βe, onde

β é a base de operações aritméticas da máquinae é o expoente, −m ≤ e ≤ M (m,M ∈ N)t é o número de dígitos da mantissa, d1 6= 0,

0 ≤ di < β, i = 1,2,3 · · · t .

63 / 430

Page 64: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Representação de números em ponto flutuanteNORMALIZADO

Dado um número real, x 6= 0, este será representado emponto flutuante por:

±0.d1d2d3 · · · dt × βe, onde

β é a base de operações aritméticas da máquinae é o expoente, −m ≤ e ≤ M (m,M ∈ N)t é o número de dígitos da mantissa, d1 6= 0,

0 ≤ di < β, i = 1,2,3 · · · t .

→ O número 0 (zero) pertence a qualquer sistema

64 / 430

Page 65: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Por simplicidade,

±0.d1d2d3 · · · dt × βe, d1 6= 0, −m ≤ e ≤ M,será representado por F (β, t ,m,M)

65 / 430

Page 66: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Por simplicidade,

±0.d1d2d3 · · · dt × βe, d1 6= 0, −m ≤ e ≤ M,será representado por F (β, t ,m,M)

EXEMPLO (considere o sistema F (10,3,2,2)).

66 / 430

Page 67: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Por simplicidade,

±0.d1d2d3 · · · dt × βe, d1 6= 0, −m ≤ e ≤ M,será representado por F (β, t ,m,M).

EXEMPLO (considere o sistema F (10,3,2,2)). Ou seja,um número neste sistema será dado por:±0.d1d2d3 × 10e, −2 ≤ e ≤ 2,

0 ≤ di < 10, i = 1,2,3, d1 6= 0.

67 / 430

Page 68: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Por simplicidade,

±0.d1d2d3 · · · dt × βe, d1 6= 0, −m ≤ e ≤ M,será representado por F (β, t ,m,M).

EXEMPLO (considere o sistema F (10,3,2,2)). Ou seja,um número neste sistema será dado por:±0.d1d2d3 × 10e, −2 ≤ e ≤ 2,

0 ≤ di < 10, i = 1,2,3, d1 6= 0.

Vamos representar os números +3.51, −12.345678,−6.287, +7.284, −0.0003 e 5398.2, no sistemaF (10,3,2,2).

68 / 430

Page 69: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

+3.51 = +0.351× 101 (exato).

69 / 430

Page 70: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

+3.51 = +0.351× 101 (exato).

−12.345678 = −0.123× 102 (perda de dígitossigniticativos).

70 / 430

Page 71: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

+3.51 = +0.351× 101 (exato).

−12.345678 = −0.123× 102 (perda de dígitossigniticativos).

−6.287 = −0.628× 101 (perda de dígito signiticativo).

71 / 430

Page 72: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

+3.51 = +0.351× 101 (exato).

−12.345678 = −0.123× 102 (perda de dígitossigniticativos).

−6.287 = −0.628× 101 (perda de dígito signiticativo).

+7.284 = +0.728× 101 (perda de dígito signiticativo).

72 / 430

Page 73: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

+3.51 = +0.351× 101 (exato).

−12.345678 = −0.123× 102 (perda de dígitossigniticativos).

−6.287 = −0.628× 101 (perda de dígito signiticativo).

+7.284 = +0.728× 101 (perda de dígito signiticativo).

−0.0003 = −0.3× 10−3. Expoente −3 < −2.Neste caso temos um underflow, i.e., quando o resultadoé muito pequeno para ser representado em um dadosistema.

73 / 430

Page 74: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

+3.51 = +0.351× 101 (exato).

−12.345678 = −0.123× 102 (perda de dígitossigniticativos).

−6.287 = −0.628× 101 (perda de dígito signiticativo).

+7.284 = +0.728× 101 (perda de dígito signiticativo).

−0.0003 = −0.3× 10−3. Expoente −3 < −2.Neste caso temos um underflow, i.e., quando o resultadoé muito pequeno para ser representado em um dadosistema.

+5398.2 = +0.539× 104. Expoente 4 > 2.Neste caso temos um overflow, i.e., quando o resultado émuito grande para ser representado em um dado sistema. 74 / 430

Page 75: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Representação de números no sistema F (β, t ,m,M)

75 / 430

Page 76: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Representação de números no sistema F (β, t ,m,M)

→ Sabemos que os números reais podem ser representadospor uma reta contínua.

→ Entretanto, em ponto flutuante podemos representarapenas pontos discretos da reta real.

76 / 430

Page 77: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Representação de números no sistema F (β, t ,m,M)

→ Sabemos que os números reais podem ser representadospor uma reta contínua.

→ Entretanto, em ponto flutuante podemos representarapenas pontos discretos da reta real.

Pergunta: Quantos e quais números podem serrepresentados no sistema F (2,3,1,2) ?

77 / 430

Page 78: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Solução: Para F (2,3,1,2), temos que β = 2, então osdígitos podem ser 0 ou 1 (0 ≤ di < β).

Além disso, m = 1 e M = 2, então −1 ≤ e ≤ 2 et = 3, o número de dígitos significativos.

Assim, os números são da forma: ±0.d1d2d3 × βe

78 / 430

Page 79: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Solução: Para F (2,3,1,2), temos que β = 2, e que osdígitos di podem ser 0 ou 1 (0 ≤ di < β).

Além disso, m = 1 e M = 2, então −1 ≤ e ≤ 2 et = 3, o número de dígitos significativos.

Assim, os números são da forma: ±0.d1d2d3 × βe

possibilidades para o sinal (+ ou −): 2possibilidades para d1 (d1 6= 0): 1possibilidades para d2 (0 ou 1): 2possibilidades para d3 (0 ou 1): 2possibilidades para βe (β = 2, e = −1,0,1,2): 4

79 / 430

Page 80: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Solução: Para F (2,3,1,2), temos que β = 2, então osdígitos podem ser 0 ou 1 (0 ≤ di < β).

Além disso, m = 1 e M = 2, então −1 ≤ e ≤ 2 et = 3, o número de dígitos significativos.

Assim, os números são da forma: ±0.d1d2d3 × βe

possibilidades para o sinal (+ ou −): 2possibilidades para d1 (d1 6= 0): 1possibilidades para d2 (0 ou 1): 2possibilidades para d3 (0 ou 1): 2possibilidades para βe (β = 2, e = −1,0,1,2): 4

Fazendo o produto: 2× 1× 2× 2× 4 = 3280 / 430

Page 81: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Como o 0 (zero) faz parte de qualquer sistema, podemosrepresentar 33 números no sistema F (2,3,1,2).

81 / 430

Page 82: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Como o 0 (zero) faz parte de qualquer sistema, podemosrepresentar 33 números no sistema F (2,3,1,2).

Quais são os números ?

82 / 430

Page 83: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Como o 0 (zero) faz parte de qualquer sistema, podemosrepresentar 33 números no sistema F (2,3,1,2).

Quais são os números ?

As formas da mantissa: 0.100, 0.101, 0.110 e 0.111As formas de βe são: 2−1, 20, 21 e 22

83 / 430

Page 84: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Como o 0 (zero) faz parte de qualquer sistema, podemosrepresentar 33 números no sistema F (2,3,1,2).

Quais são os números ?

As formas da mantissa: 0.100, 0.101, 0.110 e 0.111As formas de βe são: 2−1, 20, 21 e 22

Além do 0 (zero), obtemos então os seguintes números:

84 / 430

Page 85: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Como o 0 (zero) faz parte de qualquer sistema, podemosrepresentar 33 números no sistema F (2,3,1,2).

Quais são os números ?

As formas da mantissa: 0.100, 0.101, 0.110 e 0.111As formas de βe são: 2−1, 20, 21 e 22

Além do 0 (zero), obtemos então os seguintes números:× 2−1 20 21 22

±0.100 ±0.25 ±0.5 ±1.0 ±2.0±0.101 ±0.3125 ±0.625 ±1.25 ±2.5±0.110 ±0.375 ±0.750 ±1.5 ±3.0±0.111 ±0.4375 ±0.875 ±1.75 ±3.5

85 / 430

Page 86: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Como o 0 (zero) faz parte de qualquer sistema, podemosrepresentar 33 números no sistema F (2,3,1,2).

As formas da mantissa: 0.100, 0.101, 0.110 e 0.111As formas de βe são: 2−1, 20, 21 e 22

Além do 0 (zero), obtemos então os seguintes números:× 2−1 20 21 22

±0.100 ±0.25 ±0.5 ±1.0 ±2.0±0.101 ±0.3125 ±0.625 ±1.25 ±2.5±0.110 ±0.375 ±0.750 ±1.5 ±3.0±0.111 ±0.4375 ±0.875 ±1.75 ±3.5

Fato: Com base nos modelos existentes (viáveis) dearitmética de ponto flutuante sempre teremos paraquaisquer t , m e M, um sistema finito de números !!!

86 / 430

Page 87: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para exemplificar um pouco mais as limitaçõesencontradas nos computadores, considere o seguinteexemplo.

87 / 430

Page 88: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para exemplificar um pouco mais as limitaçõesencontradas nos computadores, considere o seguinteexemplo.

EXEMPLO. Seja f (x) uma função contínua real, definidano intervalo [a,b], a < b. Sejam f (a) < 0 e f (b) > 0.

88 / 430

Page 89: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para exemplificar um pouco mais as limitaçõesencontradas nos computadores, considere o seguinteexemplo.

EXEMPLO. Seja f (x) uma função contínua real, definidano intervalo [a,b], a < b. Sejam f (a) < 0 e f (b) > 0.

Então de acordo com o teorema do valor intermediário,existe x ∈ [a,b] tal que f (x) = 0.

89 / 430

Page 90: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para exemplificar um pouco mais as limitaçõesencontradas nos computadores, considere o seguinteexemplo.

EXEMPLO. Seja f (x) uma função contínua real, definidano intervalo [a,b], a < b. Sejam f (a) < 0 e f (b) > 0.

Então de acordo com o teorema do valor intermediário,existe x ∈ [a,b] tal que f (x) = 0.

Seja f (x) = x3 − 3 , x ∈ [ak ,bk ] ⊂ [a,b], k = 1,2,3, · · ·

90 / 430

Page 91: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para exemplificar um pouco mais as limitaçõesencontradas nos computadores, considere o seguinteexemplo.

EXEMPLO. Seja f (x) uma função contínua real, definidano intervalo [a,b], a < b. Sejam f (a) < 0 e f (b) > 0.

Então de acordo com o teorema do valor intermediário,existe x ∈ [a,b] tal que f (x) = 0.

Seja f (x) = x3 − 3 , x ∈ [ak ,bk ] ⊂ [a,b], k = 1,2,3, · · ·

Vamos determinar x tal que f (x) = 0 para um sistemaF (10,10,10,10).

91 / 430

Page 92: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para a função f (x) = x3 − 3, pode-se obter os resultados:(sendo ak e bk obtidos por um método de aproximação)

f (ak = 0.1442249570× 101) = −0.2× 10−8.f (bk = 0.1442249571× 101) = +0.4× 10−8.

92 / 430

Page 93: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para a função f (x) = x3 − 3, pode-se obter os resultados:(sendo ak e bk obtidos por um método de aproximação)

f (ak = 0.1442249570× 101) = −0.2× 10−8.f (bk = 0.1442249571× 101) = +0.4× 10−8.

Observe que entre ak e bk (ak < bk ),ak = 0.1442249570× 101 e bk = 0.1442249571× 101

não existe algum número que possa ser representado nosistema dado F (10,10,10,10), e que a função f (x) mudade sinal nos extremos desse intervalo.

93 / 430

Page 94: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para a função f (x) = x3 − 3, pode-se obter os resultados:(sendo ak e bk obtidos por um método de aproximação)

f (ak = 0.1442249570× 101) = −0.2× 10−8.f (bk = 0.1442249571× 101) = +0.4× 10−8.

Observe que entre ak e bk (ak < bk ),ak = 0.1442249570× 101 e bk = 0.1442249571× 101

não existe algum número que possa ser representado nosistema dado F (10,10,10,10), e que a função f (x) mudade sinal nos extremos desse intervalo.

Assim, nesta “máquina”, não é possível representar umnúmero x ∈ [ak ,bk ] ⊂ [a,b] tal que f (x) = 0. Portanto, aequação f (x) = x3 − 3 = 0, não possui solução nosistema F (10,10,10,10) !

94 / 430

Page 95: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuante

95 / 430

Page 96: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuante

Conforme vimos anteriormente, é importante quantificar oerro que se comente em cálculos numéricos

96 / 430

Page 97: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuante

Conforme vimos anteriormente, é importante quantificar oerro que se comente em cálculos numéricos

E a representação de um número para cálculos numéricosdepende intrinsecamente das características de cadamáquina (e.g., base β, mantissa t , precisão simples oudupla, · · · )

97 / 430

Page 98: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuante

Conforme vimos anteriormente, é importante quantificar oerro que se comente em cálculos numéricos

E a representação de um número para cálculos numéricosdepende intrinsecamente das características de cadamáquina (e.g., base β, mantissa t , precisão simples oudupla, · · · )

Considere uma máquina que opera em aritmética de pontoflutuante, com t dígitos significativos e base 10.

98 / 430

Page 99: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Nesta máquina, um número x pode ser representado daseguinte forma (conveniente):x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

99 / 430

Page 100: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Nesta máquina, um número x pode ser representado daseguinte forma (conveniente):x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissa

100 / 430

Page 101: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Nesta máquina, um número x pode ser representado daseguinte forma (conveniente):x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

101 / 430

Page 102: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Nesta máquina, um número x pode ser representado daseguinte forma (conveniente):x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1

102 / 430

Page 103: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Nesta máquina, um número x pode ser representado daseguinte forma (conveniente):x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissa

103 / 430

Page 104: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Nesta máquina, um número x pode ser representado daseguinte forma (conveniente):x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissay = 0.789123× 104 = 0.789× 104 + 0.000123× 104

104 / 430

Page 105: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Nesta máquina, um número x pode ser representado daseguinte forma (conveniente):x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissay = 0.789123× 104 = 0.789× 104 + 0.000123× 104

y = 0.789× 104 + 0.123× 10(4−3)=1

105 / 430

Page 106: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Nesta máquina, um número x pode ser representado daseguinte forma (conveniente):x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissay = 0.789123× 104 = 0.789× 104 + 0.000123× 104

y = 0.789× 104 + 0.123× 10(4−3)=1

EXEMPLO: z = 98765.4321 e t = 6 dígitos na mantissa

106 / 430

Page 107: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Nesta máquina, um número x pode ser representado daseguinte forma (conveniente):x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissay = 0.789123× 104 = 0.789× 104 + 0.000123× 104

y = 0.789× 104 + 0.123× 10(4−3)=1

EXEMPLO: z = 98765.4321 e t = 6 dígitos na mantissaz = 0.987654321× 105

107 / 430

Page 108: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Nesta máquina, um número x pode ser representado daseguinte forma (conveniente):x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissay = 0.789123× 104 = 0.789× 104 + 0.000123× 104

y = 0.789× 104 + 0.123× 10(4−3)=1

EXEMPLO: z = 98765.4321 e t = 6 dígitos na mantissaz = 0.987654321× 105

z = 0.987654× 105 + 0.000000321× 105

108 / 430

Page 109: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Nesta máquina, um número x pode ser representado daseguinte forma (conveniente):x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissay = 0.789123× 104 = 0.789× 104 + 0.000123× 104

y = 0.789× 104 + 0.123× 10(4−3)=1

EXEMPLO: z = 98765.4321 e t = 6 dígitos na mantissaz = 0.987654321× 105

z = 0.987654× 105 + 0.000000321× 105

z = 0.987654× 105 + 0.321× 10(5−6)=−1

109 / 430

Page 110: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Lembrando...Queremos estudar os erros (absoluto e relativo) nosprocessos de arredondamento e truncamento emaritimética de ponto flutuante

110 / 430

Page 111: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Lembrando...Queremos estudar os erros (absoluto e relativo) nosprocessos de arredondamento e truncamento emaritimética de ponto flutuante

Em uma máquina, o númerox = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,pode ser representado por truncamento ouarredondamento.

111 / 430

Page 112: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Lembrando...Queremos estudar os erros (absoluto e relativo) nosprocessos de arredondamento e truncamento emaritimética de ponto flutuante

Em uma máquina, o númerox = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,pode ser representado por truncamento ouarredondamento.

Truncamento (x poder ser visto como x∗)A quantidade gx × 10e−t é descartada e x = fx × 10e

112 / 430

Page 113: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Lembrando...Queremos estudar os erros (absoluto e relativo) nosprocessos de arredondamento e truncamento emaritimética de ponto flutuante

Em uma máquina, o númerox = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,pode ser representado por truncamento ouarredondamento.

Truncamento (x poder ser visto como x∗)A quantidade gx × 10e−t é descartada e x = fx × 10e

Temos ainda que:113 / 430

Page 114: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuantex = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,

EAx = |x − x | (Erro Absoluto)

114 / 430

Page 115: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuantex = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|

115 / 430

Page 116: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuantex = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|EAx = |gx × 10e−t |

116 / 430

Page 117: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuantex = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|EAx = |gx × 10e−t |Como 0 ≤ gx < 1, temos que |gx | < 1. E segue que:

117 / 430

Page 118: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuantex = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|EAx = |gx × 10e−t |Como 0 ≤ gx < 1, temos que |gx | < 1. E segue que:EAx = |gx × 10e−t | < 10e−t

118 / 430

Page 119: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuantex = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|EAx = |gx × 10e−t |Como 0 ≤ gx < 1, temos que |gx | < 1. E segue que:EAx = |gx × 10e−t | < 10e−t

ERx =|x − x ||x |

(Erro Relativo)

119 / 430

Page 120: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuantex = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|EAx = |gx × 10e−t |Como 0 ≤ gx < 1, temos que |gx | < 1. E segue que:EAx = |gx × 10e−t | < 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

ERx =|gx | × 10e−t

|fx | × 10e

120 / 430

Page 121: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuantex = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|EAx = |gx × 10e−t |Como 0 ≤ gx < 1, temos que |gx | < 1. E segue que:EAx = |gx × 10e−t | < 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

ERx =|gx | × 10e−t

|fx | × 10e <10e−t

|fx | × 10e

121 / 430

Page 122: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuantex = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|EAx = |gx × 10e−t |Como 0 ≤ gx < 1, temos que |gx | < 1. E segue que:EAx = |gx × 10e−t | < 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

ERx =|gx | × 10e−t

|fx | × 10e <10e−t

|fx | × 10e <10e−t

0.1× 10e

122 / 430

Page 123: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuantex = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|EAx = |gx × 10e−t |Como 0 ≤ gx < 1, temos que |gx | < 1. E segue que:EAx = |gx × 10e−t | < 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

ERx =|gx | × 10e−t

|fx | × 10e <10e−t

|fx | × 10e <10e−t

0.1× 10e = 101−t

123 / 430

Page 124: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuantex = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,

Arredondamentofx é alterado para levar em conta a quantidade gx

124 / 430

Page 125: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento em PontoFlutuantex = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1,

Arredondamentofx é alterado para levar em conta a quantidade gx

Uma forma de arredondamento amplamente empregada éo arredondamento simétrico, dado por:

x =

fx × 10e se |gx | <

12

fx × 10e + 10e−t se |gx | ≥12

125 / 430

Page 126: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissa

126 / 430

Page 127: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

127 / 430

Page 128: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1, gx = 0.7 ≥ 12

128 / 430

Page 129: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1, gx = 0.7 ≥ 12

x = 0.2345× 103 + 10−1

129 / 430

Page 130: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1, gx = 0.7 ≥ 12

x = 0.2345× 103 + 10−1 = 234.5 + 0.1 = 234.6

130 / 430

Page 131: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1, gx = 0.7 ≥ 12

x = 0.2345× 103 + 10−1 = 234.5 + 0.1 = 234.6

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissa

131 / 430

Page 132: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1, gx = 0.7 ≥ 12

x = 0.2345× 103 + 10−1 = 234.5 + 0.1 = 234.6

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissay = 0.789123× 104 = 0.789× 104 + 0.000123× 104

132 / 430

Page 133: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1, gx = 0.7 ≥ 12

x = 0.2345× 103 + 10−1 = 234.5 + 0.1 = 234.6

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissay = 0.789123× 104 = 0.789× 104 + 0.000123× 104

y = 0.789× 104 + 0.123× 10(4−3)=1, gx = 0.123 <12

133 / 430

Page 134: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1, gx = 0.7 ≥ 12

x = 0.2345× 103 + 10−1 = 234.5 + 0.1 = 234.6

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissay = 0.789123× 104 = 0.789× 104 + 0.000123× 104

y = 0.789× 104 + 0.123× 10(4−3)=1, gx = 0.123 <12

y = 0.789× 104

134 / 430

Page 135: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1, gx = 0.7 ≥ 12

x = 0.2345× 103 + 10−1 = 234.5 + 0.1 = 234.6

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissay = 0.789123× 104 = 0.789× 104 + 0.000123× 104

y = 0.789× 104 + 0.123× 10(4−3)=1, gx = 0.123 <12

y = 0.789× 104 = 7890

135 / 430

Page 136: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1.

EXEMPLO: x = 234.57 e t = 4 dígitos na mantissax = 0.23457× 103 = 0.2345× 103 + 0.00007× 103

x = 0.2345× 103 + 0.7× 10(3−4)=−1, gx = 0.7 ≥ 12

x = 0.2345× 103 + 10−1 = 234.5 + 0.1 = 234.6

EXEMPLO: y = 7891.23 e t = 3 dígitos na mantissay = 0.789123× 104 = 0.789× 104 + 0.000123× 104

y = 0.789× 104 + 0.123× 10(4−3)=1, gx = 0.123 <12

y = 0.789× 104 = 7890

Vamos analisar EAx e ERx para |gx | <12

e |gx | ≥12

136 / 430

Page 137: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | <12

, temos:

EAx = |x − x | (Erro Absoluto)

137 / 430

Page 138: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | <12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|

138 / 430

Page 139: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | <12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|EAx = |gx | × 10e−t .

139 / 430

Page 140: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | <12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|

EAx = |gx | × 10e−t . Como |gx | <12

, segue:

140 / 430

Page 141: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | <12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|

EAx = |gx | × 10e−t . Como |gx | <12

, segue:

EAx <12× 10e−t

141 / 430

Page 142: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | <12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|

EAx = |gx | × 10e−t . Como |gx | <12

, segue:

EAx <12× 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

142 / 430

Page 143: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | <12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|

EAx = |gx | × 10e−t . Como |gx | <12

, segue:

EAx <12× 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

ERx =|gx | × 10e−t

|fx | × 10e

143 / 430

Page 144: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | <12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|

EAx = |gx | × 10e−t . Como |gx | <12

, segue:

EAx <12× 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

ERx =|gx | × 10e−t

|fx | × 10e <0.5× 10e−t

|fx | × 10e

144 / 430

Page 145: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | <12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|

EAx = |gx | × 10e−t . Como |gx | <12

, segue:

EAx <12× 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

ERx =|gx | × 10e−t

|fx | × 10e <0.5× 10e−t

|fx | × 10e <0.5× 10e−t

0.1× 10e

145 / 430

Page 146: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | <12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e)|

EAx = |gx | × 10e−t . Como |gx | <12

, segue:

EAx <12× 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

ERx =|gx | × 10e−t

|fx | × 10e <0.5× 10e−t

|fx | × 10e <0.5× 10e−t

0.1× 10e

ERx <12× 101−t

146 / 430

Page 147: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | ≥12

, temos:

EAx = |x − x | (Erro Absoluto)

147 / 430

Page 148: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | ≥12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e + 10e−t )|

148 / 430

Page 149: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | ≥12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e + 10e−t )|EAx = |gx × 10e−t − 10e−t |

149 / 430

Page 150: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | ≥12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e + 10e−t )|EAx = |gx × 10e−t − 10e−t |EAx = |gx − 1| × 10e−t (note também que 0 ≤ gx < 1),

150 / 430

Page 151: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | ≥12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e + 10e−t )|EAx = |gx × 10e−t − 10e−t |EAx = |gx − 1| × 10e−t (0 ≤ gx < 1),

EAx ≤12× 10e−t

151 / 430

Page 152: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | ≥12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e + 10e−t )|EAx = |gx × 10e−t − 10e−t |EAx = |gx − 1| × 10e−t (0 ≤ gx < 1),

EAx ≤12× 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

152 / 430

Page 153: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | ≥12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e + 10e−t )|EAx = |gx × 10e−t − 10e−t |EAx = |gx − 1| × 10e−t (0 ≤ gx < 1),

EAx ≤12× 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

ERx <0.5× 10e−t

|fx × 10e + 10e−t |

153 / 430

Page 154: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | ≥12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e + 10e−t )|EAx = |gx × 10e−t − 10e−t |EAx = |gx − 1| × 10e−t (0 ≤ gx < 1),

EAx <12× 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

ERx <0.5× 10e−t

|fx × 10e + 10e−t |<

0.5× 10e−t

|fx | × 10e

154 / 430

Page 155: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | ≥12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e + 10e−t )|EAx = |gx × 10e−t − 10e−t |EAx = |gx − 1| × 10e−t (0 ≤ gx < 1),

EAx <12× 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

ERx <0.5× 10e−t

|fx × 10e + 10e−t |<

0.5× 10e−t

|fx | × 10e <0.5× 10e−t

0.1× 10e

155 / 430

Page 156: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Se |gx | ≥12

, temos:

EAx = |x − x | (Erro Absoluto)EAx = |(fx × 10e + gx × 10e−t )− (fx × 10e + 10e−t )|EAx = |gx × 10e−t − 10e−t |EAx = |gx − 1| × 10e−t (0 ≤ gx < 1),

EAx <12× 10e−t

ERx =|x − x ||x |

=EAx

|x |(Erro Relativo)

ERx <0.5× 10e−t

|fx × 10e + 10e−t |<

0.5× 10e−t

|fx | × 10e <0.5× 10e−t

0.1× 10e

ERx <12× 101−t

156 / 430

Page 157: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Assim, para ambos os casos, os erros são dados por:

EAx <12× 10e−t

ERx <12× 101−t

157 / 430

Page 158: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

Assim, para ambos os casos, os erros são dados por:

EAx <12× 10e−t

ERx <12× 101−t

O erro cometido no processo de arredondamento é menordo que aquele apresentado no truncamento.

158 / 430

Page 159: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Erros de Arredondamento e Truncamento

A análise revela que os erros são dados por:

EAx <12× 10e−t (“Se” t → ∞ “então” EAx → 0)

ERx <12× 101−t (“Se” t → ∞ “então” ERx → 0)

O erro cometido no processo de arredondamento é menordo que aquele apresentado no truncamento.

Por outro lado, do ponto de vista de esforço computacional(tempo de execução das operações), o truncamentorequer menos tempo do que o arredondamento.

159 / 430

Page 160: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

- Operações Aritméticas em Ponto Flutuante

160 / 430

Page 161: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Considere uma máquina e/ou computador qualquer e umasérie de operações aritméticas.

161 / 430

Page 162: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Considere uma máquina e/ou computador qualquer e umasérie de operações aritméticas.

Pelo fato do arredondamento/truncamento ser feito apóscada operação temos, ao contrário do que é válido paranúmeros reais, que as operações aritméticas

adição, subtração, divisão e multiplicação

não são nem associativas e nem distributivas.

162 / 430

Page 163: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Considere uma máquina e/ou computador qualquer e umasérie de operações aritméticas.

Pelo fato do arredondamento/truncamento ser feito apóscada operação temos, ao contrário do que é válido paranúmeros reais, que as operações aritméticas

adição, subtração, divisão e multiplicação

não são nem associativas e nem distributivas.

Vejamos esse fato por meio de exemplos.

163 / 430

Page 164: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Sem perda de generalidade, considere o sistema combase β = 10 e 3 dígitos significativos.

164 / 430

Page 165: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Sem perda de generalidade, considere o sistema combase β = 10 e 3 dígitos significativos.

Vamos efetuar os cálulos das expressões numéricasindicadas:

a) (11.4 + 3.18) + 5.05 e 11.4 + (3.18 + 5.05)

165 / 430

Page 166: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Sem perda de generalidade, considere o sistema combase β = 10 e 3 dígitos significativos.

Vamos efetuar os cálulos das expressões numéricasindicadas usando o arredondamento simétrico:

a) (11.4 + 3.18) + 5.05 e 11.4 + (3.18 + 5.05)

(11.4 + 3.18) + 5.05 = 14.6 + 5.05 = 19.7

166 / 430

Page 167: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Sem perda de generalidade, considere o sistema combase β = 10 e 3 dígitos significativos.

Vamos efetuar os cálulos das expressões numéricasindicadas usando o arredondamento simétrico:

a) (11.4 + 3.18) + 5.05 e 11.4 + (3.18 + 5.05)

(11.4 + 3.18) + 5.05 = 14.6 + 5.05 = 19.711.4 + (3.18 + 5.05) = 11.4 + 8.23 = 19.6

167 / 430

Page 168: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Calcule as expressões indicadas nos itens b) e c):

b)3.18× 11.4

5.05e

3.185.05

× 11.4

c) 3.18× (5.05 + 11.4) e 3.18× 5.05 + 3.18× 11.4

168 / 430

Page 169: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

b)3.18× 11.4

5.05e

3.185.05

× 11.4

3.18× 11.45.05

=36.35.05

= 7.19

3.185.05

× 11.4 = 0.630× 11.4 = 7.18

c) 3.18× (5.05 + 11.4) e 3.18× 5.05 + 3.18× 11.4

3.18× (5.05 + 11.4) = 3.18× 16.5 = 52.53.18× 5.05 + 3.18× 11.4 = 16.1 + 36.3 = 52.4

169 / 430

Page 170: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

d) Calcular o polinômio P(x) = x3 − 6x2 + 4x − 0.1 no pontox = 5.24 e comparar com o resultado exato.

170 / 430

Page 171: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

d) Calcular o polinômio P(x) = x3 − 6x2 + 4x − 0.1 no pontox = 5.24 e comparar com o resultado exato.

Valor exato: considere todos os dígitos de uma máquina,sem usar arredondamento a cada operação.Segue que, P(5.24) = −0.00776 (valor exato).

171 / 430

Page 172: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

d) Calcular o polinômio P(x) = x3 − 6x2 + 4x − 0.1 no pontox = 5.24 e comparar com o resultado exato.

Valor exato: considere todos os dígitos de uma máquina,sem usar arredondamento a cada operação.Segue que, P(5.24) = −0.00776 (valor exato).

Usando arredondamento a cada operação efetuada.P(5.24) = 5.24× 27.5− 6× 27.5 + 4× 5.24− 0.1= 144.− 165.+ 21.0− 0.1

172 / 430

Page 173: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

d) Calcular o polinômio P(x) = x3 − 6x2 + 4x − 0.1 no pontox = 5.24 e comparar com o resultado exato.

Valor exato: considere todos os dígitos de uma máquina,sem usar arredondamento a cada operação.Segue que, P(5.24) = −0.00776 (valor exato).

Usando arredondamento a cada operação efetuada.P(5.24) = 5.24× 27.5− 6× 27.5 + 4× 5.24− 0.1= 144.− 165.+ 21.0− 0.1= −0.10 (somando da esquerda para a direita)

173 / 430

Page 174: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

d) Calcular o polinômio P(x) = x3 − 6x2 + 4x − 0.1 no pontox = 5.24 e comparar com o resultado exato.

Valor exato: considere todos os dígitos de uma máquina,sem usar arredondamento a cada operação.Segue que, P(5.24) = −0.00776 (valor exato).

Usando arredondamento a cada operação efetuada.P(5.24) = 5.24× 27.5− 6× 27.5 + 4× 5.24− 0.1= 144.− 165.+ 21.0− 0.1= −0.10 (somando da esquerda para a direita)= 0.00 (somando da direita para a esquerda).

174 / 430

Page 175: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Continuando. Note ainda que o polinômioP(x) = x3 − 6x2 + 4x − 0.1 pode ser escrito como:

P(x) = x(x(x − 6) + 4)− 0.1(forma computacional “tipicamente” eficiente)

175 / 430

Page 176: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Continuando. Note ainda que o polinômioP(x) = x3 − 6x2 + 4x − 0.1 pode ser escrito como:

P(x) = x(x(x − 6) + 4)− 0.1

Assim:P(5.24) = 5.24(5.24(5.24− 6) + 4)− 0.1= 5.24(−3.98 + 4)− 0.1= 5.24(0.02)− 0.1= 0.105− 0.1= 0.005 (sinal errado !!!)

176 / 430

Page 177: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Continuando. Note ainda que o polinômioP(x) = x3 − 6x2 + 4x − 0.1 pode ser escrito como:

P(x) = x(x(x − 6) + 4)− 0.1

Assim:P(5.24) = 5.24(5.24(5.24− 6) + 4)− 0.1= 5.24(−3.98 + 4)− 0.1= 5.24(0.02)− 0.1= 0.105− 0.1= 0.005 (sinal errado !!!)

A perda de dígitos significativos requer cuidados paraevitar impacto negativo na computação em precisão finita.

177 / 430

Page 178: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Análise de Erros nas Operações Aritméricas de pontoFlutuante

No que segue indicam-se as fórmulas para os errosabsoluto e relativo nas operações aritméticas em pontoflutuante

178 / 430

Page 179: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Análise de Erros nas Operações Aritméricas de pontoFlutuante

No que segue indicam-se as fórmulas para os errosabsoluto e relativo nas operações aritméticas em pontoflutuante

Nas contas que seguem supõe-se que o erro final éarredondado.

179 / 430

Page 180: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

AdiçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .

180 / 430

Page 181: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

AdiçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x + y

181 / 430

Page 182: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

AdiçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x + y = (x + EAx ) + (y + EAy )

182 / 430

Page 183: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

AdiçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x + y = (x + EAx ) + (y + EAy ) = (x + y) + (EAx + EAy )

183 / 430

Page 184: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

AdiçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x + y = (x + EAx ) + (y + EAy ) = (x + y) + (EAx + EAy )

Daí segue que o erro absoluto EAx+y da soma vale:EAx+y = EAx + EAy

184 / 430

Page 185: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

AdiçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x + y = (x + EAx ) + (y + EAy ) = (x + y) + (EAx + EAy )

Daí segue que o erro absoluto EAx+y da soma vale:EAx+y = EAx + EAy

Erro Relativo

185 / 430

Page 186: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

AdiçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x + y = (x + EAx ) + (y + EAy ) = (x + y) + (EAx + EAy )

Daí segue que o erro absoluto EAx+y da soma vale:EAx+y = EAx + EAy

Erro Relativo

ERx+y =EAx+y

x + y

186 / 430

Page 187: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

AdiçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x + y = (x + EAx ) + (y + EAy ) = (x + y) + (EAx + EAy )

Daí segue que o erro absoluto EAx+y da soma vale:EAx+y = EAx + EAy

Erro Relativo

ERx+y =EAx+y

x + y=

EAx

x + y+

EAy

x + y

187 / 430

Page 188: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

AdiçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x + y = (x + EAx ) + (y + EAy ) = (x + y) + (EAx + EAy )

Daí segue que o erro absoluto EAx+y da soma vale:EAx+y = EAx + EAy

Erro Relativo

ERx+y =EAx+y

x + y=

EAx

x + y+

EAy

x + y

ERx+y =EAx

xx

x + y+

EAy

yy

x + y

188 / 430

Page 189: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

AdiçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x + y = (x + EAx ) + (y + EAy ) = (x + y) + (EAx + EAy )

Daí segue que o erro absoluto EAx+y da soma vale:EAx+y = EAx + EAy

Erro Relativo

ERx+y =EAx+y

x + y=

EAx

x + y+

EAy

x + y

ERx+y =EAx

xx

x + y+

EAy

yy

x + y

ERx+y = ERx

(x

x + y

)+ ERy

(y

x + y

)189 / 430

Page 190: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

SubtraçãoSejam x e y , tais que x = x + EAx e y = y + EAy .

Analogamente ao caso da adição, temos:

190 / 430

Page 191: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

SubtraçãoSejam x e y , tais que x = x + EAx e y = y + EAy .

Analogamente ao caso da adição, temos:

Erro AbsolutoEAx+y = EAx − EAy

191 / 430

Page 192: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

SubtraçãoSejam x e y , tais que x = x + EAx e y = y + EAy .

Analogamente ao caso da adição, temos:

Erro AbsolutoEAx+y = EAx − EAy

Erro Relativo

ERx+y = ERx

(x

x − y

)− ERy

(y

x − y

)

192 / 430

Page 193: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

MultiplicaçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .

193 / 430

Page 194: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

MultiplicaçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x y

194 / 430

Page 195: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

MultiplicaçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x y = (x + EAx ) (y + EAy )

195 / 430

Page 196: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

MultiplicaçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x y = (x + EAx ) (y + EAy )

x y = x y + xEAy + yEAx + EAx EAy

196 / 430

Page 197: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

MultiplicaçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x y = (x + EAx ) (y + EAy )

x y = x y + xEAy + yEAx + EAx EAy

Supondo que o produto (EAx ) (EAy ) é um númeropequeno, decarta-se então este termo da última equação.

197 / 430

Page 198: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

MultiplicaçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x y = (x + EAx ) (y + EAy )

x y = x y + xEAy + yEAx + EAx EAy

Supondo que o produto (EAx ) (EAy ) é um númeropequeno, decarta-se então este termo da última equação.EAx y ≈ xEAy + yEAx

198 / 430

Page 199: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

MultiplicaçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x y = (x + EAx ) (y + EAy )

x y = x y + xEAy + yEAx + EAx EAy

Supondo que o produto (EAx ) (EAy ) é um númeropequeno, decarta-se então este termo da última equação.EAx y ≈ xEAy + yEAx

Erro Relativo

199 / 430

Page 200: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

MultiplicaçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x y = (x + EAx ) (y + EAy )

x y = x y + xEAy + yEAx + EAx EAy

Supondo que o produto (EAx ) (EAy ) é um númeropequeno, decarta-se então este termo da última equação.EAx y ≈ xEAy + yEAx

Erro Relativo

ERx y ≈EAx y

x y

200 / 430

Page 201: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

MultiplicaçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x y = (x + EAx ) (y + EAy )

x y = x y + xEAy + yEAx + EAx EAy

Supondo que o produto (EAx ) (EAy ) é um númeropequeno, decarta-se então este termo da última equação.EAx y ≈ xEAy + yEAx

Erro Relativo

ERx y ≈EAx y

x y=

xEAy + yEAx

x y

201 / 430

Page 202: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

MultiplicaçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x y = (x + EAx ) (y + EAy )

x y = x y + xEAy + yEAx + EAx EAy

Supondo que o produto (EAx ) (EAy ) é um númeropequeno, decarta-se então este termo da última equação.EAx y ≈ xEAy + yEAx

Erro Relativo

ERx y ≈EAx y

x y=

xEAy + yEAx

x y=

EAx

x+

EAy

y

202 / 430

Page 203: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

MultiplicaçãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .x y = (x + EAx ) (y + EAy )

x y = x y + xEAy + yEAx + EAx EAy

Supondo que o produto (EAx ) (EAy ) é um númeropequeno, decarta-se então este termo da última equação.EAx y ≈ xEAy + yEAx

Erro Relativo

ERx y ≈EAx y

x y=

xEAy + yEAx

x y=

EAx

x+

EAy

yERx y ≈ ERx + ERy

203 / 430

Page 204: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .xy

204 / 430

Page 205: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .xy

=x + EAx

y + EAy

205 / 430

Page 206: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .

xy

=x + EAx

y + EAy=

x + EAx

y

1

1 +EAy

y

206 / 430

Page 207: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .

xy

=x + EAx

y + EAy=

x + EAx

y

1

1 +EAy

y

Atenção!

207 / 430

Page 208: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .

xy

=x + EAx

y + EAy=

x + EAx

y

1

1 +EAy

y

Atenção!Por conveniência na análise, vamos expressar o termo

1

1 +EAy

y

como segue:

208 / 430

Page 209: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .

xy

=x + EAx

y + EAy=

x + EAx

y

1

1 +EAy

y

Atenção!Por conveniência na análise, vamos expressar o termo

1

1 +EAy

y

como segue (série infinita):

1

1 +EAy

y

= 1−EAy

y+

(EAy

y

)2

−(

EAy

y

)3

+ · · ·

209 / 430

Page 210: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .

xy

=x + EAx

y + EAy=

x + EAx

y

1

1 +EAy

y

Atenção!Por conveniência na análise, vamos expressar o termo

1

1 +EAy

y

como segue (série infinita):

1

1 +EAy

y

= 1−EAy

y+

(EAy

y

)2

−(

EAy

y

)3

+ · · ·

e desprezando os termos com potências maiores do que1, temos:

210 / 430

Page 211: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .xy≈ x + EAx

y

(1−

EAy

y

)

211 / 430

Page 212: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .xy≈ x + EAx

y

(1−

EAy

y

)=

(xy

+EAx

y

)(1−

EAy

y

)

212 / 430

Page 213: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .xy≈ x + EAx

y

(1−

EAy

y

)=

(xy

+EAx

y

)(1−

EAy

y

)xy≈ x

y+

EAx

y−

x EAy

y2 −EAx EAy

y2

213 / 430

Page 214: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .xy≈ x + EAx

y

(1−

EAy

y

)=

(xy

+EAx

y

)(1−

EAy

y

)xy≈ x

y+

EAx

y−

x EAy

y2 −EAx EAy

y2

Atenção!

214 / 430

Page 215: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .xy≈ x + EAx

y

(1−

EAy

y

)=

(xy

+EAx

y

)(1−

EAy

y

)xy≈ x

y+

EAx

y−

x EAy

y2 −EAx EAy

y2

Atenção!Supondo que o produto (EAx ) (EAy ) é um númeropequeno, decarta-se então este termo da última equação.

215 / 430

Page 216: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoSejam x e y , tais que x = x + EAx e y = y + EAy .xy≈ x + EAx

y

(1−

EAy

y

)=

(xy

+EAx

y

)(1−

EAy

y

)xy≈ x

y+

EAx

y−

x EAy

y2 −EAx EAy

y2

Atenção!Supondo que o produto (EAx ) (EAy ) é um númeropequeno, decarta-se então este termo da última equação.

Segue que:xy≈ x

y+

EAx

y−

x EAy

y2

216 / 430

Page 217: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoFinalmente,

EAx/y =EAx

y−

x EAy

y2

217 / 430

Page 218: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoFinalmente,

EAx/y =EAx

y−

x EAy

y2 =y EAx − x EAy

y2

218 / 430

Page 219: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoFinalmente,

EAx/y =EAx

y−

x EAy

y2 =y EAx − x EAy

y2

Erro Relativo

219 / 430

Page 220: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoFinalmente,

EAx/y =EAx

y−

x EAy

y2 =y EAx − x EAy

y2

Erro Relativo

ERx/y ≈EAx/y

xy

220 / 430

Page 221: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoFinalmente,

EAx/y =EAx

y−

x EAy

y2 =y EAx − x EAy

y2

Erro Relativo

ERx/y ≈EAx/y

xy

=

(y EAx − x EAy

y2

)yx

221 / 430

Page 222: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoFinalmente,

EAx/y =EAx

y−

x EAy

y2 =y EAx − x EAy

y2

Erro Relativo

ERx/y ≈EAx/y

xy

=

(y EAx − x EAy

y2

)yx

ERx/y ≈EAx

x−

EAy

y

222 / 430

Page 223: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

DivisãoErro AbsolutoFinalmente,

EAx/y =EAx

y−

x EAy

y2 =y EAx − x EAy

y2

Erro Relativo

ERx/y ≈EAx/y

xy

=

(y EAx − x EAy

y2

)yx

ERx/y ≈EAx

x−

EAy

y= ERx − ERy

223 / 430

Page 224: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

É válido lembrar que em todas as fórmulas, não foiconsiderado o erro de arredondamento ou truncamentono resultado final.

Para uma análise completa, detalhada, da propagação doserros, deve-se considerar ainda os erros em cadaoperação efetuada.

224 / 430

Page 225: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

– Condicionamento de algoritmos & Efeitos Numéricos

225 / 430

Page 226: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Neste curso vamos examinar alguns procedimentos deaproximação, chamados algoritmos, que envolve umasequência de cálculos.

226 / 430

Page 227: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Neste curso vamos examinar alguns procedimentos deaproximação, chamados algoritmos, que envolve umasequência de cálculos.

Um algoritmo é um procedimento que descreve, de formainequívoca, uma sequência finita de passos a serrealizada em uma ordem específica.

227 / 430

Page 228: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Neste curso vamos examinar alguns procedimentos deaproximação, chamados algoritmos, que envolve umasequência de cálculos.

Um algoritmo é um procedimento que descreve, de formainequívoca, uma sequência finita de passos a serrealizada em uma ordem específica.

O objetivo de um algoritmo é o de implementar umprocedimento para a resolver um problema oupara uma solução aproximada do problema.

228 / 430

Page 229: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Além dos problemas dos erros causados pelas operaçõesaritméticas existem certos efeitos numéricos quecontribuem para que um resultado numérico não sejaconfiável.

229 / 430

Page 230: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Além dos problemas dos erros causados pelas operaçõesaritméticas existem certos efeitos numéricos quecontribuem para que um resultado numérico não sejaconfiável.

Alguns dos problemas mais frequentes em cálculonumérico são:

CancelamentoGeração e Propagação de ErrosInstabilidade NuméricaMal Condicionamento

230 / 430

Page 231: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Além dos problemas dos erros causados pelas operaçõesaritméticas existem certos efeitos numéricos quecontribuem para que um resultado numérico não sejaconfiável.

Alguns dos problemas mais frequentes em cálculonuméricos são:

CancelamentoGeração e Propagação de ErrosInstabilidade NuméricaMal Condicionamento

Vejamos alguns exemplos para ilustrar esse problemas

231 / 430

Page 232: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Cancelamento

232 / 430

Page 233: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Cancelamento

O cancelamento ocorre tipicamente na subtração de doisnúmeros “quase iguais”, ou na adição de dois númeroscom sinais opostos e “quase iguais” em valor absoluto

233 / 430

Page 234: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Cancelamento

O cancelamento ocorre tipicamente na subtração de doisnúmeros “quase iguais”, ou na adição de dois númeroscom sinais opostos e “quase iguais” em valor absoluto

Importante: Lembrem-se que estamos operando comaritmética de ponto flutuante !!

234 / 430

Page 235: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Cancelamento

O cancelamento ocorre tipicamente na subtração de doisnúmeros “quase iguais”, ou na adição de dois númeroscom sinais opostos e “quase iguais” em valor absoluto

Importante: Lembrem-se que estamos operando comaritmética de ponto flutuante !!

Sem perda de generalidade, vamos supor que estamostrabalhando com o sistema F (10,10,10,10).

235 / 430

Page 236: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO:√

9876−√

9875.

236 / 430

Page 237: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO:√

9876−√

9875. Segue que:√9876 = 0.9937806599× 102 e√9875 = 0.9937303457× 102

237 / 430

Page 238: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO:√

9876−√

9875. Segue que:√9876 = 0.9937806599× 102 e√9875 = 0.9937303457× 102

Então√

9876−√

9875 = 0.0000503142× 102

238 / 430

Page 239: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO:√

9876−√

9875. Segue que:√9876 = 0.9937806599× 102 e√9875 = 0.9937303457× 102

Então√

9876−√

9875 = 0.0000503142× 102

A normalização muda este resultado para:0.5031420000× 10−4

239 / 430

Page 240: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO:√

9876−√

9875. Segue que:√9876 = 0.9937806599× 102 e√9875 = 0.9937303457× 102

Então√

9876−√

9875 = 0.0000503142× 102

A normalização muda este resultado para:0.5031420000× 10−4

Assim os quatro zeros no final da mantissa não têmsignificado e assim “perdem-se” 4 casas decimais.

240 / 430

Page 241: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO:√

9876−√

9875. Segue que:√9876 = 0.9937806599× 102 e√9875 = 0.9937303457× 102

Então√

9876−√

9875 = 0.0000503142× 102

A normalização muda este resultado para:0.5031420000× 10−4

Assim os quatro zeros no final da mantissa não têmsignificado e assim “perdem-se” 4 casas decimais.

Pergunta: É possível obter um resultado mais preciso ?

241 / 430

Page 242: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para este caso a resposta é sim.

242 / 430

Page 243: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para este caso a resposta é sim. Basta consider aidentidade:√

x −√y =x − y√x +√

y.

243 / 430

Page 244: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para este caso a resposta é sim. Basta consider aidentidade:√

x −√y =x − y√x +√

y.

Então,√

9876−√

9875 =

0.5031418679× 10−4

0.5031420000× 10−4 (antes)

244 / 430

Page 245: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para este caso a resposta é sim. Basta consider aidentidade:√

x −√y =x − y√x +√

y.

Então,√

9876−√

9875 =

0.5031418679× 10−4

0.5031420000× 10−4 (antes)

Em algumas situações é possível explorar propriedadesespeciais de funções.

245 / 430

Page 246: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Por exemplo, se x e y são números “quase iguais”, éconveniente substituir:

√x −√y por

x − y√x +√

y

cos2 θ − sen2θ por cos (2θ)

log y − log x por logyx

sen y − sen x por 2 sen 12(x − y) cos 1

2(x + y)

246 / 430

Page 247: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Nos exemplos discutidos foi possível identificar e resolvero problema do cancelamento.

Entretanto, é válido observar que nem sempre serápossível indentificar uma maneira trivial de resolverproblemas ocasionados pelo cancelamento.

247 / 430

Page 248: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Geração e Propagação de Erros

248 / 430

Page 249: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Atenção !

249 / 430

Page 250: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Atenção !

Vamos revisitivar, e ampliar, a discussão de algunsexemplos já apresentados

250 / 430

Page 251: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Sem perda de generalidade, considere o sistema combase β = 10 e 3 dígitos significativos.

Vamos efetuar os cálulos das expressões numéricasindicadas:

a) (11.4 + 3.18) + 5.05 e 11.4 + (3.18 + 5.05)

251 / 430

Page 252: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Sem perda de generalidade, considere o sistema combase β = 10 e 3 dígitos significativos.

Vamos efetuar os cálulos das expressões numéricasindicadas:

a) (11.4 + 3.18) + 5.05 e 11.4 + (3.18 + 5.05)

(11.4 + 3.18) + 5.05 = 14.6 + 5.05 = 19.7

252 / 430

Page 253: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Sem perda de generalidade, considere o sistema combase β = 10 e 3 dígitos significativos.

Vamos efetuar os cálulos das expressões numéricasindicadas:

a) (11.4 + 3.18) + 5.05 e 11.4 + (3.18 + 5.05)

(11.4 + 3.18) + 5.05 = 14.6 + 5.05 = 19.711.4 + (3.18 + 5.05) = 11.4 + 8.23 = 19.6

253 / 430

Page 254: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Geração de erro na adiçãoSejam x e y , tais que x = x + EAx e y = y + EAy .

Erro AbsolutoEAx+y = EAx + EAy

Erro Relativo

ERx+y = ERx

(x

x + y

)+ ERy

(y

x + y

)

254 / 430

Page 255: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Geração de erro na subtraçãoSejam x e y , tais que x = x + EAx e y = y + EAy .

Erro AbsolutoEAx+y = EAx − EAy

Erro Relativo

ERx+y = ERx

(x

x − y

)− ERy

(y

x − y

)

255 / 430

Page 256: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

b)3.18× 11.4

5.05e

3.185.05

× 11.4

3.18× 11.45.05

=36.35.05

= 7.19

3.185.05

× 11.4 = 0.630× 11.4 = 7.18

c) 3.18× (5.05 + 11.4) e 3.18× 5.05 + 3.18× 11.4

3.18× (5.05 + 11.4) = 3.18× 16.5 = 52.53.18× 5.05 + 3.18× 11.4 = 16.1 + 36.3 = 52.4

256 / 430

Page 257: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Geração de erro na multiplicaçãoSejam x e y , tais que x = x + EAx e y = y + EAy .

Erro AbsolutoEAx y ≈ xEAy + yEAx

Erro RelativoERx y ≈ ERx + ERy

257 / 430

Page 258: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Geração de erro na divisãoSejam x e y , tais que x = x + EAx e y = y + EAy .

Erro Absoluto

EAx/y =y EAx − x EAy

y2

Erro RelativoERx/y ≈ ERx − ERy

258 / 430

Page 259: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Atenção !

259 / 430

Page 260: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Atenção !Vamos ver como a propagação de erro ocorre · · ·

260 / 430

Page 261: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Atenção !Vamos ver como a propagação de erro ocorre · · ·

em operações aritiméticas em ponto flutuante

261 / 430

Page 262: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Atenção !Vamos ver como a propagação de erro ocorre · · ·

em operações aritiméticas em ponto flutuante

d) Calcular o polinômio P(x) = x3 − 6x2 + 4x − 0.1 no pontox = 5.24 e comparar com o resultado exato.

262 / 430

Page 263: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Atenção !Vamos ver como a propagação de erro ocorre · · ·

em operações aritiméticas em ponto flutuante

d) Calcular o polinômio P(x) = x3 − 6x2 + 4x − 0.1 no pontox = 5.24 e comparar com o resultado exato.

Valor exato: considere todos os dígitos de uma máquina,sem usar arredondamento a cada operação.

263 / 430

Page 264: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

P(x) = x3 − 6x2 + 4x − 0.1 no ponto x = 5.24,P(5.24) = −0.00776 (valor exato).

264 / 430

Page 265: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

P(x) = x3 − 6x2 + 4x − 0.1 no ponto x = 5.24,P(5.24) = −0.00776 (valor exato).

Usando arredondamento a cada operação efetuada.P(5.24) = 5.24× 27.5− 6× 27.5 + 4× 5.24− 0.1= 144.− 165.+ 21.0− 0.1

265 / 430

Page 266: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

P(x) = x3 − 6x2 + 4x − 0.1 no ponto x = 5.24,P(5.24) = −0.00776 (valor exato).

Usando arredondamento a cada operação efetuada.P(5.24) = 5.24× 27.5− 6× 27.5 + 4× 5.24− 0.1= 144.− 165.+ 21.0− 0.1= −0.10 (somando da esquerda para a direita)

266 / 430

Page 267: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

P(x) = x3 − 6x2 + 4x − 0.1 no ponto x = 5.24,P(5.24) = −0.00776 (valor exato).

Usando arredondamento a cada operação efetuada.P(5.24) = 5.24× 27.5− 6× 27.5 + 4× 5.24− 0.1= 144.− 165.+ 21.0− 0.1= −0.10 (somando da esquerda para a direita)= 0.00 (somando da direita para a esquerda).

267 / 430

Page 268: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

P(x) = x3 − 6x2 + 4x − 0.1 no ponto x = 5.24,P(5.24) = −0.00776 (valor exato).

Usando arredondamento a cada operação efetuada.P(5.24) = 5.24× 27.5− 6× 27.5 + 4× 5.24− 0.1= 144.− 165.+ 21.0− 0.1= −0.10 (somando da esquerda para a direita)= 0.00 (somando da direita para a esquerda).

Note que o erro cometido em cada parcela é propagadopara as operações posteriores.

268 / 430

Page 269: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

P(x) = x3 − 6x2 + 4x − 0.1 no ponto x = 5.24,P(5.24) = −0.00776 (valor exato).

Usando arredondamento a cada operação efetuada.P(5.24) = 5.24× 27.5− 6× 27.5 + 4× 5.24− 0.1= 144.− 165.+ 21.0− 0.1= −0.10 (somando da esquerda para a direita)= 0.00 (somando da direita para a esquerda).

Note que o erro cometido em cada parcela é propagadopara as operações posteriores.

Note também como a solução final difere do valor correto !

269 / 430

Page 270: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

P(x) = x3 − 6x2 + 4x − 0.1 pode ser escrito como:

270 / 430

Page 271: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

P(x) = x3 − 6x2 + 4x − 0.1 pode ser escrito como:

P(x) = x · x · x − 6 · x · x + 4 · x − 0.1 (1)P(x) = x(x(x − 6) + 4)− 0.1 (2)

271 / 430

Page 272: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

P(x) = x3 − 6x2 + 4x − 0.1 pode ser escrito como:

P(x) = x · x · x − 6 · x · x + 4 · x − 0.1 (1)P(x) = x(x(x − 6) + 4)− 0.1 (2)

Em (1), 5 multiplicações, 2 subtrações e 1 adiçãoEm (2), 3 multiplicações, 2 subtrações e 1 adição

272 / 430

Page 273: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

P(x) = x3 − 6x2 + 4x − 0.1 pode ser escrito como:

P(x) = x · x · x − 6 · x · x + 4 · x − 0.1 (1)P(x) = x(x(x − 6) + 4)− 0.1 (2)

Em (1), 5 multiplicações, 2 subtrações e 1 adiçãoEm (2), 3 multiplicações, 2 subtrações e 1 adiçãoMesmo com menos operações, de (2) resulta:

273 / 430

Page 274: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

P(x) = x3 − 6x2 + 4x − 0.1 pode ser escrito como:

P(x) = x · x · x − 6 · x · x + 4 · x − 0.1 (1)P(x) = x(x(x − 6) + 4)− 0.1 (2)

Em (1), 5 multiplicações, 2 subtrações e 1 adiçãoEm (2), 3 multiplicações, 2 subtrações e 1 adiçãoMesmo com menos operações, de (2) resulta:

P(5.24) = 5.24(5.24(5.24− 6) + 4)− 0.1P(5.24) = 0.005 (sinal errado da aproximação !)P(5.24) = −0.00776 (valor exato).

274 / 430

Page 275: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Outros exemplos de geração e propagação de erros

275 / 430

Page 276: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Outros exemplos de geração e propagação de erros

Cálculos envolvendo somatórios:

Sk =n∑

k=1

ak ,

onde os termos ak podem ser positivos ou negativos.

276 / 430

Page 277: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Outros exemplos de geração e propagação de erros

Cálculos envolvendo somatórios:

Sk =n∑

k=1

ak ,

onde os termos ak podem ser positivos ou negativos.

Determinação numérica de integrais:

yn =

∫ 1

0

xn

x + a,

para um valor fixo de a (a > 1) e, n = 0,1,2,3, · · ·

277 / 430

Page 278: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Outros exemplos de geração e propagação de erros

Cálculos envolvendo somatórios:

Sk =n∑

k=1

ak ,

onde os termos ak podem ser positivos ou negativos.

Determinação numérica de integrais:

yn =

∫ 1

0

xn

x + a,

para um valor fixo de a (a > 1) e, n = 0,1,2,3, · · ·

A perda de dígitos significativos requer cuidados paraevitar impacto negativo na computação em precisão finita.

278 / 430

Page 279: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Instabilidade Numérica

279 / 430

Page 280: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exemplo (algoritmo instável): Se 4AC << B2, a fórmulaquadrática não é conveniente para a determinação damenor raiz da equação Ax2 + Bx + C = 0.

280 / 430

Page 281: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exemplo (algoritmo instável): Se 4AC << B2, a fórmulaquadrática não é conveniente para a determinação damenor raiz da equação Ax2 + Bx + C = 0.

Neste caso, quando B > 0, é desejável substituir a fórmula

x1 =−B +

√B2 − 4AC2A

por x1 =−2C

B +√

B2 − 4AC

281 / 430

Page 282: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exemplo (algoritmo instável): Se 4AC << B2, a fórmulaquadrática não é conveniente para a determinação damenor raiz da equação Ax2 + Bx + C = 0.

Neste caso, quando B > 0, é desejável substituir a fórmula

x1 =−B +

√B2 − 4AC2A

por x1 =−2C

B +√

B2 − 4AC

Ou seja, x1 =CA

1x2

, ou x1 x2 =CA

282 / 430

Page 283: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Vamos resolver a equação: x2 − 1634x + 2 = 0.

283 / 430

Page 284: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Vamos resolver a equação: x2 − 1634x + 2 = 0.

Segue que,

x =1634±

√16342 − 82

= 817±√

667487.

284 / 430

Page 285: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Vamos resolver a equação: x2 − 1634x + 2 = 0.

Segue que,

x =1634±

√16342 − 82

= 817±√

667487.

Temos então que:x1 = 817− 816.9987760 = 0.1224000000× 10−2

x2 = 817 + 816.9987760 = 0.1633998776× 103

Note que os seis zeros da mantissa de x1 resultam docancelamento e portanto não têm significado algum.

285 / 430

Page 286: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Vamos resolver a equação: x2 − 1634x + 2 = 0.

Segue que,

x =1634±

√16342 − 82

= 817±√

667487.

Temos então que:x1 = 817− 816.9987760 = 0.1224000000× 10−2

x2 = 817 + 816.9987760 = 0.1633998776× 103

Note que os seis zeros da mantissa de x1 resultam docancelamento e portanto não têm significado algum.

Mas usando, x1 x2 =CA

temos:

x1 = 0.1223991125× 10−2,x1 = 0.1224000000× 10−2 (antes)

onde os dígitos da mantissa estão todos corretos.286 / 430

Page 287: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exemplo (fórmula de recorrência)

Se não utilizado da maneira adequada, os erros cometidosem uma relação de recorrência podem crescerexponencialmente e arruinar completamente osresultados.

287 / 430

Page 288: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para calcular as integrais,

pode-se usar a relação de recorrência:

que segue diretamente do cálculo:

No que segue a fórmula acima será usada para calcular In,sempre com seis casas decimais. Para n = 0, temos:

288 / 430

Page 289: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Usando ainda a relação de recorrência para In, obtemos:

Mas em vista da relação de recorrência,

temos que tais resultados da tabela são inesperados, pois:

1o) I6 > I5, e2o) I7 < 0, que obviamente é absurdo !

289 / 430

Page 290: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

A razão para o resultado absurdo acima é que o erro dearredondamento ε em I0 = 0.18232156..., cuja magnitudeé da ordem de 0.44× 10−6, é multiplicado por −5 nocálculo de I1, que tem então um erro de −5ε

Este erro por sua vez produz um erro em I2 de 52ε, eassim por diante. Segue que a magnitude do erro em I7 é57ε = 0.0391, que é maior do que o verdadeiro valor de I7

Se uma maior precisão de máquina for utilizada, oresultado absurdo certamente vai aparecer em uma etapaposterior

Por exemplo, usando um computador que funciona comuma precisão que corresponde a cerca de 16 casasdecimais forneceu um valor negativo para I2, embora queI0 tenha sido usado com toda precisão 290 / 430

Page 291: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Note que o efeito anterior pode ocorrer de forma similarpara outras máquinas (verifique em seu computador!)

O algoritmo acima que faz uso de uma relação derecorrência é um exemplo de um fenômeno desagradávelem cálculos computacionais, chamado de instabilidadenumérica

Neste exemplo, pode-se evitar a instabilidade numérica,invertendo a direção da recursão. Usando a relação derecorrência na outra direção,

observa-se que os erros serão divididos por um fator de 5em cada passo. Mas note que ainda precisamos de umvalor inicial para In !

291 / 430

Page 292: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Neste caso podemos ver diretamente a partir da definição

que In diminui com o aumento de n. Pode-se supor que Indiminui lentamente quando n é grande (verifique).

Assim, podemos tentar I12 = I11:

o que mostra, 0 < I12 < 1/72 < I11. Usando ainda arelação de recorrência obtemos:

e finalmente I0 = 0.182322 (o valor correto!)292 / 430

Page 293: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exercício: Derive as relações de recorrência “avançada” e“recuada” para o cálculo das integrais,

Diferentemente do exemplo anterior, explique a razão pelaqual a recorrência é estável na direção “avançada” einstável na direção “recuada” ?

293 / 430

Page 294: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Um outro exemplo de fórmula de recorrênciaResolver a integral,

In = e−1∫ 1

0xnex dx

Solução: Vamos tentar encontrar uma fórmula derecorrência para In.Integrando por partes (do cálculo), temos:

In = e−1

{[xnex ]10 −

∫ 1

0nxn−1ex dx

}

294 / 430

Page 295: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exemplo (fórmula de recorrência)Resolver a integral,

In = e−1∫ 1

0xnex dx

Solução: Vamos tentar encontrar uma fórmula derecorrência para In.Integrando por partes (do cálculo), temos:

In = e−1

{[xnex ]10 −

∫ 1

0nxn−1ex dx

}

In = 1− n

(e−1

∫ 1

0xn−1ex dx

)

295 / 430

Page 296: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exemplo (fórmula de recorrência)Resolver a integral,

In = e−1∫ 1

0xnex dx

Solução: Vamos tentar encontrar uma fórmula derecorrência para In.Integrando por partes (do cálculo), temos:

In = e−1

{[xnex ]10 −

∫ 1

0nxn−1ex dx

}

In = 1− n

(e−1

∫ 1

0xn−1ex dx

)In = 1− nIn−1

296 / 430

Page 297: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

A fórmula de recorrência é então dada por:In = 1− nIn−1, n = 1,2,3, · · ·

297 / 430

Page 298: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

A fórmula de recorrência é então dada por:In = 1− nIn−1, n = 1,2,3, · · ·E como sabemos calcular I0, i.e.,

I0 = e−1∫ 1

0ex dx = e−1(e − 1) = 0.6321

298 / 430

Page 299: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

A fórmula de recorrência é então dada por:In = 1− nIn−1, n = 1,2,3, · · ·E como sabemos calcular I0, i.e.,

I0 = e−1∫ 1

0ex dx = e−1(e − 1) = 0.6321,

podemos, teoricamente, calcular In, usando In = 1− nIn−1.

299 / 430

Page 300: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

A fórmula de recorrência é então dada por:In = 1− nIn−1, n = 1,2,3, · · ·E como sabemos calcular I0, i.e.,

I0 = e−1∫ 1

0ex dx = e−1(e − 1) = 0.6321,

podemos, teoricamente, calcular In, usando In = 1− nIn−1.

Atenção !!

300 / 430

Page 301: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

A fórmula de recorrência é então dada por:In = 1− nIn−1, n = 1,2,3, · · ·E como sabemos calcular I0, i.e.,

I0 = e−1∫ 1

0ex dx = e−1(e − 1) = 0.6321,

podemos, teoricamente, calcular In, usando In = 1− nIn−1.

Atenção !!Uma análise releva que a sequência In é decrescente!

301 / 430

Page 302: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

A fórmula de recorrência é então dada por:In = 1− nIn−1, n = 1,2,3, · · ·E como sabemos calcular I0, i.e.,

I0 = e−1∫ 1

0ex dx = e−1(e − 1) = 0.6321,

podemos, teoricamente, calcular In, usando In = 1− nIn−1.

Atenção !!Uma análise releva que a sequência In é decrescente!

Realizando as contas de forma numérica · · ·

302 / 430

Page 303: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

n In = 1− nIn−10 I0 = 0.63211 I1 = 0.36792 I2 = 0.26423 I3 = 0.20744 I4 = 0.17045 I5 = 0.14806 I6 = 0.11207 I7 = 0.2160 !!

Tabela 1: A sequência In é decrescente

303 / 430

Page 304: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

De fato, note que:

In = e−1∫ 1

0xnex dx

304 / 430

Page 305: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

De fato, note que:

In = e−1∫ 1

0xnex dx

In < e−1 max0≤x≤1

{ex}∫ 1

0xn dx

305 / 430

Page 306: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

De fato, note que:

In = e−1∫ 1

0xnex dx

In < e−1 max0≤x≤1

{ex}∫ 1

0xn dx

In < e−1 max0≤x≤1

{ex}∫ 1

0xn dx <

1n + 1

306 / 430

Page 307: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

De fato, note que:

In = e−1∫ 1

0xnex dx

In < e−1 max0≤x≤1

{ex}∫ 1

0xn dx

In < e−1 max0≤x≤1

{ex}∫ 1

0xn dx <

1n + 1

, Ou seja,

I 7 <18< 0.1250

307 / 430

Page 308: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

De fato, note que:

In = e−1∫ 1

0xnex dx

In < e−1 max0≤x≤1

{ex}∫ 1

0xn dx

In < e−1 max0≤x≤1

{ex}∫ 1

0xn dx <

1n + 1

, Ou seja,

I 7 <18< 0.1250

Vamos estudar um pouco mais a instabilidade numéricaneste exemplo.

308 / 430

Page 309: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Pergunta: Como encontrar o valor exato para

In = e−1∫ 1

0xnex dx ?

309 / 430

Page 310: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Pergunta: Como encontrar o valor exato para

In = e−1∫ 1

0xnex dx ?

É possível ? Tem alguma solução alternativa ?

310 / 430

Page 311: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Pergunta: Como encontrar o valor exato para

In = e−1∫ 1

0xnex dx ?

É possível ? Tem alguma solução alternativa ?

Para In = e−1∫ 1

0xnex dx , a resposta é sim!

311 / 430

Page 312: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Pergunta: Como encontrar o valor exato para

In = e−1∫ 1

0xnex dx ?

É possível ? Tem alguma solução alternativa ?

Para In = e−1∫ 1

0xnex dx , a resposta é sim!

Importante: uma relação de recorrência sernumericamente instável na direção crescente nãoimpede de ser estável na direção decrescente de n.

312 / 430

Page 313: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Considere novamente a fórmula de recorrênciaIn = 1− nIn−1, n = 1,2,3, · · ·

313 / 430

Page 314: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Considere novamente a fórmula de recorrênciaIn = 1− nIn−1, n = 1,2,3, · · ·

Resolvendo para In−1, obtemos:

In−1 =1− In

n, n − 1,n − 2,n − 3, · · ·

314 / 430

Page 315: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Considere novamente a fórmula de recorrênciaIn = 1− nIn−1, n = 1,2,3, · · ·

Resolvendo para In−1, obtemos:

In−1 =1− In

n, n − 1,n − 2,n − 3, · · ·

Note que a relação acima precisa de um valor inicial In.

315 / 430

Page 316: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Considere novamente a fórmula de recorrênciaIn = 1− nIn−1, n = 1,2,3, · · ·

Resolvendo para In−1, obtemos:

In−1 =1− In

n, n − 1,n − 2,n − 3, · · ·

Note que a relação acima precisa de um valor inicial In.

Mas não é simples encontrar esse valor, pois todo In, onden > 0, é desconhecido.

316 / 430

Page 317: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Considere novamente a fórmula de recorrênciaIn = 1− nIn−1, n = 1,2,3, · · ·

Resolvendo para In−1, obtemos:

In−1 =1− In

n, n − 1,n − 2,n − 3, · · ·

Note que a relação acima precisa de um valor inicial In.

Mas não é simples encontrar esse valor, pois todo In, onden > 0, é desconhecido.

O que fazer ?

317 / 430

Page 318: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Do cálculo sabemos que In −→ 0 quando n −→∞

318 / 430

Page 319: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Do cálculo sabemos que In −→ 0 quando n −→∞

Assim, fazendo I20 = 0 e calculando I19, I18, I17, · · ·

319 / 430

Page 320: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Do cálculo sabemos que In −→ 0 quando n −→∞

Assim, fazendo I20 = 0 e calculando I19, I18, I17, · · ·

Obtêm-se I 7 = 0.1123835 < 0.125 (estimativa teórica !)

320 / 430

Page 321: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Do cálculo sabemos que In −→ 0 quando n −→∞

Assim, fazendo I20 = 0 e calculando I19, I18, I17, · · ·

Obtêm-se I 7 = 0.1123835 < 0.125 (estimativa teórica)

Sendo I 7 = 0, obtêm-se I0 = 0.6320 (0.6321 exato !)

321 / 430

Page 322: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exercício. Vamos supor que:

322 / 430

Page 323: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exercício. Vamos supor que:I0 seja afetado por um erro.

323 / 430

Page 324: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exercício. Vamos supor que:I0 seja afetado por um erro.Todas as operações aritméticas subsequentes são exatas.

324 / 430

Page 325: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exercício. Vamos supor que:I0 seja afetado por um erro.Todas as operações aritméticas subsequentes são exatas.

Denotando · · ·In como o valor exato, eIn o valor calculado (com erro no valor inicial)

325 / 430

Page 326: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exercício. Vamos supor que:I0 seja afetado por um erro.Todas as operações aritméticas subsequentes são exatas.

Denotando · · ·In como o valor exato, eIn o valor calculado (com erro no valor inicial)

Atenção! Matematicamente temos:

326 / 430

Page 327: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exercício. Vamos supor que:I0 seja afetado por um erro.Todas as operações aritméticas subsequentes são exatas.

Denotando · · ·In como o valor exato, eIn o valor calculado (com erro no valor inicial)

Atenção! Matematicamente temos:In = 1− nIn−1, n = 1,2,3, · · · (exato)

327 / 430

Page 328: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exercício. Vamos supor que:I0 seja afetado por um erro.Todas as operações aritméticas subsequentes são exatas.

Denotando · · ·In como o valor exato, eIn o valor calculado (com erro no valor inicial)

Atenção! Matematicamente temos:In = 1− nIn−1, n = 1,2,3, · · · (exato)In = 1− nIn−1, n = 1,2,3, · · · (calculado)

328 / 430

Page 329: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exercício. Vamos supor que:I0 seja afetado por um erro.Todas as operações aritméticas subsequentes são exatas.

Denotando · · ·In como o valor exato, eIn o valor calculado (com erro no valor inicial)

Atenção! Matematicamente temos:In = 1− nIn−1, n = 1,2,3, · · · (exato)In = 1− nIn−1, n = 1,2,3, · · · (calculado)I0 = I0 + ε (ε = erro no valor inicial)

329 / 430

Page 330: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Exercício. Vamos supor que:I0 seja afetado por um erro.Todas as operações aritméticas subsequentes são exatas.

Denotando · · ·In como o valor exato, eIn o valor calculado (com erro no valor inicial)

Atenção! Matematicamente temos:In = 1− nIn−1, n = 1,2,3, · · · (exato)In = 1− nIn−1, n = 1,2,3, · · · (calculado)I0 = I0 + ε (ε = erro no valor inicial)

Continuando · · ·330 / 430

Page 331: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Defina o erro rn como:rn = In − In, n = 1,2,3, · · ·

331 / 430

Page 332: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Defina o erro rn como:rn = In − Inrn = −nrn−1, n = 1,2,3, · · ·

332 / 430

Page 333: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Defina o erro rn como:rn = In − Inrn = −nrn−1, n = 1,2,3, · · ·

Agora aplique repetidamente a fórmula acima para obteruma relação de recorrência para rn em termos do erro ε,que é introduzido no cálculo do valor inicial I0.

(i) Com o resultado acima, explique a fonte do acúmulodo erro da relação de recorrência na direção “avançada”.

(ii) Ainda com base na análise acima, explique tambéma estabilidade da relação de recorrência na outra direção(“recuada”).

333 / 430

Page 334: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Mal condicionamento

334 / 430

Page 335: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Conceitos de Cálculo Numérico (revisitando)

O objetivo deste curso é examinar alguns métodos para aresolução numérica de vários tipos de problemas

Queremos implementar algoritmos em um computadorque levará à solução (ou uma aproximação razoável) doproblema

Qualquer problema pode ser pensado como uma funçãodos dados de entrada:

x que entrauma função f é executadaf (x) que sai

335 / 430

Page 336: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

O condicionamento é um conceito que se aplica aosproblemas

Pergunta: Quais são os efeitos que pequenas alteraçõesnos dados de entrada têm sobre a solução do problema ?

Um problema está bem condicionado se uma pequenavariação (na entrada) produz uma pequena alteração emf (x) (na saída)

Um problema é mal condicionado se uma pequenaalteração na entrada produz uma grande mudança nasaída (dizemos que esses problemas são sensíveis apequenas perturbações nos dados)

336 / 430

Page 337: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Por exemplo, o número de condição pode estar associadoa sistemas lineares de equações

Além disso, os números de condição podem estarassociados a outros problemas, tais como:

Cálculo de raízes de polinômios

Cálculo de autovalores e autovetores

Resolução de equações diferenciais ordinárias e parciais

337 / 430

Page 338: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

O que queremos dizer sobre um sistema linear deequações ser mal condicionado ou bem condicionado ?

338 / 430

Page 339: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

O que queremos dizer sobre um sistema linear deequações ser mal condicionado ou bem condicionado ?

Um sistema de equações é considerado bemcondicionado se uma pequena mudança na matriz decoeficientes ou uma pequena mudança no lado direitoresulta em uma pequena mudança no vetor solução

339 / 430

Page 340: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

O que queremos dizer sobre um sistema linear deequações ser mal condicionado ou bem condicionado ?

Um sistema de equações é considerado bemcondicionado se uma pequena mudança na matriz decoeficientes ou uma pequena mudança no lado direitoresulta em uma pequena mudança no vetor solução

Um sistema de equações é considerado malcondicionado se uma pequena mudança na matriz decoeficientes ou uma pequena mudança no lado direitoresulta em uma grande mudança no vetor solução

340 / 430

Page 341: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO 1

341 / 430

Page 342: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO 1Este sistema de equações é bem condicionado ?[

1 22 3.999

] [xy

]=

[4

7.999

]

342 / 430

Page 343: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO 1Este sistema de equações é bem condicionado ?[

1 22 3.999

] [xy

]=

[4

7.999

]SOLUÇÃO

343 / 430

Page 344: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO 1Este sistema de equações é bem condicionado ?[

1 22 3.999

] [xy

]=

[4

7.999

]SOLUÇÃOA solução para o conjunto de equações acima é:[

xy

]=

[21

]

344 / 430

Page 345: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO 1Este sistema de equações é bem condicionado ?[

1 22 3.999

] [xy

]=

[4

7.999

]SOLUÇÃOA solução para o conjunto de equações acima é:[

xy

]=

[21

]Faça uma pequena mudança no vetor do lado direito dasequações

345 / 430

Page 346: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

[1 22 3.999

] [xy

]=

[4.0017.998

]

346 / 430

Page 347: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

[1 22 3.999

] [xy

]=

[4.0017.998

]A solução muda para:[

xy

]=

[−3.999

4

]

347 / 430

Page 348: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

[1 22 3.999

] [xy

]=

[4.0017.998

]A solução muda para:[

xy

]=

[−3.999

4

]Faça uma pequena mudança na matriz dos coeficientesdas equações[

1.001 2.0012.001 3.998

] [xy

]=

[4

7.999

]

348 / 430

Page 349: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

[1 22 3.999

] [xy

]=

[4.0017.998

]A solução muda para:[

xy

]=

[−3.999

4

]Faça uma pequena mudança na matriz dos coeficientesdas equações[

1.001 2.0012.001 3.998

] [xy

]=

[4

7.999

]A solução agora muda para:[

xy

]=

[6.989−1.497

]349 / 430

Page 350: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Assim, o sistema de equações original (abaixo) “parece”ser mal condicionado, porque uma pequena mudança namatriz de coeficientes ou do lado direito RESULTOU emuma grande mudança no vetor solução

[1 22 3.999

] [xy

]=

[4

7.999

]

350 / 430

Page 351: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO 2

351 / 430

Page 352: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO 2Este sistema de equações é bem condicionado ?[

1 22 3

] [xy

]=

[47

]

352 / 430

Page 353: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO 2Este sistema de equações é bem condicionado ?[

1 22 3

] [xy

]=

[47

]SOLUÇÃO

353 / 430

Page 354: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO 2Este sistema de equações é bem condicionado ?[

1 22 3

] [xy

]=

[47

]SOLUÇÃOA solução para o conjunto de equações acima é:[

xy

]=

[21

]

354 / 430

Page 355: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO 2Este sistema de equações é bem condicionado ?[

1 22 3

] [xy

]=

[47

]SOLUÇÃOA solução para o conjunto de equações acima é:[

xy

]=

[21

]Faça uma pequena mudança no vetor do lado direito dasequações

355 / 430

Page 356: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

[1 22 3

] [xy

]=

[4.0017.001

]

356 / 430

Page 357: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

[1 22 3

] [xy

]=

[4.0017.001

]A solução muda para:[

xy

]=

[1.9991.001

]

357 / 430

Page 358: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

[1 22 3

] [xy

]=

[4.0017.001

]A solução muda para:[

xy

]=

[1.9991.001

]Faça uma pequena mudança na matriz dos coeficientesdas equações[

1.001 2.0012.001 3.001

] [xy

]=

[47

]

358 / 430

Page 359: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

[1.001 2.0012.001 3.001

] [xy

]=

[47

]A solução muda para:[

xy

]=

[1.9991.001

]Faça uma pequena mudança na matriz dos coeficientesdas equações[

1.001 2.0012.001 3.001

] [xy

]=

[47

]A solução agora muda para:[

xy

]=

[2.0030.997

]359 / 430

Page 360: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Assim, o sistema de equações original (abaixo) “parece”ser bem condicionado, porque uma pequena mudançana matriz de coeficientes ou do lado direito NÃORESULTOU em uma grande mudança no vetor solução

[1 22 3

] [xy

]=

[47

]

360 / 430

Page 361: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Assim, o sistema de equações original (abaixo) “parece”ser bem condicionado, porque uma pequena mudançana matriz de coeficientes ou do lado direito NÃORESULTOU em uma grande mudança no vetor solução[

1 22 3

] [xy

]=

[47

]

Então, o que dizer se o sistema linear de equações for malcondicionado ou bem condicionado ?

361 / 430

Page 362: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Assim, o sistema de equações original (abaixo) “parece”ser bem condicionado, porque uma pequena mudançana matriz de coeficientes ou do lado direito NÃORESULTOU em uma grande mudança no vetor solução[

1 22 3

] [xy

]=

[47

]

Então, o que dizer se o sistema linear de equações for malcondicionado ou bem condicionado ?

Bem, se um sistema linear de equações é malcondicionado, então não podemos confiar tanto na suasolução, quando resolvido por um procedimento numéricoQUALQUER !

362 / 430

Page 363: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Pergunta: Mas podemos pelo menos quantificar quantosalgarismos significativos se pode confiar na solução ?

363 / 430

Page 364: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Pergunta: Mas podemos pelo menos quantificar quantosalgarismos significativos se pode confiar na solução ?

Resposta: Em princípio, sim. Mas, como ?

364 / 430

Page 365: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Pergunta: Mas podemos pelo menos quantificar quantosalgarismos significativos se pode confiar na solução ?

Resposta: Em princípio, sim. Mas, como ?

Toda matriz inversível tem um número de condição, ejuntamente com a epsilon da máquina, podemosquantificar quantos algarismos significativos se podeconfiar na solução.

365 / 430

Page 366: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Pergunta: Mas podemos pelo menos quantificar quantosalgarismos significativos se pode confiar na solução ?

Resposta: Em princípio, sim. Mas, como ?

Toda matriz inversível tem um número de condição ejuntamente com a epsilon da máquina, podemosquantificar quantos algarismos significativos se podeconfiar na solução

Para calcular o número de condição de uma matrizquadrada inversível, é preciso saber o que é uma normapara matrizes

366 / 430

Page 367: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Ou seja, como a norma de uma matriz é definida ?

367 / 430

Page 368: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Ou seja, como a norma de uma matriz é definida ?

Atenção! Lembrando · · ·

368 / 430

Page 369: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Ou seja, como a norma de uma matriz é definida ?

Atenção! Lembrando · · ·

Assim como o fator determinante, a norma de uma matrizé um número, um simples escalar

369 / 430

Page 370: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Ou seja, como a norma de uma matriz é definida ?

Atenção! Lembrando · · ·

Assim como o fator determinante, a norma de uma matrizé um número, um simples escalar

Exceto pela matriz nula, a norma de uma matriz é semprepositiva e é definida para todas as matrizes quadradas ouretangulares, e matrizes quadradas inversíveis ou nãoinversíveis

370 / 430

Page 371: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Uma norma para matriz tipicamente empregada é anorma linha:

||A||∞ = max1≤i≤m

n∑

j=1

|aij |

,

onde A é uma matriz m × n.

371 / 430

Page 372: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Uma norma para matriz tipicamente empregada é anorma linha:

||A||∞ = max1≤i≤m

n∑

j=1

|aij |

,

onde A é uma matriz m × n.

EXEMPLO 3Encontre a norma linha da seguinte matriz A.

A =

10 −7 0−3 2.009 6

5 −1 5

372 / 430

Page 373: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

SOLUÇÃO

||A||∞ = max1≤i≤m

n∑

j=1

|aij |

, sendo A =

10 −7 0−3 2.009 6

5 −1 5

373 / 430

Page 374: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

SOLUÇÃO

||A||∞ = max1≤i≤m

n∑

j=1

|aij |

, sendo A =

10 −7 0−3 2.009 6

5 −1 5

||A||∞ =max{|10|+ |−7|+ |0|, |−3|+ |2.009|+ |6|, |5|+ |−1|+ |5|}

374 / 430

Page 375: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

SOLUÇÃO

||A||∞ = max1≤i≤m

n∑

j=1

|aij |

, sendo A =

10 −7 0−3 2.009 6

5 −1 5

||A||∞ =max{|10|+ |−7|+ |0|, |−3|+ |2.009|+ |6|, |5|+ |−1|+ |5|}||A||∞ = max{10 + 7 + 0,3 + 2.009 + 6,5 + 1 + 5}

375 / 430

Page 376: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

SOLUÇÃO

||A||∞ = max1≤i≤m

n∑

j=1

|aij |

, sendo A =

10 −7 0−3 2.009 6

5 −1 5

||A||∞ =max{|10|+ |−7|+ |0|, |−3|+ |2.009|+ |6|, |5|+ |−1|+ |5|}||A||∞ = max{10 + 7 + 0,3 + 2.009 + 6,5 + 1 + 5}||A||∞ = max{17,11.009,11}

376 / 430

Page 377: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

SOLUÇÃO

||A||∞ = max1≤i≤m

n∑

j=1

|aij |

, sendo A =

10 −7 0−3 2.009 6

5 −1 5

||A||∞ =max{|10|+ |−7|+ |0|, |−3|+ |2.009|+ |6|, |5|+ |−1|+ |5|}||A||∞ = max{10 + 7 + 0,3 + 2.009 + 6,5 + 1 + 5}||A||∞ = max{17,11.009,11}||A||∞ = 17

377 / 430

Page 378: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

SOLUÇÃO

||A||∞ = max1≤i≤m

n∑

j=1

|aij |

, sendo A =

10 −7 0−3 2.009 6

5 −1 5

||A||∞ =max{|10|+ |−7|+ |0|, |−3|+ |2.009|+ |6|, |5|+ |−1|+ |5|}||A||∞ = max{10 + 7 + 0,3 + 2.009 + 6,5 + 1 + 5}||A||∞ = max{17,11.009,11}||A||∞ = 17

Como a norma está relacionada com o condicionamentoda matriz ?

378 / 430

Page 379: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

SOLUÇÃO

||A||∞ = max1≤i≤m

n∑

j=1

|aij |

, sendo A =

10 −7 0−3 2.009 6

5 −1 5

||A||∞ =max{|10|+ |−7|+ |0|, |−3|+ |2.009|+ |6|, |5|+ |−1|+ |5|}||A||∞ = max{10 + 7 + 0,3 + 2.009 + 6,5 + 1 + 5}||A||∞ = max{17,11.009,11}||A||∞ = 17

Como a norma está relacionada com o condicionamentoda matriz ?

Vamos responder esta pergunta usando um exemplo !379 / 430

Page 380: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Voltando ao sistema linear de equações mal condicionado,[1 22 3.999

] [xy

]=

[4

7.999

]onde a solução é dada por:[

xy

]=

[21

]

380 / 430

Page 381: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Voltando ao sistema linear de equações mal condicionado,[1 22 3.999

] [xy

]=

[4

7.999

]onde a solução é dada por:[

xy

]=

[21

]Denotando o sistema acima porA X = C, temos:||X ||∞ = 2||C||∞ = 7.999

381 / 430

Page 382: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Faça uma pequena mudança no vetor do lado direito dasequações [

1 22 3.999

] [xy

]=

[4.0017.998

]onde a solução agora é dada por:[

xy

]=

[−3.9994.000

]

382 / 430

Page 383: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Faça uma pequena mudança no vetor do lado direito dasequações [

1 22 3.999

] [xy

]=

[4.0017.998

]onde a solução agora é dada por:[

xy

]=

[−3.9994.000

]Denotando o sistema acima porA X ′ = C′,

383 / 430

Page 384: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Faça uma pequena mudança no vetor do lado direito dasequações [

1 22 3.999

] [xy

]=

[4.0017.998

]onde a solução agora é dada por:[

xy

]=

[−3.9994.000

]Denotando o sistema acima porA X ′ = C′,a mudança no vetor do lado direito é dado por∆C = C′ − C

384 / 430

Page 385: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Faça uma pequena mudança no vetor do lado direito dasequações [

1 22 3.999

] [xy

]=

[4.0017.998

]onde a solução agora é dada por:[

xy

]=

[−3.9994.000

]Denotando o sistema acima porA X ′ = C′,a mudança no vetor do lado direito é dado por∆C = C′ − C

e a mudança no vetor solução é dado por∆X = X ′ − X

385 / 430

Page 386: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Segue que,

∆C =

[4.0017.998

]−[

47.999

]=

[0.001−0.001

]e

∆X =

[−3.9994.000

]−[

21

]=

[−5.9993.000

]

386 / 430

Page 387: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Segue que,

∆C =

[4.0017.998

]−[

47.999

]=

[0.001−0.001

]e

∆X =

[−3.9994.000

]−[

21

]=

[−5.9993.000

]então,||∆C||∞ = 0.001||∆X ||∞ = 5.999

387 / 430

Page 388: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Segue que,

∆C =

[4.0017.998

]−[

47.999

]=

[0.001−0.001

]e

∆X =

[−3.9994.000

]−[

21

]=

[−5.9993.000

]então,||∆C||∞ = 0.001||∆X ||∞ = 5.999

Atenção !

388 / 430

Page 389: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

A mudança relativa na norma do vetor solução é||∆X ||∞||X ||∞

=5.999

2= 2.9995

A mudança relativa na norma no vetor do lado direito é||∆C||∞||C||∞

=0.0017.999

= 1.250× 10−4

Notem que uma pequena mudança relativa de1.250× 10−4 no vetor do lado direito resulta em umagrande mudança (ordem de grandeza) no vetor soluçãode 2.9995

389 / 430

Page 390: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

De fato, a razão entre a mudança relativa na norma dovetor solução e a mudança relativa na norma do vetor dolado direito é

||∆X ||∞/||X ||∞||∆C||∞/||C||∞

=2.9995

1.250× 10−4 = 23996

390 / 430

Page 391: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

De fato, a razão entre a mudança relativa na norma dovetor solução e a mudança relativa na norma do vetor dolado direito é

||∆X ||∞/||X ||∞||∆C||∞/||C||∞

=2.9995

1.250× 10−4 = 23996

Repetindo as mesmas contas para o sistema bemcondicionando · · ·

391 / 430

Page 392: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

De fato, a razão entre a mudança relativa na norma dovetor solução e a mudança relativa na norma do vetor dolado direito é

||∆X ||∞/||X ||∞||∆C||∞/||C||∞

=2.9995

1.250× 10−4 = 23996

Repetindo as mesmas contas para o sistema bemcondicionando · · ·

||∆X ||∞/||X ||∞||∆C||∞/||C||∞

=5× 10−4

1.429× 10−4 ≈ 3.5

392 / 430

Page 393: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

De fato, a razão entre a mudança relativa na norma dovetor solução e a mudança relativa na norma do vetor dolado direito é

||∆X ||∞/||X ||∞||∆C||∞/||C||∞

=2.9995

1.250× 10−4 = 23996

Repetindo as mesmas contas para o sistema bemcondicionando · · ·

||∆X ||∞/||X ||∞||∆C||∞/||C||∞

=5× 10−4

1.429× 10−4 ≈ 3.5

Algumas perguntas · · ·393 / 430

Page 394: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Existe alguma relação geral entre||∆X ||||X ||

e||∆C||||C||

e/ou||∆X ||||X ||

e||∆A||||A||

?

394 / 430

Page 395: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Existe alguma relação geral entre||∆X ||||X ||

e||∆C||||C||

e/ou||∆X ||||X ||

e||∆A||||A||

?

Se existe, tal relação pode ajudar a identificar sistemaslineares de equações que são mal condicionados e bemcondicionados ?

395 / 430

Page 396: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Existe alguma relação geral entre||∆X ||||X ||

e||∆C||||C||

e/ou||∆X ||||X ||

e||∆A||||A||

?

Se existe, tal relação pode ajudar a identificar sistemaslineares de equações que são mal condicionados e bemcondicionados ?

Ou seja, se tal relação existe, será possível quantificar ocondicionamento de matrizes associadas a sistemaslineares de equações ?

396 / 430

Page 397: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Existe alguma relação geral entre||∆X ||||X ||

e||∆C||||C||

e/ou||∆X ||||X ||

e||∆A||||A||

?

Se existe, tal relação pode ajudar a identificar sistemaslineares de equações que são mal condicionados e bemcondicionados ?

Ou seja, se tal relação existe, será possível quantificar ocondicionamento de matrizes associadas a sistemaslineares de equações ?

Mais do que isso, se tal relação existe, será possívelquantificar quantos dígitos significativos podemos confiarna solução numérica de um sistema linear de equações ?

397 / 430

Page 398: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Resposta: Sim, existe relações gerais entre||∆X ||||X ||

e||∆C||||C||

e||∆X ||||X ||

e||∆A||||A||

!!

398 / 430

Page 399: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Resposta: Sim, existe relações gerais entre||∆X ||||X ||

e||∆C||||C||

e||∆X ||||X ||

e||∆A||||A||

!!

A relação entre||∆X ||||X ||

e||∆C||||C||

, é dada por:

||∆X ||||X ||

≤ ||A|| ||A−1|| ||∆C||||C||

399 / 430

Page 400: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Resposta: Sim, existe relações gerais entre||∆X ||||X ||

e||∆C||||C||

e||∆X ||||X ||

e||∆A||||A||

!!

A relação entre||∆X ||||X ||

e||∆C||||C||

, é dada por:

||∆X ||||X ||

≤ ||A|| ||A−1|| ||∆C||||C||

E a relação entre||∆X ||||X ||

e||∆A||||A||

, é dada por:

||∆X ||||X + ∆X ||

≤ ||A|| ||A−1|| ||∆A||||A||

400 / 430

Page 401: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

As duas desigualdades revelam que a mudança relativa nanorma do vetor do lado direito ou na matriz de coeficientespode ser amplificada pelo produto por ||A|| ||A−1||

401 / 430

Page 402: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

As duas desigualdades revelam que a mudança relativa nanorma do vetor do lado direito ou na matriz de coeficientespode ser amplificada pelo produto por ||A|| ||A−1||

O número ||A|| ||A−1|| é chamado número de condição damatriz; i.e., Cond(A) ≡ ||A|| ||A−1||

402 / 430

Page 403: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

As duas desigualdades revelam que a mudança relativa nanorma do vetor do lado direito ou na matriz de coeficientespode ser amplificada pelo produto por ||A|| ||A−1||

O número ||A|| ||A−1|| é chamado número de condição damatriz; i.e., Cond(A) ≡ ||A|| ||A−1||

O desejável é que Cond(A) ≡ ||A|| ||A−1|| ≈ 1

403 / 430

Page 404: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

As duas desigualdades revelam que a mudança relativa nanorma do vetor do lado direito ou na matriz de coeficientespode ser amplificada pelo produto por ||A|| ||A−1||

O número ||A|| ||A−1|| é chamado número de condição damatriz; i.e., ||A|| ||A−1|| ≡ Cond(A)

O desejável é que Cond(A) ≡ ||A|| ||A−1|| ≈ 1

Além disso, o número de condição da matriz Cond(A), emconjunto com o valor epsilon de máquina “εmaq”, pode serusado para quantificar (em teoria) a precisão do númerode dígitos significativos para a solução numérica deAX = C

404 / 430

Page 405: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Então, como podemos utilizar os resultados anteriorespara estimar quantos dígitos significativos estão corretospara a solução numérica de AX = C ?

405 / 430

Page 406: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Então, como podemos utilizar os resultados anteriorespara estimar quantos dígitos significativos estão corretospara a solução numérica de AX = C ?

Lembre que

||∆X ||||X ||

=||X ′ − X ||||X ||

≤ Cond(A)× ||∆C||||C||

406 / 430

Page 407: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Então, como podemos utilizar os resultados anteriorespara estimar quantos dígitos significativos estão corretospara a solução numérica de AX = C ?

Lembre que

||∆X ||||X ||

=||X ′ − X ||||X ||

≤ Cond(A)× ||∆C||||C||

Daí, o possível erro relativo no vetor solução é dado por:

“possível erro relativo no vetor X ” ≤ Cond(A)× εmaq

407 / 430

Page 408: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Assim, Cond(A)× εmaq deve fornecer o número de dígitossignificativos, pelo menos m dígitos de confiança na

solução, se comparado com12× 10m

408 / 430

Page 409: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Assim, Cond(A)× εmaq deve fornecer o número de dígitossignificativos, pelo menos m dígitos de confiança na

solução, se comparado com12× 10m

Vejamos alguns exemplos para ajudar a fixar as ideias

409 / 430

Page 410: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Assim, Cond(A)× εmaq deve fornecer o número de dígitossignificativos, pelo menos m dígitos de confiança na

solução, se comparado com12× 10m

Vejamos alguns exemplos para ajudar a fixar as ideias

EXEMPLOQuantos dígitos significativos podemos confiar na soluçãodo seguinte sistema de equações ?[

1 22 3.999

] [xy

]=

[4

7.999

]

410 / 430

Page 411: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Assim, Cond(A)× εmaq deve fornecer o número de dígitossignificativos, pelo menos m dígitos de confiança na

solução, se comparado com12× 10m

Vejamos alguns exemplos para ajudar a fixar as ideias

EXEMPLO 1Quantos dígitos significativos podemos confiar na soluçãodo seguinte sistema de equações ?[

1 22 3.999

] [xy

]=

[4

7.999

]

SOLUÇÃO

411 / 430

Page 412: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para este sistema, temos que

A=

[1 22 3.999

]e A−1 =

[−3999 20002000 −1000

]

412 / 430

Page 413: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para este sistema, temos que

A=

[1 22 3.999

]e A−1 =

[−3999 20002000 −1000

]

||A||∞ = 5.999 e ||A−1||∞ = 5999

413 / 430

Page 414: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para este sistema, temos que

A=

[1 22 3.999

]e A−1 =

[−3999 20002000 −1000

]

||A||∞ = 5.999 e ||A−1||∞ = 5999

Cond(A) = ||A||∞ ||A−1||∞ ≈ 35988

414 / 430

Page 415: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para este sistema, temos que

A=

[1 22 3.999

]e A−1 =

[−3999 20002000 −1000

]

||A||∞ = 5.999 e ||A−1||∞ = 5999

Cond(A) = ||A||∞ ||A−1||∞ ≈ 35988

Supondo uma precisão simples com 24 bits na mantissa, o“epsilon de máquina” (εmaq = 21−24 = 0.119209× 10−6)

415 / 430

Page 416: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para este sistema, temos que

A=

[1 22 3.999

]e A−1 =

[−3999 20002000 −1000

]

||A||∞ = 5.999 e ||A−1||∞ = 5999

Cond(A) = ||A||∞ ||A−1||∞ ≈ 35988

Supondo uma precisão simples com 24 bits na mantissa, o“epsilon de máquina” (εmaq = 21−24 = 0.119209× 10−6)

Cond(A)×εmaq = 35988×0.119209×10−6 = 0.429×10−2

416 / 430

Page 417: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Para este sistema, temos que

A=

[1 22 3.999

]e A−1 =

[−3999 20002000 −1000

]||A||∞ = 5.999 e ||A−1||∞ = 5999

Cond(A) = ||A||∞ ||A−1||∞ ≈ 35988

Supondo uma precisão simples com 24 bits na mantissa, o“epsilon de máquina” (εmaq = 21−24 = 0.119209× 10−6)

Cond(A)×εmaq = 35988×0.119209×10−6 = 0.429×10−2

Daí,12× 10m ≤ 0.429× 10−2 (dois dígitos de confiança)

417 / 430

Page 418: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

EXEMPLO 2Quantos dígitos significativos podemos confiar na soluçãodo seguinte sistema de equações ?[

1 22 3

] [xy

]=

[47

]

SOLUÇÃOPara este sistema, temos que

A=

[1 22 3

]e A−1 =

[−3 22 −1

]

418 / 430

Page 419: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

||A||∞ = 5 e ||A−1||∞ = 5

Cond(A) = ||A||∞ ||A−1||∞ = 25

Supondo uma precisão simples com 24 bits na mantissa, o“epsilon de máquina” (εmaq = 21−24 = 0.119209× 10−6)

Cond(A)× εmaq = 25× εmaq = 2.980225× 10−6

Daí,12× 10m ≤ 0.298023× 10−5 (cinco dígitos de

confiança !)

419 / 430

Page 420: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Ainda sobre bem ou mal condicionamento · · ·

Suponha agora que o problema consiste simplesmente emavaliar a função f (de uma variável real) em um ponto x .

Pergunta: Se x é ligeiramente perturbado, qual é o efeitosobre f (x) ?

Se a pergunta refere-se ao erro absoluto, pode-se entãoinvocar o Teorema do valor médio e escrever:

f ′(ξ) =f (x + h)− f (x)

h, ou melhor

f (x + h)− f (x) = f ′(ξ)h, x < ξ < x + h420 / 430

Page 421: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Ainda sobre bem ou mal condicionamento · · ·

Desta maneira, se f ′(x) não é muito grande, o efeito daperturbação sobre f (x) é pequeno

Usualmente, entretanto, é o erro relativo que fornece umamedida com maior significado para tais questões.

Em pertubar x por uma quantidade h, tem-se que a

quantidadehx

como o relativo tamanho da pertubação.

Da mesma forma, quando f (x) é pertubado para f (x + h),o tamanho relativo dessa pertubação é:

f (x + h)− f (x)

f (x)≈ h f ′(x)

f (x)=

[x f ′(x)

f (x)

] (hx

)421 / 430

Page 422: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Desta maneira, o fator[

x f ′(x)

f (x)

]serve com o número de

condição para este problema

EXEMPLO: Qual é o número de condição para o cálculoda função inversa do seno ?

SOLUÇÃO:Seja f (x) = sen−1 = arcsen x

Segue que,x f ′(x)

f (x)=

x√1− x2 sen−1

Para x próximo de 1, sen−1 ≈ π/2.

422 / 430

Page 423: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Desta maneira, o fator[

x f ′(x)

f (x)

]O número de condição se torna infinito na medida em quex se aproxima de 1, uma vez que o número de condição éaproximado por:

2xπ√

1− x2

Assim, pequenos erros relativos em x podem conduzirpara grandes erros relativos em f (x) = sen−1, para x ≈ 1

423 / 430

Page 424: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

“Desastres numéricos” (ou falha humana ?)

Ver alguns exemplos em

http://www.ime.unicamp.br/∼ms211/material-didático

424 / 430

Page 425: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

SumárioNenhum método numérico pode compensar um problemamal condicionado

Mas nem todo método numérico será bom para umproblema bem condicionado

Um método numérico precisa controlar os diversos erroscomputacionais (e.g., aproximação, o truncamento, oarredondamento, que se propagam), equilibrando o custo(tempo) computacional final

Um método numérico deve ser consistente e estável demodo a convergir para a resposta correta

425 / 430

Page 426: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

O padrão IEEE (IEEE - Institute of Electrical and ElectronicEngineers) “tenta” padronizar a precisão simples e duplaem ponto flutuante e a sua aritméticaIEEE websites:

http://www.ieee.org.br (Brasil)http://www.ieee.org (Internacional)

Visite também o website:http://grouper.ieee.org/groups/754/ (Internacional)

Overflow e underflow numéricos, e cancelamento, devemser cuidadosamente considerados e evitados oucontornados

Formas matematicamente equivalentes não sãonumericamente equivalentes!

426 / 430

Page 427: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

427 / 430

Page 428: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Proposição: Seja A tal que I = A A−1. Se AX = C , então||∆X ||

||X + ∆X ||≤ ||A|| ||A−1|| ||∆A||

||A||

Prova: Seja AX = C. Se A é modificado para A′, X serámodificado para X ′, tal que:A′ X ′ = C

Das duas equações acima, temos que AX = A′ X ′

Denotando a mudança nas matrizes A e X por ∆A e ∆X ,respectivamente,∆A = A′ − A e ∆X = X ′ − X .Então, AX = (A + ∆A)(X + ∆X )

428 / 430

Page 429: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Expandindo a última equação:AX = (A + ∆A)(X + ∆X )AX = AX + A∆X + ∆AX + ∆A∆X

0 = A∆X + ∆AX + ∆A∆X−A∆X = ∆A(X + ∆X )

∆X = −A−1∆A(X + ∆X )

Aplicando o teorema “usual” das normas, onde estabeleceque a norma do produto de duas matrizes é menor do queo produto das normas das matrizes, segue que:

||∆X || ≤ || − A−1|| ||∆A|| ||X + ∆X ||Multiplicando ambos os lados por ||A|| ||X + ∆X ||−1, fica:||∆X ||

||X + ∆X ||≤ ||A|| ||A−1|| ||∆A||

||A||, ou ainda:

||∆X ||||X + ∆X ||

≤ ||A|| ||A−1|| ||∆A||||A||

429 / 430

Page 430: Condicionamento de algoritmos - Instituto de Matemática, Estatística e … · 2016-08-28 · Condicionamento de algoritmos Tópico 00-Cálculo da média final: M = (P1 + P2 + MT)/3,

Condicionamento de algoritmos

Tópico 01

Lembrete: Propriedade de normas de matrizes

Para uma matriz A, ||A|| ≥ 0

Para uma matriz A e um escalar k , ||k A|| = k ||A||

Para duas matrizes A e B de mesma ordem,||A + B|| ≤ ||A||+ ||B||

Para duas matrizes A e B, que podem ser multiplicadascomo A B, ||A B|| ≤ ||A|| ||B||

430 / 430