Direkt zum Inhalt

Mathematica Version 4.0.

Wolfram Research, Inc. (www.wolfram.com), Champaign (Illinois) 1999. Vertrieb über Additive GmbH (www.additive-net.de), Friedrichsdorf. Windows- oder Macintosh-Version DM 4279,24 (Industrie), DM 2499,80 (Lehre), DM 299,– (Studentenversion).


Klingeling macht eine Art Weihnachtsglöckchen, eine sehr bunte Graphik zeigt ein Gebilde mit Ikosaedersymmetrie, und dann präsentiert das Programm "Mathematica" dem Benutzer ein leeres Notizblatt auf dem Bildschirm. Der fragt zum Ausprobieren etwas ganz Einfaches, zum Beispiel: 2+2. Darauf-hin versinkt das Programm in längeres Schweigen, bevor es mit "4" antwortet.

Hat das die Software schon bis an ihre Grenzen gefordert? Keineswegs! Die nächsten Antworten kommen jeweils in Sekundenschnelle: die Kreiszahl þ auf 50 Stellen hinter dem Komma, das Minimum einer Funktion von vielen Variablen, ein unbestimmtes Integral, das man mit Papier und Bleistift allenfalls mit Hilfe einer exotischen Substitution und viel Rechenarbeit bewältigt hätte, und vieles mehr.

Die merkwürdige Verzögerung am Beginn rührt daher, daß das Programm zweigeteilt ist: in ein "Front End", das die Kommunikation mit dem Benutzer betreibt, und den "Kernel", der die eigentliche Arbeit macht. Erst nach der ersten Anforderung an das System wird der Kernel in Gang gesetzt: Ein ungeheures Arsenal von Geräten zur Manipulation mathematischer Ausdrücke wird in Stellung gebracht, und das nimmt Zeit in Anspruch.

Zwei algebraische Summen mit je 100 Termen ausmultiplizieren und das aus 10000 Termen bestehende Ergebnis vereinfachen dauert auch mit Mathematica eine Weile, was niemanden ernstlich verwundert. Die Koordinaten von 30 gleich großen Kugeln auszurechnen, die nach einer komplizierten Vorschrift auf einer größeren Kugel angeordnet sind, erfordert immerhin etliche algebraische Umformungen und die numerische Lösung eines größeren nichtlinearen Gleichungssystems. Aber das geht schnell, während das Zeichnen der 30 Kugeln mit mittlerweile bekannten Mittelpunkten ungleich mehr Zeit benötigt.

Rechnen mit komplexen Zahlen, Faktorzerlegung für natürliche Zahlen und Polynome, unendliche Reihen, Lösungsformeln für Differentialgleichungen, Matrizenrechnung, zahllose spezielle Funktionen mit den Namen berühmter Mathematiker wie Bessel, Legendre, Jacobi, Hermite und so weiter: Für all das hat Mathematica die Formeln vorrätig. Aber das Programm ist eben mehr als bloß eine monströse Formelsammlung. Alle Bestandteile des Systems passen zusammen. Man kann die mit der einen Methode gefundene Lösung eines Problems in eine völlig andere Formel einsetzen, das Ergebnis weiter umformen oder automatisch umformen lassen, bis es nicht mehr schöner wird, und auf verschiedene Weisen visualisieren, und das alles innerhalb des Gesamtsystems.

Hinter dieser Universalität steckt eine streng durchgehaltene Grundstruktur. "Everything is an expression": Jedes Objekt, mit dem das Programm arbeitet, besteht aus einem "Kopf" und einer beliebigen Anzahl von "Gliedern". Jedes Glied ist eine Zahl, eine Variable, für die man vielleicht später irgend etwas einsetzen möchte, oder selbst wieder eine expression aus Kopf und Gliedern. So ergeben sich Baumstrukturen beliebiger Komplexität.

Der Kopf einer expression kann Verschiedenes bewirken: eine Variable mit einem – numerischen oder algebraischen – Wert verknüpfen, eine mathematische Operation an den Gliedern der expression ausführen, eine Regel zum späteren Gebrauch setzen – oder auch gar nichts tun. Manche Köpfe dienen schlicht als Kennzeichen für das, was in den Gliedern enthalten ist, und spätere Anweisungen können sich nach diesen Kennzeichen richten.

