- Maple (Software)
-
Maple
Maple Standard unter Kubuntu 8.10Basisdaten Entwickler Waterloo Maple Inc. Aktuelle Version 15 (13. April 2011) Betriebssystem plattformunabhängig Kategorie Computeralgebrasystem Lizenz proprietäre Software www.maplesoft.com/products/maple/ Maple (mathematical manipulation language) ist ein englischsprachiges Computeralgebrasystem (CAS) für Algebra, Analysis, diskrete Mathematik, Numerik und viele andere Teilgebiete der Mathematik. Es stellt ferner eine Umgebung für die Entwicklung mathematischer Programme zur Verfügung und ermöglicht die Visualisierung mathematischer Strukturen.
Grundsätzlich rechnet Maple im Komplexen, und zwar sowohl numerisch als auch symbolisch. Die Einschränkung auf reellwertige Rechnungen ist möglich.
Inhaltsverzeichnis
Geschichte
Die erste Version von Maple wurde 1980 von Keith O. Geddes, Gaston H. Gonnet und deren Mitarbeitern von der Symbolic Computation Group an der Universität von Waterloo in der kanadischen Stadt Waterloo (Ontario) programmiert. Ende 1987 gab es Maple bereits in der Version 4.2.
Seit 1988 wird Maple von Maplesoft, einer Abteilung der Firma Waterloo Maple, weiterentwickelt und vermarktet. Waterloo Maple gehört seit September 2009 zur in Japan ansässigen Firma Cybernet Systems Co., Ltd.
Bei der wissenschaftlichen Unterstützung des Maple-Projektes ging und geht es darum, schnelle und effiziente Algorithmen für symbolische Berechnungen zu entwickeln und in das Programm zu integrieren. An diesen Arbeiten sind bzw. waren neben dem Ontario Research Centre for Computer Algebra (ORCCA), bestehend aus der Maple Symbolic Computation Group (Universität von Waterloo) und dem Symbolic Computation Laboratory (Universität von Western Ontario), auch Wissenschaftler an der ETH Zürich, dem Institut National de Recherche en Informatique et en Automatique (INRIA) und vielen anderen Labors weltweit beteiligt
Seit 1998 gibt es eine Zusammenarbeit zwischen Maplesoft und der Numerical Algorithms Group (NAG). NAG-Komponenten fanden sich erstmals in Maple Release 6 aus dem Jahre 2000. Diese Komponenten führten insbesondere zu einer erheblichen Verbesserung der Rechengeschwindigkeit und der Rechengenauigkeit auf dem Gebiet der Linearen Algebra.
2005 wurde mit Maple 10 ein neuer Dokument-Modus („document mode“) innerhalb der Standardversion von Maple eingeführt. Seitdem ist es möglich, Maple-Inputs in normaler mathematischer Schreibweise zu editieren. Hierbei lassen sich Texte und mathematische Symbole in derselben Eingabezeile miteinander kombinieren.
Maple 13 bot unter anderem erhebliche Verbesserungen bei der Ausgabe von 3D-Grafiken, neue Prozeduren und neue interaktive Tutoren.
Ab der Version 14 von Maple ist es möglich, zusammen mit anderen Maple-Nutzern auf Worksheets gemeinsam zuzugreifen (MapleCloud). Hierbei kann man eigene Ressourcen allen Maple-Nutzern weltweit oder aber nur den Mitgliedern bestimmter Arbeitsgruppen zur Verfügung stellen.
Maple 15 unterscheidet sich von den Vorgängerversionen insbesondere durch eine erhebliche Vergrößerung der Rechengeschwindigkeit bei Rechnern, die mit mehreren Prozessoren ausgestattet sind.
Benutzeroberfläche
Hauptkomponente der grafischen Benutzeroberfläche von Maple ist das jeweilige Worksheet, in dem interaktiv gearbeitet wird. Es erscheint als Fenster, in das Rechenanweisungen (Maple-Inputs) eingetragen werden. Die Maple-Engine interpretiert diese Anweisungen und liefert entsprechende Ausgaben (Maple-Outputs) zurück.
Typische Maple-Outputs sind Zahlenwerte, Terme, Funktionen, Tabellen, 2- und 3-dimensionale Grafiken, Animationsobjekte und Diagramme. Es ist möglich, die von Maple erzeugten Objekte bzw. Ausdrücke über kontext-sensitive Menüs zu bearbeiten.
Das Einfügen von mathematischen Symbolen, Ausdrücken, Vektoren und Matrizen in Rechenanweisungen wird erleichtert durch die Benutzung von Paletten. Diese bestehen aus für verschiedene Aufgaben vorgefertigten Code-Schnipseln, die per Mausklick dem Worksheet hinzugefügt werden können.
Seit der Version 9 gibt es neben dem Classic Worksheet Maple eine Java-basierte Version Maple Standard. Die Standardversion von Maple bietet eine komfortablere Oberfläche, ist aber andererseits deutlich langsamer als die klassische Variante. Aufgrund dieser zwei Varianten gibt es auch zwei unterschiedliche Arten, Worksheets zu speichern. Man unterscheidet Standard-Worksheets (Dateiendung: mw) und Classic-Worksheets (Dateiendung: mws; kompatibel zu älteren Maple-Versionen).
Ein fertig bearbeitetes Worksheet kann man bei Bedarf exportieren als PDF-, HTML-, LaTeX- oder als RTF-Dokument.
Packages
Maple umfasst einen Kern häufig benutzter Standard-Rechenanweisungen (main library) und zusätzliche, zur Laufzeit mit dem with-Befehl ladbare Pakete (packages). Im Folgenden sind einige der wichtigsten dieser insgesamt über hundert Pakete aufgelistet:
- CodeGeneration (Tools für die Übersetzung von Maple-Quelltext in andere Programmiersprachen)
- combinat (zum Lösen kombinatorischer Probleme)
- DEtools (für das Rechnen mit Differentialgleichungen)
- DifferentialGeometry (für die Differentialgeometrie, insbesondere für das Rechnen mit Lie-Algebren und Tensoren)
- DynamicSystems (für das Arbeiten mit linearen Systemen)
- geometry (für die zweidimensionale euklidische Geometrie)
- geom3d (für die dreidimensionale euklidische Geometrie)
- LinearAlgebra (für das Rechnen mit Vektoren und Matrizen)
- Logic (für die zweiwertige Logik)
- Maplets (für die Herstellung graphischer Benutzeroberflächen für Maple)
- numtheory (für die Zahlentheorie)
- PDEtools (für das Lösen partieller Differentialgleichungen)
- Physics (für Berechnungen in der Theoretischen Physik)
- plots (Grafikpaket)
- plottools (für das Erzeugen und Verändern grafischer Objekte)
- RandomTools (für die Arbeit mit Zufallsobjekten)
- RealDomain (stellt einen reellwertigen Kontext her)
- ScientificConstants (physikalische Konstanten und Eigenschaften chemischer Elemente)
- ScientificErrorAnalysis (für die Fehlerrechnung)
- Statistics (für die Statistik und die Analyse von Daten)
- VectorCalculus (für die Vektoranalysis)
Schnittstellen
Maple besitzt Schnittstellen zu MATLAB, Fortran, C, C#, Java und Visual Basic, die es ermöglichen, Maple-Code in Fortran-, C-, C#-, Java- oder VisualBasic-Programmcode zu übersetzen. Umgekehrt lassen sich Fortran-, C-, C#- oder Java-Routinen in Maple einbinden.
Anwendungsbeispiele
Es folgen einfache Beispiele für Rechenanweisungen in typischer Maple-Notation.
- Berechnen der Quadratwurzel von 2 mit einer Genauigkeit von 20 Nachkommastellen:
> RootofTwo:= evalf(sqrt(2), 21);
- Lösen einer quadratischen Gleichung:
> solve(3*x^2+b*x=7, x);
> f:= x -> tan(x)*sqrt(x):
> D(f)(x);
- Berechnen eines unbestimmten und eines bestimmten Integrals:
> value (Int (sin(x)^2, x));
> int (sin(x)^2, x = 0..Pi/2);
- Lösen einer linearen Differentialgleichung zweiter Ordnung:
> DGL:= diff (y(x),x,x) - 3*y(x) = x:
> dsolve ({DGL, y(0)=1, D(y)(0)=2}, y(x));
- Berechnen der Koordinatengleichung einer Kugel:
> with (geom3d):
> sphere (K, [point (M, 2, 3, -2), 3/4]):
> Equation (K, [x, y, z]);
- Darstellung einer parametrisierten Fläche im Raum:
> with (plots):
> tubeplot ({[3*t^2, 2.5*t, 0.2*t, t = -4..5, radius = 4]},
numpoints = 15,
tubepoints = 20,
orientation = [-33, 69]);
- Darstellung einer stehenden Welle:
> with (plots):
> y1:= x -> sin(x - 2*Pi*t):
> y2:= x -> sin(x + 2*Pi*t):
> defs:= 'x = -2*Pi..2*Pi, t = 0..1, frames = 150':
> Wrechts:= animate (y1(x), defs, color = black):
> Wlinks:= animate (y2(x), defs, color = black):
> Wres:= animate (y1(x)+y2(x), defs, color = red):
> display ([Wrechts, Wlinks, Wres], axes = NONE);
Literatur
- Hannes Stoppel: Mathematik anschaulich: Brückenkurs mit Maple, Oldenbourg Verlag (2002), ISBN 3-486-25775-7
- M. Kofler, G. Bitsch, M. Komma: Maple - Einführung, Anwendung, Referenz, Addison-Wesley Longman (2002), ISBN 3-8273-7036-1
- Alexander Walz: Maple 7: Rechnen und Programmieren, Oldenbourg (2002), ISBN 3-486-25542-8
- Thomas Westermann: Mathematische Probleme lösen mit Maple, Springer Verlag (4. Auflage 2010), ISBN 3-642-12150-0
- Reinhold Meise: Analysis mit Maple, Vieweg Verlagsgesellschaft (1995), ISBN 3-528-06665-2
Weblinks
- Maplesoft
- Ontario Research Centre for Computer Algebra (ORCCA)
- Computer Algebra Group (CAG) at Simon Fraser
- dh-Materialien: Einführung in Maple
- Interaktives Worksheet zur graphischen Darstellung von Funktionen, das online im Browser aufgeführt werden kann
- Maple für Blinde und Sehbehinderte mit Informationen über die Benutzung von Maple für Blinde und Sehbehinderte
Wikimedia Foundation.