Installation von esl

Hier sind Dateien zum Installieren von esl.

Voraussetzung für das Funktionieren von esl

Es muss ein einigermaßen aktuelles guile unter Linux installiert sein. Ich denke, ein guile 1.6.x sollte reichen, vielleicht funktionieren auch ältere Versionen. Das readline von guile sollte funktionieren. Ansonsten kann man die Eingabezeile im interaktiven Modus nicht bearbeiten (außer mit backspace) und die Eingabezeilen-History funktioniert nicht.

Bei mir funktinoniert es aktuell mit guile 1.8.1 und Suse Linux 10.3, außerdem mit guile 1.6.7 und Suse Linux 10.1. Es hat funktioniert unter Kanotix Bug hunter 9A, Bug hunter X (Fix 2) und Suse Linux 9.1, jeweils mit dem zugehörigen guile, Version 1.6.4.

Ob so ein guile installiert ist, kann man mit
guile --version
herausfinden.

Bitte diese readme vor dem Installieren lesen, auch beim Update.

Aktuelle Version der Software

esl_2007_11_07.tar.gz (etwa 203 kbyte).

Change log

Ältere Versionen der Software

esl_2005_02_16.tar.gz (etwa 170 kbyte).
esl_2005_02_06.tar.gz
esl_2005_01_30.tar.gz
esl.tar.gz (erste Version auf dieser Website, etwa 20. Januar 2005)

Dateien zum Testen des installierten Systems

Die Vorgehensweise ist in der readme-Datei, siehe oben, beschrieben.
plots.e
plots1_0.eps
plots2_0.eps

Die Dateien plots1_0.eps und plots2_0.eps müssten im eps viewer etwa so aussehen (eigentlich noch etwas besser):
plots1_0
plots2_0


25.01.2005

Die Prozedur sket ermöglicht das nicht-interaktive Erstellen von eps-Grafiken. Bei Verwendung einer esl-Version früher als 2005_01_30 müssen die Dateien plot.e und plot.scm im Verzeichnis /usr/local/esl durch diese Versionen ersetzt werden (hier in komprimierter Form):
plot.e.gz
plot.scm.gz

Die neuen Funktionen funktionieren erst nach einem Neustart von esl.

Bei Verwendung der aktuelle Version der esl-Software müssen plot.e und plot.scm nicht ersetzt werden.

Beispiele für die Verwendung von sket

07.11.2007

Die Datei diff.e enthält esl-code für Versuche mit symbolische Differentiation.

Anwendung von diff

Die Datei diff.e im Arbeitsverzeichnis speichern, esl mit gmesl starten. Das funktioniert nur, wenn slib installiert ist. Mit guesl funktioniert diff nicht.
Nach dem Starten mit gmesl diff laden:
load "diff";

Es können nur symbolische Funktionen differenziert werden. Eine symbolische Funktion wird definiert mit
f(x) ::: [expression(s)];
(dabei wird die symbolische Funktion als Wert des Symbols f definiert), oder (als lambda-ähnlicher Ausdruck):
x :-> [expression(s)];
Der Unterschied zur normalen Funktion besteht also syntaktisch in einem zusätzlichen Doppelpunkt. Aus einer symbolischen Funktion kann man die entsprechende normale Funktion einfach durch Evaluierung gewinnen (mit dem Operator &). Wenn f eine symbolische Funktion ist, dann ist &f die entsprechende "normale" Funktion.

Die symbolische Differentiation einer symbolischen Funktion erfolgt mit
diff(f);
oder direkt mit
diff(x :-> [expression(s)]);
Damit der Output ein bisschen mehr wie ein mathematischer Ausdruck aussieht, kann man vorher
mathouton();
anwenden.

Beispiel

diff (x:->x*sin(x));
sollte
x -> (x*cos(x)) + sin(x)
ergeben (bei mathouton();).


Letzte Änderung: 07.11.2007, j@e49.de