Análise Numérica

April 7, 2019 | Author: VendinhasdaVal | Category: Numerical Analysis, Calculus, Computer Science, Infinity, Series (Mathematics)
Share Embed Donate


Short Description

Análise Numérica Richard L. Burden...

Description

Preliminares matemáticos e análise de erros

45

componente de módulo grande apareça, o algoritmo muda a escala da soma anterior e continua a mudar a escala, calcular o quadrado e a soma dos números restantes. O algoritmo supõe que, na transição de números pequenos a médios, números pequenos sem mudança de escala são desprezíveis quando comparados a números médios. De maneira análoga, na transição de números médios a grandes, números médios sem mudança de escala são desprezíveis quando comparados a números grandes. Portanto, a escolha dos parâmetros de mudança de escala deve ser feita de maneira que os números sejam igualados a 0 somente quando forem realmente desprezíveis. As relações típicas entre as características de máquina descritas por t, s , l, emin, emax e os parâmetros do algoritmo N, s, S , y e Y são fornecidos depois do algoritmo. O algoritmo usa três marcadores para indicar os vários estágios no processo de soma. Esses marcadores são valores iniciais fornecidos no Passo 3 do algoritmo. O MARCADOR 1 é 1 até que uma componente média ou grande seja encontrada; então, ele é alterado para 0. O MARCADOR 2 é 0 enquanto números pequenos estão sendo somados, muda para 1 quando um número médio é encontrado pela primeira vez e muda novamente para 0 quando um número grande é encontrado. O MARCADOR 3 é inicialmente 0 e muda para 1 quando um número grande é encontrado pela primeira vez. O Passo 3 também introduz o marcador FEITO, o qual é 0 até que os cálculos sejam concluídos e depois muda para 1. ENTRADA SAÍDA

 N , s, S , y, Y , l, n, x1, x2, . . . , xn.  NORMA ou uma mensagem de erro apropriada.

Se n # 0 então SAÍDA (‘O inteiro n deve ser positivo’);   PARE. Passo 2 Se n ≥ N então SAÍDA (‘O inteiro n é muito grande’);   PARE. Passo 3 Faça SOMA 5 0;   MARCADOR1 5 1; (Os números pequenos estão sendo somados.)   MARCADOR2 5 0;   MARCADOR3 5 0;   FEITO 5 0; i 5 1. Passo 4 Enquanto (i # n e MARCADOR15 1) execute o Passo 5. Passo 5  Se  uxiu , y então faça SOMA 5 SOMA 1 (Sxi)2; i 5 i 1 1 senão faça MARCADOR15 0. (Um número não pequeno encontrado.) Passo 6  Se i . n então faça NORMA 5 (SOMA) 1/2/ S ;   FEITO 5 1 senão faça SOMA 5 (SOMA/S ) /S ; ( Escala para números maiores.)   MARCADOR2 5 1. Passo 7  Enquanto (i # n e MARCADOR2 5 1) execute Passo 8. (Soma dos números de tamanho médio.) 2 Passo 8  Se  uxiu , Y então faça SOMA 5 SOMA 1 x i ; i 5 i 1 1 senão faça MARCADOR2 5 0. (Um número grande foi encontrado.) Passo 1

46

 Análise numérica

