Mathematica

Numerische, symbolische und grafische Mathematik


[Kurzbeschreibung][Zusatzmodule][Kontaktadressen][Tips & Tricks][Homepage][Veranstaltungen]

Mathematische Ausdrücke, können auf drei verschiedenen Arten dargestellt werden: Die Ausdrücke können jederzeit von einem in das andere Format konvertiert werden. Fähigkeiten zur automatischen Nummerierung von Gleichungen, Kapiteln und Abschnitten und die Möglichkeit, beliebige Zeichensätze einzubinden, erweitern Mathematica zu einem vollwertigen mathematischen Publikationswerkzeug. Über Hyperlinks werden Querverbindungen in Mathematica Dokumente eingefügt, per Mausklick springt der Anwender zu den entsprechenden Stellen. Durch die Kombination von Texten, Grafiken, Tönen, Animationen, Hypertext und Links zu externen Dateien wird Mathematica zu einem einmaligen Publikationssystem zur Repräsentation von Wissen.
Die Eingabe von Formeln, Vektoren und Matrizen erfolgt entweder, wie bisher, über die Tastatur oder über die neuen Symbolpaletten. Per Mausklick lassen sich so komplexe Aufgaben schnell eingeben. Das Umsetzen von mathematischen Formeln in die Mathematica Sprache führt jetzt Mathematica durch, der Anwender gibt seine Berechnungen so ein, wie er sie auf dem Papier notiert, bzw. wie sie in der mathematischen Literatur dargestellt werden. Über die vordefinierten Symbolpaletten hinaus können oft benötigte Funktionen in selbstdefinierten Paletten zusammengestellt werden. Diese Paletten können separat verwaltet oder aber in Notebooks integriert werden. Der Anwender ist so vollkommen losgelöst von der Mathematica Syntax.
Zahlreiche Detailverbesserungen sorgen immer wieder für "Aha-Effekte". Beispielsweise können Punkte aus einem zweidimensionalen Plot per Mausklick extrahiert und für spätere Berechnungen in einer Liste gespeichert werden. Es ist jetzt auch möglich, Teile eines mathematischen Ausdruckes einzeln zu berechnen und das Ergebnis in den Ausdruck einzufügen, ohne separate Ein- und Ausgabezeile. Der neue Hilfe-Browser enthält nicht nur wie bisher Referenzen zu den eingebauten Funktionen, sondern er enthält das komplette Mathematica Buch, einschließlich aller Beispiele. Die Beispiele können im Hilfe-Browser modifiziert und direkt berechnet werden. Die elektronische Hilfe stellt so eindrucksvoll Mathematicas elektronische Publikationsmöglichkeiten dar.
Über diese optischen Veränderungen hinaus erfuhr der Mathematica Kernel zahlreiche Verbesserungen. Mehrere Hundert neue mathematische und algorithmische Möglichkeiten und Verbesserungen wurden hinzugefügt. Neue Grafikarten zur Darstellung von mathematischen Modellen und Daten, neue Verfahren für die Lösung von Differentialgleichungen zur Modellierung dynamischer Systeme und neue statistische Tests zur Datenanalyse sind von allgemeinem Interesse. Für Spezialisten bedeuten die neuen symbolischen Integrationsverfahren und zahlreiche Erweiterungen der Packages um spezielle mathematische und physikalische Funktionen einen großen Fortschritt. Der interne Compiler arbeitet jetzt auch mit Listen und beschleunigt umfangreiche Simulationen ganz beträchtlich. Mathematica baut seinen Vorsprung als das System für technische Berechnungen weiter aus.
Mathematicas hochentwickelte Programmiersprache wurde um Fähigkeiten zum Modifizieren von Schnittstellen- und Dokumenteigenschaften erweitert. Dies ermöglicht das vollautomatische Erzeugen von Reports und Paletten und die Manipulation von Dokumenten. Der Anwender erhält so einmalige Möglichkeiten, wirklich jedes Detail eines Mathematica Dokumentes von einem Programm aus zu beeinflussen.

Numerische Berechnung

Mathematica arbeitet mit Zahlen arbiträrer Größe und Genauigkeit. Hierdurch erhält der Anwender vollständige Kontrolle über numerische Rundungsfehler. Dies erlaubt eine Vielzahl von Berechnungen mit sowohl theoretischem als auch praktischem Anspruch, die mit normalen wissenschaftlichen Taschenrechnern oder Programmiersprachen nicht möglich wären. Mathematica´s wahlfreie numerische Genauigkeit ermöglicht ein breites Anwendungsfeld an mathematischen Funktionen: trigonometrische- und Exponentialfunktionen, Bessel-Funktionen, hypergeometrische Funktionen, elliptische Integrale u.v.m. Mathematica enthält natürlich auch effiziente numerische Algorithmen für die Matrizenrechnung, die numerische Integration und numerische Fähigkeiten zum Auflösen von Gleichungen.

