Einstein mit 16 Bit: Mathematikprogramme »Riemann« und »ST-Matlab«

Integrale, Vektoren und Matrizen mit dem Computer berechnen? Zwei vielversprechende Mothematikprogramme nehmen Ihnen die Arbeit ab.

Für den ST gibt es kaum Mathematikprogramme, obwohl sich sehr viele Mathematiker und Informatiker mit ihm beschäftigen. Zwei neue Programmpakete stossen nun in diese Lücke: »Riemann« und »ST-Matlab«. Beide Programme arbeiten allerdings auf sehr unterschiedliche Weise. Während ST-Matlab nur mit numerischen Methoden die Lösungen ermittelt, bevorzugt Riemann die symbolische Algebra.

Für Formelkünstler: Riemann

Der doppelseitigen Riemann-Diskette liegt ein spiralgebundenes Handbuch bei. Auf den über 300 Seiten sind alle Funktionen des Programmes ausführlich und mit vielen Beispielen illustriert beschrieben. Da schnellzugängliche Befehlsreferenzen fehlen, ist das Handbuch als Nachschlagewerk nicht geeignet.

Auf der Diskette befinden sich neben dem Hauptprogramm viele Beispiele und die Quelltexte der meisten Riemann-Funktionen. Ein Konfigurationsprogramm stellt wichtige Kontrollvariablen und Parameter ein. Für den Anwender wäre es allerdings praktischer, wenn die Entwickler dieses wichtige Programm in Riemann integriert hätten.

Riemann ist mit seiner Programmlänge von fast 400 KByte ein echtes Schwergewicht. Da es sich vollständig um Assembler-Software handelt, ist sie dementsprechend schwer zu warten. Damit dies nicht auf Kosten der Kunden geschieht, bieten die Entwickler einen sehr guten Update-Service an. Mit der Registrierung bestimmt der Kunde selbst, wie häufig er ein Update erhalten möchte. Wer ständig auf die neueste Version erpicht ist, kann sich jede Änderung schicken lassen. Die entstehenden Unkosten trägt der Kunde.

Starten Sie das Programm, so gelangen Sie in die Benutzeroberfläche von Riemann. Die Programmierer haben leider größtenteils auf GEM verzichtet. Riemann arbeitet nur im monochromen Modus mit 640x400 Pixeln. Doch »Riemann II« ist schon in Vorbereitung. Es soll vollständig in GEM eingebunden sein.

Was kann Riemann? Zunächst einmal gibt Riemann bei der Eingabe »1+1« wie erwartet das Ergebnis 2 aus. Schwieriger gestaltet sich schon die Frage nach der Wurzel aus 2. Riemann behauptet, das Ergebnis sei »2(1/2)«. Das ist zwar mathematisch korrekt, bringt uns aber keinen Schritt weiter. Doch dieses Beispiel zeigt die Denkweise von Riemann: Es versucht immer, mathematische Ausdrücke genau darzustellen. So kommt es, daß es Werte wie »Wurzel aus 2« weiterhin als Potenz oder Dezimalbruch darstellt.

Der Vorteil dieser Methode liegt auf der Hand. Zum einen können Sie so beliebige Ausdrücke verarbeiten, ohne daß dabei alle Elemente definiert sein müssen. Die Gleichung »ax2+bx+c=d« schluckt Riemann beispielsweise problemlos. Der zweite Vorteil ist die Genauigkeit, mit der Riemann arbeitet. Verwenden Sie die Fließkommazahl 0.3333333 statt dem exakteren Wert 1/3, so entsteht bereits bei der nächsten Berechnung mit dieser Zahl ein Rundungsfehler. Deshalb ergibt die Eingabe von 1/3+1/3+1/3 oft das Ergebnis 0.99999999999. Auf Wunsch arbeiten die Funktionen numerisch. Ergebnisse gibt Riemann auch als Fließkommazahl aus. Der Befehl »EVALTERM(SQRT(2))« liefert die erwünschte Zahl 1.414. Riemann bietet noch mehr als größte Genauigkeit: das Lösen von Gleichungen. Auch Ableitungen und Stammfunktionen stellen kein Problem dar. Benötigen Sie etwa die erste Ableitung der Funktion »f(x)=sin(ln(x2))«, so liefert Ihnen Riemann die Funktion »2cos(ln(x2))/x« als richtiges Ergebnis. Lassen Sie sich als Gegenprobe die Stammfunktion der Ableitung berechnen, so erhalten Sie als Ergebnis wieder die Ausgangsfunktion.

