1 / 36

Prof.: José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.br rangeldequeiroz@gmail

Métodos e Software Numéricos. Software Matemático. Prof.: José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.edu.br rangeldequeiroz@gmail.com. Carga Horária: 60 horas. Considerações Iniciais I. Ciência Computacional ( Computational Science )

basil
Télécharger la présentation

Prof.: José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.br rangeldequeiroz@gmail

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Métodos e Software Numéricos Software Matemático Prof.:José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.edu.br rangeldequeiroz@gmail.com Carga Horária:60 horas

  2. Considerações Iniciais I • Ciência Computacional (Computational Science) • Busca pelo entendimento de processos científicos mediante o uso de métodos matemáticos em computadores

  3. Considerações Iniciais II • Problemas simulados • Experimentos perigosos para ser investigados em um laboratórios • Fenômenos que ocorrem muito rápida ou lentamente • Experimentos de alto custo • Eventos que só podem ser solucionados a partir de abordagens computacionais • Visualização de fenômenos temporais • Experimentos do tipo ‘o que-se’ • Mineração de dados em bases de dados muito extensas

  4. Considerações Iniciais III Arquitetura (Ambiente Computacional) Computação Experimentação Modelo Teoria Aplicação Algoritmo (Ciência) (Modelo Matemático) • Investigação no âmbito da Ciência Computacional

  5. Considerações Iniciais IV • Investigação no âmbito da Ciência Computacional • Aplicação • Problema científico de interesse e componentes de tal problema que se deseje estudar.

  6. Considerações Iniciais V • Investigação no âmbito da Ciência Computacional • Algoritmo • Representação numérica/matemática do problema, incluindo quaisquer métodos ou receitas numéricas empregadas para solucionar o algoritmo.

  7. Considerações Iniciais VI • Investigação no âmbito da Ciência Computacional • Arquitetura • Plataforma computacional e ferramenta(s) de software usadas para computar um conjunto de soluções para o algoritmo.

  8. Tecnologia a Serviço do Usuário I • Similaridade usual da estruturação matemática de problemas • Física e Engenharias • Formulações matemáticas • Conjuntos lineares de equações • Conjuntos de equações não lineares • Sistemas de equações diferenciais • Utilização dos mesmos métodos matemáticos para a resolução dos problemas numéricos de interesse, independentemente da área de aplicação

  9. Tecnologia a Serviço do Usuário II • Extensa aplicação dos métodos analíticos e numéricos em nível computacional • Software matemático e de modelagem/ simulação • Numérico e/ou simbólico

  10. Tecnologia a Serviço do Usuário III • Uso cada vez mais efetivo de sistemas computacionais em todos os níveis do conhecimento humano. • Necessidade de aplicações de software que apóiem o usuário na resolução de problemas das mais diferentes naturezas. • Diversidade de perfis de usuários • Faixa etária • Propósito de uso • Experiência profissional • Frequência de uso

  11. Tecnologia a Serviço do Usuário IV • Uso de sistemas computacionais ou conhecimento de aplicações de interesse não é, per si, suficiente. • Propósito-chave  Suporte • Processos de ensino-aprendizagem; • Processos de resolução de problemas reais. • Geração de agentes facilitadores da aprendizagem, dentro dos objetivos estabelecidos pelo usuário

  12. Tecnologia a Serviço do Usuário III • Premissas • Eficiência • Eficácia • Satisfação • Competitividade de um mercado globalizado • Padrões internacionais para a construção de software • International Organization for Standardization (ISO)

  13. Objetivos do Software Matemático Obtenção de soluções aproximadas para formulações matemáticas associadas a problemas do mundo real; Obtenção de soluções para problemas científicos mediante o emprego de métodos numéricos fundamentados em modelos matemáticos; Suporte ao usuário no processamento numérico associado a diversas aplicações, e.g., processamento digital de imagens, automação industrial, bioinformática, geoprocessamento.

  14. Software Matemático Genérico • Aplicações standalone • Planilhas eletrônicas • Software para computação simbólica • Software numérico • Pacotes estatísticos • Existência de diversas “caixas de ferramentas” para as 3 primeiras categorias de programas • Existência de diversas bibliotecas de subrotinas para diversos propósitos

  15. Planilhas Eletrônicas I • Lotus 1-2-3 • Primeiro programa disponível publicamente para combinar gráficos, funções de planilha e gerência de dados (http://www-1.ibm.com/software/lotus/) • Grande utilização no final dos anos 1980 e início dos anos 1990 • Quattro Pro • Programa desenvolvido originalmente pela Borland, atualmente vendido pela Corel (pacote WordPerfectOffice) http://www.corel.com/)

  16. Planilhas Eletrônicas II • Excel (pacote MS-Office) • Inclusão de um programa para a otimização do ambiente para problemas de pequeno porte (solver) • Instalação não automática (Tools  Add-ins  Solver Add-in) • Possibilidade de inclusão de solvers de problemas de otimização de grande porte • Funcionamento superior ao do Solver do Excel (http://www.solver.com/) • Erros específicos associados à acurácia, problemas com datas e visualização (Excel 2007) (http://office.microsoft.com/)

  17. Planilhas Eletrônicas III • Calc (pacote OpenOffice) • Comparável ao MS-Excel em vários aspectos e compatível do ponto de vista de leitura de arquivos .xls • Vantagem: Softwarelivre (http://www.openoffice.org/) • Existência de um otimizador (solver), porém ainda em fase de desenvolvimento (não funciona corretamente para problemas não lineares)

  18. Planilhas Eletrônicas IV • Excel e Calc • Utilidade e rapidez em aplicações simples • Execução lenta de macros, visto que o código é interpretado a cada chamada • Necessidade de edição (forçada) de macros para cada versão do Excel (problemas residuais com VBA e/ou configurações internacionais)

  19. Software para Computação Simbólica I • Computação Algébrica • Domínio da Computação que trata da manipulação de expressões matemáticas em forma simbólica • Fatoração de polinômios, simplificação de funções racionais, resolução de equações, integração e diferenciação em forma simbólica, e cálculo matricial, dentre outras • Grande utilidade no ensino, na pesquisa e em projetos em diferentes áreas da engenharia

  20. Software para Computação Simbólica II • Sistema para Computação Algébrica (CAS) I • Software que permite manipular expressões matemáticas simbólicas • Precisão aritmética arbitrária (bignum) • Motor de manipulação simbólica (simplificação de expressões algébricas, diferenciação e integração de funções e resolução de equações) • Facilidades gráficas (geração de gráficos de funções, em geral 2D e 3D)

  21. Software para Computação Simbólica III • Sistema para Computação Algébrica (CAS) II • Software que permite manipular expressões matemáticas simbólicas • Subsistema de álgebra linear (cálculo matricial e resolução de sistemas de equações lineares) • Linguagem de programação de alto nível (implementação de algoritmos) • Subsistema de composição (formulação de expressões matemáticas)

  22. Software para Computação Simbólica IV • Sistema para Computação Algébrica (CAS) III • Início da pesquisa em computação simbólica  Desenvolvimento e comercialização do Macsyma (1968 a 1982) no MIT, como parte do Projeto MAC • Macsyma (Mac’s symbolic manipulator)

  23. Software para Computação Simbólica V • Sistema para Computação Algébrica (CAS) IV • Macsyma (Mac’s symbolic manipulator) • Escrito em Maclisp (dialeto de Lisp) para computadores PDP-6 e PDP-10 (também trabalhava nos sistemas operacionais Multics e nas Máquinas Lisp) • Um dos primeiros sistemas especialistas baseado em conhecimento e um dos maiores programas (talvez o maior) escrito em Lisp de todos os tempos

  24. Software para Computação Simbólica VI • Sistema para Computação Algébrica (CAS) V • Muitas das idéias concebidas para o Macsyma são atualmente usadas em pacotes atuais • Maxima (baseado na versão de 1982 do DOE) • Reduce • Maple • Mathematica • MuMATH • SAGE http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems

  25. Software Numérico I • Grande parte dos pacotes de software numérico também executa computação simbólica e possui funcionalidades gráficas (pelo menos em algum nível) • Programas incluem uma extensa coleção de funções • Resolução de equações • Processamento matricial numérico • Integração e diferenciação numérica • Interpolação e ajuste de curvas http://en.wikipedia.org/wiki/List_of_numerical_analysis_software http://en.wikipedia.org/wiki/List_of_numerical_analysis_software

  26. Software Numérico II • Programas integrados em coleções de arquivos denominadas caixas de ferramentas (toolboxes) • Rotinas e funções destinadas a propósitos específicos • Processamento de Sinais • Mecânica Estrutural • Processamento de Imagens • Matemática Fuzzy • Transformadas Wavelet • Redes Neurais • …

  27. Software Numérico III • Ambientes proprietários para simulação/análise numérica • Comsol Multiphysics (incluindo a versão especial Comsol Reaction Engineering Lab para a modelagem de reações cinéticas)  • Maple • Mathematica (incluindo webMathematica e gridMathematica)  • Mathcad • MATLAB (incluindo Simulink e Model-Based Design) 

  28. Software Numérico IV • Ambientes abertos para simulação/análise numérica • GNU Octave (incluindo GNU Plot)  • Maxima (incluindo wxMaxima ou XMaxima e GNU Plot)  • Scilab (incluindo Scicos)  http://www.modelica.org/libraries http://www.modelica.org/libraries http://www.ann.jussieu.fr/~lehyaric/freesoft/free.htm http://www.ann.jussieu.fr/~lehyaric/freesoft/free.htm

  29. Bibliotecas de Rotinas e Funções I • Disponibilidade de um número considerável de bibliotecas de rotinas/funções matemáticas proprietárias e livres • Facilidade de chamada de rotinas/funções a partir da aplicação principal se esta compartilhar a linguagem de programação (LP) com a biblioteca • Possibilidade de hibridação de LP • Exigência de maior atenção na estruturação da aplicação • Necessidade de tarefas adicionais para o interfaceamento das diferentes partes do programa

  30. Bibliotecas de Rotinas e Funções II • Repositórios e Portais Informativos • Netlib  • NHSE • Fortran 90 Software Repository  • NIST • Mathtools.net http://www.sai.msu.su/sal/B/1/ http://www.sai.msu.su/sal/B/1/

  31. Bibliotecas de Rotinas e Funções III • Disponibilidade do código fonte da maioria das bibliotecas Netlib • Portabilidade relativamente fácil da aplicação para outros SO e/ou compiladores • Maioria da bibliotecas de subrotinas em Fortran, com algumas (re)escritas nas linguagens C/C++ • Maioria da bibliotecas mais recentes de funções em C++

  32. Qualidade do Software Numérico I http://math.nist.gov/stssf/ http://math.nist.gov/stssf/ Mensuração da qualidade do software numérico • Métricas de Qualidade • Confiabilidade • O software produz resultados confiáveis? • Desempenho • O tempo de processamento é aceitável? • Tolerância a falhas • O software é suficientemente robusto para resistir ao uso por um usuário inexperiente?

  33. Qualidade do Software Numérico II Interface com o Usuário (UI) • Gráfica, orientada a comandos, orientada a menus ou via chamadas a subrotinas • Exigência do delineamento preciso da percepção do usuário da capacidade do software numérico • Usabilidade • Eficiência Recursos despendidos em relação à acurácia e completude com que usuários atingem metas específicas • Eficácia Acurácia e completude com que usuários atingem metas específicas • Grau de Satisfação (Subjetiva)  Conforto e aceitação de uso do produto pelos usuários

  34. Qualidade do Software Numérico III “Gargalos” comuns • Interfaces com o usuário para software numérico tipicamente baseiam-se na compreensão do processo de funcionamento do software pelo projetista • Não envolvimento do usuário no processo de desenvolvimento • UCD requer organização e esforço extras do projetista • Graus de usabilidade mais elevados • Redução dos custos de software com reprojetos e refatorações que possam ser evitadas

  35. Leitura Adicional Bussieck, M. R.; Dirkse, S. P., Meeraus A.; Pruessner, A. (2004) Software Quality Assurance for Mathematical Modeling Systems Pancake, C. M. (1996) Improving the Usability of Numerical Software through User-Centered Design Houstis, E. N., & Rice, J. R. (2000) On the Future of Problem Solving Environments

  36. José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.edu.br rangeldequeiroz@gmail.com UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO

More Related