Neben den verbreiteten und bekannten Algebra- und Statistik-Programmen gibt es noch viele kleine und spezielle Programme für die unterschiedlichsten Anwendungsgebiete aus dem weiten Feld der Mathematik. Ein kleiner Überblick.
Weil allem rund ums Rechnen die Nähe zu den Rechnern angeboren und Mathematik zweifellos ein weites Feld ist, gibt es eine große Palette Software zu unterschiedlichen Teilgebieten der Mathematik. Dieser Beitrag stellt beispielhaft einige dieser Mathe-Programme aus dem großen Fundus vor. Die Auswahl erhebt selbstverständlich keinen Anspruch auf Vollständigkeit, sie demonstriert eher die Breite des Angebots.
Kali
Wer bewundert nicht die Grafiken von M. C. Escher [1]? Das Programm Kali [2] hilft dabei, zu entdecken, ob an einem ein kleiner Escher verlorengegangen ist. Einfach eine Symmetriegruppe auswählen – schon kann es losgehen. Bis das Ergebnis allerdings so aussieht, wie im Beispiel aus Abbildung 1, ist einige Übung nötig. Einfacher geht\’s mit der Java-Version von Kali, die auch als Applet im Webbrowser läuft [3].

Abbildung 1: Bilder im Stile von M. C. Escher erzeugt Kali, das es auch in einer Java-Version gibt, die im Webbrowser läuft.
Dr. Geo
Dr. Geo ist ein Übungsprogramm zur ebenen euklidischen Geometrie. Das besondere an Programmen dieser Art ist, dass der Anwender bei ihnen interaktiv Punkte verschieben und so geometrische Zusammenhänge entdecken kann. Ein Beispiel zeigt Abbildung 2. Die Frage lautet: Was passiert mit dem Schwerpunkt des Dreiecks (Schnittpunkt der gestrichelten Linien), wenn die Dreiecksecke auf dem blauen Kreis herumwandert?
In einem dynamischen Geometrie-Programm wie Dr. Geo kann man die Ecke mit der Maus verschieben, um dies auszuprobieren. Mit Hilfe des Menüpunkts »Curve | Geometric Locus« lässt sich sogar eine kleine Animation basteln, die eine komplette Umrundung kurvt.
In diesem Fall ist zu erkennen, dass sich der Schwerpunkt ebenfalls auf einem Kreis bewegt. Dies ist zwar kein mathematischer Beweis, vermittelt aber immerhin bereits eine Idee, was das Ergebnis sein könnte. Auf der Homepage [4] des Programms finden Interessierte viele Beispiele aus mehreren Gebieten.

Abbildung 2: Geometrische Problemstellungen veranschaulicht Dr. Geo. Die Objekte lassen sich sogar animieren.

