Mathematica

MATHEMATICA wird im Unterricht und in der Forschung und Entwicklung auf vielen Gebieten eingesetzt. Es hilft einem bei numerischen und symbolischen Rechnungen und kann Resultate graphisch darstellen. Als Beispiel für die Kombination von symbolischem und numerischem Rechnen schauen wir uns die graphische Darstellung von Minimalflächen an. Abschließend werden wir auf den Gebrauch von MATHEMATICA im Unterricht eingehen.

Ein Werkzeug für computerunterstützte Mathematik

Dank der Fortschritte in der Hardware, in den Betriebssystemen für Kleinrechner und Arbeitsstationen (einfache Benutzerführung) und in der Computeralgebra kann man heute hohe Anforderungen an die Software für computerunterstützte Mathematik stellen. Dazu gehören:

* Es soll nicht mehr nötig sein, in umfangreichen Tabellenwerken Zahlen nachzuschlagen. Das Programm hat entweder Algorithmen eingebaut, um diese Zahlen zu berechnen, oder die entsprechenden Daten sind in maschinenlesbarer Form vorhanden.

* Es muß einfach sein, mathematisches Fachwissen (etwa aus einem Handbuch) in das Programm zu integrieren.

* Dasselbe Programm sollte auf einem Kleinrechner und einem leistungsfähigen Großrechner laufen.

* Eine Programmiersprache erlaubt die Erweiterung des Systems in irgendeinem Wissensgebiet.

Eines der Ziele beim Entwurf von MATHEMATICA war es, ein Werkzeug für die meisten Anwendungen zu entwickeln. MATHEMATICA wurde ab 1987 von einer kleinen Gruppe unter der Leitung von Prof. Stephen Wolfram (Universität von Illinois, USA) entwickelt und ist seit Juni 1988 auf dem Markt.

Der wichtigste Bestandteil ist eine flexible Programmiersprache, die es erlaubt, das System zu erweitern. Die Sprache soll mathematisch orientiert sein und eine einfache Definition mathematischer Regeln erlauben. Dies führt zu einer reichen Sprache mit vielen eingebauten Funktionen. Die Sprache ist dennoch einheitlich und hat eine innere Konsistenz, die das Erlernen erleichtert. Möglich wurde dies durch die ausschließliche Verwendung von pattern matching und Ersetzungsregeln, auf denen alle anderen Programmierelemente, Kontrollstrukturen und Prozedurdefinitionen aufbauen. Dadurch ist es auch einfach, die Sprache interaktiv zu gebrauchen [10]. Außer den genannten Anforderungen sollte ein modernes Softwarepaket sich nahtlos in die Umgebung des Computers, auf dem es läuft, einfügen. Es wird so zu einem Werkzeug, das auch von anderen Programmen benutzt werden kann.

Visualisierung mathematischer Sachverhalte

Die Mathematik fordert die Vorstellungskraft heraus. Sich auch die abstraktesten Konstruktionen vorstellen zu können, ist notwendig für eine erfolgreiche Beschäftigung mit der Mathematik. Diese Vorstellungskraft wird entschieden gefördert durch konkrete Modellbildungen, wo immer das möglich ist (also etwa in der Geometrie). Die Herstellung von Modellen oder genauen Zeichnungen ist jedoch schwierig. Visualisierungsprogramme auf Computern wurden schon seit einiger Zeit eingesetzt, um Modelle auf dem Computerbildschirm darzustellen, statt sie tatsächlich zu konstruieren. Problematisch ist jedoch das tiefe Beschreibungsniveau graphischer Sprachen, meist auf der Stufe von Koordinaten von Punkten, die dann zu Flächen zusammengesetzt werden.

MATHEMATICA bietet nun die Möglichkeit, die Daten mit den üblichen mathematischen, also auch symbolischen, Methoden zu berechnen und dann gleich zu zeichnen. Auf geeigneten Computern können die fertigen Bilder interaktiv manipuliert werden (drehen, vergrößern etc.) Am Beispiel der Minimalflächen wollen wir dies nun beschreiben. Wir beginnen mit der mathematischen Definition solcher Flächen und enden mit einem Trickfilm, der die mathematischen Transformationen dynamisch veranschaulicht.

Die Enneper-Weierstraß-Parametrisierung von Minimalflächen

Zur Gewinnung einer Minimalfläche aus einer analytischen Funktion f und einer meromorphen Funktion g benützen wir die Enneper-Weierstraß-Parametrisierung (siehe z.B. [8,4,11]). Dabei erhalten wir die drei Koordinaten der Fläche in Abhängigkeit eines komplexen Parameters z als die Realteile von

