Baixe o app para aproveitar ainda mais
Prévia do material em texto
UFRN Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia Solução de Sistemas de Equações Lineares Parte II: Efeitos da aritmética flutuante e pivotação ECT1303 – Computação Numérica • Manter o telefone celular sempre desligado/silencioso quando estiver em sala de aula; • Nunca atender o celular na sala de aula. Introdução Até aqui, utilizamos a aritmética exata para a resolução de sistemas lineares. Está na hora de verificar se a aritmética flutuante utilizada pelos computadores tem influência sobre os resultados. De fato, veremos que certas matrizes são muito sensíveis aos efeitos da aritmética flutuante. Exemplo 1 Considere o sistema: cuja solução exata é x = [4 3]T Se trocamos o termo 1,1 da matriz por 1,05, a nova solução exata é x = [8 1]T. Uma pequena modificação no termo de uma matriz pode levar a uma grande modificação da solução exata. Na prática, a aritmética flutuante provoca pequenas modificações nos termos de uma matriz, o que se reflete nos métodos exatos de resolução. 4,10 10 21,1 21 2 1 x x Exemplo 2 – parte I Considere o sistema: cuja solução exata é x = [10 1]T Suponha que iremos realizar a eliminação de Gauss utilizando aritmética de 4 dígitos de precisão. Note que o primeiro pivô é pequeno a11=0,003, e seu multiplicador associado, m21=5,291/0,003 = 1763,666..., é arredondado para 1764. 78,46130,6291,5 17,5914,59003,0 21 21 xx xx Exemplo 2 – parte II A eliminação de Gauss fornece: Os módulos de m21a13 e a23 introduziu erros de arredondamento. A substituição regressiva resulta em: 104400104300 17,5914,59003,0 2 21 x xx 1010 1001,1 1 2 x x Como podemos limitar estes erros? Pivotamento Parcial Uma primeira possibilidade consiste em aumentar a precisão da mantissa p, porém isso nem sempre é possível. Analisando os cálculos precedentes, pode-se suspeitar que a origem dos problemas é a divisão por um pivô quase nulo. Sabemos que tal operação é perigosa numericamente. Uma estratégia consiste então em permutar as linhas mesmo se o pivô não é exatamente nulo. Pivotamento Parcial O pivotamento parcial consiste na troca de linhas de um sistema: selecionar um elemento na mesma coluna que esteja abaixo da diagonal principal e que tenha o maior módulo para ser o pivô. Exemplo 2 – parte IV Retomando a eliminação de Gauss do exemplo (ainda com p=4) com pivotamento parcial, teremos agora: O multiplicador será, m21 = 0,000567, e o resultado após a substituição: x = [10 1]T ... igual a solução exata 17,5914,59003,0 78,46130,6291,5 21 21 xx xx Exemplo 3 – parte I A estratégia de pivotamento parcial geralmente melhora a precisão dos resultados, porém nem sempre esta operação é suficiente. Considere o sistema que é o mesmo do exemplo anterior multiplicando a primeira equação por 104 . Por Gauss chegamos a x= [-10, 1,001]t . 78,46130,6291,5 59170059140030 21 21 xx xx Exemplo 3 – parte II Mais uma vez, o erro é considerável com relação à solução exata. Isto ocorre porque a matriz A é constituída de termos de ordem de grandeza completamente diferentes. Dimensionamento Uma solução parcial para o problema do exemplo anterior é efetuar o dimensionamento (mudança de escala) dos coeficientes da matriz. Atenção! O termo da direita b não é levado em consideração para se determinar o maior termo de cada linha. O dimensionamento consiste em dividir cada linha da matriz A pelo seu maior termo (em valor absoluto). Exemplo 3 – parte III O sistema se torna então Agora, a troca de linhas é necessária, pois o pivô 0,5x 10-4 é muito pequeno. Podemos mostrar que a resolução em aritmética flutuante com p=4 fornece a solução x = [10 1]T, que é o resultado exato. 78,46130,6291,5 59170059140030 21 21 xx xx 6313,78631,0 0005,100005,0 21 21 xx xx Pivotação Completa • A pivotação completa, no k-ésimo passo, busca todos os elementos aij para i=k, k+1, ..., n, e j= k, k+1, ..., n, para achar o elemento com o maior módulo. Ambas as trocas de linhas e colunas são executadas para trazer esse elemento à posição pivô. • O número de operações acrescentadas é maior se comparado a pivotação parcial com dimensionamento. Porém, a precisão é maior e não realiza a operação de divisão na etapa de pivotação. Na Pivotação completa ocorre tanto permutação de linhas quanto colunas, de forma que o maior elemento possível seja o pivô. Exercício • Para o sistema • Cuja solução real é [100, 1], encontre utilizando Gauss e uma precisão de três dígitos: – A solução sem pivotação; – A solução com pivotação parcial; – A solução com pivotação parcial e dimensionamento; – A solução com pivotação total. 0,4710,631,5 2,599,58003,0 21 21 xx xx
Compartilhar