# 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

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

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

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 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.$^[$
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

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

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).) 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

As primeiras 32 linhas do triângulo de Pascal (começando com a linha zero) pode ser calculadas com