Introdução aos Métodos Numéricos Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho
Conteúdo da disciplina Erros em Aproximações Numéricas Sistemas de Equações Lineares. Métodos diretos Interpolação Ajuste de Curvas Zeros de Função Sistemas de Equações Lineares. Métodos Iterativos Integração Numérica Introdução à Resolução de Equações Diferenciais Ordinárias
Conteúdo específico Limitação na representação numérica Mudança de base numérica Problemas mal-condicionados
Limitação de representação numérica Computadores usam representação limitada de números sejam inteiros, reais ou complexos Seria necessário uma memória infinita para representar números com um número potencialmente infinito de algarismos
Limitação de representação numérica Computadores usam representação limitada: inteiros : 2 Baites (-32 768 32 767) 4 Baites (-2 147 483 648 2 147 483 647)
Limitação de representação numérica Computadores usam representação limitada: reais (ponto flutuante): 4 Baites 7 algarismos significativos (base 10) 8 Baites 15 algarismos significativos (base 10)
Calculando com precisão limitada Denominaremos Ruido Numérico aos valores gerados na computação de números de ponto flutuante e que tem como fonte os cálculos oriundos de usarmos precisão finita
Calculando com precisão limitada A= ~ A+δ A ; A, δ A R; ~ A Ponto Flutuante B= ~ B+δ B ; B, δ B R; ~ B Ponto Flutuante
Calculando com precisão limitada Todo sistema de cálculo numérico tem precisão limitada Para facilitar o entendimento, trabalharemos com um dispositivo de cálculo que representa 5 algarismos significativos Usaremos o formato 3,1458 123 onde 123 são os algarismos não representáveis.
Soma A+B= ~ A+δ A+ ~ B+δ B= ~ A+ ~ B+δ A+δ b
Soma A+B= ~ A+δ A+ ~ B+δ B= ~ A+ ~ B+δ A+δ b A=3,1435 x 10 1 ; B=4,2356 x 10 2
Soma A+B= ~ A+δ A+ ~ B+δ B= ~ A+ ~ B+δ A+δ b A=3,1435 x 10 1 ; B=4,2356 x 10 2 31,435 0+0,042 356=31,477 356 Observe que se B fosse, por exemplo, cem vezes menor seria como se ele fosse zero. Toda informação de B seria perdida.
Soma Quanto maior for a diferença de magnitude entre os números, maior será o ruido numérico na soma.
Subtração A B= ~ A+δ A ( ~ B+δ B )= ~ A ~ B+δ A+δ B
Subtração Por oposição, veja que se dois números forem muito próximos mas sua representação for idêntica, podemos ter como resultado da subtração um valor representando zero para um valor que não é zero.
Subtração Quanto menor for a diferença de magnitude entre os números, maior será o ruido numérico
Multiplicação A B=( ~ A+δ A ) (δ B+ ~ B )= ~ A ~ B+ ~ A δ b+ ~ B δ A
Multiplicação A B=( ~ A+δ A ) (δ B+ ~ B )= ~ A ~ B+ ~ A δ b+ ~ B δ A A=3,1435 x 10 1 ; B=4,2356 x 10 2
Multiplicação A B=( ~ A+δ A ) (δ B+ ~ B )= ~ A ~ B+ ~ A δ b+ ~ B δ A A=3,1435 x 10 1 ; B=4,2356 x 10 2 31,435 0,0423 56=1,3314 6086
Multiplicação Quanto maior for a diferença de magnitude entre os números, maior será o ruido numérico
Divisão A B = ~ A+δ A ~ B+δ B = ~ A/ ~ B+δ A / ~ B 1+δ B/ ~ B ;~ B 0
Divisão ~ ~ ~ ~ A A+δ A A/ B+δ A / B B = ~ = B+δ B 1+δ B/ ~ B ;~ B 0 Série Geométrica: 1 1+r =1 r+r2 r 3 + ; r <1
Divisão ~ ~ ~ ~ A A+δ A A/ B+δ A / B B = ~ = B+δ B 1+δ B/ ~ B ;~ B 0 Série Geométrica: 1 1+r =1 r+r2 r 3 + ; r <1 ~ A / ~ B+δ A / ~ B 1+δ B/ ~ B = ( ~ A ~B + δ A ~ B ) 1 1+δ B/ ~ B = ( ~ A ~B + δ A ~ B ) [ 1 δ B ~ B + ( δ B ~B ) 2 + ]
Divisão ~ A A~B B = + δ ~ A ~ A δ B ~ ~B δ A δ B ~ ~B + B B B Repare que se B for pequeno em relação a A, a representação de B ao quadrado no segundo termo, por exemplo, fará a representação de A ser amplificada, levando a perder algarismos significativos de B
Divisão Quanto menor for o valor do divisor em relação ao dividendo, maior será o ruido numérico
Mudança de base numérica Números que não são dízima periódica em decimal podem o ser em binário: 0,1 10 e 0,01 10 são dízimas periódicas na base 2 usada pelos computadores, ou seja, 0,1 10 =0,0 0011 2 ;0,01 10 =0,00 00001010001111010111 2 Portanto, 100 X 0,01 pode ser diferente de 1...
Mudança de base numérica Faça um programa em sua linguagem favorita somando 0,0110 100 vezes e veja o resultado Use a função rationalize() do Maxima para ver qual é a representação como números racionais para os números 0,1 10 e 0,01 10 no computador
Problemas mal condicionados Um problema é dito malcondicionado se mudança em seus parâmetros produz uma mudança numa ordem de grandeza superior à mudança original
Um exemplo simples x 2 2 x+1=0 1,01 x 2 2 x+1=0 0,99 x 2 2 x+1=0
Um exemplo simples a x 2 +bx+c=0 ; x= b± b 2 4 a c 2 a
Um exemplo simples x 2 2 x+1=0 ; x=2± 4 4 2 =1; raiz dupla
Um exemplo simples 1,01 x 2 2 x+1=0; x= 2± 4 4,04 2,02 = 1±0,1i 1,01
Um exemplo simples 0,99 x 2 2 x+1=0 ; x= 2± 4 3,96 1,98 = 1±0,1 0,99 ={1,11 0, 90
Problemas mal condicionados A natureza do problema (raiz dupla, raizes complexas conjugadas, raizes reais distintas) muda radicalmente com a variação que fizemos no coeficiente de segundo grau da equação
Problemas mal condicionados A natureza do problema (raiz dupla, raizes complexas conjugadas, raizes reais distintas) muda radicalmente com a variação que fizemos no coeficiente de segundo grau da equação De fato haveria, neste caso específico, a mesma mudança de natureza do problema para qualquer pequena variação no coeficiente do segundo grau
Mais um exemplo simples ( 9 1 62,5 7 ) x= ( 1 2 )
Mais um exemplo simples ( 9 1 62,5 7 ) x= ( 1 2 ) x= ( 10 89 )
Mais um exemplo simples ( 9 1 62,5 7 ) x= ( 1 2 ) x= ( 10 89 ) ( 9 1 62,6 7 ) x= ( 1 2 )
Mais um exemplo simples ( 9 1 62,5 7 ) x= ( 1 2 ) x= ( 10 89 ) ( 9 1 62,6 7 ) x= ( 1 2 ) x= ( 12,5 111,5 )
Mais um exemplo simples ( 9 1 62,5 7 ) x= ( 1 2 ) x= ( 10 89 ) ( 9 1 ) 62,6 7 x= ( 1 ) x= ( 12,5 ) 2 111,5 ( 9,01 1 62,5 7 ) x= ( 1 2 )
Mais um exemplo simples ( 9 1 62,5 7 ) x= ( 1 2 ) x= ( 10 89 ) ( 9 1 ) 62,6 7 x= ( 1 ) x= ( 12,5 ) 2 111,5 ( 9,01 1 62,5 7 ) x= ( 1 2 ) x ( 8,771929 78,035087 )
Problemas mal condicionados Aqui temos novamente que uma pequena variação nos parâmetros do problema gera uma mudança muito maior na solução deste sistema
Problemas mal condicionados Problemas que envolvem: Sistemas de Equações Lineares Sistemas de Equações Não-lineares Equações Diferenciais Integração Numérica Cálculo de funções Etc.
Problemas mal condicionados...podem ser mal-condicionados!