- Description
IMSL is one of the two major commercial scientific libraries in use around the world (the other one being NAg). It contains high quality, fully debugged and efficient code and can make one's life easier when it comes to coding.
IMSL for Fortran and C is a comprehensive library of mathematical and
statistical subroutines for engineering, scientific and general
computational needs. It is supported on Unix workstations listed
above, and the routines are Fortran- or C-callable.
Exponent Graphics (EG) for Fortran and C is a colletion of graphics
subroutines for data plotting in 2 and 3 dimensions. EG routines may
be called from Fortran or from C. Interactive routines are available.
- Update Information
IMSL (3.0) and EG (2.1) are updates to versions 2.0 and 1.2.
They are backwardly compatible and have several new features:
- Most of the Math/Stat library has been ported to C.
- A Setup script (iptsetup.csh/iptsetup.sh) sets all aliases and
variables to make compilation easier.
- A Hypertext process (iptdoc) opens online help for IMSL and EG.
The complete manuals can be viewed, ans sample programs can be
copied and pasted to your own files for testing. For EG, the
Hypertext system has sample programs as well as the resultant plots.
- EG has interactive routines; you can write a Fortran or C program
with these routines and change your plot from your X-window display.
- Many new routines have been added to the library.
- Getting Started
With the $VNI_DIR directory accessible, set up aliases and environment
variables by sourcing the setup file (it will determine your $MACH
attribute and set flags accordingly).
If you use IMSL regualarly, you can put the source statement in your
login script. This script also sets the LM_LICENSE_FILE variable.
Once the setup script has been sourced, you can use the environmental
variables to compile your program. For IMSL relevant variables are
- $FC fortran compiler
- $CC C compiler
- $FFLAGS Fortran compiler flags (more may be added on command line)
- $CFLAGS C compiler flags (more may be added on command line)
- $LINK_FNL_SHARED Fortran shared library path/name
- $LINK_FNL_STATIC Fortran static library path/name
- $LINK_CNL_SHARED C shared library path/name
- $LINK_CNL_STATIC C static library path/name
So to compile the Fortran program myprog.f:
% $FC $FFLAGS $LINK_FNL_SHARED myprog.f
and to compile the C program myprog.c:
% $CC $CFLAGS $LINK_CNL_SHARED myprog.c
and the standard a.out executable will be created.
For EG, the relevant variables are
- $CC if your code is C
- $CFLAGS C compiler options
- $LINK_EG_SHARED EG shared library path/name
- $LINK_EG_STATIC EG static library path/name
IMSL and EG can be mixed in your program; be sure to include alll
relevant options, either with the sourced environmental variables
or by hand. You can view the setup with the 'env' and the 'alias'
commands.
- Documentation
There is an extensive on-line Hypertext help facility for IMSL and for
EG (for C and Fortran).
To use the help facility, enter
% iptdoc (this is an alias set by sourcing 'iptsetup.xx')
and the main menu appears as a background process. Full descriptions
of all routines are online, as well as sample programs, for IMSL
and for EG. Because EG is a graphical library, the help facility
has examples that show both the graphical plot and the source code
in C and in f77. Sample programs are included for both IMSL and EG,
and can be copied and pasted to a test file. The EG pages also
have the reultant plots displayed; click on a sample plot to
view the program that generated it.
CAUTION: There is a bug in the Bristol Hypertext viewer; as you
traverse the links, the previous page may not clear, leading to an
overwrite. The workaround is to resize the window slightly (use the
mouse on a corner of the window and drag it a least 1 pixel) which
forces a redraw and cleans up the screen.
Paper manuals are available for review at the CRC.