Maxima
Desenvolvedor | Macsyma group no Project MAC e contribuidores voluntários |
Plataforma | Multiplataforma |
Lançamento | 1982 |
Versão estável | 5.47.0 (1 junho 2023 | )
Escrito em | Common Lisp |
Sistema operativo | Multiplataforma |
Gênero(s) | Software matemático |
Licença | GPL |
Página oficial | maxima |
O Maxima é um sistema de computação algébrica baseado em uma versão de 1982 do Macsyma. Ele é escrito em Common Lisp e funciona em todas as plataformas POSIX, tais como Mac OS X, Unix, BSD, e GNU/Linux bem como no Microsoft Windows. Trata-se de um software livre cuja licença é a GNU General Public License.
História
[editar | editar código-fonte]O Maxima é baseado em uma versão de 1982 do Macsyma, que foi desenvolvida no MIT com fundos do Departamento de Energia dos Estados Unidos e outras agências governamentais. Uma versão do Macsyma foi mantida por Bill Schelter de 1982 até o seu falecimento em 2001. Em 1998 Schelter obteve permissão do Departamento de Energia para liberar sua versão sob a GPL. Aquela versão, hoje chamada de Maxima, é mantida por um grupo independente de usuários e desenvolvedores. O Maxima não inclui nenhuma das muitas modificações e aprimoramentos feitos à versão comercial do Macsyma durante 1982–1999. Embora as funcionalidades centrais permanecem semelhantes, um código que dependa destas melhorias pode não funcionar no Maxima, e bugs que já foram corrigidos no Macsyma ainda podem estar presentes no Maxima, e vice-versa.
Recursos
[editar | editar código-fonte]O Maxima permite programação por meio de uma linguagem de programação completa com sintaxe parecida com ALGOL e semântica parecida com Lisp. Baseado em um núcleo que utiliza a linguagem Common Lisp, ele pode ser acessado por outros programas e ser estendido, da mesma forma que o Lisp subjacente pode ser chamado a partir do Maxima. Ele usa o Gnuplot para realizar as plotagens. Estas características aumentam as possibilidades de resolução de problemas com o programa.
Cálculos numéricos
[editar | editar código-fonte]O Maxima é semelhante ao Matlab e ao Mathematica, possuindo um sistema de álgebra computacional completo especializado em operações simbólicas e oferecendo também recursos numéricos[1] tais como integral, diferencial, sistemas de equações lineares, vetores, matrizes e aritmética de precisão arbitrária: números inteiros e racionais que podem crescer até tamanhos limitados apenas pela memória disponível na máquina, e números de ponto flutuante cuja precisão pode ser arbitrariamente grande ("bfloats").
Para cálculos que usem ponto flutuante e matrizes em grande quantidade, o Maxima oferece a possibilidade de gerar código em outras linguagens de programação (notavelmente Fortran) que podem ser executados de modo mais eficiente. O Maxima produz resultados precisos usando seu sistema especial de "floating" e pode trabalhar com funções e dados em duas ou três dimensões.[carece de fontes]
O Maxima é um sistema de propósito geral, e cálculos de casos especiais tais como a fatoração de números grandes, a manipulação de polinômios extremamente grandes, etc, algumas vezes são melhor desempenhados com sistemas especializados.
Demonstrações
[editar | editar código-fonte]Muitos pacotes do GNU/Maxima contém demonstrações de suas funções que podem ser acessadas pelo comando demo();. Este comando exemplifica as principais funções do pacote escolhido.
Interfaces
[editar | editar código-fonte]Estão disponíveis várias interfaces gráficas para o Maxima. Uma da populares é a wxMaxima, que é multiplataforma e usa wxWidgets. Desde a versão 4.4 o KDE Software Compilation contém Cantor -- que pode interagir com o Maxima (juntamente com Sage, R, e Kalgebra).)[2] Os programas editores GNU TeXmacs e LyX podem ser usados para fornecer uma interface interativa para o Maxima, da mesma forma que o Sage. Outras opções incluem o front end Imaxima, bem como os modos de interação do Emacs e do Xemacs que é ativado pelo Imaxima.
Exemplo
[editar | editar código-fonte]As primeiras 32 linhas do triângulo de Pascal (começando com a linha zero) pode ser calculadas com
makelist(makelist(binomial(n, i), i, 0, n), n, 0, 31);
Ligações externas
[editar | editar código-fonte]- (em inglês) http://maxima.sourceforge.net/
- Livro-texto de Sistemas Dinâmicos da Universidade do Porto (Portugal), com exemplos em Maxima
- wxMaxima, Interface para o Maxima
- (em inglês) irc.freenode.net port 6667 channel#maxima
- (em inglês) Perguntas Frequentes do Usuário Iniciante do Maxima
- (em inglês) Tutorial de 10 minutos
- (em inglês) O Manual do Maxima em HTML
- (em inglês) dynamicalsystems, coleção de diversos programas para criar várias representações gráficas de sistemas dinâmicos discretos e fractais
- (em inglês) Pequena lista de exemplos úteis
- (em inglês) Comparação entre o Maxima e o MuPAD, inclui uma lista bastante longa de exemplos
- (em inglês) Imaxima, Emacs front end that includes typesetting.
- (em japonês) Vários exemplos de plotagem
- (em inglês) Uma interface Maxima-Gnuplot, exemplos de plotagens
- (em francês) O pacote SYM para o Maxima
- (em inglês) DragMath, um editor de equações de código aberto online que pode exportar para Maxima e outros formatos.
- (em inglês) Tutorial, dicas e truques usando o Maxima.
- (em inglês) The STACK, computer aided assessment system.
Notas
[editar | editar código-fonte]