Am Fachbereichsrechner Mathematik-Studierende (fbma
) steht das IMSL Productivity Toolkit von Visual Numerics, Inc. (IMSL wurde 1993 von VNI übernommen) zur Verfügung, das aus folgenden Komponenten besteht:
IMSL FORTRAN Numerical Libraries
(MATH/LIBRARY, MATH/LIBRARY Special
Functions, STAT/LIBRARY - Version 3.0),
IMSL C Numerical Libraries
(C/MATH/- und C/STAT/Library - Version 2.0),
IMSL Exponent Graphics (für C, FORTRAN und X - Version 2.1) inkl. der Demonstrationsprogramme,
Online-Dokumentation HyperHelp von Bristol Technology Inc. (Version 3.1).
Dies erfolgt bei Verwendung einer C-Shell (csh
) durch Ausführen oder Einfügen von
source /cs/vni/ipt/bin/iptsetup.csh
in das .cshrc
-File bzw. bei Verwendung einer Bourne-Shell (sh
) oder Korn-Shell (ksh
) durch Ausführen oder Einfügen von
. /cs/vni/ipt/bin/iptsetup.sh
in das .profile
-File.
Um die Exponent Graphics und die Online-Dokumentation verwenden zu können, muß auch die DISPLAY-Variable gesetzt sein:
setenv DISPLAY nodename:0
in einer C-Shell (csh
)
bzw.
DISPLAY="nodename:0
"
in einer Bourne-Shellsh
) oder Korn-Shell (ksh
)
Ausführliche Informationen über die Verwendung der einzelnen Produkte enthalten die Dateien /usr/local/ imsl/product/readme
(installationsbezogene Angaben) und /usr/local/imsl/product/users_note
(Angaben des Herstellers), dabei bedeutet product
fnl
für IMSL FORTRAN Numerical Librariescnl
für IMSL C Numerical Librarieseg
für IMSL Exponent Graphics
iptdoc
.
Zu fast allen Unterprogrammen werden Beispiele angeboten, die auch als Vorlage zur Programmerstellung dienen können.
User Manuals liegen bei mir zur Ansicht auf (EDV-Zentrum, Wiedner Hauptstraße 8-10, 2. Stock, roter Bereich, DC02O14).
"
shared library"
(Default-Annahme) und als "
archive library"
(static library) zur Verfügung.
Zum Unterschied zur NAG FORTRAN Library werden von den meisten Routinen sowohl eine single als auch eine double Precision-Version angeboten. Wird dem Namen der single Precision-Version einer Routine ein D
vorangestellt, so erhält man die double Precision-Version dieser. Es kann daher leicht eine Anpassung an die geforderte Genauigkeit vorgenommen werden.
Zur graphischen Darstellung der numerischen Ergebnisse bietet die IMSL Exponent Graphics (FORTRAN 77) eine Vielfalt an Gestaltungsmöglichkeiten an (siehe /usr/local/ imsl/eg/readme
).
Beispiel für die Verwendung der "
shared libraries"
(Default-Annahme):
$FC -o exec_program $FFLAGS fortran_program.f $LINK_FNL
exec_program
Beispiel für die Verwendung der "
static libraries"
:
$FC -o exec_program $FFLAGS fortran_program.f LINK_FNL_STATIC
exec_program
Dabei bedeuten:
fortran_program
Filename für das Fortran Programm
exec_program
Filename für das ausführbare
Programm
FC
Variable für Fortran Compiler
FFLAGS
Variable für Fortran Compiler
Options (es erfolgt keine Optimierung)
LINK_FNL
Variable für Link
Options Standardannahme: shared Libraries (LINK_FNL_SHARED)
LINK_FNL_SHARED
Variable für Link Options zum Linken mit den shared Fortran Numerical Libraries
LINK_FNL_STATIC
Variable für Link Options zum Linken mit den static Fortran Numerical Libraries
"
shared library"
(Default-Annahme) und als "
archive library"
(static library) zur Verfügung.
Von den meisten Routinen wird sowohl eine type float
als auch eine type double
Version angeboten (Prefix imsl_f_
bzw. imsl_d_
).
Als C-Compiler wird der ANSI C-Compiler empfohlen, daher sind auch die Testbeispiele für diesen Compiler vorbereitet.
Zur graphischen Darstellung der numerischen Ergebnisse bietet die IMSL Exponent Graphics (für C) eine Vielfalt an Gestaltungsmöglichkeiten an (siehe /usr/local/ imsl/eg/readme
).
Beispiel für die Verwendung der "
shared libraries"
(Default-Annahme):
$CC -o exec_program $CFLAGS C_program.c $LINK_CNL
exec_program
Beispiel für die Verwendung der "
static libraries"
:
$CC -o exec_program $CFLAGS C_program.c $LINK_CNL_STATIC
exec_program
Dabei bedeuten:
C_program
Filename für das C Programm, das eine #include imsl.h
Anweisung beinhalten muß.
exec_program
Filename für das ausführbare
Programm
CC
Variable für C Compiler
CFLAGS
Variable für C Compiler
Options (es erfolgt keine Optimierung)
LINK_CNL
Variable für Link
Options Standardannahme: shared Libraries
(LINK_CNL_SHARED)
LINK_CNL_SHARED
Variable für Link Options zum Linken mit den shared C Numerical Libraries
LINK_CNL_STATIC
Variable für Link Options zum
Linken mit den static C Numerical Libraries
Es stehen eine "shared library"-Version (Default-Annahme) und eine "archive library"-Version (static library) zur Verfügung.
Zur graphischen Darstellung der numerischen Ergebnisse, gewonnen aus Anwendungen der IMSL FORTRAN Numerical Libraries oder IMSL C Numerical Libraries, bietet die EG eine Vielfalt an Gestaltungsmöglichkeiten an.
Konzept:
Grundstruktur ist ein Graphikbaum, der als Abbildung der vom Benutzer gemachten Eingaben erzeugt wird. Jeder Knoten dieses Baumes enthält Informationen zu einem speziellen Aspekt des Plots.
Ein bereits vordefinierter Basis-Baum kann dann bei fortgeschrittener Kenntnis von EG verändert werden.
(siehe EG Online Dokumentation: EG Main Menu -- Using Exponent Graphics for C and FORTRAN -- Getting Started -- Initial Use of Exponent Graphics -- The Graphics Tree).
Aufruf eines vom Benutzer zu erstellenden FORTRAN 77 oder C Programmes, das die notwendigen EG-Attribute und EG-Funktionen beinhaltet.
Hilfsfiles, die die Modifikationen von Attributen des Graphikbaumes vornehmen (use
-Direktivenfiles) sowie Änderungen an den Parameterwerten der Anwendungsfunktionen (tag
-Direktivenfiles) beinhalten, ohne das Programm neu übersetzen und linken zu müssen.
Interaktivität wird erreicht durch Änderungen in den zu Plotelementen gehörenden Menüs (HOOPS-Graphiksystem von Ithaca Software) in einer X Window Oberfläche.
Der eigentliche Start erfolgt durch Ausführen eines übersetzten und geladenen FORTRAN 77 oder C Programmes, das die entsprechenden EG-Funktionen aufruft und zu dem use
- und tag
-Files als Direktiven-Files gehören können.
Beispiel für die Verwendung der "
shared library"
(Default-Annahme):
$LC -o exec_program $LFLAGS application_program.l $LINK_EG
$LC -o exec_program $LFLAGS application_program.l $LINK_EG_STATICBeispiel für die Verwendung der
"
static library"
:
Dabei bedeuten:
L,l
Programmiersprache: F bzw. f für FORTRAN 77
C bzw. c für ANSI C
application_program
Filename für das L Programmexec_program
Filename für das ausführbare Programm
LC
Variable für L Compiler
LFLAGS
Variable für LCompiler Optionen (es erfolgt keine Optimierung)
LINK_EG
Variable für Link
Optionen, Standardannahme: shared EG Library (LINK_EG_SHARED)
LINK_EG_SHARED
Variable für Link Optionen zum
Linken mit der shared Exponent Graphics Library
LINK_EG_STATIC
Variable für Link Optionen zum Linken mit der static Exponent Graphics Library
Für einen ersten Versuch bzw., um sich die Graphik zuerst am Bildschirm ansehen zu können, sollte man in seinem application_program
beim Aufruf der Ploterzeugungs-Funktionen al_plot
, al_interact
oder al_multiple_plot
den Integer-Parameter unit=0
setzen, um einen Dialog zur Auswahl eines Geräte-Drivers einzuleiten:
exec_program
Enter
n [plot [file]]
DEVICE n
[optional plot node,
output file]
?
LIST available device numbers, names, descriptions
t
TOGGLE the meaning of
q
to leave graphics OPENq
EXIT this routine, CLOSE
(shutdown) graphics
To continue, click the mouse on the plot
Choice: z.B.: 1 CR es erscheint ein neues Fenster mit der erstellten Graphik
11 CR Ausgabe der Graphik in ein
PostScript-File vnieg.ps
in Landscape-Orientation
12 CR Ausgabe der Graphik in ein PostScript-File vnieg.ps
in Portrait-Orientation
q CR EXIT
iptdoc
) wird neben der Beschreibung der einzelnen EG-Attribute und EG-Funktionen auch mindestens ein Beispiel dazu angeboten.
Zur Veranschaulichung der graphischen Möglichkeiten steht "
Exponent Graphics Demonstration"
zur Verfügung und kann mit
egdemo
aufgerufen werden. Gezeigt werden 2D, 3D und interaktive Anwendungen. Auch von diesen Beispielprogrammen kann der FORTRAN- und C Source-Code eingesehen werden.
Bei Schwierigkeiten mit den IMSL-Produkten wenden Sie sich bitte an mich (Klappe 5492).
Beachten Sie auch die entsprechenden WWW-Seiten URL:/museum/edvz/zserv/sw-dir
.
Das IMSL Productivity Toolkit ist auch als Campussoftware-Produkt erhältlich.