Matlab
Auf allen POOL-Rechnern des Mathematischen Instituts sind MAPLE und MATLAB installiert. Für Rechnungen, die im Kern symbolisch sind, wird Maple empfohlen, das natürlich auch numerische Auswertungen an seine symbolischen Rechnungen anhängen kann. Im Gegensatz dazu ist Matlab eine numerisch arbeitende Programmiersprache, die zusätzlich eine ältere Maple-Version als Toolbox besitzt.
Aus meiner (Prof. Karchers) Sicht hat matlab folgende Vorzüge:
In die Basis-Syntax der Sprache ist viel lineare Algebra eingebaut: Alle Variablen können ohne Deklarationen als Variable für komplexe Matrizen verwendet werden; bei rein reellen Daten erscheinen die Imaginärteile in den Ausgaben nicht. Der Malpunkt * kann dementsprechend für Matrix-Multiplikation A*x, gewisse Tensorprodukte, und in der Form z.*z zum Beispiel zum Quadrieren aller Matrixelemente benutzt werden. Unterprogramme zum Herstellen verschiedener Normalformen gehören zur Sprache. -- Polynome werden durch ihren Koeffizienten-Vektor beschrieben und können als Polynome manipuliert werden.
Außerdem sind die default-Einstellungen der Graphik-Befehle für viele Situationen ausreichend und sehr bequem benutzbar. Ich habe auch aufwendigere Graphikausgaben programmiert und bin mit den Resultaten zufrieden.
Ich habe eine größere Sammlung von kommentierten Demo-Programmen geschrieben, die einerseits Beispiele zur Untermalung der Vorlesungen Infini I, Funktionentheorie, Differentialgeometrie vorschlagen und andererseits eine rasche Einarbeitung in Matlab ermöglichen sollen. Auf den POOL-Rechnern stehen diese wie folgt zur Verfügung:
Vor dem Aufrufen von Matlab wird der UNIXbefehl matlab_getdemos gegeben. Damit werden meine Programme in ein Verzeichnis matlab des Benutzers kopiert, und bei dem folgenden Programmstart werden sie in den Suchpfad von Matlab eingfügt, können also benutzt werden. Es handelt sich um fünf Verzeichnisse:
Nr1RealApp (1-dim reelle Approximationen (durch Polynome)
und Integration mit graphischer Veranschaulichung)
Nr2Maps2D (Kurven in der Ebene, 2-dimensionale Abbildungen
und deren Veranschaulichung)
Nr3Complex (komplexe Funktionen bis zu analytischer Fortsetzung
und Integration der ODE elliptischer Funktionen)
Nr4StereoRand (Raumkurven, 3-dim Abbildungen, Stereoprojektionen
und Demonstrationen mit Zufallszahlen)
Nr5Minimal (Minimalflächen auch höheren Geschlechts
- ab 5. Semester)
Jedes Programm wird von der HELP-Funktion erreicht (help name).
Die Namen müssen, z.B. mit einem Editor, gelesen werden.
In der Ausgabe von HELP erscheint u.a. ein Vorschlag, wie das
Programm benutzt werden kann. In jedem der genannten fünf
Verzeichnisse befindet sich ein Nr_Readme, in dem vor allem der
mathematische Inhalt jedes Programms beschrieben wird;
Programmierhinweise sind hinzugefügt. Es ist so gedacht,
daß der Benutzer auch die Programme (mit einem Editor) liest.
Auch der Code für sehr viele Unterprogramme von Matlab
kann eingesehen werden.