$\{\int f - fg^2dz, \int i(f + fg^2)dz, \int 2fg dz\}$
Wenn wir nun den Parameter z als z = x + iy schreiben, erhalten wir die übliche Parameterdarstellung einer Fläche im Raum. Für eine graphische Darstellung werten wir die Gleichung für ein rechteckiges Punktegitter aus und verbinden die erhaltenen Punkte mittels Vierecken zu einer Fläche.

Mit f(z) = e^{-z}, g(z) = e^z erhalten wir ein Katenoid. (Abb. 1)

Statt des Realteiles können wir auch den Imaginärteil nehmen. Dann erhalten wir die Wendelfläche (Abb. 2). Dies ist aber äquivalent zum Realteil mit $f(z) = ie^{-z}, statt e^{-z}$.

Einen stetigen übergang zwischen diesen 2 Flächen (Abb. 3) erhalten wir durch Multiplikation von f(z) mit einer komplexen Zahl vom Betrage 1, deren Argument sich zwischen 0 und \pi/2 ändert, also mit e^{i\phi}, 0 \le \phi \le \pi/2.

Schließlich können wir $\phi$ den ganzen Wertebereich von 0 bis $2\pi$ durchlaufen lassen. Das Programm MATHEMATICA gibt einem nun die Möglichkeit, direkt aus der Integralformel die Punkte der Fläche zu berechnen und diese graphisch darzustellen. Wir können auch für viele verschiedene Werte von $\phi$ je eine Darstellung erzeugen und diese dann - wie einen Trickfilm - hintereinander darstellen. Es entsteht so der Eindruck einer kontinuierlichen Bewegung.

Analytische Fortsetzungen

Wenn die Parametrisierung zum Beispiel Logarithmen enthält, dann gibt es Probleme mit einer rein numerischen Auswertung der Integralformel. Schauen wir uns an, was passiert mit der Wahl

            $f(z) = z,g(z) = \frac{1}{z}$

wiederum in polaren Koordinaten. Die einzelnen Rechenschritte, die wir im vorherigen Beispiel einzeln interaktiv durchgeführt haben, werden am besten in eine kleine Prozedur zusammengefaßt, mit dem Namen Parameterize[f, g, z]. Damit sieht unsere Rechnung nun so aus:

In[2]:= Parameterize[z, 1/z, z]
                                    
Out[2] = $\{ \frac{z^2}{2} - Log[z], \frac{I}{2} z^2 + I Log[z], 2 z\}$

In[3]:= % / .  z \rightarrow r Exp[I phi]

Out[3] = $\{ \frac{E^{2 I phi} r^2}{2} - Log[E^{I phi} r],$

$ \frac{I}{2} E^{2 I phi} r^2 + I Log[E^{I phi} r], 2 E^{I phi} r\}$
Der Ausdruck Log[E^(I phi) r] wird bei numerischer Auswertung immer den Hauptast des Logarithmus wählen, mit
            $- \pi < \cal J(log z) \le \pi$.
Der Wert hat deshalb eine Sprungstelle, wenn der Bereich für $\phi$ ungerade Vielfache von $\pi$ enthält.

Symbolisch ist es naheliegend, Log[E^ (I phi) r] zu vereinfachen zu I phi + Log[r]. Der Imaginärteil ist nun gleich $\phi$, ohne irgendwelche Unstetigkeitsstellen. (Es wäre allerdings falsch, die Vereinfachung $log e^z \rightarrow z$ immer automatisch durchzuführen.)

In MATHEMATICA werden solche Vereinfachungsregeln als Termersetzungsregeln angegeben. Die Notation x_ bezeichnet ein Muster, das durch einen beliebigen Ausdruck ersetzt werden kann und das auf der rechten Seite der Regel mit x bezeichnet wird. Dies ist vergleichbar mit der Syntax von PROLOG (X für x_ ). Die linke Seite von Regeln kann allerdings in MATHEMATICA beliebig kompliziert sein.

$In[4]:= Expand[ %  //.
                 \{Log[a_ b_ ]  :> Log[a] + Log[b],
                 Log[E^ x_ ]  :> x\}  ]$

$Out[4]= \{- I phi + \frac {E^{2 I phi}r^2}{2} - Log[r]$,

$-phi + \frac {I}{2} E^{2 I phi}r^2 + I Log[r]$,

$2 E^{I phi} r\}$

Unterricht mit MATHEMATICA

