Maxima (software)

Da Wikipedia, l'enciclopedia libera.
Maxima
Logo
schermata di wxMaxima
schermata di wxMaxima
Sviluppatore William Frederick Schelter
Ultima versione 5.37.1 (1º settembre 2015)
Sistema operativo Multipiattaforma
Linguaggio Lisp
C++
C
Genere Sistema di algebra computazionale
Licenza GPL
(licenza libera)
Sito web

Maxima è un Computer Algebra System (CAS) in grado di eseguire calcoli numerici, simbolici, grafici e altre operazioni correlate.

Maxima nasce dal progetto Macsyma (contrazione di MAC symbolic manipulation), nato negli anni sessanta presso il MIT con fondi del Department of Energy. Il programma è sviluppato in Lisp. Il programma è stato mantenuto dal Prof. William Schelter presso l'Università del Texas ad Austin, dal 1982 sino al 30 settembre 2001, data della sua morte, a 54 anni.

Nel 1998, grazie al rilascio del codice sorgente, è nato il progetto Maxima per il proseguimento dello sviluppo del sistema nello spirito del movimento del software libero. Maxima può essere eseguito su molti sistemi operativi tra i quali GNU/Linux, macOS, e Microsoft Windows.

Maxima realizza i grafici con Gnuplot

Esempi di codice Maxima[modifica | modifica wikitesto]

Operazioni con monomi e polinomi[modifica | modifica wikitesto]

(a^2+b)-(a+b);
               2
              a - a

expand((a+b)*(a-b));
               2    2
              a  - b

Risoluzione di equazioni e sistemi di equazioni[modifica | modifica wikitesto]

2x³−(3x³):(-2x)²

Tracciamento di un grafico[modifica | modifica wikitesto]

plot2d([x^2+3],[x,-5,5]);

plot3d([x^2+y^2,[x,-5,5], y,-5,5);

Calcolo di integrali, limiti e derivate[modifica | modifica wikitesto]

integrate(x^2,x);
                 3
                x
                -
                3

diff(sin(x),x,1);
               cos(x)

diff(sin(x),x,2);
               -sin(X)

limit(x^2,x,inf);
                inf

Rappresentazione interna delle espressioni[modifica | modifica wikitesto]

In Maxima tutto è rappresentato tramite delle liste LISP. Ad esempio l'espressione

x^2+y^2

è rappresentata internamente come

((MPLUS SIMP) ((MEXPT SIMP) $X 2) ((MEXPT SIMP) $Y 2))

. Le stesse liste come definite dal linguaggio Maxima sono rappresentante come particolari liste LISP:

[1,2,3,4,5]

sarà rappresentata come

((MLIST SIMP) 1 2 3 4 5)

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]