Symbolische Berechnung

Neben numerischer Berechnung kann Mathematica auch mit algebraischen Formeln arbeiten. In Mathematica implementiert wurden alle Standardoperationssymbole der Algebra und Analysis, einschließlich der Integration, Differentiation und Polynomberechnung. Die Möglichkeit zur Manipulation und Ableitung exakter algebraischer Formeln befähigt den Anwender dazu, eine breite Palette von Berechnungen zu automatisieren, welche bisher nur per Hand erledigt werden konnten. Der Anwender von Mathematica kann sich explizit Formeln als Gleichungslösung anzeigen lassen; dies ist manchmal für das Verständnis der kompletten Struktur einer Lösung einfacher als numerische Resultate.

Graphische Berechnung

Mathematica ermöglicht Funktionen und Daten zweidimensional und dreidimensional, in Farbe oder schwarz-weiß darzustellen. Es realisiert anwendungsgerechte Visualisierung der Ergebnisse. Mathematica erzeugt dreidimensionale Farbbilder symbolischer Beschreibungen arbiträrer geometrischer Objekte. Zum Beispiel können Mathematica´s Fähigkeiten zu symbolischen und zu numerischen Berechnungen verwendet werden, um eine Liste von Ansichten eines komplexen Polyhedrons zu erzeugen. Hieraus lässt sich über Mathematica´s Grafikfähigkeiten ein dreidimensionales Bild erstellen. Seit V 2.2 unterstützt jede Mathematica Version die grafische Animation. Der Anwender erblickt zum erstenmal eine dynamische Simulation oder die Veränderungen der Grafik bei Variation einer oder mehrerer Parameter. Mathematica verwendet für jede grafische Ausgabe POSTSCRIPT. Diese größen- und auflösungsunabhängige Seitenbeschreibungssprache produziert auf Medien wie Computerbildschirmen, Laserdruckern, Photosetzmaschinen und anderen Ausgabegeräten Reports in Präsentationsqualität, Farbnegative für Zeitschriften und Bücher oder sogar riesige Poster. Mathematica erlaubt Grafiken im Encapsulated POSTSCRIPT Format zu speichern, damit können diese leicht in Dokumente anderer Programme eingefügt werden, z.B. in Desktop Publishing Programme.

Programmierung

Die eingebaute Programmiersprache ist einer der entscheidenden Faktoren für den weltweiten Erfolg Mathematicas und den Ruf, das Tool für den Entwicklungsingenieur am Computer zu sein. Die Architektur ist klar definiert und exakt durchkonstruiert. Es gibt keine Zweifel, mit welchem Argument eine Funktion vielleicht noch funktionieren könnte, da sind keine Programmstrategien vonnöten, die sich um drei Ecken winden müssen, um das Ziel zu erreichen.
Das System erlaubt verschiedene Programmierstile, darunter prozedural-funktional (APL, C,PASCAL), regelbasiert (Prolog), objektorientiert (C++) und Mustererkennung (Pattern Matching). Das Pattern Matching ist der zentrale Mechanismus in Mathematica. Das Schöne an der Mustererkennung ist, dass damit die natürliche Denkweise von uns Menschen im Computer abbildbar ist. Leider konnte uns die Wissenschaft bisher nicht endgültig beweisen, dass unser gesamtes Wahrnehmungs- und Erinnerungsvermögen - und damit unsere Intelligenz - auf Mustererkennung basiert, aber das gesamte Expertenwissen deutet darauf hin. Wenn wir uns selbst testen, bemerken wir, dass dieses sein könnte, es aber schwerlich zu beweisen ist.
Der regelbasierte Ansatz ermöglicht Umwandlungsregeln für mathematische Ausdrücke zu spezifizieren. Jede Regel hat Bezug auf ein Modell und agiert als ein Ausdruck, der das Modell abbildet. Eine Vielzahl der Regeln können durch direkte Umsetzung der Formeln aus Büchern konstruiert werden. Regeln können einen Namen erhalten und bei Bedarf aktiviert werden oder in einer globalen Regelbasis so implementiert sein, dass sie immer verfügbar sind. Die Programmiersprache Mathematica’s ist eine Hochsprache, die den Anwender in die Lage versetzt, komplexe Programme zu erstellen, die aus einfachen, nicht-kryptischen Funktionensaufrufen bestehen, welche direkt auf die primitiven Operationen in Mathematica selbst zugreifen. Viele solcher Programme sind in Form von Mathematica-Paketen verfügbar. Diese Pakete wurden von Mathematica Anwendern und Verkäufern über die Jahre hinweg erstellt und sind den verschiedensten Anwendungen angepasst. Mit über 860 eingebauten Funktionen stellt Mathematica eine extrem mächtige Programmiersprache dar, welche durch eigene Funktionen erweitert werden kann.