Abbildung 3: Mathe-Software, die wohl jeder schon einmal benutzt hat – die Tabellenkalkulation Calc aus der Open-Office-Suite.
Geomview
Geomview ([5], Abbildung 4) wurde ursprünglich als Zusatz für das kommerzielle Computeralgebra-System Mathematica entwickelt. Das einfache Eingabeformat für die Grafiken – erst werden die Koordinaten aller Ecken aufgezählt, dann die Eckennummern der Flächen – macht es sehr bequem, Programme zu schreiben, die Ausgaben erzeugen, die Geomview dann visualisiert.
GLPK mit Zimpl
Lineare Optimierung ist ein wichtiges Anwendungsgebiet der Mathematik. Optimieren lässt sich vieles, von Fahrplänen bis zur Auslastung von Maschinen. Auch das populäre Sudoku-Puzzle ist durch Optimierung lösbar. Zu diesem Thema gibt es einen guten Artikel auf [6], weitere Materialien dazu, die die hier vorgestellten Programme benutzten, finden sich unter [7].
Das GNU Linear Programming Tool Kit (GLPK, [8]) ist eine umfangreiche Lösung zur Optimierung. Neben dem klassischen Simplex-Algorithmus sind auch moderne Innere-Punkte-Verfahren implementiert. GLPK versteht alle im Optimierungsumfeld üblichen Eingabeformate.
Doch sind diese für Menschen weniger geeignet. Hier kommen die so genannten Modellierer ins Spiel, die ein abstraktes Modell in die konkreten Eingabedateien übersetzen. Zimpl (Zuse Institute Mathematical Programming Language, [9]) ist ein freier Vertreten dieser Gattung, der sich hervorragend zur Kombination mit GLPK eignet. Das Handbuch enthält umfangreiche Beispiele: das Problem des Handlungsreisenden, das 8-Damen-Problem und viele mehr.
Emacs Calc
Es ist bereits Legende, dass sich praktisch alle Aufgaben unter Linux irgendwie mit dem Editor Emacs erledigen lassen. Daher wird es niemanden verwundern, dass es für Emacs auch ein Computeralgebra-System als Zusatzmodul gibt [10]. Sein Umfang kann es zwar nicht mit Programmen wie Axiom oder Maxima aufnehmen, aber für die kleine Rechnung zwischendurch ist es gut zu gebrauchen. Wer beispielsweise “Die Ableitung von xx ist xx=…” schreiben will, muss dazu eintippen: »Die Ableitung von $x^{x}$ ist« und danach die Formel »$x^{x}$« hinter das Wort »ist« kopieren.
Bewegt der Anwender jetzt den Cursor in die zweite Formelumgebung und startet mit [Meta]+[#], [E] den Embedded-Modus, dann kann er dort mit der Tastenkombination [A], [D], [X], [Enter] die Ableitung berechnen und anschließend noch mit [A], [S] (für simplify) für eine schönere Darstellung des Formelsatzes sorgen. Danach beendet er einfach mit [Meta]+[#], [X] den Embedded Mode und kann anschließend sofort an seinem Text weiterschreiben.
Wer sich erst einmal an die Tastenkürzel gewöhnt hat, kann auf diese Weise sehr schnell einfache Berechnungen in ein Textdokument einfügen, zum Beispiel für eine Dokumentation in Latex oder einen Quellcode. Seit Version 22.1 ist Calc ein Teil der Emacs-Distribution. Benutzer älterer Version müssen es als separates Paket installieren.

Abbildung 4: Modelle für Geomview lassen sich bei Bedarf auch leicht mit Hilfe einer beliebigen Programmiersprache schreiben, denn das Format der Module ist sehr einfach.
Gretl
Ähnlich wie R auf Statistik ausgerichtet, aber vielleicht nicht ganz so leistungsstark und vielseitig, dafür aber einfacher zu bedienen – mit diesem Profil tritt Gretl [11] an, die Gnu Regression Econometrics and Time-series Library (Abbildung 5). Die in C geschriebene und auf vielen Plattformen lauffähige Software glänzt vor allem bei der Analyse von Zeitreihen mit einer breiten Palette von Schätzern (Maximum-Liklehood, kleinste Quadrate, GMM und andere), eigener Skriptsprache und eigener grafischer Oberfläche. Für Diagramme und Grafiken verwendet Gretl Gnuplot.
Rapid Miner
Auf die Analyse großer Datenmengen mit mathematisch-statistischen Methoden, das so genannte Data Mining, verlegt sich die Java-Software Rapid Miner ([12], Abbildung 6), früher bekannt unter dem Namen Yale. Eine ihrer Besonderheiten ist, dass sich durch Kombination vorgegebener Operatormodule zu komplexen Verarbeitungsketten problemspezifische Lösungen aufbauen lassen. Die Architektur dieser Ketten (links im Bild) kann der Anwender im Betrieb interaktiv verfeinern und schließlich für wiederholte Auswertungen sichern. Durch Austausch von Modulen ist der Vergleich verschiedener Verfahren besonders einfach.
Xaos
Fraktale berechnende Programme gibt es wie Sand am Meer – seit jener Zeit, als das Apfelmännchen teilweise als “Hello world!”-Ersatz fungierte. Das Besondere an dem hier vorgestellten Xaos ([13], Abbildung 7) ist allerdings, dass der Benutzer interaktiv und in Echtzeit in Fraktale hineinzoomen kann, statt ewig auf die Neuberechnung eines Ausschnitts zu warten. Auch beherrscht Xaos nicht nur den Klassiker Mandelbrot-Menge, sondern diverse andere Spielarten wie Barnsley-, Newton- oder Phoenix-Fraktale und viele andere.

Abbildung 5: Eine Alternative zu R ist das intuitiv bedienbare Gretl, das sich zudem auch skripten lässt und via Gnuplot Grafiken produziert.
Open Office Calc
Die sicherlich mit Abstand bekanntesten und am meisten genutzten Mathematikprogramme überhaupt sind die Spreadsheets. Auch die freie Büro-Suite Open Office bringt eine derartige Tabellenkalkulation namens Calc bereits mit (Abbildung 3).
Dank zahlreicher eingebauter Formeln, Pivot-Tabellen, Assistenten für komplizierte Berechnungen, einem Szenario-Manager für “Was wäre wenn?”-Analysen, Datenbankanbindung, Diagramm-Editoren oder der Möglichkeit, Makros zu programmieren, erschließt sich dieser Allzweck-Kalkulationssoftware ein sehr breites Anwendungsfeld. Hinzu kommt die intuitive Bedienung im eingängigen Tabellenformat.

Abbildung 6: Rapid Miner: Aus Modulen aufgebaute Verarbeitungsketten (links im Screenshot zu sehen) ermöglichen eine außergewöhnliche Flexibilität bei problemspezifischen Lösungen.
Sage
Ein weiteres Open-Source-Pendant zu umfassenden Mathematik-Programmen wie Mathematica, Maple, Matlab oder Magma ist Sage ([14], Abbildung 8). Die Software konsolidiert mehr als 64 freie Mathematik-Pakete unter einer Browser-Oberfläche und einem Kommandozeileninterface. Sie eignet sich dadurch für Anwendungen aus sehr vielen Gebieten der Mathematik, zum Beispiel Algebra, Analysis, Geometrie, Graphentheorie, Numerik, Kombinatorik, Gruppentheorie und vielen mehr. Ein Vorteil ist zudem, dass Sage leicht mit Python-Skripten erweiterbar ist. Damit entfällt die Notwendigkeit, sich mit einer exotischen Sprache wie Lisp zu befassen, wie sie viele Computeralgebra-Systeme verwenden.

Abbildung 7: Bei Xaos kann der Anwender interaktiv in Fraktale hinein- oder herauszoomen, der neue Bildausschnitt wird in Echtzeit berechnet.
Auch in die Eingabeformulare des Browser-GUI, die so genannten Notebooks, lassen sich direkt Python-Anweisungen eingeben, die Sage dann umgehend interaktiv ausführt. Auf diese Weise ist es möglich, die mitgebrachten mathematischen Funktionen ohne große Umstände in Python-Kontrollstrukturen wie beispielsweise Schleifen oder bedingte Verzweigungen einzubetten.

Abbildung 8: Sage integriert Dutzende Mathe-Programme unter einer Oberfläche und wartet auch mit respektablen 2- und 3-D-Fähigkeiten auf.
Sage verfügt darüber hinaus über ausgefeilte zwei- und dreidimensionale Grafikfähigkeiten, die sich ebenfalls direkt im Browser nutzen lassen. Zu den Programmen, auf die Sage einheitlichen Zugriff gewährt, gehören unter anderem auch Maxima oder R. Aufgrund seines großen Leistungsumfangs und der anwenderfreundlichen Integration vieler Komponenten hat Sage eine große Fangemeinde, besonders in Forschung und Lehre.
|
Infos |
|---|
|
[1] Escher-Grafiken: [http://www.mcescher.com] [2] Kali: [http://www.geom.uiuc.edu/software/download/kali.html] [3] Kali als Java-Applet: [http://www.geom.uiuc.edu/java/Kali/program.html] [4] Dr. Geo: [http://www.ofset.org/drgeo] [5] Geomview: [http://www.geomview.org] [6] Sudokus mit Optimierung lösen: [http://opus.kobv.de/zib/volltexte/2006/922/pdf/ZR-06-28.pdf] [7] Materialien zu [6]: [http://www.zib.de/koch/sudoku/] [8] GLPK: [http://www.gnu.org/software/glpk/] [9] Zimpl: [http://zimpl.zib.de] [10] Emacs Software: [http://www.gnu.org/software/emacs/] [11] Gretl: [http://gretl.sourceforge.net] [12] Raoid Miner: [http://rapid-i.com/content/blogcategory/38/69/] [13] Xaos: [http://wmi.math.u-szeged.hu/xaos/doku.php] [14] Sage: [http://sagemath.org] |





