~ROGRAMME ~ROGRAMMI ERTI PS - fuchssteiner.ch · Rechnernetz Mathematik: Rechnernetz derMathematik...

27
VOL. 0, HEFT 1, November 1989 IMEUE RECHNER ® OFTWARE REVIEWS und IMETZWERKE [F) ARALLELCOMPUTING [bOKALES nn l!l Qud;> 00 [ID ist eine nutzerorientierte Information aus dem Rechnerbereich der Mathematik an der Gesamthochschule Paderborn.

Transcript of ~ROGRAMME ~ROGRAMMI ERTI PS - fuchssteiner.ch · Rechnernetz Mathematik: Rechnernetz derMathematik...

VOL. 0, HEFT 1, November 1989

IMEUE RECHNER

® OFTWARE REVIEWS

~ROGRAMME und

~ROGRAMMIERTIPS

IMETZWERKE

[F)ARALLELCOMPUTING

[bOKALES

nn l!l Qud;> 00 [ID ist eine nutzerorientierte Information aus dem Rechnerbereich der Mathematik an derGesamthochschule Paderborn.

-In diesem Heft LiebeLeserin, lieberLeser

Rechnernetz Mathematik 2

WaldemarWiwi4nkil 22FIZ - Datenbank MATH

Gu~nO~d 21Zeitschriften

WaldemarWiwi4nkil 24What'snew

Waldemo.rWiwillllkil&AndreilSKemper: 3Mathematica-Was istdas?

In der Vergangenheit haben wir eine Vielzahlvon Rechnerinformationen als Lose-Blatt­sammlung verteilt. Vor Ihnen liegt nun derVersuch diese Informationen regelmäßig ingesammelter Form herauszugeben und diebisherige Buschtrommel durch eine anspre­chende pseudo-Zeitschrift zu ersetzen. Wirhaben uns bemüht, über technische und lo­kale Informationen hinaus einige Themenvon allgemeinem Interesse herauszugreifen,um damit auch Leser aus anderen Fächernund später vielleicht von anderen Hochschu­len anzulocken.

Trotz Änderungen im Rechnerbereich desFaches Mathematik hoffen wir, daß diese in­offizielle Publikation von Zeit zu Zeit erschei­nen wird, sei es auch nur, um über die diver­sen Aktivitäten unserer Gruppe zu berichten.Natürlich sind dabei auch Beiträge aus ande­ren Bereichen willkommen, ja sogar sehn­süchtig erwünscht, insbesondere dann, wennsie auf mehr als nur lokales Interesse zählenkönnen.

Den Mitarbeitern dieses Heftes sei ganzherzlich gedankt, insbesondere natürlichPhilippeF16jolet • INR~ der uns erlaubt hat,seinen interessanten Vergleich diverser Com­puteralgebrasysteme abzudrucken.

Benno FuchssteinerWaldemar Wiwianka

25

PhilippeF16jolet. INRIA; 8Comparing Maple.Mathematica and Macsyma

BennoFuchssteiner 15Störende Bugsl- InterfacevonMacMaple

KarstenMorisse: 13Cosmic Environment Software

AndreasKemper_OliverKluge 20lJ,GudrunOevel

Einbinden von Bildern inLatex-Dokumente

OliverKluge

INFO-System

Titelbild: Hergestellt auf dem Apple Macintosh mitdem Programm MandelZot 0.9, welches auf demauf Seite 25 erwähneten PD-Rom Disc verfOgbarist (Copyright 1988 by Dave Platt)

Dieses Heft wurde mit RagTime 2.1 gesetzt.

Redaktion:Benno Fuchssteiner, Waldemar WlwlankaUniversität - GH PaderbornPostfach 1621D - 4790 PaderbornE-Mail: [email protected]

[email protected]

MathPADO,l

Rechnernetz Mathematik:Rechnernetz der Mathematik

p1ato planck euler pbinfo

SUN 31260 SUN41330 SUN 31160 VAX 11n50

Ikepler t=SUN 3160

newton 1= ~pascal fermat

SUN 3160 SUN 3150 ~ SUN 3150

jacobl 1= Hell18l81n ~ vletaSUN 3150 SUN 4/110 SUN 3/50

~hilbert H HSUN 3150 mac cardano

Maclntosh SE SUN3I6OC

leibniz 1== == riemann H fourierSUN 3/50 Maclntosh 11 SUN3I50

galois t=SUN 3160 ~ cauchy stokesMaclntosh 11 F== SUN 3150

runge~SUN 3150

~fubinl dedeklndMaclntosh Ilex = SUN 3150

frechet

~SUN 3150 H~mceMacintosh 11

duerer

~SUN 3150

MathPAO 0.1

MATHEMATICA- Was ist das?

Einen Kreis erhält man durch Eingabe von:

In[2]:= ParametricPlot[{Sin[t],Cos [tl }, (t, 0, 2Pi)]

Graphen von Funktionen zu zeichnen.

Mit Mathematica können sowohl zwei- als auch dreidi­mensionale Graphiken erstellt werden. bei denen dieVeränderungen des Viewpoints. Shading. Orientierung.SChrafurder Patches, Automatische Skalierung und soweiter möglich sind. Es besteht die Möglichkeit, funk­tionen oder auch Daten in Form von Listen zu plotten.Im Fall von zweidimensionalen Graphiken könnenmehrere Funktionen nebeneinandergestellt und falb­lieh unterschieden werden. Eine weitere Möglichkeitsind IParametricPlotsl

• wobel.dle Pammetrisierung ei­nes zweidimensionalen Objektes eingegeben wird.

Beispiele: Mit dem folgenden Befehl erzeugt man denGraph der Sinus-Kurve:

In[1]:= Plot[Sin[x], {x, 0, 2Pi}]

-1.

0.5

1.

-0.5

Tour de MathematicaGraphik

Einer der beeindnJckensten Teile von Mathematica istdie mathematische Graphik. die man sowohl unterSUnview. NeWSals auch X - Window erzeugen kann.In keinem anderen Computer - Algebra Paket ist esmöglich. so schnell und ohne viel Bxpertenwlssen, die

Mathematica ist ein Ponnelmanlpulations -bzw. Com­puter - Algebrasystem für eine Vielzahl mathemati­scher Anwendungen. Es ist seit ca. 4 Monaten in derVersion 1.1 für alle SUN - Workstations verfUgbar.

Mathematica ist in vielen Bereichen der Mathematikz.B.

- beim Plotten zwei- und dreidimensionaler Gra­phik.

- für symbolische Berechnungen im Sinne einesFonnelmanipulationssystems.

- für numerische Berechnungen

einsatzfähig.

Mathematica beinhaltet eine leistungsfähige Program­miersprache. die prozedurales, funktionales sowie ob­jektorientiertes Programmleren erlaubt.

Bevor ich versuche. dem Leser einen überblick Oberdie Fähigkeiten von Mathematica zu geben. möchteich auf eine sehr ärgerliche Begleiterscheinung auf­merksam machen.

Ein sehr großer Nachteil von Mathematica ist • daß esmit einer hostid und einem dazugehörigen Passwordverkauft wird. Obwohl man eine Lizenz erworben hat,kann man es nicht auf einer beliebigen Maschine lau­fen lassen. Bei anderen Computer - Algebrasystemen.wie z.B. MAPLE. kauft man auch eine Lizenz. kanndiese aber. da sie nicht von einer hostid abhängig ist,auf einer beliebigen Maschine benutzen. Dieses hatden Vorteil. wenn man unterschiedliche Workstationsverschiedener Leistungsklassen hat, daß man auf dieentsprechende Workstation ausweichen und dort seineProbleme lösen kann. Oder was macht man. wenn dieWorkstation, für die man Mathematica mit der entspre­chenden hostid bestellt hat. defekt ist?

MathPAD 0.1 3

Dreidimensionale Graphiken können mit Schattlerun­gen, Farben und ande ren Lichteffekten ve rsehen wer­den. Die Graphiken können aus allen Richtungen be­trachtet und mit unterschiedlichen Farben aus ver­schiedenen Richtungen be leuchte t werden. Durch Auf­ruf des Matcmatica-?rogrammPakctes'Param etricPlot3D' besteht die Möglichke it, d reidimen­sionale 'Pararnelri cPlots' zu erzeugen. Mit Hilfe vondreidimensionalen 'Graphik-Primitives' kann mankom plexere dreidimensionale Graphiken erstellen,Hierzu stehe n Befehle zum Zeichne n von Punkten, U­nien und Pol ygone n im dreidimensionalen Raum zurVerfügung. Eine we itere Möglichke it ist das Erzeugenvon 'Kontour'-Graphiken, be i denen Punkte 'gleicherH öhe ' verbunden w erden.

Beispiele: Der folgen de Befehl erzeugt eine drei-di­mens ionale Graphik der Funktion sin(xy)

In( lJ := P1o t 3D (Si n [x y] ,{x, 0 , 3 1, {y , 0, 3) J

Nun kann man sich die Graphik aus einer anderenRichtung anschauen :

In [2]: = Show( %,Vi ewPoint - > {O, -4, 4))

Mit Hilfe des Programm s 'ParamctricPlot3D ' soll nuneine Kugel geplottet werden. Dazu muß zun ächst dasProgramm gelade n werden:

10( 3]:= « Pa ramet ric Pl ot 3D.m

4

Dann kann das Programm aufgerufen werden:

In( 4J:= ParametricPlot3D[{Sin[u]Cos (v J , Sin[uJSin[vJ,Cos(uJ) ,(u , 0, Pi, Pi/1S},{v, 0, 2Pi, Pi/1S},BoxRatios - > {I, I , l}J

Mit Hilfe de r nächsten Befehle wird eine Liste von 20Zufallspunkten erzeugt und dann ge plottet.

In[ S] :~ pts ~ Table[ Point({Rand om[ ] ,Randomn. Random[J n. (2 0) J

In[6J :~ Show[ Graphics3D (ptsJ J

Zusätzliche Animationsfunktion : Man erzeugt mehrereBilder einer Funktion, wobei man die Parameter ver­ändert und dann diese Bilde r mittels einer Funktion alsAnimation ablaufen lasse n kann. Man erhält so denEindruck, als würde sich die Funktion bewegen. Wasdahinter steckt, ist einfach erklärt. Die verschiedenenBilder, die man erzeugt hat und abgespeichert sind,werden nacheinander (Endlosschle ife) ge zeigt . Manhat nun noch die Möglichkeit, die Geschwind igke it,mit der die Bilder gezeigt w erden, zu verändern.

Die Graphiken werden als PostScript - Graphiken inMathematica erzeugt. Dieses hat den Vorteil, daß mandie Graphiken z.B. auf einem Laserdruck er mit einerse hr hoher Qualität ausgeben kann.

MathPAD 0,1

Auf den ersten Blick erscheint die Graphik alle Wün­sche zu erfüllen. jedoch stellt man sehr schne1I fest.wenn man von den Standard Beispielen abweicht undzum BeJspiel mehr als 40Plotpoints nimmt. daß manewig auf die Graphik warten muß. wenn sie dennüberhaupt gezeichnet wird. Willman dann vielleichtnoch etwas kompliziertere Punktionen (30) zeichnen.steigt Mathematica schon bei weniger als 40Plotpointsaus.

Algebraische Operationen(FormeJm a n fpulation)

Mathematica kann mit zahlen wie auch mit algebrai­schen Formeln arbeiten. Dies ist eine der grundlegen­den Eigenschaft von Mathematica. Mathematica be­herrscht eine große Anzahl von algebraischen Umfor­mungen. wie Faktorisieren von Polynomen oder rati­onalen Ausdrücken. Lösen von Gleichungen oderGleichungssystemen und Differenzieren oder integrie­ren.

Beispiele:

ln[l]:= 48 + 40 x + 11 xA2 +xA3

Out[l]= 48 + 40 x + 11 xA2 +x A3

ln[2]:= Factor[%]Out [2]= (3 + x) (4 + x) A2

ln[3]:= Solve[xA2 - 8 x + 16 =a O,x]Out [3]'" {{x -> 4}, {x -> 4}}

ln[4]:= lntegrate[Sin[x],x]Out[4]= -Cos[x]

ln[5]:= D[%,x]Out[5]= Sin[x]

In Mathematica können Namen für Objekte unter­schiedlicher Struktur definiert werden.

Beispiele:

ln[l]:= v=l+xOut[l]= l+x

Die Variable v wird nun bei jedem Auftreten durchihren oben defmierten Wert ersetzt. So ergibt zum Bei­spiel der Ausdruck:

ln[2]:= 5 + 2 v + 3 v A2

MathPAD 0,1

Out [2]= 5 + 2 (1 + x) +3 (1 + x)A2

Fbenso können Punktionen definiert werden. Dies ge­schieht %.B. durch:

Die so definierte Punktion kann nun folgendennaSenangewendet werden:

ln[2]:= f[3] + f[a+b]Out[2]= 9 + (a + b)A2

Mit Hilfe einer rekursiven Punktion läßt sich so zumBeispiel die Punktion Fakultidnl defmieren:

ln[l]:'" fac[n_] := fac[n-l] nln[2]:m fac[l] = 1Out[2]= 1

Nun kann die Punktion fac aufgerufen werden:

ln[3]:= fac[lO]Out[3]= 3628800

Eine Datenstruktur. die in Mathematica sehr universelleinsetzbar ist. ist die der Liste. So werden z.B. Matrizenals Listen von Listen dargestellt Die meisten Punktio­nen können direkt auf eine Liste angewendet werden.wobei die Punktion dann auf jedes Element der Listeangewendet wird. Mathematica stellt eine Viel72hl vonOperationen zur Verfügung. mit deren Hilfe Listen er­zeugt und bearbeitet werden können.

Beispiele: Eine Liste von zahlen:

ln[l]:= {2, 3, 4}Out[l]= {2, 3, 4}

Wendet man nun die Sinus-Punktion auf die Liste an,so erhält man:

ln[2]:= Sin[%]Out[2]= {Sin[2], Sin[3], Sin[4]}

Mit dem Befehl Table können Listen erzeugt werden:

1n[3]:= Table[iA2, {i, 6}]Out [3] = {l, 4, 9, 16, 25, 36}

Im folgenden Beispiel werden zwei als Listen darge­stellte Vektoren multipliziert:

5

In[4]:= {x, y, ~} • {a, b, e}Out[4]= ax + by + ez

Mit dem folgenden Befehl wird untersucht, ob ein Ele­ment in einer liste enthalten ist:

In[5]:= MemberQ[{a, b, e}, a]Out[5]= True

Nun werden mehrere Listen concateniert:

In[6]:= Join[{a, b, e},{e, d},{a, b}]Out[6]= {a, b, e, e, d, a, b}

In Mathematica können mathematische Regeln defmiertwerden, wie das folgende Beispiel zeigt. Hier wird eineFunktion 110g1 in Anlehnung an die Regeln für den L0­garithmus definiert.

Beispiel:

In[l]:= log [x_ y_] := log [x] + 10g[y]In[2]:= 10g[x_ A n_] := n 10g[x]In[3]:= 10g[a b e A2 d]Out[3]= 10g[a] + 10g[b] + 2 10g[e] +

log[d]

Mit dem folgenden Befehl kann man sich alle 110g1be­treffenden Definitionen anschauen:

In[4]:= 110qlog10g/: log [(x_) (y_)] := log [x] +

10g[y]10g/: 10g[(x_)An_] := n 10g[x]

Numerische BerechnungenMathematica kann wie ein Taschenrechner benutzt wer­den. Im Gegensatz zu einem Taschenrechner kann 'Mathematica das Ergebnis jedoch auf jede beUebige An­zahl von Dezimalstellen genau ausgeben.

Beispiele:

In[l]:= N[Log[4 Pi]]Out[l]= 2.53102

In[2]:= N[Log[4 Pi],lO]

6

Out[2]c 2.5310242469

Mathematlca arbeitet jedoch nicht nur mit InoImalenl

zahlen, sondem filh.rt z.B. auch Matrizenoperationendurch,

In[1]:=m=Table[1/(i+j+1),{i,1,3},{j,1,3}]

Out[1]= { { 1/3,1/4,1/5 },{1/4,1/5,1/6 },{1/5,1/6,1/7 } }

Dies ist die Darstellung für eine 3x3Matrix.Mit demfolgenden Befehl erhllt man die Inverse der Matrix:

In[2]:= Inverse[m]Out[2]= {{300, -900, 630},{-900, 2880, -2100},{630, -2100, 1575}}

Mathematica kann aber z.B. auch numerisch Integrie­ren oder eine zahl faktorisieren.

In[l]:= NIntegrate[ Sin[ Sin[x]],{x, 0, Pi}

Out[l]= 1.78649In[2]:= FaetorInteger[ 20654065386Out[2]= {{2, 1}, {3, 2}, {43, l},

{26684839, 1}}

Ein- und AusgabeMathematica bietet die Möglichkeit, beliebige Aus­drücke in verschiedenen Formaten auszugeben. Mankann eine mathematische Fonnel in C, Fortran oderTEX-Notation ausgeben.

Beispiel:

In[l]:= TeXForm[(aA2 + b A2)/(x +y)A3]

Out[l] //TeXForm= {{{aA2} +{bA2}}\over

{{{\left ( x + y \right ) }A3}}}

Sollen Daten von einem anderen Programm an Mathe­matica übergeben werden, so kann dieses Programmaus Mathematica heraus aufgerufen werden. Dabeiwird eine 'Pipe' benutzt, um die vom Programm er­zeugten Daten in eine Uste einzulesen.

MathPAO 0,1

Beispiel: Das externe Programm square5 gebe die er­sten 5 Quadratzahlen aus. Dann werden diese durchden folgenden Befehl an die Liste 'Number' überge­ben.

1n[2]:= ReadList["!squareS",Number]

Out[2]= {1, 4, 9, 16, 2S)

Dokumentation und Help - ~pabillties

Mathematica hat eine gute Dokumentation und zwarist es das Buch Mathematica: A System for Doing Ma­thematics by Computer, by Stephan Wolfram, pub­lished by Addison-Wesley in 1988 (paperback: ISBN0-201-19330-2; hardback: ISBN0-201-19334-5) ohnedas man nicht mit Mathematica arbeiten kann.

Esgibt auch schon eine Mathematica User Group mitdem Namen MathGroup. MathGroup plant ein bulletinboardIarchive system, dasdie User anwählen, bzw.per e-mail erreichen können. User sollen dort Informa­tionen, Programmpakete usw. ablegen und abholenkönnen. Es ist auch geplant, einen Newsletter heraus­zugeben und eine jährliche Konferenz abzuhalten.User, die interessiert an MathGroup sind, sollten

Steven ChristensenMathGroupNational center for SUpercomputing Applications258 Computing Applications BuildingUniversity cf Illinois

605 Bast Springfield AvenueChampaign, IL61820

E-Mail: [email protected]

kontaktieren.

ResumeeWie wir in den vorangegangenen Beispielen gesehenhaben, hat Mathematica eine große Anzahl von Punkti­onen für den Bereich der Computer - Algebra. Jedochkann es nicht mit so einer großen Anzahl von Punkti­onen aufwarten, wie andere Computer - Algebra­systeme wie zum Beispiel MACSYMA oder MAPLE .Auch hat man bei Mathematica mehr Wert auf dieObedläche und die Werbung für das System gelegt,als in die Implementierung der doch weit aus wichti­geren Algorithmen. So wundert es nicht, daß dortnoch einige Bugs enthalten sind. Es wurden Bench­marks mit anderen Computer - Algebrasystemen (

MathPAD 0,1

MAPLE und MACSYMA) auf einer SUN 3/60 mit 12MB Hauptspeicher durchgeführt und dort hatte Mathe­matica in vielen Teilen das Nachsehen gegenüberMAPLE. Um die SchwAche der implementierten Algo­rithmen zu zeigen, geben wir hier ein Beispiel an, denSimp1yflere.So hat z.B. das Ergebnis der folgenden in­tegration

1ntegrate[xA4 Sqrt[l-xA2],x]

8 Tenne, wofür andere CA Systeme eine kompakterePorm liefern. Natürlich ist es möglich, mittels derSimplify - Punktion auch das Ergebnis zu vereinfa­chen. Differenziert man nun das Ergebnis der integra­tlon, erhält man 15 Tenne. Die Anwendung der Simp­lify Punktion liefert uns aber noch immer 14 Tenne.Andere Computer - Algebrasysteme vereinfachen hier­bei jedoch besser. Vor allem bei Ausdrücken, die tri­geometrische Punktionen und Wuaeln enthalten,schneiden andere Systeme besser ab.

Zusammenfassend kann man sagen, daß Mathematicazwarüber eine sehr gute Benutzerobedliche verfügt,in den Algorithmen aber noch etwas schwach 1st. D.h.die Algorithmen enthalten noch einige Bugs und sindauch nicht die schnellsten. Eine große Stärke von Ma­thematica ist die Verfilgbarkeit auf vielen verschiede­nen Computern unterschiedlichster Hersteller (zumBeispiel Apple Macintosh). Nachteilig wirkt sich dersehr große Kern (ca. 2 MB) von Mathematica aus, waszur Polge hat , daß man nicht vieleMathematica Job; gleichzeitig auf einer Workstationlaufen lassen kann. Diese Situation tritt z.B. dann auf,wenn man es in der Ausbildung einsetzen will.

Durch die Eingabe desBefehls math startet der Be­nutzer Mathematica (auf den SUN's). Will man die mitMathematica geplotteten Graphiken auf dem Laser­drucker ausdrucken oder in ein laTeX (TeX) Doku­ment einbinden, helfen die entsprechenden Kuaanlei­tungen im INPO System (siehe Artikel über INFO Sy­stem).

7

Comparing Maple,Mathematica and Macsyma

PhUlppe PlAjoIßI, INRIA

At Inria (Rocquencourt, France) we have attempted acomparison of

Maple, Mathematica and Maaryma.

It is largely based on efficiency considerations and isoffered here with the hope of triggering some debateamongst users of various systems.

There is of course no claim of having been exhaustive,but live tried to draw same systematic conclusionsfrom a few benchmarks, and Pd like this experience tobe confronted with other points of view.

Tested versionsMapie V4.2 [Dec.87]

MaJbematica (SUn 1.0), demo version 21 JUIle 1988

Sun UnixMacsyma 309.6 [Symbolics 1987]

Timing results are for a Sun 3.60 with 12 Mbytes ofmemory.

I should say that I am a regular Maple user (we do ourdevelopment in Maple), recent discoverer of Mathema­tica and occasional user of Macsyma.

The ranking of the 3 systems I propose is the follo­wing:

EJficfency. 1++ 2 3

Integer: 1 2 3

Floats: 2 1 3

Control: 1 2 3

Symbollc: 1 2 3

FunctionalUy: 1 2 1

PJeasantness: 1 1 3

Loading Speed: 1++ 2 3

Debug/Trace: 1++ 2 2

MathPAOO.l

CRrfERIA.: MAPLE MA71lEMA71C4 MACS'YMA

CRD'ElUA: MAPLB MA7HEMA71CA MACS'YMAIn1e1facel

Grapbics: 2 1++ 2?

Consistency: 1? 1? 2?

Manual: 2 1++ 2

OtJeraU: 1 2 3

Efficlency:

Flficiency tests will be detailed later, but it appearsthat Maple is often about 3 times faster thanMathematica on symbolic computations except onsmall floats (there it looses by a fadOr of about 3 or4) and a good 6 times faster than Macsyma.

FunctionaUty: [Very SUbjectivell

• Globally, I believe that the two leaders areMaple and Macsyma in' terms of number ofalgorithms implemented Each has of course its ownlimitations but I would consider the two of themroughly equivalent.

Mathematica has a lot of functlons, but several ofthese are Ba.\)', an extreme example being

Pocbbammerfa, n}-Gamma{a+nVGammaln!,

You save 2 keystrokes!

Integration of facilities is less advanced inMathematica (a much younger system).

Por Instance, a floating point eval of a Taylor series

Nlserles/E:JrplxJ, (x,0,1omwon't work as such. Also, I don't know how toextract the real part of

Log/x + Sin/x + I yD

symbolically (using ReD>. Macsyma and Maple willreaclilygive

8

9

1I2ln((~sI"(x)-cosb(y)) 2+cos(x)A2 slnb(y)A2

Sane of thJs may be due 10 being a recent Mathemati­ca user, but the general impression Js that MathematicaJs a sound system which still lacks some of the stan­dard features of Its eider brothers.

• Mathematica has a very strong point withexcellent 3D Graphics (SunTooJs and PostScriptinterfaces, very pleasant and very professionalO.Maple has only 2D graphlcs, but reasonable andsimple Tektronix (useable under Xwindows) andPostScript interfaces.

Pleasaotness: [AJsovery subjective]

• Maple Ioads very fast (O,5s) with a smaß kernel(-200k). Apart from very basic primitives

(2+3, expand((:c+y)A2..J,

aß its mathematical computations relle on libraryfunctions: the source (with comments) is accessible se­parately, but also from under a Maple session (usingop(.», and both user and system functions can betraced. Debugging in Maple, when a computationdoes not work as expected is inflnitely superior 10debugging in Macsymal

Mathematica and Macsyma load in about 7s and 11srespectively. Executable code sizes are 2.7Mbytes and6.1Mbytes respectively. They don1t appear to glve thesame debugging facl1ities as Maple, since more Js donein the kernel and less Is done in libraries.

It Js aß the more surprising that despite thJs aspect,they are not in general as emdent as Maple.

• ManuaL My ranking is 1++ for Mathematica, pub­lished by Addison-Wesley, and 2 ex aequo for theothers,

- ConsJsteneya I think both Mathematica andMaple are easy 10 grasjJ. Evaluation mechanisms aresimple and coherent By the way, simplidty, elegance,consistency are extremely important in the design ofcomputer algebra systemsI

I belleve that more time is now spent on programmingand less in interactive sessions and predictability ofresults (or ease of debugging) depend crodally on thecriteria above.

It Js better 10 have fewer functions with well-definedsemantics than a number of ad hoc procedures thatwill break down unexpectedly.

Defming coherent phllosophies Js a highly non trivialproblem; consider the solve function: What should wegetfor

solve(e:xp(~-l,~isolve(sin(x)-2)i solve(sin(~-o);solve(sqn(x)-l).. .,

GIobally, I have a feeling that Macsyma is moreheterogeneous than the other two systems.

-Interfacea Mathematica bas the lead I think due 10its graphlcs, and the Janguage Js simple enough 10lock consJstent. However, I don't like the absence cf atermination symbol for commands (the parser stops assoon as it canO. ThJs is likely 10 pose problems whenMathematica is used as an algebra engine withcommands generated by another program. Porinstance

(2+3)-5

typed on two lines will give:

Inll):-(2+3)

0ut!1)-5

Inl21:- -5

A <mtype linB>

This is a detail, but I think it is also poor ergonomlcsfor the user that may need 10 type in long expressions.

Maple should have a textual saue that is actually aninverse cf a Ioad and should get rld of 115 format forIprint cf floats which is a pain for people that use it togenerate input to other (Postscript, Pascal,C ete.)programs and hasvisual Info content o.[15 IFloat(l414427157,-12)1 of the order cf 10,\(-1) or10A(-4)?].

Maple1s prlnl should be intemJptible (AC) when toolong a formula is being displayed.

- Mathematica has a good concept cfslmplifkatJon rules:

Inl21: -log/x_ yJ -log/:rJ+log/y)

Inl31:-1og/~al

0uIf31- Iog21+ log/al

and I would like 10 have something that simple inether systems.

Overall:I would rank Maple number 1 based on its effidency,and functionallty. Por each aiterion, I thJnk thatMacsyma is always beaten either by Maple erMathematica, so that I rank it 3.

Mathematica looks like a promising new system,though It is likely to remain less efficlent than Maple

MathPAD 0,1

BI:

F-l;s-o;

ßoats (,\3), whße it wins on all the other tests. So, weinvestigate flaots separately below [Bateh Cl.

0.7 sys

1.6 sys

2.0 sys

13.5 user

101.3 user

129.1 user

S-Ojßmini/1Jo{s-s+./fjl, (j,SOO-FBJ

QuiI/J

MAPLE: 14.8 real

MA1H: 111.5 real

MACSY: 145.5 real

nmtng(fb{njbD

j!nJ:-pnJ-n

B3:

ßmtng[For(i-l, i<-5OOO-P, i++,IjfMod{~21--o ,s-s+i+1, s-s-{J)J

nfb:::Round(N[Log[P'2000.VLog[(t+SqI1f5.D/2IDI-F-l -->nfbm12 ./

jblnJ:- Ijfn<-l ,1, 1+jb{n-1J+jb{n-21JI-jb{njbJ-1973-1

B2:

BATCRB: Control SnlClUteS Test

This aims at testing in more detail the efficiency cfIoop controls, procedure calls with or withoutremember tables.

First, we do 5000 simple enough for-loops (B1). Next,we oompute about 2000 recursive - exacdy 1973 ­calls to a funetion related to the Fibonacci sequence(B2). Finally, we deflne a trivial function .trx)-xwbich remembers its values; this is achieved inMathematica by the double declaration

j!nJ:-jlnl-BODY.We compute (and remember) 500 values.First, I give a set cf 4 tests [A,B,C,Dl in Maple,

Mathematica and Macsyma resp. Then a more detailedanalysis, based on timings of individual commandsand finally a program that was tried in the threelanguages.

BATCHA: General Test

EFFICIENCY TESTS

This is just a random combination cf numeric andsymbolic oommands in order to get a rough feeling ofwhat goes on.

First, we do a Taylor expansion to order 80 (Al), thenoompute with Integers up to 10,000 digits (A2), thenwe do a big float computation to 400 digits ofaccuracy (0). Finally, we start with d-ll(1+xA4),differentiate 16 times (A4) and integrale back to obtaind(A5).

F:-8;

At:taylor(llcos(z),z-O,lfPF);

Al:2A(1()()(PF)/3"(1000-F)-15A(1000-F)l10A(1000-F);

(except for small floats), and developments related tointerfaces should be watehedl

Although I sympathJze with the system, I don't like theadvertising style cf Mathematica [Manual:IMatbematica now promises to aulomate aU matbema­tical computalions"..J

Roughly, I would continue deve1oping. large symboUcpackages in Maple, appeal to Macsyma in rare caseswhere I lack a specific funetion, and use Mathematicaas a SuperFortran for some numerical (real number)applications and as a Plot server,

A4for tfrom 1 10 2-F do d:-dtjf(d,x) od;

M:Jor i.from 1 to 2-F do d:-int(d,x) od;

qutt();

MAPLE: 207.1 real 198.8 user 2.3 sys

MA1H: nO.4 real 6n.7 user 5.5 sys

MACSY: 1453.3 real 1429.8 user 3.2 sys

Maple is globally 3 times faster than Mathematica -onthis and 7 times faster than Macsyma (0. However, amore detalled analysis reveals that Maple is locsing on

The big surprise is that Mathematica is beaten here bya factor of 7 over Maple. A closer look shows thatMathematica looses by a normal factar cf 3 on (BI),(B2), but by a much bigher factor on (B3).

It seems that remember tables are stored intemally aslists, and varying parameters, we find that computing

(and storing) n values of a funetion has cost nA2 ?!?Maple and Macsyrna behave linearly. Maple uses has­hing and is effident and the ratio MacsymalMaple iswhat you expect

BATCB Ca Small F/oatsTests

(Note: for Maple use Digits:-l6;, DigUs: a 3 2; and forMathematica, use N[.,16), N[.,321, to be in accordance

MathPAD 0,1 10

witb Macsymals accuracy.]

ThJs aims at checldng our intuition from Bateh A (0),that Maple looses on flcats

F:1; sbowHme:Irue;s:O;

11: -tay1M(f,x-1Isqrt(2),d):evaIf(tI)j

04:m:-5jp:-expand(jmxluct(prrx,qiJ"'Jl,i-j+1..m),

i-l..m)): factoJ(p)j

Ratios are now more like 1/5 and 1/10 in favour cfMapJe.

ANALYSIS

Cl:for ifrom 1 tbru 1000Fdo S:s+jloat(sqrt(i));

Cl:forifrom 1 tbru 1000Fdos:s+jloat(Iog(i));

<3:for ifrom 1 tbru l00-Fdo s..s+jloat(sin(i));

.fPprec:32;

s:O;

MAPLE: 27.1 real

MATII: 122.1 real

MACSY: 225.8 real

21.9 user

106.8 user

202.0 user

0.9 sys

1.9 sys

3.1 sys

s,'-I:fori to 12 do s:-(s+2Is)/2; od: s; evalf(sI\2-2);

02:n: - 5OO;s..-o.. for i to n do So' -s+I/i; od: s;evalf(slog(n),SO);

03:d: -Biß-e:x:p(cos(sqrt(J-:J(/\4)))i

First we cornpute Newton approximations to sqrt(2)(01) [It is correct up to 1()A(-3135)], and the 500thharmonlc number (02). These are tests of inte­ger/rational arithmetic. Next we do a more canpllcatedtaylor expansion (03) and da a float eval. Finally weexpand a product and factor lt back.

01:

Inddentally, I was impressed by the numericalcomplex roots finder (for polynomials:

NfRootsfS"m/xAV~(~I,SOD--o,~

in l05s) of Mathematica [=Macsymals allrootsQ, oftenbuggy, not avaiJable in Maple 4.2].

BA.TCHDI Yet anotbergeneral lest

This test was meant as an Independent check to aU cfour earlier observations.

MAPLE MATII MACSY

1.53 1.05 5.38

6.60 0.53 1.05

7.68 0.50 1.23

1.73 2.93 48.68

10.95 3.96 128.81

17.78 4.91 78.53

49.3 12.0 254.9

DetaUecIdmInp for: MAPLE MATII MACSY

<10A4dig> A2: 85.5 205.3 303.0

<Newton> 01: 7.2 36.9 55.0

<hannoDic> D2: 2.9 5.2 33.5

MAPLE MATH MACSY

<5000Loop> BI: 7.87 28.0 96.2

<1973Fcall> B2: 3.85 10.4 24.8

<500Mcall> B3: 0.75 58.4(!) 7.5

<l000Mcall> B13: 1.75 218.3 15.2

lntegers: Maple is surprisingly good consldering that Ituses internal decimal arithmetic (0.

-PIoaasaMaple looses over mathematica by a factor of about 3to 4 (on 32 and 400 digits). Macsymals floats aredecent, OOt Its bigfloats are outrageously expensive.

Smallfloats:

<16 dig> Cl:

C2:

C3:

<32 dig> C4:

C5:

C6:

Very Big FIoats:

<400 dig> A3:

-ControLMacsyma is consistendy about 10 times slower thanMaple. Mathematica is in between except for memofunctions (Mcalls) where the data stnJcture has costO(nA2) for n operatlons,

0.9 sys

0.9 sys

2.5 sys

53.3 real 47.1 user

24.7 real 18.5 user

287.0 real 261.6 user

CA:for ifrom 1 tbru l00-F do s:s+bjloat(sqn(i));

C5:forifrom Itbru l00-Fdo s:s+bjloat(log(i));

0):forifrom 1 tbru l00-Fdos:s+bjloat(sin(i));

quit();

MAPLE:

MATII:

MACSY:

11 MathPAO 0,1

There we bave added a variant ci 83 with twice asmany loops to show the O(nl\2) dependency. Did Imiss something in Mathcmatica programming or isthere a system design problem?

The elementary time eonstant for Maple is thus of theorder of lms.

eSymboIJa

<Taylor> Al: 35.1 122.7 268.2

<Taylor2> 03: 4.8 2.8 40.0

<Oiff> A4: 0.8 2.6 6.0

<Int> A5: 27.1 327.5 588.7

<Factor> 04: 6.9 35. 50.

Maple's symbolie engine looks quite good. Moreextensive tests between Mathematica and Maple arecalled for, because of the large dispersion of timingresults observed in these types of tests (On somefaetoriZation problems, Mathematica will beat Maple).

Globally, I believe Maple 10 be appredably moreeffident as a symbolie engine.

SYMMETRIe GROUPS

As a final check, Franeois Morain<morainOinria.inriafr>

from Inria tried a program he bad 10 eompute themaximal order g(n) of an element in the symmetriegroup of order n. The funetion gg(n) llsts thesequenee {g(k)Lk=l ..n..

The programming was done with a table of smallprimes, 10 put all systems on equal grounds (on ourversion, Macsyma's prime(O did not workt).

In Maple, we used a convert(p,array) 10 bave direct(rather than sequentiaO access 10 the list of primes.

In Mathematica, we tried several variants (with Tableetc.), but all bad about the same time eomplexity.

The Mathematica code is as follows:

F..100

gden{nmax-lkmaxJ:-BIock/{i, k, n,

g-Tab/e{l,{nmax+ID},

Fo1/k - 1, k <-~ k++,

Fonn .. nmax; n >-pI[Jd}, n-,

Foni-l, pflkJJl\l<- n, 1++,

i!{n+1D-Maxlgl{n+1]),

MathPAD 0,1

J

J

Jj

Relumfg/lj

gg1nmaxJ :- Bloc1i(kmax},lmJax - FIoo1fN{1S-sqnlnma:Jd-Loi!nmaxlJhgdenlnmax, 1lmt»dJi

pp-{2,3,S, 7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67

,71,73,79,83,89,97,.... tabls 0/tbefirst 208prlmes .....12~,12~123~1~7,1249,1259,1277,1279,1283k

p-Tab/e{pplfill,{i,208D;-Does notseemto improve efficiency ~

7iminflgg{Fl]

Quil/l

MAPLE: 12.700; 15.4 real 13.8 user 0.5 sys

MA1lI: 38.733; 58.4 real 45.4 user 1.4 sys

MACSY: 107.450; 141.8 real 108.3 user 3.3 sys

12

Cosmic EnvironmentSoftware

Cosmic Environment SoftwareDie Cosmk: EIWiroßlllalt Software ist eineProgrammieromgebung für die Entwicklung vonProgrammen für Multicomputer. Entwickelt wurde sieam califomia Institute 0/ Tecbnology (callecb). Dieverwendete Programmiersprache ist gewöhnllches C,welches um einige Befehle bzw. externe Prozeduren,die zur Kontrolle Ober das senden und Fmpfangenvon Nachrichten dienen, erweitert wurde.

Das zugrondeliegende Rechnennodel1 ist ein Multi­computer. Dieser besteht aus einer Anzahleigenständiger Prozessoren, die durch einVerbindungsnetzwerk miteinander verbunden sind.Die Prozessoren besitzen keinen gemeinsamenSpeicher, so daß Jegliche Kanmunikation Ober dasVerbindungsnetzwerk durch das Verschicken vonBotschaften geschehen muß <Massage-passi"llArchitektur). Ober ein LAN (Local Area Network)kann der Multicomputer mit UNIX-Netzwerk- Hostsverbunden sein. Dadurch können Nachrichten nichtnur zwischen einzelnen Knoten des MulticomputeIS­verschickt werden, sondern auch zwischen Knoten desMulticomputers und den Netzwerk- Hosts.

Das gesamte Programmpaket besteht aus 2 großenTeilen:

1. Cosmk EIWironment (CE)dient zur Programmierong auf UNIX- Hosts2.Reac:tive Kernel OUOBetriebssystem für die Prozessoren (Knoten) desMulticomputers

EntwIckelt wuJde die CF/RK Software, um einemessage passing Programmieromgebung aufNetzwerk - Hosts und Multicomputern zu unterstützen.Die gesamte Software ist aber nicht auf eine bestimmteArcl1itektur angepaßt, so daß es möglich ist, für eineArchitektur A entwickelte message - passingProgramme auch auf einer anderen Architektur Blaufen zu lassen. Dies wird durch die Verwendung dessogenannten Prozeßmodelles erreicht. Dieses Modellist losgelöst von einer bestimmten Hardware-Architek­tur. Anstatt ein Problem für eine bestimmte Anordnungvon Prozessen und deren Verbindung zu entwickeln,fonnuliert man ein Problem in Prozessen undvirtuellen Verbindungen zwischen Prozessen. DieMenge aller Prozesse, die an einer Berechnungbeteiligt sind, nennt man Prozeßgruppe. Solch ein

MathPAD 0.1

prozeß ist ein sequentie1les Programm, das Nachrichtensenden und empfangen kann. Ein einzelner Knotenkann mehrere Prozesse enthalten. Jeder Prozeß besitztseinen eigenen Speicherbereich. Alle Prozesse werdengleichzeitig ausgeführt, entweder in verschiedenenKnoten oder durch Multiprogramming verschachtelt ineinem Knoten. Jeder Prozeß besitzt innerhalb einerProzeßgroppe eine eindeutige ldentiflkationsnummer(10), die als Adresse für Nachrichten an diesen Prozeßdient. Die semantik der Operationen zumNachrichtenaustausch sind unabhängig von der P1azie­rong der Prozesse in den Knoten. Dadurch sindDatenroutlngoperationen, die nötig sind, wennProzesse miteinander kommunizieren, die nicht in direktbenachbarten Prozessoren statlflnden, für denProgrammierer transparent.

Das CE - System besteht aus einer Vielzahl vonDämonprozessen und Programmen. Diese dienen zurKommunikation des UNIX - Hosts mit Prozessoren desMulticomputers, der durch ein LAN mit dem UNIX ­Host verbunden ist. Desweiteren bietet das CE - Systemdie Möglichkeit auf sogenannten Gbost Cubes zuarbeiten. Dies ist die Simulation eines Multicomputersdurch mehrere UNIX - Hosts, die durch ein Netzwerkmiteinander verbunden sind.

Der RK ist ein Betriebssytem für die Knoten desMulticomputers. Er wurde während der Entwicklung desCosmic Cube am Caltech mitentwickelt. Dieser CosmicCube besteht aus 64 Knoten (Intel 8086 und lKJ87Prozessoren), die in einem 6<limensionalen Hypercubeangeordnet sind. Nähere Infonnationen Ober diesenMulticomputer entnelune man (Sei85). Später wurde derRK auf die Symult Serie 2010 und den Intel iPSC/1portiert. Eine Implementation auf dem Intel lPSC/2 istgerade in Arbeit. Eine Kopie dieses Kemels ist in jedemKnoten vorhanden. Er erledigt die folgenden Aufgaben:

• Erzeugen und Beenden von Prozessen im eigenenKnoten

• Planung der ProzeßausfOhrong• Überwachung durch Debug - Prozesse.Speicherverwaltung• Behandlung von Fehlern•Verwaltung der Botschaften für Prozesse imKnoten

Der einzige Unterschied zwischen message - passingProgrammen auf UNIX - Hosts unter dem CE - Systemund auf Multicomputern unter dem RK ist die Punktion

13

zur Proze&etzeugung. Dadurch ist es möglich, einmalgeschriebene Programme auf Cosmic CUbes. iPSC/1.Intel iPSCI~ Symult SCrie 2010 und Ghost CUbesohne Änderungen auszutauschen.

Ghost Cube -Simulation eines MulticomputersWie oben bereits erwähnt, ist es möglich, mit dem CE- System einen Multicomputer durch mehrereverbundene UNIX - Hosts zu simulieren. Wie mansolch einen sogenannten Ghost CUbe erzeugen kann,wird im folgenden beschrieben:

Voraussetzung COr die Simulation einesMulticompute!S ist ein NFS (Network FileSystem). mit dem mehrere UNIX - Rechner aufeinen Festplanenbereich zugreifen können.

Auf dem NFS - Host muSein Dämonprozeßcubed gestartet werden. der die Arbeit mit demCE - System 'Oberhaupt ennöglicht. Dieser wirdfür gewöhnlich während des Bootvorgangesgestartet und muß ständig präsent sein. Ist diesnicht der Fall, so läuft die gesamte CosmicSoftware nicht.

Mit einem weiteren Hlntergrundprozeß, demgboseife Prozeß, startet man einen sogenann­ten CUbe. Durch bestimmte Optionen gibt manan. wie groß der CUbe sein soll. welcheRechner an diesem CUbe beteiligt sind und wiedie Zugriffsrechte auf diesen CUbe aussehensollen.

BeispieL Der Aufruf

gboseife -d 4 -n CUBUS -s boselist &

startet einen 4-dimensionalen CUbe (mit t i =16Knoten) mit dem Namen CUBUS. auf den alleBenutzer zugreifen können. boselist ist eineDatei. in der eine Anzahl von Einträgen derFonn:

kepler /user/eubelBINIgbosl_nmI

/eibniz /user/cubelBIN/gbosenmi

newton /user/cubelBIN/gbosenmi

pascal/user/cubtVBIN/gbosenmi

stehen. Der erste Eintrag in Jeder Zeile ist derName eines Hosts, der zweite Eintrag speZifiziertein Programm. welches auf der RemoteMaschine ausgefOhrt wird. Der gboscife Pro­zeß baut den CUbe dadurch auf. daß er die Listesequentiell durchläuft, PUrjeden Eintrag wird ein

rsh - Kommando auf dem entsprechendenRechner gestartet. Ist ein Rechner nichterreichbar, wird der Eintrag übergangen. Ist dieListe durchlaufen und sind noch nicht 24 rsh­Kommando gestartet, so wird die Liste wieder

14

von vorne durchlaufen. Dadurch ist es möglich,auch mit weniger als 24 Rechnern einen 24

Knoten umfassenden Multicomputer aufzubauen.

4 - dimensionaler Hypercube

Der ghost.rem Prozeß ist ein Hintergrundprozeß.der auf jedem der UNIX - Hosts mindestens einmalexistiert. POr jeden Knoten des simuliertenMulticompute!S gibt es einen ghost..rem Prozeß.Dieser erledigt die gleichen Aufgaben wie der HK fürechte Multioomputer.

Mit dem Kommando

getcube d gbast

werden eine Prozeßgruppe und eine Menge vonMulticomputerknoten miteinander verknüpft,

Dabei gibt d die Dimension des gewünschten CUbesan. Ist d kleiner als die Dimension des durchgbast_fe gestarteten CUbes, so wird dieser aufgeteilt.

Auf diesem Ghost CUbe kann man nun die gleichenmessage - passing Programme laufen lassen, die auchauf echten Multicomputem mit dem CosmicEnvironment laufen.

Auf die genaue Beschreibung der Kommandos zumSenden und Empfangen von Botschaften sowie dieVerteilung von Prozessen wird hier verzichtet. Dazuwird auf [SS888] verwiesen.

Uteraturverzelc:

[Sei85J Chades L Seitz. The cosmic cube.Communications oftbeACM 28(1):22 - 33, 1985.

[SS888] Chades L. Seitz. Jakov Seizovic. and Wen-KingSu. The c programmer's abbreviated guide tomuldcomputer programrning. Cl1tech ComputerScience Technical Report Caltech-CS-TR-88-1,califomia Institute of Technology, Januar 1988.Revision 1 - 17. Apri11989.

MathPAD 0,1

Störende Bugs!- Interface von MacMaple

Be1ttlOFucbssteiller

Das InterfaceSpie lt man etwa e ine n Tag mit MAPLE auf einem Ma­cintosh I so fallen einem folgende gravierende Fehlerdes Interface auf:

1. MAPLE ist nicht mehr in der Lage Textdateienvon mehr als 50 K zu öffnen, dies trifft insbeson­dere auf MPW-Files zu. Dies bedeutet einenernsthaften Rückschritt, da die Version MAPLE 4.0ohne weiteres in der Lage war. Textdateien von

über 400K zu öffne n.In der be ta-Version von MAPLE 4.2 resu ltierte dieÖffnung von Textdat eien dieser Größenordnungnoch in der den Maclntos h-Fans bek annten Bom ­be. In de r endgültigen Version führt diese Operati­on zwar nicht mehr zur Bombe, sondern dazu ,da ß nur ein kleiner Teil der Textdatei einge lese nwird. Dies ist natürlich viel unangenehmer als derAbsturz des Rechners, da geringe Änderungen undanschließende Sicherung der verstümmelten Text­datei zum Verlust fast aller Daten führt. Mac-Map­le Benutzer so llten sich deshalb da ran gewöhnen,eine ständi ge und mehrfache Datensicherung zubetreiben. Die Begrenzung auf wenige r als 50 Kbei Textdateien ist auch deshalb besonders s tö­rend, weil viele vom Nutzer bisher erstellte Pro­grammpake te diese Größenordnung übe rschreit en.Der MacMaple-Benutzer mu ß solche Program rnpa ­kete also zerhacken, um sie in befriedige nder Wei­se auf se inem Macintosh zu be nutze n. Darüberhinaus ist zu beobachten , daß die Erweiterung desMaplekerns da zu führt, daß Memory-problemenunmehr viel e her als bisher auftreten.

2. Liest man ein MAP LE-Programm mit einer etwasüberlangen Kommentarzeile ein, so führt dies zuunerk lärlichem Verhalten des System. Hier ein Bei­spie l:Die Eingabe von

#C..a:108-maDund anschJie ßendem

f -proa) a end;führt nach dem Aufruf von op(f) zum Resultat 67.Darauf mache sich einer einen Reim !Es ist unnötig zu e rwähnen, da ß kaum eines derdanach eingelesene n oder erstellten Programmerichtig funktioniert . Dieser Fehle r ist besonders är­gerlich, da bekannt ist, daß mancher Nutzer tage­lang nach de m Grund des irrationalen Verhaltensgesucht hat , de nn auf die Erkläru ng dieser Fehl­funktion konunt man nun wirklich nicht so leicht

3. Eine Reihe von Funktionen der Me nüleiste ar­be itet nicht korrekt, dies gilt auc h für einige Con­trol-keys .

• D ie JlAL]:Punktion funktioniert nur, w enn dasUhrensymbol läuft, nicht aber wenn zum Beispieleine riesige Menge von Schrott ausgedruckt wird,oder auch wenn gewisse Rechenoperationen aus­geführt werden. Ma n versuche einma l, das System

1I :42 . ...~

w. t M ,.n..._.., _ " , _lI

• • , t IO" ll ~

C .f't " "Ml -1Hl

............ '.1... _.'...._u

.......'"r IN 1'4M1tI, M lloC_IM•• n .. .... .....cl aw 1~111II"" _ _ 1,., • •,__. _ 1'Orl_ M SI 'lw .' . 4MI I. Itrk"" ,.,......11 .

Der Macin tosb ist ein wunderbares Entwicklungswerk­zeu g und MAPLE ist ein großartiges Computeralgebra­system. Man sollte meinen , daß durch die Anpassungvon MAPLE an den Bedienungskomfort des Macintoshein Aigebrasystcm entstehen müßtet welches auch denletzten Skeptike r vom Nutzen so lche r Werkzeugeüberzeu gen so llte.

Weit gefehlt: Obwohl MAPLE vielleicht das beste undzuverlässigste Computeralgebrasystem im Markt ist,bin ich von de r Macintosh-Version enttäuscht. Das In­terface ist schlampig geschriebe n und weis t eine Reihestörender und e rnsthafter Fehler auf. Offensichtlichgibt es in der Entwicklungsgruppe in Waterloo keinenrichtigen Macintcsh-Fan, sonst wäre e in besseres Pro­dukt herausgekommen.

Die Maple-Version 4.2 habe ich auf de m MAC 11 je­weils unter 1 Megabyte und unter 5 Megabyte getestetIn den Test habe ich sowohl die beta-Verslon wie dasendgültige Produkt einbezogen.

~ .. File tollt 'Ht 11'" IIlUo,. u..._..,.1".

MathPAD 0.1 15

anzu halten , wenn man aus Versehen 10000 ! (Fakul­tät) eingetippt hat, Das Fehlen eines efflzienten Ab­bruchmechanismus Ist besonders bedauerlich, daauch das übliche 'Comma nd Period' nicht mehrfunk tioniert .

MacMap le-Benutze r so llten also entweder vielGeduld haben, keine Fehler mache n, oder sich dar­auf einstellen, ihren Rechner häufiger neu zu b0o­ten.

• Die UNDO-Funktion de r Menüleiste arbeitetüberhaupt nicht. Dies Ist deshalb bedauer lich, wellvie le Nutzer die se Funktio n, welche unter 4.0 ein­wandfrei arbeitete, verwandten um bei interaktivenTests den Outpu/ loszuwerden . Unnötig zu erwäh­nen, daß es auc h Tastenkombinationen wie SHlFf­DEllJ7E, oder CIRL Z oder CIRL Vim Unterschiedzur Versio n 4.0 nicht mehr funktionieren.

4. Das übliche FINDexistie rt gar nicht mehr. Wieste llt man sich im Interaktiven Arbeiten denn nundie Korrektur langer Programme vo r?

5. Die OPEN-Punktion arbeite t nicht korrekt. Öffnetman z.B. mit OPENoder mit CIRL 0 diese lbe Dateimehrfach, so führt dieses zu verschiedenen Fen­ste rn derselben Datei. Ist dem Nutzer dieses nichtbewußt, so wird er verschiedene Änderunge n inverschiedenen Fenstern ausführen und danach ausVersehen nur e in einziges sichern, oder durch Si­cherung der anderen die vorher ausgeführten Kor­rekture n übe rschre ibe n. Auch hier hilft nur häufigeDatensicherung und viel Geduld!

6. Die Option PRlNfSCREEN arbeitet nicht ein­wandfrei, bei mir zumindest führt sie immer zurHerstellung vo n schwarzen Meande m und zur Ver­nichtung von weiße m Papier.

7. Aktiviert man ein länge res Programm paket undgibt dann in korrekter Welse das EN7ER-Command,so führt dies dazu, daß de r Rechner überhauptnichts mehr tut und neu gebootet werden muß.

8. Ein weiterer recht unangen ehmer Feh ler bestehtda rin, daß MAPLE bei gewissen Operationen Zeilenüberspringt. Aktiviert man z.B. im fo lgenden trivia­len Programm

a.. - procORE7VRN(NUU)end,

b ..- proc(A)end,

den Teil vo n a bis zum Ende de r ersten. Proze­dur, so e rhä lt man das störende Resultat

a.. - procORE7VRN(NlJU)end·b ..- p roc(A)>end,

Dies. führt da zu, daß die erneute Aktivierung des~cltcn Programmes e inen Syntaxfeh ler ergibt;em recht abwegiges Verhalten .

Ich habe hier nur die Feh ler ge nannt, die am meisten

16

stören.Jede r Intensive Nutze r wird diese Liste ergän­ze n können. Zum Beispiel:

Nach Erschöpfung des Stacks erscheint auf dem Bild­schirm ein völlig leeres Dialogfenster, dessen Punk ti­on und Bedeutung man nach einigem Expe rime ntie­ren allerdings herausbringt. Oder: Startet man MAPLEaus einer MPW-Sitzung, so führt QcnT nicht nur zumAbbruch de r dadurch gesta rtete n Anwendung, son­de rn auch zum Abbruch der gesa mte n MPW-Sitzungse lbst, Auch der Aufruf von ABourMAPLE fOhrt beimir immmer zum Absturz des Rechners wenn dem einSCREENDUMP vorausgegange n IsL Dies sind abe r Un­gereimtheiten, mit denen man leben kann.

Natürlich sind beim neue n Interface auch ei nige VER­BESSERUNGENfestzustelle n.Die meisten Nutze r werden erle ichtert da rüber sein ,daß man MAPLE nun auch ohne MPW be nutzen kann .Ich halte dies aber nicht für wichtig, ich mag MPW (eine Vorliebe, die aber von kaum jemandem geteiltwird).Angenehm Ist siche r, daß man den STACKSIZE nichtme hr se lbst mit RESEDrrändern muß, oder daß nunau tomatisch gcscro llt wird (sogar mit einem nützli­chen Backslash am Ende der Zeile) . Auch die Einfüh­rung eines separaten STATUS-Fensters Ist sehr zu be­grüßen.. • r.. r", ,..., ""11 1011I... _ .....

n.,"

..-- - ,"_ 011_ ,- , ....

Und der Druck großer algebraische r Ausdrücke machtnicht mehr soviel Problem e , wie noch bei de r Version4.0.Was ich persönlich nicht mag, was aber die me istenNutze r positiv se he n werden, ist, daß der OUtput vonMAPLE nicht mehr in se paraten Textfenstern er­sche int Meine r Meinung nach, war dies allerdingsnützlich, um sic h bei neuen Programmen mit de rFunktlonalität die se r Programme durch Aktivierungder Beispiele in de n He lp-Files vertraut zu mache n.Gegenüber früher verbessert hat sich auch die Formde r Error-Müteilungen, zumindest be i höherem Print­level.

Algorithm en und ProzedurenEine Bewertung diese r Teile des Systems wü rde einen

M athPAD 0, 1

sehr viel sorgflltigeren Test erfordern, als ich ihndurcllgefOhrt habe. Hier nur einige Dinge, die mir auf­gefallen sind:

-Die Graphik wird man natürlich mit der vonMAT­HEMA71CA. vergleichen. Wobei MAPLE schlecht ab­schneidet, da zumindest oberflichlich gesehen, dasGraphik-Interface eine der Stllken vonMATIIEMATICA ist Ganz sicher ist einer der Nachteileder Einbeziehung von Graphik in die neue MAPLE­Version, daß man nun bei einem Megabyte sehrschnell in Memoryprobleme geriil Dadurch wild einerder Hauptvorteile von MAPLE, nImlich daß es auchauf sehr kleinen Computern läuft, neutralisiert. DieQualität des Graphikpakets rechtfertigt die Aufgabedieses Vorteils sicher nicht. Denn leider gibt es immernoch keine dreidimensionale Hiddenline-Graphik,dies soll allerdings in der Version 4.3anders sein.

- Einige Routlnen sind schneller als früher, Zuum Bei­spiel die Substitution, die sicher zu den wichtigstenPunktionen gehört. Andere Prozeduren sind etwaslangsamer als zuvor. So ist zum Beispiel die Aus-führung von 100 Differentiationen von exp (,,3) (zu­mindest auf der Version, die den mathematischenCoprozessor nicht miteinbeziehO, dreimal so langsamwie bisher.

- Es gibt aber sicher auch in den Ubraries und in denKemprozeduren noch manches zu verbessern.

Zum Beispiel:• Ich sehe immer noch nicht, wie man durch Vetwen­dung von subsop die Remembertafel einer Routine In­dem kann. Meiner Meinung nach sollte

subsop ( 4-op(newtable), op(Rouline))bei der Punktion Routine die Remembertafel durchnewtable ersetzen. Dies geht aber nicht Natürlichwird der erfahrene MAPLE-Nutzersehr schnell einenAusweg finden.

• Die Syntax der Punktion Remsmber ist sicher sinn­voller als zuvor. Aber es ist doch bedauerlich, daßhier keine Aufwär1skompatibilität zu früheren Versi­onen besteht. Da MAPLE nicht über ein sogenanntesHold-Attribut für Punktionen verfügt, ist es hier demNutzer auch nicht möglich Kompatibilität durch Einfü­gen ei ner eigenen Routine herzustellen.

- Die Ungereimtheit des leeren Dialogfensters bei Er­schöpfung des S13cksizes habe ich schon erwähnt,Hier ein Beispiel:Versuchen Sie für die Prozedur

F:- procOprocname(a1Bs) end;

F(1) um in den Genuß des Geisterfensters zu kom­men. Trotzdem stellt dieses Fenster einen Vorteil ge­genüber der früheren Version 4.0 dar, bei welcherderselbe Aufruf zu einem Absturz des Rechners führte.

Zur vernünftigen Nutzung bereitgestellter Routinengehört auch ein verständliches Handbuch. Das MAP­LE-Handbuch ist hier sicher kein Vorbild für guteNutzer-unterstützung. Zum einen sind hinzugekan-

MathPAO 0,1

mene ÄndenJngen nicht ausreichend dokumentiert,zum anderen sind vorhandene Dokumentationen un­verstlndlich. Man versuche z.B. einmal TRAPBRRORanbanddes Handbuches zu verstehen. Da hilft nurExperimentieren weiter!

Natürlich sind alle in diesemAbschnitt kritisiertenPunkte keinesweges ernsthafter Natur. Erfahrene Nut­zer werden bei alI diesen MerkwOrdigkeiten 1ekhtUm- und Auswege finden. Bei unerfahrenen Nutzemwird allerdings der Glaube in die Punktionsflhigkeiteines Computeralgebrasystems auch durch Kleinigkei­ten leicht, und dann nachhaltig, erschüttert.

Vergleiche mit MATHEMAnCAIn Bezug auf Laufzeit und SpeicherveJWaltung habeich einige einfache Tests zwischen MAPLE undMA1HEMATICA vorgenommen, die ich dem Lesernicht vorenthalten möchte. Die Zuverlässigkeit der Al­gorithmen habe ich dabei nicht getestet, denn es istwohlbekannt daß MAmEMATICA hier einigeernsthafte Fehler enthilt, man lese dies etwa im No.vember-Heft (988) der AMS nach. Man sollte aberdiesen Nachteil von MATIIEMATICA nicht überbewer­ten, denn es handelt sich um ein neuentwickeltes Sy­stem, und es ist zu hoffen, daß die meisten Fehler imLaufe der Zeit ausgemerzt werden.

Entscheidende Teile eines Computeralgebrasystemssind sicher: ArlIbmelik, Formale Substitution algebrai­scher Ausdrücke und Funktlonsl1Jbig1lJeit grundlegen­der Algorithmen. Hier habe ich einige ganz einfacheTests vorgenommen, die jeder Nutzer nachvollziehenkann. Natürlich gibt der Ausgang solcher Tests nureine sehr ungenaue Information über das System,doch ungenaue Information ist besser als gar keine.Wer es genauer wissen möchte lese den Artikel vonPbilippe FlaJo1et in diesem Heft nach.

Die Graphikkomponenten habe ich nicht getestet,denn da kanmt MAPLE sowieso nicht mitMA1HEMATICA mit Doch in den Kelch der allgemei­nen Begeisterung Ober die MATIlFMATICA-Graphikmöchte ich einige Wennutstropfen schütten. So schöndie Graphik und die dazu gelieferten Spielereien beiMA1HEMATICA auch sind, mir ist dies alles viel zulangsam. Beim Plotten ernsthafter Punktionen zieheich dasvon Henn Oevel geschriebene Paket bei wei­tem vor, da es Geschwindigkeitsvorteile um Faktorenvon 100 bis 1000 aufweist, bzw. Graphiken auch danoch liefert, wo MATIIEMATICA schlicht den Geistaufgibt Mir gefällt auch einiges an der Punktionalititder MA1HEMATICA-Graphiknicht. Wer meine Kritikhier nicht teilt, versuche einmal eine ordentliche Ku­gel mit nur sehr wenfBen Längen- und Breitenkreisenzu zeichnen, er wird sein blaues Wunder erleben.

Alle Vergleiche wurden wieder auf einem MAC 11 un­ter 5 Megabyte durchgeführt, PUr heide Systeme wur­de die spezielle Version benutzt, die den mathemati­schen Coprozessor mit einbezieht. Bei MAPLE werden

17

auch einige Vergleichszahlen für die VelSion ohne mat­hematischen Coprozessor angegeben.

Arithmetik

Beide Systeme berechnen AusdrOcke wie 100001 (Fa­kultät) recht gut. MAPLE braucht dafür genau 176 se­kunden und 1892 Sekunden ohne mathematischenCopro2'.eSSOr, wohingegen MAmEMATICA 326 Sekun­den (CPU-Zeit) braucht Aber Ballt Die wirkliche Zeit,die MAmEMAllCA für diese Rechnung benötigt, istmehr als 20 MInuten, wohingegen die Realzeit fürMAPLE ungefähr dieselbe ist wie die angegebene CPU­Zeit. Dieser Vergleich zeigt also auch, wie skeptischman gegenüber den von den Systemenherstellern defi­nierten CPU-Zeiten sein muß.

Während bei MAPLE die Berechnung der 100001 Fakul­tätan an sich keinerlei SChwierigkeiten verursacht, ge­rät es aber dabei wieder mit dem Interface in Bedräng­nis. Esdruckt das Ergebnis aus, macht dann aber einenvöllig unmotivierten Sprung zum Anfang des Fenstersund überschreibt einen Teil des Ergebnisses. Dochüber die Tatsache, daß MacMaple offensichtlich nichtin der Lage ist, Fenster mit etwas größeren Datenmen­gen ordentlich zu handhaben, haben wir ja bereits ge­klagt.

Die Zerlegung von expanded(I0000 in Primfaktorenstellt keines der Systeme vor Probleme.MATHEMAllCA braucht dafür 158 Sekunden, und dies­mal ist die CPU-Zeit fast mit der Realzeit identisch, wo­hingegen MAPLE 140 Sekunden braucht ( 203 Sek. oh­ne Coprozessor).

Beide Systeme mühen sich redlich ab und versuchenüber Stunden hinweg den Ausdruck 20000 Fakultät zuberechnen. Natürlich ohne Erfolg, wie man sich leichtüberzeugen kann. Auf den ersten Blick legt dieser Testnahe, das beide Systeme recht sparsam mit dem Spei­cherplatz umgehen. Ein Eindrock der bei späterenTests ins Wanken gerät.

Das durchschnittliche Verhältnis der angegebenen Ge­schwidigkeitsvergleiche wird auch durch andere um­fangreiche Berechnungen gestützt. MAPLE schneidetdabei in Bezug auf Zeit und Memory etwas besser abals MAnIEMATICA. Hinzu kommt, daß MAPLE allediese Berechnungen unter einem Megabyte durchfüh­ren kann, während MAnIEMATICA bei dieser Be­schränkung des Speicherplatzes überhaupt nicht mehrlauffähig ist. Bei vielen Berechnungen ist es sogar so,daß MAPLE unter einem Megabyte genauso effizientläuft und dieselben Laufzeiten erzielt wie unter 5-Mega-byte.

TermersetzungFür diesen Test wähle ich als Beginn A: =f(a,g(b,a))und dann redefiniere ich a, indem ich A für a in diesenAusdrücken ersetze. Dies führt zu einer dramatischen

18

VergJÖ8erung des algebmischen AusdnJcks, welcherschon 4K nach 3 SChritten bat und mehr als 1 Megaby­te nach 4 Schritten. Hier bewältigt MAPLE3 Schritte in11 sekunden und druckt das Ergebnis auch noch aus,wlhrend MAmEMATICA nur 0 Sekunden CPU-Zeltbraucht, was aber mehr als 17 sekunden Rea1zelt ent­spricht. Führt man die Iteration 4-ma1 durch, so gibtMAmEMAllCA schon nach 7 Minuten den Geist auf,wohingegen MAPLE hart kimpft und dasMonster wir­klich nach Stunden korrekt ausgibt (von Schwierigkei­ten mit dem Fenster abgesehen). Der Test zeigt, daßMAPLE doch sehr viel vernünftiger mit dem verfügba­ren Speicherplatz umgeht als MATHBMATICA.

Grundlegende AlgorithmenHier möchte ich nur die Ergebnisse für die Differentiati­on angeben. Die CPU-Zeiten entsprechen bei beidenSystemen ungefähr den Realzeiten. Hundert aufeinan-

derfolgende Differentiationen von exp«3) werden vonMAPLE in 29 sekunden durchgeführt und ausgedruckt,während MATHEMATICA ungefähr 159 sekundenbraucht. Für 150 Differentiationen desselben Aus­druckes braucht MAPLE 30sekunden (ohne Prettyp­rint) und MAnIEMATICA 370 sekunden. Das gutenAbschneiden von MAPLE ist dabei im wesentlichendarauf zurückzuführen, daß es effizienten Gebrauchder Rememberoption macht und so die Geschwindig­keit drastisch verbessert. Doch hat dies einen sehr un­angenehmen Nebeneffekt, nämlich daß MAPLE seinenGeist kläglich aufgeben muß, wenn es nach der Be­rechnung dieser Ableitung dieselben Ableitungen fürdie Variable y statt x noch einmal berechnen soll. Hierzeigt sich, daß die sonst nützliche Rememberoptiondoch ein sehr stumpfes Schwert ist, wenn es darumgeht, Geschwindigkeitseinsparungen mit sparsamerSpeicherverwaltung zu verbinden. Natürlich könnteman solche Effekte durch einen besseren Systement­wurf vermeiden. Und warum der Effekt schon bei 150Differentiationen auftritt t kann ich sowieso nicht ver­stehen, denn MAPLE müßte bei dem verfügbaren Spei­cherplatz durchaus in der Lage sein, diese Aufagbe oh­ne SchWierigkeiten zu bewältigen. Bedenklicherweisegibt MAPLE nach dem geschilderten erfolglosen Ver­such zur Differentiation noch nicht mal eine Fehlennel­dung aus. Dies ist aber wieder eine Problem des Inter­face.

FazitIn Bezug auf Graphik und das Maclntosh Interfacekommt MAPLE mit MATHEMAllCA überhaupt nichtmit. In Bezug auf Laufzeit und EffIZienz der Speicher­verwaltung schneidet MAPLE deutlich besser ab.

Ein großer Vorten von MAPLE ist, daß es unter einemMegabyte fast genauso gut funktioniert wie unter 5 Me­gabyte. Daraus kann man den Schluß ziehen, daßMAPLE, wenn sein Intelface bezüglich des Maclntosherst einmal richtig verbessert worden ist, in Bezug auf

MathPAD 0,1

die algebraJschen Teile MATIlBMATICA weit Oberle­gen sein wild. Eine Meinung, die durch die sehr gutePunktionsfihigkeit von MAPLE auf SCJN.WorkstationsunterstOtzt wild.

Die Tatsache, daß bei MAPLE das Mac-Interface zwi­schen der beta-Testversion und der endgOldgen Versi­on 4.2 kaum verbessert wurde, dämpft meine Hoff­nung in dieser Hinsicht allerdings etwas.

POr den Geschmack vieler Benutzer habe ich sicherzuviel Wert auf Laufzeit und Effizienz der Speicherver­waltung gelegt. Aber ich glaube, dies sind entschei­dende Gesichtspunkte, einerseits für sogenannte Hea­vy-Duty-)obi in der Mathematik und andererseits auchfür Nutzer, die diese Systeme zum Rapid Prototypingvon komplizierten Sachverhalten nutzen.

Anwender, die mit kleinen Problemen interaktiv arbei­ten, werden zum jetzigen Zeitpunkt sicher schonMATI-lEMATICA vorziehen-sofern sie mindestens 4Megabyte zur VerfOgung haben. Wohingegen diejeni­gen, die ein Computeralgebrasystem als Programmiers­prache benutzen, sicher bei MAPLEbleiben. Ich selbstbleibe MAPLE sicher treu - solange kein besseres Sy­stem zur Verfügung steht und solange ich die Hoff­nung aufrechterhalte, daß drastische Verbesserungenschnell durchgefOhrt werden.

Häufig hört man die Meinung, claS als Programmier­sprache MATEMATIAdurch seine transparente SyntaxMAPLE Oberlegen ist. Das ist zum Tell auch richtig,aber trotzdem häufig unwichdg. Zum Beispiel:Die Tatsache, daß man die Operanden inMATHEMATICA durch Angabe des Pfadnamens imentsprechenden Baum erhält, wihrend man bei MAP­LEeine Reihe von op() in undua:hsichtiger Weise ge­nestet hintereinander aufschreiben muS, spricht sicherfür MATiiEMATlCA. Aber der erfahrene Nutzer kannsich natOrlich sehr leicht eine Routine schreiben, diegenau dieses auch bei MAPLEdurchführt.

& gibt aber doch andere Punkte wo MA1HEMATICAMAPLE in Bezug auf Syntax und Design wirklich ober­legen ist. Um nur ein Beispiel zu nennen: InMA11IEMATICA kann man für Prozeduren Attributedefmleren. MAPLE hingegen ruft Prozeduren immerfür evaluierte Argumente auf (caU by evaluated name),was sicher eine gute Sache ist, was aber bei einigenBeispielen zu dem unerwOnschten NebenetIekt fOhrt,daS die Argumente evaluiert sind bevor die aufgerufe­ne Punktion ihre Tidgkeit starten kann. Ein Nachteilder sich drastisch bemerkbar macht, wenn man zumBeispiel für Maple 4.2 eine Prozedur schreiben will,welche die Rememberfunktion von 4.0 simuliert unddamit die Aufwärtskompatibilität sicherstellt In MAPLEgeht daseinfach nicht, während bei MATiiEMATICAdasselbe Problem durch Verwendung des HOlD Attri­buts trivial zu lösen wäre. Im Prinzip sollte dies auchbei MAPLE möglich sein, man sehe sich z.B. die Bullt­in-Prozeduren ASS/GNund EVAINan oder auch Re­member bis zur Version 4.0. Nur sind diese Möglich­keiten dem Nutzer im allgemeinen verschlossen. EineBeobachtung, welche wieder die häufig geäußerte

MathPAD 0,1

Meinung unter5tOlZt, daß die Source-Codes vonemstzunehmenden Computeralgebrasystemen dem in­tensiven Nutzer zur VerfOgung stehen sollten.

BeIdc Systeme körmen noch aewaltla verbessertwaden.

Maple 11

19

Einbinden vonBildern in Latex-Dokumente

Häufig wird die Rechnerbetreuung um Hilfe bei derEinbindung von Graphiken in Latex-Manuskriptegebeten. Sofern man diese mes beide auf dem Macerzeugt, gibt es keine SChwierigkeiten. Probleme kön­nen bei der Portierong von Graphiken von Sun aufMac und umgekehrt auftauchen, Aber auch für dasEin~den~ra~~esinLa~~m~~be~

tigt man einen Spezialbefehl. Diese beiden Fällewollen wir hier erläutern:

Einbinden eines raster-files inLatex-Manuskripte aufder Sun

1 Auf der Sun wird ein raster-ffle Ipicture l z.B. mitdem Graphik-Paket von W. Oevel erzeugt.

2 Mit folgendem Befehl wird das raster-file Ipieturel inein postscript-ffle namens Ipie.psl umgewandelt:pssun-ppk.ps -11.1 2.2 -s3.34.4 -npicture

Die auftretenden zahlen 1.1 - 4.4positionieren dasBild auf der Seite. Die zahlen werden in lincheslgerechnet und bezeichnen folgende Abstände:

{- gesamte zur VerlOgungSIehende Sehe

2.2

11ndl

MathPADO.l

31mLatex-Dokument wird das Bild Ipic.psl mitfolgendem Befehl aktiviert:

\beginffiBureHbJ

\vsldpXYmm

\speda/{psftle-pk.ps}

\endfliBurrJ}

Hierbei gibt \vskip den Platz (XV nun) an, dervertikal freigelassen wird. um dort die Figur einzu­setzen.

4B1nwelsea

(a) Der Abstand zum unteren Seitenrand beträgtungefähr 1 2.2 + 1 I Inch, da der interneNullpunkt um 1 inch höher als der untereSeitenrand liegt.

(b) Es ist manchmal notzUch, zunächst einenRahmen um das Bild zu legen, um den benötigtenPlatz besser bestimmen zu können.

(c) Das File Ipic.psi muß sich im gleichen Directo­ry wie das Latex-File befinden.

(d) Die Bilder sieht man beim previewen nicht

(e) Der Print-Befehl des Tex-Previewer druckt dasBild nicht mit aus, deshalb ausdrucken mit

dvl2psflJe I /pr-Pps

(f) Es ist wichtig, daß die einzubindendepostscript-Datei kein Ishowpagel-Kommandoenthllt Man sollte daher im Zweifelsfall folgendenBefehl ausführen:

fgrep -I} sbowpagep;e.ps > newpic.ps

Einbinden von Mac-Bildernin Latex-Manuskripte aufder Sun

1 Da auf der SUn nur bestimmte postscript-formatebearbeitet werden können, ist das Bild mitlillustrator" auf dem Mac zu erstellen.

Das Bild anschließend als postscnpt-äle Ibild.ps·abspeichern.

20

21

2 Das File 'bildps' vom Mac auf die Sun mit demüblichen ftp-Kanmando übertragen.

3 Für das Einbinden des Bildes benötigt man dasfolgende macro im Latex-File:

\beginfrJBriJallm}

\dej\psinc(#l,#2)#J{

\setlengtb{\unitlengtbHlmm}

\centerlng\beginfplctumK#1, (2)

\put(O,O){\special(#3}}

\end{plcture}J

4 Im Latex-Dokument wird das Bild 'bild.ps' mitfolgendem Befehl aktiviert:

\begin(ftgumJlb}

\psinc(BO,90)(psftle-bi/d.ps bscale-O.3 vscale-O.3J

\end(figum}

Die auftretenden zahlen bezeichnen die üblichenParameter in der figure-Umgebung desStandard­Latex.

5 Esgelten die analogen Hinweise wie in I 4. (b)-(O.

Einbinden von Sun-Bildernin Latex-Manuskripte aufdem Mac1 Hat man ein Bild 'bild.ps' im postscript-Format aufder Sun erzeugt, so läßt sich dieses mit dem ftp­Kommando auf den Mac übertragen.

2 Das Einbinden des Bildes in Latex-Dokumenteerfolgt gemäß U 3.-5. Es ist nkht möglich, sich dieseBilder auf dem Mac anzusehen; auch beim Previewenerhält man nur leere Zeilen.

Einbinden von "Mathematica"Bildern in Latex-Manuskripte1 Die von lMathematical erzeugten Bilder sind bereitsim postscnpt-Pormat angelegt. Ihr Einbinden in Latex­Dokumente erfolgt gemäß 11.

2 Postscript-Dateien, die von lMathematica l erstelltwurden, müssen vor dem Einbinden auf der Sun mitfolgendem Befehl (anstelle von 'fgrep .... , siehe I 3.(0)bearbeitet werden:

matbpost2tex bild.ps > newbild.ps

Zeitschriften

Neben numerischen Problemen gibt es mlttletWeileviele mathematische Fragestellungen, die algorithmischuntersucht werden. In der folgenden Auswahl vonZeitschriften können Interessierte eine FOlIe von Infor­mationen finden ( in Klammem ist die Bibliotheks ­Signatur angegeben ):

Applied Mathematics and Computation(64 a 19)

Computer Aided Geometrie Design(64 c 36)

International journal of Computer Mathematics(64 i 7)

Mathematical Prog.mmming(64m 2)

journal of Computational and AppliedMathematics(61 j 33)

journal of Symbolic Computation(61 j 38)

Mathematics of Computation(61 m 12)

Nonlinear Analysis, Theory, Methods &:Appllcations (Software Survey 5eetion)(61 n 11)

MathPAD011

FIZ - Datenbank MATH

oder

22

Möchte man in Karlsruhe in der Datenbank des PIZ(Fachinfonnatlonszentrum) nach speziellen Pachar­tikeln suchen, so sind folgende SChrittedurchzuführen:

1) Man benötigt hierfür ein User-id auf pbinfo-r.Diese bekommt man bei Friedhelm Wegener(20m.

2) Auf pbinfo-r erweitert man den path (z.B. im.logln) um

/usr/sunlinklx253) Die User-id und das Password für dieBenutzung der Datenbank läßt man sich vonC.NeUusgeben.

4) Anleitungen und Uteratur zur Datenbankkönnen ebenfalls bei C.NeUus ausgeliehen oderkopiert werden.

Nun kann es losgehen. Wenn man sich auf pbinfo-reingeloggt hat, kann man mit dem Kommando

padeine Verbindung zum PIZ nach Karlsruhe herstellen.Hierfür stehen drei verschiedene Datex-P-Teilneh­mernummern zur Verfügung:

pad 45724790114oder

pad 45724740211

pad 45724740199

Um den Vorgang zu erläutern, fmden sie hier einBeispiel, das mit dem Unix-Befehl script erstelltwurde. Alle Eingaben, die vom Benutzer ausgeführtwerden müssen, sind in dieser Beispielsitzung kursivgesetzt, Kommentare sind mit ## gekennzeichnet.Nach jeder Eingabe ist ein Return zu geben.

Beispielsitzuog:

keplertwaldemar 0> scrip, -tI scripl_daIeI## Hiermit startet man das SCript,H das in der Datei scripCdatei## protokolliert wird.

SCriptstarted on Thu Oct 12 11:29:341989

keplertwaldemar 1> rIogIfIpbIIffo-r## Einloggen auf pbinfo-r

Password:MellljJlUsword

Last login: Wed Oct 1117:54:57 from kepler

sunOs Release 4.0.3_EXPORT (NEPTUN-X.25)Thu Aug 31 14:52:47MET OST 1989

pbinfo-J%pM 45724790114## Eingabe der Datex-P## Teilnehmemummer

SUnLlnk X.25 PAD V6.0. Type "P<cr> for Executive,"Pb for break

CalUng... connected...

Weloome to STN International! Enter x:x## Eingabe von x und Return

LOGINID:ll1lRKASGRC## Eingabe des User-id's

PASSWORD:MelllJlIZ-,lISsword## Eingabe des Passwords

TERMINAL (ENTER 1, 2, 3, OR 7>:3## Wahl des Terminaltyps

••••• • Welcome to STN International •••••••

Due to maintenance problems, INPADOC andINPAMONITOR will not be available from Thursday2 p.m. until Friday noonA New File on STN: FSTA is Now AvailablelSee NEWS 12 for detail

Pree Connect Haus in LCASREACf for septemberand OCtober - see NEWS7

Materials Infannation Training Workshop on October24 - see NEWS 11

STN User Meeting in France - see NEWS 9

MathPAD 0,1

CAS User Meeting Organized by PIZ CHEMIE - seeNEWS 6

·········STN Kuhrohe············PILE IMAml ENTERED AT 11:28:22 ON 12 ocr 89

COPYRIGHT1989 (e)PACHINPORMATIONSZENTRUM KARLSRUHE

PILE LAST UPDATED: 30 SEP89 <890930/UP>

=>. Po... lIIfdJ1fIebssleblBrl

H Nun befindet man sich in derH der Datenbank und kann mitH den Befehlen, die einem zurH Verfügung gestellt werden,H arbeiten. Z.B. nach ArtikelnH suchen, die die Namen PokasHund Puchssteiner enthalten.

7FOKAS

12 PUCHSSTEINER?

L3 1 PaKAS ANO PUCHSSTEINER?

::::>11 a 1J1l1H Es wurde 1 Artikel gefunden.H Dieser kann mit diesemH Befehl ausgegeben werden.

L3 ANSWER 1 OP 1

AN 616.70017 MATH

TI Genera1lzed Hamiltonians for nonlinear evolutionequations.

AU Brör, L. J. P.; Eikelder, H. M. M. ten

(ten Eikelder, H. M. M.)

SO Trends in applications 01 pure mathematics tomechanics IV, Pap. 4th

Symp., Bratislava / CZech. 1981, Monogr. Stud. Math.20, 19-36 (983).

DT Conference article

LA EnglJsh

AB [For the entire colledion see Zbl. 612.00020.] Themain purpese is to study the structure of nonllnearequations in order to obtain some insight into thenature cl the properties referred to and their mutualrelations. We will attempt to da this by ßrst eonside­ring equations for discrete systems. This will be donein order of inaeasing spedalization: general,eonservatlve and completely integrable equations.Then two examples of the appUcation of these

MathPAD 0.1

ideas to continuous equations will be given. As theUtemture on th present subject Is vast DO atternpt willbe made to 1ndicate which, If any, results are new.In this respeet we mention only that an importantpaper by B. Puchssteiner and A. Pokas [Physica D 4,47 ff. (1981)] appeared alter the Symposium andcame to our attention only when this paper wasnearlycompleted.

ce -JOHOS Hamilton's equationsSSF05 Hamlltonian and Lagrangian systems;symp1ectlc geanetry (C)SSP07 Ccmpletely integmble systems3SQ20 Particular partial differential equations cl mat­hematical physics81C05 Solutions to quantum mechanical equations

ur sine-Gordon equations; Korteweg-de Vliesequation; autonomous equations; Zbl. 612.00020;strueture of nonllnear equations; eanpletelyintegrable equations.

=>IDgo.JT

H Ausloggen aus der Datenbank##

pbinf~I%IogOlll

HAusloggen aus pbinfo-r##

keplerlwaldemar 2>eri## Beenden des script Kommandos##

Nacbbearbeiten der Datei, In der sichdas ProtokoU der BelsplelsJtzung befin­det:

Oie Datei scripLdatei enthilt nun noch einige Kon­troll-sequenzen, die, bevor man die Datenausdrucken kann, entfernt werden müssen. Hierzuruft man dasProgramm

dMw_scrlP'auf.

Syntax für clear_script :

23

11111;1&1&What's new

24

An dieser Stelle wollen wir einen kurzen Bericht überneue Hardware und Software aus dem Bereich SUN

und Apple MACintosh geben.

SUN's :

Die erste n SparcStations sind da . Leide r können noc hnicht alle eingesetzt werden, de nn die dazu gehörige nPlatten müssen noch geliefert werden. Erste Versuchemit der Spa rcStation 4/ 330 (planck), d ie im ZIT ­Forschungsproje kt MathPad eingesetzt wird, habengezeigt, daß die SparcStations du rch ihrc

Verarbeitungsgeschwindigke it und das Design beste­chen.

An Software für die SUN's wurde z.B. MAPLE43bestellt. Mathematica ist als Testversion begrenztverfügbar.

MAC's :

Wie man der Netzwerkskizze (Seite 2) entne hme nkann, haben wir unser Netz um zwe i Mac Ilex (laplaceund fubini) und einige Zusatzhardware erweitert.

Der MAC Hex hat einen 68030 Microprozessor vonMotoro!a, der mit 16 MHz getaktct ist, den 68882

Koprozessor, 4 MB Hauptspeicher, eine 8O_MBFestpla tte und ein FDHD Diskettenlaufwerk .

Zur Vemetzung der Mac's ist zu sagen, daß jeder Maceine Ether Net-Karte hat und somit per Telnet/ Ftp odermittels Tops Daten zur SUfi ode r von der SUfi auf denMac transferieren kann. Desweiteren sind die Mac'suntereinander mit Apple-Talk verbunden, wodurchman nun vo n jedem Mac aus auf dem Laserdrucker imSekretaria t D2.320 drucken kann.

Mit Tops ist es mög lich, Ober AppleTalk Daten voneinem Mac zum anderen zu transferieren .

Als Zusatzha rdware für die Mac's ist nun ein Scannerde r Firma Agfa mit 800 dpi, e in Wechselplanensystemmit einer Kapazität vo n 45 MB pro Wechselplaue, einCD-Rom Laufwerk mit CD-Roms , die z.B. Public­Domain-Software oder Entwickler-Software entha lten,und ein Farb-Tintenstrahldrucker von HP, der eineAuflösung von 180 dpi hat, ve rfügba r,

An Software für den Mac ist e iniges bestellt , e inigesbereits auch schon geliefert und auf den Mac'sinstallie rt. Z.B. Milo, Suitcase, RagTime, Canvas und soweiter.

Ober neue Software informiert das Info System unterde r Rubrik MAC.

M. thPAD 0,1

IIIJIJllllt'111111111IrII~1111

INFO-System

Oliver K"'ge

Textsatz - Sys teme (laTeX, TEJCHAX [eineSammlung von Tips und Tricks bzgl. LaTeXD,

Desktop - Pub/ishing (Publisher, GriI)

und •

ISoftware IDENSTPf03RMt.E

NSTAll_BEsa-tREIBI.U3EN

raER.N3E1UItNlEISE

&:FTWARE_ANl.ErTUNGEN

Das Informationssystem info so ll dem Rechnerbenut­zer eine n Überblick de s im Fach Mathematikverfügbaren Software - Angebots geben und zudeme ine Hilfestellung zur Bedienung dieser Programmeanhand vo n Kurzanleitungcn bieten.

Unterstü tzt werden auf diesem Gebiet in besonderemMaße die Bereiche

Kommunika/ion/lnjonnationsauslauscb(Electronic MaH, Literatursuche in der PIZ ­Datenbank).

sich dieanzusehen.

hierin befmdliche n Informationen

Diese Software-Unterstützung wird vornehmlich fürSUN -Workstations, aber auc h für Apple - Macin tosh ­Rechner angeboten. Anleitungen ZUm Datentransferzwisc he n diesen Rechnerty pen sind natOrlich auc hab rufbar. Beschreibungen zur Kombination bzw.Einbind ung von Texten / Grafik en, die auf dem Ma­clntosh erstellt wurden, in spezielleTcxtverarbeitungsprogramme der SUN-Unic, stehenebenfalls zur Verfügung.

Ein weiterer Schwerpunkt liegt auf dem SektorHardware und Systemverwaltung. Diese Informationensprechen erfahrungsgemtiß nur einen kleinen Perso­nenkreis an. Aus diesem Grund sind nicht alle vorhan­denen Inform ationen jedem Benutzer zugänglich.Diese können jedoch auf Anfrage bereitgestellt we r­den.

Ein abschließendes Wo rt zur Bed ienung desInformationssystems info:

Nach Aufruf des Programms info ersche int e ine Listevon Verzeichnissen (z.B. SOFTWARE, HARDWARE).Diese Verzeichnisse können mittels der Tasten

<j> und <k>angew ählt werden. Der Cursor markiert das aktuelleVerzeichnis.

Die Taste<n>

dient dazu, in d ieses Verzeichn is zu wechseln bzw .

MathPAD 0.'

Eine Suchfunktion , die mittels der Taste<s>

ak tiviert w ird, e rmög licht dem Benutzer alle imSystem vorhandenen Infonnationen, die das ge­wünschte Stichwort enthalten, automatisch abzurufen.

<.q> SucheaNrec:hm <SPACE> Soc:hc fortfllhrTn co Deei ansehm

SUchmuster : texGefundene Detei : TeX-'n&taIlationunter : SOFTWARE·INSTALL_BESCHREIBUNGEN

25