Systemarchitektur, Portabilität

Mathematica besteht aus zwei Teilen: dem Kernel, welcher die mathematischen Berechnungen vollzieht und die Programme ausführt, sowie einem "Front End", das die Schnittstelle zum Anwender ist. Der Kernel arbeitet auf jeder Computerplattform gleich. Aus diesem Aufbaukonzept resultiert, dass sämtliche Softwarepakete, die mit Mathematica entwickelt wurden und werden, unter allen Computerplattform austauschbar sind. Andererseits ist das "Front End" so konstruiert, dass es die jeweiligen Möglichkeiten des Computers voll ausnutzt. Das "Front End" und der Kernel brauchen nicht auf demselben Computer zu laufen. Alle Versionen sind untereinander voll kompatibel. So kann das "Front End" auf einem Computer laufen und gleichzeitig über Modem mit einem anderen Computer kommunizieren, auf welchem der Kernel installiert ist. Dies ermöglicht Anwendern den Zugriff auf die Geschwindigkeit von Supercomputern mit dem gewohnten Präsentationsstil eines PC´s. Das fortschrittliche und anwenderfreundlichen Mathematica Notebookinterface ist zur Zeit für (Power-) Macintosh, MS-Windows, NeXTStep und X11-Oberflächen unter HP-UX, Sun Solaris, IBM AIX, Linux, DEC OSF1 und SGI Irix verfügbar.

Mathematica´s Schnittstelle zu anderen Systemen

Mathematica bietet zwei Möglichkeiten um den Datenaustausch zu externen Programmen zu gestalten. Am einfachsten funktioniert dies über Dateien in ASCII- oder Binärformat. Mathematica liest z.B. numerische Daten, wie sie Tabellenkalkulations- und Datenbankprogramme produzieren. Grafiken können in den Dateiformaten von Desktop Publishing Systemen wie Adobe Illustrator, Aldus Pagemaker oder Animationspaketen wie Video Works exportiert werden. Spezielle "Print Forms" lassen sich definieren, um symbolische oder numerische Ergebnisse zu exportieren, die in C oder FORTRAN implementiert werden können. Auch die Ausgabe in der Schriftsetzersprache TeX ist möglich. Sollten Sie über ein Multitasking-System verfügen, welches interdisziplinäre Kommunikation ermöglicht, kann Mathematica Daten in Echtzeit übertragen (in UNIX ist dies durch Pipes realisiert). Über die plattformunabhängige Protokollsprache MathLink wird Mathematica mit der anderen Applikation verbunden und die Objekte (Zahlen, Vektoren, Grafiken, Texte,...) werden über den Link zwischen den Anwendungen ausgetauscht (siehe MathLink weiter hinten in diesem Magazin). Vordefinierte Links gibt es z.B. für Excel, Word, AVS, Transform, HyperCard. MathLink ist für registriert Mathematica Anwender kostenlos.

Der MathLink Kommunikationsstandard

MathLink ist das Mathematica Kommunikationsprotokoll. Auf diesem Weg werden Daten und Kommandos zwischen Mathematica und anderen Programmen ausgetauscht. Die aktuelle MathLink Bibliothek ist für C Programme geschrieben, geplant ist die Unterstützung weiterer Programmiersprachen. MathLink bietet folgende Einsatzmöglichkeiten: Die MathLink Bibliothek, die in fast jeder Mathematica Versionen enthalten ist, enthält alle Funktionen, die notwendig sind, um mit MathLink zu arbeiten. Dazu gehören Funktionen zum Öffnen und Schließen des Links sowie zum Senden und Empfangen von Mathematica Ausdrücken. Die MathLink Funktionen sind plattformunabhängig, d.h. MathLink Programme können auf jeder Plattform kompiliert werden. Eine aufwendige Portierung entfällt. Als kommerzielle MathLink Anwendungen sind die Verbindungen zu Microsoft Excel, Word und Access verfügbar. In MathSource sind darüber hinaus zahlreiche Beispiele vorhanden.
Send EMailScientific Web HomepageInternetadressliste HomepageMy Homepage
Stefan Steinhaus, webmaster@steinhaus-net.de