S E N A C
A Software Environment for Numeric and Algebraic Computation
Contents
- Short Description
- SENCORE
- An interactive computer algebra host language for SENAC modules
- SENPACK
- An interactive library including Numerical Recipes
- SENGRAPH
- A graphics library with PostScript output
- NUMLINK
- A fully automated symbolic numeric interface to the NAG Library
- GRAFLINK
- A symbolic graphic interface to the NAG Graphics Library
- SENAC Documentation
- Portable Code
- SENAC Address
SENAC stands for Software Environment for Numeric and Algebraic Computation.
SENAC is a modular software system for Scientists, applied mathematicians and
engineers. It integrates numeric, symbolic and graphical features, it
interfaces to existing libraries, and is portable.
SENCORE is a special purpose symbolic manipulation language which provides an
interactive, easy to use software host within which the symbolic form of
mathematical modelling problems can be easily represented and numeric and
graphical routines invoked.
- an easy to learn and use stand-alone natural user interface with
extensive error checking
- interactive input of symbolic and numeric expressions
- symbolic expression output formatting
- full featured floating point number formatting
- probabilistic and deterministic algorithms for integer primality
testing a factoring
- list, matrix and sparse matrix data types
- a wide range of matrix transformation functions
- monomial and recursive polynomial representations
- Zippel's probabilistic GCD and multinomial-factorisation
- canonical rational simplification of SENAC expressions
- user defined functions and programs for symbolic and numeric
transformation
- differentiation of expressions and undefined functions
- symbolic integration by pattern matching or the Risch algorithm
- translation of user defined functions into Fortran for SENAC calculation
or external use
- access to common blocks in Fortran code from SENAC
- callbacks to SENAC from Fortran code for function evaluation
- command timing and interruption
- internal form of SENAC expressions
- compiler for SENAC functions [Jan 1993]
- array data types [Jan 1993]
- a commentary feature to describe the progress of algorithms
- optional interfaces to graphical and numeric subroutine libraries,
online help for the host language and each interface included as a
standard feature
Interfaces and Modules
In addition to the host module SENCORE, there are available with SENAC two
optional modules and two optional interfaces: an interactive numeric library
SENPACK and graphics library
SENGRAPH, and the interfaces
NUMLINK to the NAG
Library of numeric subroutines and
GRAFLINK to the NAG Graphics Library.
Volume 1 of SENPACK consists of an easy to use SENAC adaptation of the widely
used set of programs Numerical Recipes in Fortran by Willam H. Press,
Brian P. Flannery, Saul A. Teukolsky and William T. Vetterling, published by
Cambridge University Press and translated with permission. It consists of about
170 functions covering the areas:
- solution of linear equations
- interpolation and extrapolation
- integration of functions
- evaluation of functions
- special functions
- random numbers
- sorting
- root finding and nonlinear sets of equations,
- minimization and maximization of functions
- eigensystems
- fourier
- transform spectral methods
- statistics
- modelling of data
- integration of ordinary
- differential equations
- two point boundary value problems
- partial differential equations
Also included in Vol 1 of SENPACK is a function for portfolio analysis and
investment prediction. Volume 2 is currently under development [release
Jan 1993]. It consists of a set of SENAC functions for large scale linear
real and integer programming with natural algebraic expression input for
constraints and the objective function. Variables may be indexed.
SENPACK does not require any other software than SENCORE.
The graphics module is smoothly integrated into the SENAC environment.
SENGRAPH provides a bridge between SENCORE and PostScript as well as
lowlevel PostScript functions like lineto and moveto, it provides elements
of computational geometry (such as triangulations, convex hull computations,
contouring of scattered data) and three dimensional graphics (views, clipping
into a bounding box and hidden surface removal).
Curve drawing features include functions for plotting data, curves, polygons,
b-splines, Bezier curves, least squares approximations, polar curves etc.
SENGRAPH requires SENCORE and a PostScript interpreter, but no other software.
It is scheduled for release January 1993.
NUMLINK is a comprehensive interface between the symbolic host language
SENCORE and the NAG Library of numeric subroutines. The advantage of using
a Library routine is its efficiency, robustness and correctness. The
disadvantgage is the time required to solve problems. Finding the routine,
analysing the documentation, writing code including subprograms for function
and derivative evaluation and formatting input and output are all and time
consuming and give rise to errors.
NUMLINK retains the advantages and all but eliminates the coding problem by
using interface routines to automatically perform all steps in the coding
exercise which could possibly be automated.
NUMLINK features
- Complex calls to subroutine library routines can be made in minutes rather
than days without loss in functionality.
- The scope and power of the NAG Library become available to users in a way
that has not until now existed.
- Input and output variables are classified into two types: those relating to
the problem to be solved such as the name of an input function, endpoints of
a function's domain and so on, and those relating to algorithm tuning or
analysis which the user may not need to change frequently. These latter
variables are placed in the environment and need never be looked at unless
the user wishes. There is a significant reduction in the complexity of the
subroutine call which, through NUMLINK, reflects the essence of the problem
in a natural manner.
- Input and output data are always valid SENAC data types and so may be
manipulated interactively - in particular the output from one call becomes
the input for another with no special formatting.
All the features of the NAG Library become accessible to the user through
SENAC:
- Complex arithmetic,
- zeros of polynomials,
- roots of non-linear equations,
- summation of series,
- quadrature,
- fourier transforms,
- special functions,
- matrix inversion,,
- simultaneous linear equations,
- eigenvalue and eigenvectors,
- determinants,
- linear algebra operations,
- orthogonalisation,
- ordinary differential equations,
- stiff ordinary differential equations,
- integral equations,
- partial differential equations,
- interpolation,
- curve and surface fitting,
- polynomial zeros,
- non-linear optimization,
- linear programming,
- basic statistics,
- non-parametric statistics,
- analysis of variance,
- correlation,
- random number generators,
- contingency table analysis,
- univariate estimation,
- multivariate regression,
- time series analysis,
- operations research,
- sorting real data.
GRAFLINK is an interface between SENCORE and the NAG Graphical Supplement.
The same function call argument rationalizations employed with
NUMLINK are
applied to the plotting of functions. The user need only be concerned with
the essence of a problem to obtain graphs. Implementation details and low
level FORTRAN program writing tasks are performed by SENAC internally.
GRAFLINK features
- Calls to plot routines are significantly simplified. The features of the NAG
Graphical Library become available to the user interactively in the SENAC
environment:
- plotting of axes and grids
- point plotting and straight line drawing
- curve drawing
- ode graphics
- general and special function drawing
- function plots with error bars
- fitting of single and
- multiple valued curves
- Chebyshev and B-spline interpolation
- contouring over grids or user defined functions
- isometric and perspective surfaces
- two and three dimensional vector field plotting
- histograms
- data presentation graphics
- statistical graphics
The following plot output devices may be interfaced to
SENAC through GRAFLINK:
- GHOST80
- GINO-F
- CalComp
- GKS
- Lineprinter
- HPGL
- DEC Regis
- Tektronix Plot 10 IGL
- Adobe PostScript
- DEC UIS
- UNIRAS
SENAC documentation comes in printed and on-line forms. All of the on-line
documentation is included in the system, no matter what interface options
are chosen by the user. The documentation for SENPACK and SENGRAPH is not
on-line. The on-line help of each VMS implementation is structured in the
form of a VMS help library and can be accessed from the command interpreter
(DCL) as well as from SENAC. The Unix versions are accessed using the Unix
function "more".
The SENAC printed manual set is as follows:
- SENCORE Manual
- SENPACK Manual
- SENGRAPH Manual
- NUMLINK Manual
- GRAFLINK Manual
The GRAFLINK manual can in general be used independently of the corresponding
NAG documentation. The NUMLINK Manual requires access to the NAG printed or
On-line Information Supplement for variable interpretations where this is not
fully defined in the Manual. There is also a document called the Wslink manual,
for the NAG Workstation subset of the full NAG Library which can be used
independenly of the NAG documentation. There are over 1300 symbolic, numeric
and graphical functions in SENAC. Each function comes with an example program
which is included in the printed documentation.
Versions of SENAC and the interfaces to numeric and graphical libraries are
written in Allegro CL or VAX LISP. SENAC may be ported to any system with a
supported version of Common Lisp. Current implementations are listed below.
Other are under development: VAX/VMS, Sun-3, Sun-4/Sparcstation, DECstation.
SENAC Option combinations:
- Standard module: SENCORE
- Optional additional modules:
- SENPACK - no other requirements
- SENGRAPH - requires PostScript (available January 1993)
- NUMLINK - requires a Fortran compiler and NAG Library
- GRAFLINK - requires a Fortran compiler and NAG Graphics Library
Not all options are available for every implementation
For further information in the UK/Europe:
University of London Computer Centre (ULCC)
20 Guilford Street
London WC1N 1DZ
FAX (071)242-1845
Tel (071)405-8400
e-mail: senac@ulcc.ac.uk
All other regions:
Associate Professor Kevin Broughan
Mathematical Software Project Director
Department of Mathematics and Statistics,
University of Waikato, Private Bag 3105
Hamilton 2001, New Zealand
Telephone: -64(7)856-2889x8330 or -64(7)856-6358
Fax: -64(7)838-4155
e-mail: senac@waikato.ac.nz
SENAC Home Page.
webmaster@can.nl
Last updated: November 15, 1994