Wer seit Maple 6 die ganzzahligen Sprünge in den Versionsnummern
gewohnt ist, mag sich fragen, ob 9.5 nur ein halbes
Update sei - dem
ist nicht so. Es bietet Fortschritte auf allen wesentlichen Gebieten:
Symbolik, Numerik, Grafik und GUI sowie Programmierung und
Connectivity.
Symbolik
Bekanntlich wurden in Maple 9 neben den inversen Jacobi-Funktionen auch die Mathieu-Funktionen als zweite neue Familie spezieller Funktionen implementiert, doch beim Lösen der Mathieu-Gleichung erhielt man nur eine DESol-Struktur. Dies ist nun anders, d. h. dsolve kennt diese Gleichung und liefert die erwarteten Lösungen.
Im Bereich der partiellen Differentialgleichungen deckt der neue Befehl PDEtools[TWSolutions] die Klasse der Travelling Waves ab und kann z. B. Solitonen als Lösung der Korteweg-deVries-Gleichung berechnen.
Sehr praktisch ist DEtools[difftable] zur verkürzten Eingabe von Differentialausdrücken. Damit lassen sich Ableitungen in Indexschreibweise eintippen, was insbesondere bei partiellen Differentialgleichungen viel Arbeit erspart. Es stellt in gewisser Hinsicht das Gegenstück zum älteren DEtools[declare] dar, welches die Ausgabe übersichtlicher gestaltet.
Der int-Befehl erkennt nun viele Fälle, in denen der Integrand das totale Differential einer Funktion ist. Hierbei kommen natürlich Methoden für exakte Differentialgleichungen zum Einsatz.
Viele kleinere Verbesserungen betreffen simplify,
combine und convert; letzteres bietet stark
beschleunigte Umwandlungen zwischen den Darstellungen von Ableitungen
als Operator bzw. Ausdruck (D bzw. diff). Bei der
Partialbruchzerlegung gibt es nun eine Programmer Form, die
Faktoren des Nennerpolynoms (sofern schon bekannt) in einer Liste
entgegennimmt, ohne eine erneute Faktorisierung zu starten.
Numerik
Die beiden wichtigsten Neuerungen auf diesem Gebiet sind die Bereitstellung eines Pakets für lokale Optimierung und von Lösern für differential-algebraische Gleichungssysteme (DAEs). Optimization basiert auf einer Library der Numerical Algorithms Group, setzt also die Tradition des schrittweisen Einführens von NAG-Routinen in Maple fort. Das Paket behandelt lineare, quadratische, nichtlineare und Least-Squares-Probleme. Sie können in algebraischer Form (skalare Gleichungen), Matrixform oder Operatorform (Maple-Prozedur) formuliert werden. Weitere Kommandos betreffen den Import von Dateien im MPS(X)-Format und einen Maplet-basierten interaktiven Assistenten.
Der Befehl dsolve/numeric erlaubt nun den Fall, dass ein Anfangswertproblem nicht nur gewöhnliche Differentialgleichungen, sondern auch algebraische Gleichungen enthält, die z. B. die Geometrie eines Problems beschreiben (Beispiel: Bewegung einer Pendelspitze auf einer Kreisbahn).
Automatisch werden geeignete DAE-Löser verwendet. Implementiert sind MEBDFI sowie geeignete Modifikationen der Verfahren von Runge-Kutta-Fehlberg und (für steife Systeme) Rosenbrock.
In bestimmten Situationen (nicht nur bei DAEs) ermöglicht die neue Option optimize deutliche Geschwindigkeitssteigerungen durch eine symbolische Vorab-Analyse des eingegebenen Systems.
Im Bereich der numerischen linearen Algebra wurde
plattform-spezifisches Tuning betrieben: Unter Windows betrifft dies
die Intel Math Kernel Library MKL 6.1, unter Linux und Mac OS X die
Bibliotheken ATLAS und Teile von CLAPACK.
Grafik und GUI
Die umfangreichste Neuerung im Bereich der Oberfläche ist das ins Hilfe-System integrierte Mathematische Wörterbuch mit über 5000 Seiten. Es bietet einen alphabetischen Index und kann aus Worksheets oder Hilfeseiten verlinkt werden. Im Standard Worksheet Interface sind viele der Einträge sogar mit Bitmap-Grafiken versehen. Manche Anwender werden das Wörterbuch noch als Interactive Math Dictionary in Erinnerung haben; unter diesem Namen wurde es früher von Maplesoft als eigenständiges Produkt vertrieben.
hierhin kommt eine ganzseitige Anzeige (Scientific Computers)
Ein weiterer langjähriger Wunsch vieler Kunden ist endlich realisiert
worden: Zoomen und Verschieben von 2D- und 3D-Grafiken
innerhalb eines Plotbereichs. Achsen und Beschriftungen
werden dabei korrekt in Ausgangsgröße belassen, so dass die
übersichtlichkeit gewahrt bleibt. Animationen blenden nun in der
Kontextleiste zusätzlich einen Schieberegler zum direkten Anwählen
von
Frames an. Damit kann man den dargestellten Ablauf sehr intuitiv
beeinflussen. Zwar sind beide grafischen Neuerungen nur im Standard
Worksheet Interface implementiert, aber man wird schon nach kurzer
Zeit nicht mehr auf sie verzichten wollen.
Programmierung und Connectivity
Maple macht erneut Anleihen bei der objektorientierten Programmierung: Module können nun als Kommando aufgerufen werden, sofern sie eine als ModuleApply gekennzeichnete lokale oder exportierte Prozedur enthalten. Diese kann als Konstruktor für die im Modul implementierten Datenstrukturen dienen. Daneben gibt es ModuleLoad, ModuleUnload und ModulePrint, welche flexibler sind als die bekannten Optionen wie load.
Mit Modulen lässt sich bereits seit Maple 6 das Überladen von Operatoren nachbilden, jedoch war das Zurückschalten auf die ursprüngliche Bedeutung stets mit einem Entladen des Moduls oder gar einem restart verbunden. Diese Einschränkung wird aufgehoben, indem man die neue option overload verwendet. Damit lassen sich nicht nur binäre Operationen überladen, sondern auch eckige, geschweifte und runde Klammern bzw. deren Bedeutungen (Listen und Indizes, Mengen, Funktionsaufrufe). In ähnlicher Weise lassen sich benutzerdefinierte Prozeduren überladen; dazu wird overload zusätzlich als Kommando eingesetzt. Die Zeiten verschachtelter und schwer lesbarer Fallunterscheidungen nach Argument-Typen im Prozedur-Rumpf dürften somit vorbei sein.
Um ein modulbasiertes Paket ohne vollständigen restart zu entladen, gibt es bereits seit Maple 9 den Befehl unwith, welcher jedoch erst jetzt offiziell dokumentiert wurde. ähnliches gilt für den Befehl packages, mit dem man sich die geladenen Pakete anzeigen lassen kann. Dieses Kommando berücksichtigt auch die alten table-basierten Pakete; deren Anzahl ist weiter zurückgegangen, weil einige in das modulbasierte Format konvertiert wurden.
OpenMaple, das in der vorherigen Version eingeführte API zum
Aufrufen von Maple aus C-Programmen, wurde auf die Sprachen Java und
VisualBasic ausgedehnt. Hierzu werden komplett ausgearbeitete
Beispiele mitgeliefert, um dieses recht diffizile Thema zugänglicher
zu gestalten.
Technische Änderungen
Bei der Netzwerk-Installation waren zwei Varianten bislang nur mit
aufwändiger Nacharbeit möglich, beide werden nun von vornherein
angeboten. Die eine betrifft Mac OS X, wofür auch passende Binaries
des Lizenzmanagers mitgeliefert werden. Die andere betrifft Windows:
Hier wurde das Client-Setup so geändert, dass jetzt alle Dateien lokal
installiert werden. Dies spart Bandbreite im Netz und beschleunigt den
Start der Applikation. Außerdem wird Windows 2003 Server erstmals
offiziell unterstützt. Anwender von SuSE 9.1 und Mandrake 10.0 sollten
unbedingt beachten, dass diese beiden Plattformen Maple 9.5.1
erfordern, welches als Patch für 9.5 zum Download bereit steht.
Neukunden erhalten seit Mitte September automatisch diese
aktualisierte Version auf CD.
Neue Produkte
Professional Toolbox Series
Das oben erwähnte Paket Optimization findet im Allgemeinen
(d.h. im nichtkonvexen) Fall lokale Optima. Wer auf
globale (also absolut beste) Lösungen angewiesen ist, wird
ein anderes Werkzeug in Betracht ziehen.
Global
Optimization hat die Reihe der Professional Toolboxes
eröffnet und ist bereits auf dem Markt. Es basiert auf dem LGO-System
(Lipschitz Global Optimizer) des bekannten Experten Dr. János
Pintér, der in Halifax an der Dalhousie University lehrt und die Firma
Pintér Consulting Services betreibt.
Unten abgebildet sehen Sie den Global Optimization Assistant, umseitig
den Global Optimization Plotter.
Ebenfalls in Kürze lieferbar ist die Database Integration Toolbox, mit der sich SQL-basierte Datenbanken aus Maple heraus über einen JDBC-Treiber ansprechen lassen. Unterstützt werden alle gängigen Systeme von MySQL bis Oracle.
Darüber hinaus wurde Mitte Juli auf dem Maple Summer Workshop in Waterloo die Vorabversion eines LabVIEW-Konnektors gezeigt, der das von National Instruments (NI) eingeführte Prinzip der Virtuellen Instrumente unterstützt und Maple einen komfortablen Zugang zu dieser verbreiteten Form der Messwerterfassung und -verarbeitung eröffnet.
Als Zusatzprodukte sind die Toolboxen separat zu installieren. Wie bei Maple selbst gibt es Einzelplatz- und Netzwerklizenzen sowie unterschiedliche Preise für akademische und kommerzielle Anwendung.
Ein weiteres gemeinsames Merkmal sind umfangreiche Maplets, so dass
Routine-Aufgaben nicht per Kommando im Worksheet erledigt werden
müssen.
MapleConnect
ist eine neue Initiative von Maplesoft, die allen Autoren von Paketen,
Worksheets und sonstigen Maple-bezogenen Werken entgegenkommt, die
ihre Arbeiten kommerziell anbieten möchten. Sie können sich bei deren
Vermarktung über die Maplesoft-Webseiten helfen lassen. Dort findet
man auch die genauen Vertragsbedingungen sowie alle bereits unter
diesem Programm erhältlichen Angebote. Neben diversen Zusatzpaketen
ist darunter ein multimedialer Maple-Trainingskurs, der wie ein
interaktives Video auf dem PC abläuft.
Parallel dazu sind natürlich freie Beiträge für das Application Center
nach wie vor gern gesehen. Neben diversen neuen PowerTools
von Anwendern hat Maplesoft eigene Demo-Worksheets und Pakete bereit
gestellt, etwa für die häufig nachgefragten Themenbereiche Signal- und
Bildverarbeitung.
Student[Calculus1] Source Code
Bekanntlich lassen sich alle in der Maple-Hochsprache implementierten
Library-Pakete auflisten und modifizieren, nur stößt diese Offenheit
bei den mitgelieferten aufgrund der Komplexität und der fehlenden
Kommentare an praktische Grenzen. Als Versuchsballon
hat Maplesoft
nun den vollständigen Quelltext des Pakets Student[Calculus1]
samt Installationsanleitung auf MaplePrimes zur Verfügung gestellt.
Experimentierfreudige Benutzer (mit Wartungsvertrag) sind eingeladen
eigene Anpassungen oder Erweiterungen vorzunehmen. Bei einem solchen
Paket für die Analysis I bieten sich insbesondere Übersetzungen an, um
die Akzeptanz im Unterricht außerhalb der englischsprachigen Länder zu
steigern. Dies könnte auch dem als separates Produkt vertriebenen
Precalculus Interactive Study Guide zugute kommen, einer
Maplet-basierten Sammlung von Übungsaufgaben zum Selbstlernen.
Wegen der Fülle der Neuheiten und Ankündigungen sind erst einige deutsche Beschreibungen unter http://www.scientific.de vorhanden, für den Rest sei auf http://www.maplesoft.com verwiesen. Aus dem gleichen Grund muss eine ausführliche Vorstellung von MapleNet und Maple T.A. einem späteren Artikel vorbehalten bleiben.