Die Grundstruktur erlaubt sowohl das klassische prozedurale als auch das regelbasierte Programmieren, das heißt, man kann der Maschine entweder sagen, was sie der Reihe nach tun soll, oder – was häufig eleganter ist – was sie tun soll, wenn sie ein Objekt gegebener Form antrifft.

Mit diesem Grundkonzept hat der britische Mathematiker und Physiker Stephen Wolfram vor zehn Jahren die erste Version von Mathematica herausgebracht und damit einen enormen Erfolg erzielt. Seine Firma ist mit diesem Produkt unter die größeren Softwarehersteller aufgestiegen, mehrere Zeitschriften und einige hundert Bücher ranken sich darum. Das Grundkonzept ist seit dem Anfang unverändert geblieben. In dem Bemühen um Universalität sind bequeme Übergänge zu Standard-Softwareprodukten wie der Programmiersprache C, dem mathematischen Textsatzsystem TeX und der Seitenbeschreibungssprache PostScript geschaffen worden.

Eine eierlegende Wollmilchsau wie Mathematica kann viele angenehme Eigenschaften haben; aber Schlankheit gehört unweigerlich nicht dazu. Das System fordert einen stolzen Preis, Muskelkraft beim Umgang mit dem 1500seitigen Handbuch und vor allem die Überwindung einer erheblichen Einstiegshürde. An die Logik des Systems, die drei verschiedenen Sorten Klammern und die merkwürdigen Kombinationen von Sonderzeichen muß man sich sehr mühsam gewöhnen. Ich gestehe, daß ich selbst nach einiger Übung das Handbuch ständig zu Rate ziehen muß. Zudem löst Mathematica Probleme häufig auf anderen Wegen als denen, die man in der Schule oder im Studium lernt. Das Handbuch rät ausdrücklich von dem Versuch ab, die Arbeitsweise des Programms im einzelnen nachzuvollziehen.

Die Autoren von Mathematica versuchen auf verschiedenen Wegen, dem Benutzer den Einstieg zu erleichtern, etwa mit dem "Palettenkonzept". Statt mühsam klammernzählend seine Anweisungen als Textzeilen zu formulieren, drückt man mit der Computermaus auf Knöpfchen in einer eigens dafür programmierten Schaltfläche (der "Palette"), worauf die Anweisung nahezu in der vertrauten algebraischen Notation erscheint. Anweisungen zum Programmieren von Paletten sind Bestandteil von Mathematica; so kann ein Experte einer Gruppe von Anwendern für einen begrenzten Aufgabenbereich – zum Beispiel ein Lehrer seinen Schülern – die Konfrontation mit dem System ersparen oder doch abmildern.

Die seit dem vergangenen Sommer auf dem Markt befindliche Version 4 enthält im wesentlichen Verbesserungen im Bereich des klassischen numerischen Rechnens: Millionen von Rechenoperationen mit explizit bekannten, gerundeten Zahlen. In diesem Bereich sind die vielen Gedanken, die sich Mathematica um jedes seiner Objekte macht, weitgehend überflüssig. Durch deren gezieltes Weglassen wurde ein erheblicher Zeitgewinn erzielt. Weitere Verbesserungen beziehen sich auf die Bearbeitung von Graphikdateien sowie Layoutfunktionen; denn Mathematica ist neben vielem anderen auch ein Textverarbeitungssystem (siehe nebenstehendes Interview).


Aus: Spektrum der Wissenschaft 2 / 2000, Seite 100
© Spektrum der Wissenschaft Verlagsgesellschaft mbH

Lesermeinung

Beitrag schreiben

Wir freuen uns über Ihre Beiträge zu unseren Artikeln und wünschen Ihnen viel Spaß beim Gedankenaustausch auf unseren Seiten! Bitte beachten Sie dabei unsere Kommentarrichtlinien.

Tragen Sie bitte nur Relevantes zum Thema des jeweiligen Artikels vor, und wahren Sie einen respektvollen Umgangston. Die Redaktion behält sich vor, Leserzuschriften nicht zu veröffentlichen und Ihre Kommentare redaktionell zu bearbeiten. Die Leserzuschriften können daher leider nicht immer sofort veröffentlicht werden. Bitte geben Sie einen Namen an und Ihren Zuschriften stets eine aussagekräftige Überschrift, damit bei Onlinediskussionen andere Teilnehmer sich leichter auf Ihre Beiträge beziehen können. Ausgewählte Lesermeinungen können ohne separate Rücksprache auch in unseren gedruckten und digitalen Magazinen veröffentlicht werden. Vielen Dank!