23 de set de 2008

Computação algébrica e software livre

Atualmente existem alguns softwares científicos livres (tanto para Linux quanto Windows) que podem ser considerados como "similares" do Mathematica, Maple, Matlab, Origin, etc. Trago aqui uma lista de software tipo CAS (Computer Algebra System) e outros científicos que considero importantes. São eles:

Maxima (http://maxima.sourceforge.net)
É um software de computação algébrica que manipula expressões, calcula integrais, vetores, matrizes, etc. Também plota gráficos 2D e 3D utilizando o Gnuplot e o OpenMath.

Tela do Máxima

Octave (http://www.gnu.org/software/octave/)
É um software livre de alto nível, destinado ao tratamento de problemas para a computação numérica. Este
pode efetuar cálculos com números reais, escalares complexos e matrizes, resolver sistemas de equações algébricas, integrar funções sobre intervalos finitos e infinitos e integrar sistemas de equações diferenciais ordinárias e diferenciais algébricas. Permite gerar gráficos 2D e 3D utilizando o Gnuplot.


Tela do Octave

Scilab (http://www.scilab.org/)
É para computação numérica bastante interessante. Ele possui um pacote para sistemas dinâmicos chamado scicos (http://www-rocq.inria.fr/scicos/). Ele trata de elementos elétricos e eletrônicos (resistores, capacitores, diodos, transistors, etc..; Equações diferenciais (diferencioadores e integradores), Elementos de álgebra linear, Interfaces de IO (arquivos, áudio, gráficos, etc..) e Geradores de sinais (senoidais, temporais, aleatórios).

Tela do Scilab


Yacas (http://yacas.sourceforge.net/homepage.html)
É o acrônimo de Yet Another Computer Algebra System. YaCaS é um motor de cálculo numérico poderoso escrito totalmente en C++. Possui interfaces com outros programas como TeXmacs ou Emacs. Estão implementadas, entre outros: precisão arbitrário, aritmética racional, computação vetorial, complexa e matricial (incluindo inversas e determinantes e a solução de sistemas de equações) derivadas, séries de Taylor, soluções numéricas (método de Newton) e muitos outros algoritmos não matemáticos. A linguagem provê nativamente variáveis e funções definidas pelo usuário. Existe uma implementação básica para polinômios com uma variável, integração de funções e cálculo de tensores.

Tela do Yacas

Labplot (http://labplot.sourceforge.net/)
Bastante eficaz para o tratamento discreto de dados. Permite você trabalhar com vários plots nos quais em cada um tenha vários gráficos. Os gráficos podem ser produzidos de dados ou de funções.

Tela do Labplot


Um ótimo artigo sobre software livre e computação algébrica.