Maxima (Computeralgebrasystem)
Maxima
| |
---|---|
Logo von Maxima | |
Screenshot von Maxima in einer Shell | |
Basisdaten
| |
Betriebssystem | Plattformunabhängig |
Programmiersprache | Common Lisp |
Kategorie | Computeralgebrasystem |
Lizenz | GPL (Freie Software) |
maxima.sourceforge.net |
Maxima ist ein Computeralgebrasystem, das als Open-Source-Projekt unter der GNU General Public License (GPL) entwickelt wird.
Implementiert ist Maxima in Common Lisp. Es existieren Versionen für Windows, macOS, Linux und Android.
Geschichte
Maxima ist eine Version von Macsyma, einem der ersten Computeralgebrasysteme. Es wurde in den 1960er Jahren im Auftrag des US-Energieministeriums (DOE) am MIT entwickelt. Eine Macsyma-Version (DOE Macsyma) wurde von William Schelter von 1982 bis zu seinem Tod 2001 weiterentwickelt. 1998 erhielt Schelter vom Energieministerium die Genehmigung, seine Version unter der GPL zu veröffentlichen.[1] Diese Version wird nun unter dem Namen Maxima von einer unabhängigen Gruppe von Anwendern und Entwicklern gepflegt.[2]
Maxima Frontends
wxMaxima
Mit dem Programm wxMaxima ist eine auf wxWidgets basierende grafische Benutzeroberfläche für Maxima verfügbar, die durch Menüs und Dialoge die Nutzung des Programms vereinfacht und eine grafische Formelausgabe besitzt. Von Version 5.10.0b an ist die aktuelle Version von wxMaxima bereits im Installationspaket für Windows integriert.
Emacs: maxima.el und imaxima
Der Emacs-Editor enthält mit maxima.el ebenfalls ein Frontend für Maxima. maxima.el leitet die Ausgabe von Maxima in einen Emacs-Buffer um. Mit imaxima gibt es eine Erweiterung, die die Ausgabe von maxima mittels LaTeX im Emacs-Buffer darstellt.
Cantor
Für das Programm Cantor, eine auf Qt basierende grafische Benutzeroberfläche aus dem KDE Education Project, gibt es ebenfalls eine Schnittstelle für Maxima.
Fähigkeiten
Maxima enthält eine ALGOL-ähnliche Programmiersprache mit Lisp-Semantik und kann unter anderem folgende Aufgabenklassen symbolisch und numerisch (mit frei wählbarer Stellengenauigkeit) lösen:
- Manipulation von algebraischen Ausdrücken mit reellen oder komplexen Konstanten, Variablen und Funktionen
- Grenzwerte ermitteln
- Gleichungen lösen
- Polynome faktorisieren und lösen
- Differenzieren mit wählbarem Grad
- Funktionen in Taylorreihen oder Potenzreihen entwickeln
- Laplace-Transformation
- Integrieren (unter Umständen müssen geeignete Substitutionen vorgenommen werden)
- Lösen von gewöhnlichen Differentialgleichungen 1. und 2. Ordnung
- Lösen von Anfangs- und Randwertaufgaben
- Padé-Approximation von Funktionen
- Lineare Algebra: Inverse Matrix, Eigenwerte, Eigenvektoren, charakteristisches Polynom berechnen
- Vereinfachung und Faktorisierung umfangreicher funktionaler Ausdrücke
- Lösen linearer Optimierungsprobleme
Weitere Fähigkeiten
- Funktionsplotter (auf Basis von gnuplot, OpenMath oder VTK)
- TeX-Ausgabe
- HTML-Ausgabe
- Compiler, um Maxima-Ausdrücke in Fortran-Code umzuwandeln
Literatur
- Wilhelm Haager: Computeralgebra mit Maxima – Grundlagen der Anwendung und Programmierung. 2., aktualisierte Auflage Carl Hanser Verlag München, 2019, Print-ISBN 978-3-446-44868-1, E-Book-ISBN 978-3-446-46095-9.
- Todd Keene Timberlake; J. Wilson Mixon, Jr.: Classical Mechanics with Maxima. Springer, 2015, ISBN 978-1-4939-3206-1.
- Zachary Hannan: wxMaxima for Calculus
Weblinks
- Website von Maxima (englisch)
- Website von Maxima (deutsch)
- Website von wxMaxima (englisch)
- Maxima-Schnelleinstieg (deutsch; PDF; 268 kB)
- Maxima-Jupyter: Eine in Python geschriebene GUI für Maxima (englisch)
- Homepage von iMaxima (englisch)
- Deutschsprachiges Online-Tutorial – Austromath Bildungsserver
- angeom.mac Analytische Geometrie mit wxMaxima
- Maxima im Unterricht der Sekundarstufe II
- Ausführliches deutschsprachiges Tutorial mit umfangreichen Beispielen (PDF; 1,6 MB)
Einzelnachweise
- ↑ http://maxima.sourceforge.net/authorization-letter.html
- ↑ Maxima FAQ, abgerufen am 24. Januar 2015