MATHEMATICA wird bereits im Hochschulunterricht eingesetzt. Es dient natürlich einmal direkt dem Mathematikunterricht. Ziel des Unterrichts ist es aber immer mehr, den Schülern und Studenten Grundkenntnisse im Lösen mathematischer Probleme mit Computerhilfe zu vermitteln [6, 9]. Diese Kenntnisse können dann im Unterricht in anderen Fachrichtungen vorausgesetzt werden, so wie etwa heute angenommen wird, daß alle Schüler mit einem Taschenrechner umgehen können.

Der Unterricht wird erleichtert durch die Benutzerschnittstelle, die MATHEMATICA anbietet. Damit ist es möglich, Text-, Graphik- und MATHEMATICA-Eingabe und Ausgabe in einem hierarchisch strukturierten Dokument zu vereinigen. Lektionen lassen sich damit vorbereiten. Alle Beispiele in einem solchen "Notebook" sind lebendig, die Studenten können damit experimentieren.

Besonders zu erwähnen ist in diesem Zusammenhang die Arbeit von Porta und Uhl[2] im Rahmen der Anstrengungen, den Analysis-Grundunterricht in den USA zu reformieren. Durch den übergang vom drillmäßigen Unterricht, wie er heute praktiziert wird, zu einem Kurs, in dem das Experiment die Hauptrolle spielt, werden die Studenten stark motiviert. Mit MATHEMATICA lassen sich auch viel kompliziertere Beispiele rechnen als von Hand, was die Rolle der Analysis als Grundlage der Ingenieurwissenschaften und der Physik wieder verständlich macht.

Literatur

Es existiert bereits eine große Zahl von Büchern über MATHEMATICA. Besonders interessant sind Lehrbücher, die verschiedene Wissensgebiete mit fertig ausgearbeiteten MATHEMATICA-Programmen darstellen. Diese Programme sind alle in maschinenlesbarer Form erhältlich. Beispiele sind [3, 7, 12, 13, 14]. Einführende Literatur findet man in [1, 5]. Programmiertechniken werden in [10] behandelt. Zu beachten ist auch, daß das Handbuch [15] auch auf deutsch erhältlich ist [16].
[ 1]  N. Blachmann. Mathematica: A Practical Approach. Prentice Hall, Englewood
      Cliffs, N.J. 07632, 1991

[ 2]  D. Brown, H. Porta, and J. Uhl. Calculus & Mathematica: Courseware for the 
      nineties. The Mathematica Journal, 1(1), 1990

[ 3]  R.Crandall. Mathematica for the Sciences. Addison-Wesley, Reading,
      Massachusetts, 1991

[ 4]  S. Dickson. Minimal surfaces. The Mathematica Journal, 1(1), 1990

[ 5]  W. Ellis and E. Lodi, editors. A Tutorial Introduction to Mathematica. 
      Brooks/Cole Publishing Company, Pacific Grove, California 93950, 1990

[ 6]  E. Engeler and R. Maeder. Scientific computation: The integration of 
      symbolic, numeric and graphic computation. In B. Buchberger, editor, 
      EUROCAL '85, European Conference on Computer Algebra, Linz, Austria, 
      April 1-3, 1985, Proceedings Vol. 1: Invited Lectures, volume 203 of 
      Lecture Notes in Computer Science, pages 185-200. Springer-Verlag, 
      Berlin-Heidelberg-New York, 1985

[ 7]  T. Gray and J. Glynn. Exploring Mathematics with Mathematica. Addison-Wesley, 
      Reading, Massachusetts, 1991

[ 8]  D. Hoffmann. The computer-aided discovery of new embedded minimal surfaces. 
      The Mathematical Intelligencer, 9(3), 1987

[ 9]  R.E. Maeder. A collection of projects for the mathematical laboratory. 
      ACM SIGSAM Bulletin, 21(3), 1987

[10]  R.E. Maeder. Programming in Mathematica. Addison-Wesley, Reading,
      Massachusetts, 1990

[11]  R.E. Maeder. Minimal surfaces. The Mathematica Journal, 2(2), 1992

[12]  S.S. Skiena. Implementing Discrete Mathematics: Combinatorics and 
      Graph Theory with Mathematica. Addison-Wesley, Reading, Massachusetts, 1990

[13]  I. Vardi. Computational Recreations with Mathematica. Addison-Wesley, 
      Reading, Massachusetts, 1991

[14]  S. Wagon. Mathematica in Action. Freeman, W.H., San Francisco, 1990

[15]  S. Wolfram, Mathematica: A System for Doing Mathematics by Computer.
      Addison-Wesley, Reading, Massachusetts, 1988

[16]  S. Wolfram. Mathematica: Ein System für Mathematik auf dem Computer.
      Addison-Wesley, Reading, Massachusetts, 1992 
Author der Beschreibung Roman E. Maeder (Zürich)