Auch vor der Berechnung von Taylor-Mengen, Summen und Produkten mit unendlicher Länge macht Riemann nicht halt. Wer mit Vektoren und Matrizen rechnet, dem steht eine große Auswahl an Funktionen zur Vektoralgebra und Vektoranalysis zur Verfügung.

Da ein Bild bekanntlich mehr als tausend Worte sagt, zeichnet Riemann Funktionsgrafen. Leider unterstützt es dabei nur den Bildschirm als Ausgabegerät. Eine Druckerunterstützung und eine Ausgabe auf Dateien und Metafiles (Vektorgrafikbilder) fehlt. Dies soll sich in Riemann II ändern.

Riemann führt Berechnungen auf Wunsch Schritt für Schritt aus, so wie Sie es auf dem Papier machen. Dabei erlaubt Riemann, Teilterme zu extrahieren und zu substituieren, »Formula Model ling« genannt. Dazu klicken Sie den gewünschten Teilausdruck an und weisen ihn einer Variablen zu. Dieser Ausdruck läßt sich gesondert bearbeiten und anschließend wieder in den Gesamtausdruck einsetzen. So führen Sie auch komplizierte Berechnungen komfortabel und übersichtlich durch. Eine der größten Stärken Riemanns ist die integrierte Programmiersprache. Sie orientiert sich an dem Mathematikpaket »muSIMP/mu-MATH-83« und ist dazu voll kompatibel. Alle Routinen, die Sie mit mit diesem Paket entwickelt haben, laufen auch unter Riemann. Riemann kann allerdings mehr als muMATH. Denn Grafik und Numerik sind muMATH genauso unbekannt wie die zahlreichen Maus- und Menüfunktionen Riemanns. Beeindruckend ist die Programmierumgebung. Riemann erlaubt eine vollständige Top-Down-Programmierung. Das bedeutet, daß alle Undefinierten Ausdrücke unverändert weitergereicht werden.

Wollen Sie z.B. den Binomialkoeffizienten zweier Zahlen in einer Berechnung verwenden, haben aber die nötige Funktion (z.B. binom) noch nicht deklariert, so beläßt es Riemann bei den Funktionsaufrufen, ohne sie aufzulösen:

SOLVE(x+binom(38,7) = 
binom (49,6),x);
@: x=binom(49,6)-binom(38,7);

Definieren Sie die Funktion binom erst nachträglich, so liefert Riemann eine Zahl als Ergebnis.

Da Riemann keine Programme im herkömmlichen Sinn, sondern nur Funktionen kennt, erweitert jede neue Funktionsdefinition den Sprachumfang. Sie können die gesamte Arbeitsumgebung oder aber nur einzelne Funktionen als ASCII-Text speichern. Im ASCII-Format liegen auch die meisten Riemann-Funktionen als Quelltexte dem Programm bei.

Die Rechengeschwindigkeit selbstdefinierter Funktionen ist sehr hoch. Riemann erzeugt einen Zwischencode, den es anschließend interpretiert. Dadurch benötigt eine vollständige Kurvendiskussion auch für komplizierte Funktionen nur einen kurzen Augenblick. Die meiste Zeit benötigt die grafische Darstellung der Funktion.

Insgesamt ist Riemann ein sehr mächtiges Paket, das einen großen Teil der alltäglichen Arbeit von Mathematikern erledigt. Dank der Programmiersprache und dem »Formula Modeling« ist Riemann auch für sehr komplexe Aufgaben in der Forschung einsetzbar. Es bleibt zu hoffen, daß die Version 2.0 bald erscheint und mit ihr eine neue, ansprechendere Oberfläche. Laut Hersteller wird das Update zur Version 2.0 kostenlos sein. Ein lobenswerter Entschluß.

Für Vektoren- und Matrizen: ST-Matlab

ST-Matlab arbeitet in vielen Bereichen anders als Riemann. Es führt beispielsweise alle Berechnungen grundsätzlich numerisch durch. Wer nun glaubt, ST-Matlab biete nur eine Untermenge der Riemannfunktionen, hat weit gefehlt. Denn es bewältigt viele Funktionen, für die Sie mit Riemann Klimmzüge machen müßten.

Zum Test lag uns noch keine endgültige Version vor. Unsere getestete Version weist laut Hersteller jedoch fast den kompletten Umfang auf. Seit der CEBIT'90 ist das Programm im Handel erhältlich.

