Maxima ist ein freies Computeralgebrasystem (CAS) für symbolische Mathematik: Es rechnet nicht nur mit Zahlen, sondern stellt Ausdrücke wie Ableitungen, Integrale oder Gleichungsumformungen exakt und in Formelschreibweise dar. Maxima ist der einzige noch gepflegte Open-Source-Zweig des MIT-Systems MACSYMA, das ab 1968 am Massachusetts Institute of Technology entstand. William Schelter pflegte die Macsyma-Codebasis ab 1982 und veröffentlichte sie 1998 unter der GNU General Public License; nach seinem Tod 2001 führt die Community die Entwicklung fort. Implementiert ist Maxima in Common Lisp — eine Anschlussmöglichkeit an Common-Lisp-Befehle.

Erste Schritte

Maxima läuft als Kommandozeilenprogramm, eingebettet in wxMaxima (grafische Oberfläche) oder als Server im Webbrowser:

maxima                     # interaktive REPL starten
batchload("datei.mac")$    # Skript laden
kill(all)$                 # Sitzung zurücksetzen

Befehle enden in der Regel mit ; (Ausgabe) oder $ (stille Ausgabe). Ein vorangestellter Doppelpunkt weist einer Variablen einen Wert zu: f(x) := x^2$.

Kernbefehle

  • Symbolik: diff(expr, x) ableiten, integrate(expr, x) integrieren, limit(expr, x, 0), taylor(f, x, 0, 5)
  • Algebra: solve(Gleichung, x), factor(expr), expand(expr), ratsimp(expr) vereinfachen, subst(x, 2, expr) ersetzen
  • Lineare Algebra: matrix([1,2],[3,4]), determinant(M), invert(M), eigenvalues(M)
  • Numerik: float(expr), numer-Flag, find_root(f, a, b), romberg(f, a, b)
  • Listen: makelist(expr, i, 1, 10), map(f, [1,2,3]), length(list)
  • Grafik: plot2d(sin(x), [x, 0, 2*%pi]), plot3d(f(x,y), [x,-2,2], [y,-2,2]) (Gnuplot-basiert, Anschluss an gnuplot-befehle)

Praxis-Tipps

  • Hilfe: describe(Befehl) oder ? Befehl
  • Konstanten: %pi, %e, %i (imaginäre Einheit)
  • Ergebnisse aus vorherigen Zellen: % (letztes), %o1 (nummeriert)
  • Als LaTeX ausgeben: tex(expr)

Maxima eignet sich für Schule, Studium und Forschung gleichermaßen. Mit SageMath-Befehle teilt es die CAS-Engine — SageMath bindet Maxima als symbolisches Rückgrat ein. Wer eher bei proprietären Werkzeugen bleibt, findet in Maple-Befehle eine kommerzielle Alternative.