Se FEITO 5 0 então se i . n então faça NORMA 5 (SOMA)1/2;   FEITO 5 1 senão faça SOMA 5 ((SOMA) s) s; ( Mudança de escala para os números grandes.)   MARCADOR3 5 1. Passo 10 Enquanto (i # n e MARCADOR3 5 1) execute Passo 11. Passo 11 Faça SOMA 5 SOMA 1 ( sxi)2; (Somar os números grandes.) i5i11. Passo 12 Se FEITO 5 0 então se SOMA1/2 , l s então faça NORMA 5 (SOMA)1/2 /s;   FEITO 5 1 senão faça SOMA 5 l. ( A norma é muito grande.) Passo 13 Se FEITO 5 1 então SAÍDA (‘A norma é’, NORMA) senão SAÍDA (‘Norma ≥’, NORMA, ‘ocorreu overow’). Passo 14 PARE. Passo 9

As relações entre as características da máquina t, s , l, emin, emax e os parâmetros do algoritmo N, s, S , y, e Y foram escolhidos em [Brow, W.], p. 471 como sendo:  N 5 10e N ,  s 5 10eS , S 5 10eS ,  y 510ey, Y 5 10eY ,

onde e N  5 [(t 2 2)/2], o maior inteiro menor ou igual a (t 2 2)/2; onde e s 5 [2 (emax 1 e N  )/2]; onde eS  5 [( 1 2 emin )/2], o menor inteiro maior ou igual a (1 2 emin)/2; onde e y 5 [(emin 1 t 2 2)/2]; onde eY  5 [(emax 2 e N ) / 2].

O primeiro computador portátil foi o Osborne I, produzido em 1981, embora fosse muito maior e pesado do que consideraríamos atualmente como portátil.

A conabilidade incorporada neste algoritmo aumentou muito a complexidade em com paração com o algoritmo apresentado antes na seção. Na maioria dos casos, os algoritmos de propósito especial e os de propósito geral dão resultados idênticos. A vantagem do algoritmo de propósito geral é que ele fornece segurança para seus resultados. Muitas formas de software numérico de propósito geral estão disponíveis comercialmente e em domínio público. Muitos dos primeiros softwares foram escritos para computadores de grande porte e uma boa referência para eles é Sources and Development of Mathematical Software, editado por Wayne Cowell [Co]. Agora que o computador pessoal se tornou sucientemente poderoso, softwares numéricos padrão estão disponíveis para eles. A maioria desses softwares numéricos está escrita em FORTRAN, embora alguns pacotes estejam escritos em C, C11 e FORTRAN 90. O sistema FORTRAN (FORmula TRANslator) foi a linguagem de programação cientíca de propósito geral original. Ela ainda é amplamente usada em situações que exigem cálculos cientícos intensivos.

Preliminares matemáticos e análise de erros

47

Procedimentos ALGOL foram apresentados para cálculos com matrizes em 1971 em [WR]. Um pacote de sub-rotinas FORTRAN com base principalmente em procedimentos ALGOL foi então desenvolvido nas rotinas EISPACK. Essas rotinas estão documentadas nos manuais, publicados pela Springer-Verlag como parte de série Lecture  Notes in Computer Science, [Sm,B] e [Gar]. As sub-rotinas FORTRAN são usadas  para calcular autovalores e autovetores para diversos tipos de matrizes. O LINPACK é um pacote de sub-rotinas FORTRAN para analisar e resolver sistemas de equações lineares e resolver problemas de mínimos quadrados lineares. A documentação desse pacote está contida em [DBMS]. Uma introdução passo a passo ao LINPACK, EISPACK e BLAS (Basic Linear Algebra Subprograms) é fornecida em [CV]. O projeto EISPACK foi o primeiro pacote de software numérico de larga escala a tornar-se disponível em domínio público e abriu caminho para muitos outros pacotes fazerem o mesmo.

O pacote LAPACK, disponível pela primeira vez em 1992, é uma biblioteca de sub-rotinas FORTRAN que suplantou o LINPACK e o EISPACK, integrando esses dois conjuntos de algoritmos em um pacote unicado e atualizado. O software foi reestruturado para atingir grande eciência em processadores vetoriais e outros multiprocessadores de alto desempenho ou de memória compartilhada. O LAPACK foi expandido em  profundidade e alcance na versão 3.0, a qual está disponível em FORTRAN, FORTRAN 90, C, C11 e JAVA. C e JAVA estão disponíveis apenas como interfaces de linguagem ou tradutores de bibliotecas FORTRAN de LAPACK. O pacote BLAS não faz parte do LAPACK, mas o código para o BLAS é distribuído com o LAPACK. Outros pacotes para a resolução de tipos especícos de problemas também estão em domínio público. Como alternativa para o netlib, você pode usar o Xnetlib para pesquisar os bancos de dados e recuperar software. Podem-se encontrar mais informações no artigo Software Distribution Using Netlib de Dongarra, Roman e Wade [DRW]. A engenharia de software foi estabelecida como uma disciplina de laboratório durante os anos 1970 e 1980. O EISPACK foi desenvolvido no Argonne Labs e o LINPACK, logo depois. No início dos anos 1980, Argonne foi reconhecido internacionalmente como líder mundial, não apenas no cálculo simbólico como também no numérico.

Esses pacotes de software são altamente ecientes, precisos e conáveis. Eles são cuidadosamente testados, e a documentação está prontamente disponível. Embora os  pacotes sejam portáteis, é aconselhável investigar a dependência da máquina e ler toda a documentação. Os programas são testados para quase todas as contingências especiais que possam levar a erros e falhas. No nal de cada capítulo, discutiremos alguns dos pacotes apropriados de propósito geral. Os pacotes comercialmente disponíveis também representam a tecnologia de ponta em métodos numéricos. Seus conteúdos frequentemente baseiam-se nos pacotes de domínio público, mas incluem métodos em bibliotecas para quase todos os tipos de  problemas. A IMSL (International Mathematical and Statistical Libraries) consiste nas bibliotecas MATH, STAT e SFUN para matemática numérica, estatística e funções especiais, respectivamente. Essas bibliotecas contêm mais de 900 sub-rotinas originalmente dis poníveis em FORTRAN 77 e agora disponíveis em C, FORTRAN, 90 e JAVA. Essas

48

 Análise numérica

sub-rotinas resolvem os problemas mais comuns de análise numérica. As bibliotecas estão comercialmente disponíveis a partir de Visual Numerics. Os pacotes são entregues na forma compilada com documentação extensa. Há um  programa-exemplo para cada rotina, bem como informações de referência. A IMSL contém métodos para sistemas lineares, análise de autossistemas, interpolação e aproximação, integração e diferenciação, equações diferenciais, transformadas, equações não lineares, otimização e operações básicas de matriz/vetor. A biblioteca também contém rotinas estatísticas extensas. Em 1970, a IMSL tornou-se a primeira biblioteca cientíca em larga escala para computadores de grande porte. Desde então, as bibliotecas tornaram-se disponíveis para sistemas computacionais, variando desde supercom putadores a computadores pessoais.

O Numerical Algorithms Group (NAG) existe no Reino Unido desde 1970 e oferece mais de mil sub-rotinas em uma biblioteca de FORTRAN 77, cerca de 400 sub -rotinas em uma biblioteca de C, mais de 200 sub-rotinas em uma biblioteca de FOR TRAN 90 e uma biblioteca númerica MPI FORTRAN para máquinas paralelas e redes de estações de trabalho ou computadores pessoais. Uma introdução útil às rotinas  NAG pode ser vista em [Ph]. A biblioteca NAG contém rotinas para realizar a maioria das tarefas padrão de análise numérica de maneira similar às da IMSL. Ela também inclui algumas rotinas estatísticas e um conjunto de rotinas grácas. O Numerical Algorithms Group (NAG) foi instituído no Reino Unido em 1971 e desenvolveu a primeira bi blioteca de software matemático. Ela c

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF