[1] O documento apresenta várias opções de softwares livres para pesquisa e ensino em diversas áreas da matemática, como álgebra computacional, álgebra linear, geometria e cálculo numérico.
[2] São listados mais de 100 softwares livres catalogados, dos quais 94% possuem licença GPL, permitindo modificação e redistribuição.
[3] O autor conclui que os softwares livres incentivam a produção, uso e desenvolvimento de novas soluções em matemática.
1. Software Livre e
Matemática: Opções
de pesquisa e ensino
Ricardo Jurczyk Pinheiro
Orientador: Ricardo da Silva Kubrusly
Licenciatura em Matemática
UFRJ - 2008
2. Sumário
Proposta Álgebra Computacional
Unix Álgebra Comutativa e Teoria
dos Grupos
Projeto GNU
Geometria
Software Livre
Visualização e plotagem
(GNU)/Linux
Bibliotecas de programação
Distribuições
Outros
Ubuntu
Conclusões
Software livre e Matemática
Objetivos do trabalho
2
Software livre e matemática: Opções de pesquisa e ensino
3. Proposta
Este trabalho traz uma observação sobre o movimento
crescente do Software Livre, representado
principalmente pelo sistema operacional
GNU/Linux, e sua interdisciplinaridade com a
Matemática. O objetivo desse trabalho é catalogar e
indicar software preferencialmente livre para uso em
pesquisa com matemática.
3
Software livre e matemática: Opções de pesquisa e ensino
4. UNIX
1965 – Início do projeto MULTICS.
1969 a 1971 – UNICS, desenvolvido no Bell Labs.
1973 – UNICS reescrito em C, e rebatizado UNIX.
1975 – UNIX V6 e o início da sua popularidade:
A/UX, AIX, BOS, Coherent, Darwin, FreeBSD,
HP-UX, Irix, Linux, Mac OS X, Minix, NetBSD,
NeXTSTEP, OpenBSD, OSF/1, Plan 9, Plurix,
QNX, SCO UNIX, Solaris, Ultrix, UnixWare,
Uzix, Tropix, etc.
Mais de 50 sistemas operacionais padrão Unix. 4
Software livre e matemática: Opções de pesquisa e ensino
5. Projeto GNU
● Richard M. Stallman
● Pesquisador do MIT (Lab. de IA)
● Longa tradição hacker.
● Trocar programas como se trocam receitas de
bolo.
● Insatisfeito com as mudanças (Brigas na Justiça
pela propriedade do Unix, código fechado, etc)
● 1983 - Manifesto GNU (GNU Not Unix)
●Objetivo: Sistema operacional livre, baseado
em Unix.
Software livre e matemática: Opções de pesquisa e ensino
5
6. Software Livre
● Uma questão de liberdade, não de preço.
”Free as in free speech, not as in free beer.”
● Quatro liberdades:
1.Usar o programa para o que quiser.
2.Estudar o programa e aprender com ele.
3.Modificar o programa para os seus propósitos.
4.Distribuí-lo da mesma forma que você o recebeu.
● Garantias dadas pela licença de uso do software.
Software livre e matemática: Opções de pesquisa e ensino
7. (GNU)/Linux
● Linus Torvalds
● Aluno de Ciência da Computação
(Universidade de Helsinki).
● 1991 (outubro) – kernel versão 0.02.
● Primeira versão disponível a todos.
● Objetivo: Only for fun (”Só de farra”).
● Uso de ferramentas GNU – por isso GNU/Linux.
● GPL - Licença – ”(...) amarrei minhas próprias
mãos para garantir a liberdade do Linux (...)” 7
Software livre e matemática: Opções de pesquisa e ensino
8. Distribuições
Kernel Linux + ferramentas GNU + programas.
Empresas, uma pessoa ou um grupo de pessoas.
Personalização:
Empacotamento, suporte, preço, arquiteturas
suportadas, público-alvo, etc.
Muitas centenas de distribuições.
Exemplos: Fedora, Ubuntu, Gentoo, Mandriva,
Slackware, Debian, CentOS, openSUSE, Arch,
Kurumin, Foresight, etc.
Software livre e matemática: Opções de pesquisa e ensino
9. Ubuntu
Mark Shuttleworth
● Milionário sul-africano
● Primeiro africano no espaço.
● Ubuntu = ”humanidade através de outros” (zulu).
● Canonical
● Empresa que apóia o desenvolvimento do
Ubuntu.
Objetivo: ”Linux para seres humanos”
Software livre e matemática: Opções de pesquisa e ensino
10. Software livre e Matemática
Nunca houve tanta pesquisa e avanços em
Matemática como hoje em dia.
Avanços consideráveis no ensino de matemática.
Apoio computacional para a pesquisa e o ensino.
Por que software livre?
Chance de adequar o software às suas
necessidades.
Custos com licença quase nulos.
Desenvolvimento compartilhado.
10
Software livre e matemática: Opções de pesquisa e ensino
11. Objetivos do trabalho
Relacionar a maior quantidade de softwares para
matemática para Linux.
Análise de soluções para os diversos campos da
matemática usando software livre.
Apontar alternativas.
Estimular o desenvolvimento.
Alguns exemplos serão relacionados.
11
Software livre e matemática: Opções de pesquisa e ensino
12. Álgebra Computacional
Axiom
Desenvolvido desde 1971
Grande lista de ”descendentes”
Qalculate!
Um CAS ”travestido” de calculadora.
Muitos recursos simples.
SAGE
Servidor Web integrado.
Interface para vários softwares. 12
Software livre e matemática: Opções de pesquisa e ensino
13. Álgebra Comutativa e Teoria dos
Grupos
CoCoA
Domínio Público.
Biblioteca de programação integrada.
KASH/KANT
Teoria dos Grupos.
KASH = shell para o KANT.
13
Software livre e matemática: Opções de pesquisa e ensino
14. Álgebra linear e análise numérica
FreeMat
Executa 95% do código original para o
MATLAB.
Suporte a processamento paralelo.
Octave
Ambiente de análise numérica.
Parte do projeto GNU.
Software livre e matemática: Opções de pesquisa e ensino
15. Geometria fractal
Endlos, EyeFract, Fractint, GLFract, Fyre, Glito,
Gnofract 4D, XaoS.
Glito
Foco em fractais auto-iterados (IFS)
Gnofract 4D
Ambiente GNOME
Vê os conjuntos de fractais como diferentes
visões do mesmo fractal quadridimensional.
15
Software livre e matemática: Opções de pesquisa e ensino
16. Geometria computacional
C. a R. (Compass and Ruler)
Uso de macros para construção geométrica.
Geogebra
Escrito em Java.
Suporte a mais de 35 idiomas.
Álgebra linear, cálculo e geometria integrados.
Software livre e matemática: Opções de pesquisa e ensino
17. Visualização e plotagem
Gnuplot
Diversas plataformas.
Exporta para vários formatos.
QtiPlot
Semelhante ao Origin
Uso de Python para criar módulos e estender a
capacidade.
17
Software livre e matemática: Opções de pesquisa e ensino
18. Bibliotecas de programação -
Álgebra computacional
JACAL
Parte do projeto GNU.
Escrito em Scheme.
SymPy
Parte do SAGE.
Expansível através de módulos.
Escrito em Python.
18
Software livre e matemática: Opções de pesquisa e ensino
19. Bibliotecas de programação -
Álgebra linear e análise numérica
BLAS
Base de outras bibliotecas, como LINPACK,
EISPACK, LAPACK, MINPACK, etc.
LINPACK
Escrita em Fortran 77.
HPL – baseado no LINPACK, usado na lista
do Top500.
Software livre e matemática: Opções de pesquisa e ensino
20. Bibliotecas de programação -
outros
Geometria computacional
CGAL.
Escrita em C++.
Operações com primitivas geométricas.
Transformada de Fourier
Largamente usada em análise de sinais e
compressão de dados.
FFTW – bem completa.
Kiss FFT – simples ao extremo.
20
Software livre e matemática: Opções de pesquisa e ensino
21. Bibliotecas de programação -
outros
Processamento paralelo
MPI
Padrão para biblioteca de passagem de
mensagens.
Uso em computação de alto desempenho e
processamento paralelo.
PVM.
Padrão anterior ao MPI.
Interfaces para C, C++, FORTRAN e outras.
Software livre e matemática: Opções de pesquisa e ensino
22. Bibliotecas de programação -
outros
JScience
Biblioteca em Java.
Proposta de sinergia entre várias ciências.
JSCL-Meditor.
Biblioteca em Java com front-end para várias
arquiteturas.
Módulos para uso em vários campos da
matemática.
Software livre e matemática: Opções de pesquisa e ensino
23. Calculadoras científicas
Uso de notação polonesa reversa (RPN)
Galculator
Programável.
Opção de operar em ”modo papel”.
Mate
Funciona via Web.
Rpcalc
Imita a interface da calculadora HP-48G.
23
Software livre e matemática: Opções de pesquisa e ensino
24. Lógica de alta ordem
HOL
Demonstração de teoremas usando lógica, com
uma meta-linguagem, a ML.
Metamath
Linguagem de programação para prova de
teoremas matemáticos.
Base: Conjunto de axiomas de Zermelo-
Fraenkel.
Mais de 8000 demonstrações já feitas.
Software livre e matemática: Opções de pesquisa e ensino
25. Computação numérica
Chombo
Método das diferenças finitas.
SUNDIALS
Resolutor de problemas de valor inicial em
EDs e sistemas de EDs.
TeLa
Simulação numérica.
Usado em previsão meteorológica.
Software livre e matemática: Opções de pesquisa e ensino
26. Conclusões
Total de softwares relacionados: 110.
Softwares livres: 94 (85%).
Maior parte – licença GPL – permite a
modificação e a redistribuição.
Incentivo à produção e ao uso.
Incentivo ao desenvolvimento de soluções
baseadas nesses softwares.
26
Software livre e matemática: Opções de pesquisa e ensino
27. Fim!
● Esta apresentação é distribuída segundo a licença
Creative Commons ShareAlike 2.5, logo:
● Liberada a cópia, reprodução e trabalhos derivados.
● Créditos devem ser mantidos.
● Trabalhos derivados devem ser compartilhados.
● Texto da licença: http://tinyurl.com/492ssd
Software livre e matemática: Opções de pesquisa e ensino