Nach dem Start zeigt ST-Matlab sofort seine Herkunft. Die vom SPC-Modula-2 bekannte Oberfläche »SSWiS« präsentiert sich mit mehreren Fenstern und einer Menüleiste. SSWiS ist eine GEM-Oberfläche, die begrenztes Multitasking beherrscht. Damit zeichnen Sie z.B. eine Funktion und arbeiten gleichzeitig an anderen Berechnungen. Wichtig ist dabei vor allem, daß ST-Matlab dadurch auf allen Grafikkarten läuft, die einen GEM-Treiber besitzen. ST-Matlab bietet umfangreiche Matrizenoperationen. So erzeugen Sie mit einem einzigen Befehl eine Einheitsmatrix oder eine Diagonalmatrix. Matrizen lassen sich addieren, multiplizieren und invertieren. Auch die Determinante einer Matrix berechnet ST-Matlab problemlos. Anhänger der linearen Algebra werden sich freuen: ST-Matlab ermittelt auch Eigenvektorräume, Basisvektoren und homogene Gleichungssysteme.

Die integrierte, schnelle Fourieranalyse eignet sich besonders zur Messwertanalyse. So analysieren und verändern Sie damit zum Beispiel digitalisierte Klänge. Auch physikalische oder elektronische Versuche erhalten so wichtige Unterstützung durch den Computer. Beeindruckend ist dabei die Geschwindigkeit, mit der ST-Matlab solche Aufgaben löst: Eine 10 x 10 Matrix invertiert das Programm beispielsweise in nur wenigen Sekunden.

Die wichtigsten mathematischen Funktionen, wie Sin, Cos, Exp, Log, Sinh, Asin, etc. sind bereits in ST-Matlab integriert. Dank des im Programm eingebauten Editors und Interpreters definieren Sie auch eigene Funktionen schnell und problemlos. Die Syntax der Sprache ist APL sehr ähnlich. Der größte Unterschied: Die Sprache von ST-Matlab verwendet statt den kryptisch anmutenden Befehlssymbolen normale Zeichen.

Wem die internen Befehle nicht ausreichen, der kann auch auf SPC-Modula-2 zurückgreifen. ST-Matlab lädt alle mit SPC-Modula-2 entwickelten Programme. Um spezielle ST-Matlab-Funktionen zu schreiben, bietet der Hersteller Advanced Applications Viczena das Hilfsprogramm »Mat-Prog« für 48 Mark an. Damit entwickelte Funktionen stehen nach dem Laden von ST-Matlab sofort zur Verfügung.

Eine der wichtigsten Eigenschaften des Programms ist die grafische Darstellung. Mit nur wenigen Handgriffen zeichnen Sie etwa dreidimensionale Grafiken von komplexen Funktionen. Die Achsen sind auf Wunsch auch logarithmisch. Die Bemaßung erfolgt vollautomatisch, soweit nicht anders definiert. Die Grafiken speichert ST-Matlab sowohl als Rastergrafik (IMG) als auch als Vektorgrafik (GEM). Einer Weiterverwendung auf einem Plotter oder in einem DTP-Programm, wie z.B. Calamus, steht nichts im Wege.

In der getesteten Version erwies sich ST-Matlab als ein sehr nützliche Hilfe, um numerische Probleme zu lösen. Vor allem die zahlreichen Funktionen für Vektoren und Matrizen hinterließen einen sehr guten Eindruck. Aber auch zur Analyse und Weiterbearbeitung von Messdaten ist das Programm bestens geeignet, (ba)

Bezugsquelle Riemann: Begemann & Niemeyer

Schwarzenbrinker Str 91 4930 Detmold Bezugsquelle Matlab: Advanced Applications Viczena, Sperlingweg 19, 7500 Karlsruhe

WERTUNG

Name: Riemann

Preis: 238 Mark (168 Mark für Studenten)
Hersteller: Begemann & Miemeyer

Stärken: □ beherrscht symbolische Algebra □ leicht zu programmieren □ Top-Down-Programmierung erstklassiger Updateservice

Schwachen: verwendet keine GEM-Oberfläche □ Grafen nur als Rastergrafik

Fazit: Riemann befriedigt auch hohe Ansprüche. Ein mächtiges All-Round-Talent.

WERTUNG

Name: ST-Matlab
Preis: 248 Mark
Hersteller: Advanced Applications Viczena

Stärken: □ Grafikausgabe als Vektorgrafik □ schnelle Berechnungen □ sehr einfache Handhabung von Vektoren und Matrizen □ GEM Oberfläche

Schwächen: □ Programmierumgebung konnte mehr Befehle enthalten

Fazit: ST-Matlab ist grafikorientiert, Es glanzt durch mächtige Matrizen- und Vektoroperationen und eignet sich hervorragend zur Messdatenanalyse


Michael Bernards
Aus: TOS 05 / 1990, Seite 36

Links

Copyright-Bestimmungen: siehe Über diese Seite