The Numerical Analysis FAQ:
Newsgroups: sci.math.num-analysis,sci.math.symbolic,sci.answers,news.answers
Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news.kei.com!news.mathworks.com!zombie.ncsc.mil!linden.fortnet.org!coopnews.coop.net!indra.com!sullivan
From: sullivan@mathcom.com (Steve Sullivan)
Subject: FAQ: Numerical Analysis and Associated Fields Resource Guide (1/1)
Approved: news-answers-request@MIT.EDU
Message-ID:
Sender: sullivan@indra.com (Steve Sullivan)
Organization: Indra's Net - Public Internet Access
Date: Fri, 8 Mar 1996 18:35:22 GMT
Followup-To: sci.math.num-analysis
Lines: 3556
Xref: senator-bedfellow.mit.edu sci.math.num-analysis:26824 sci.math.symbolic:21256 sci.answers:4049 news.answers:66486
Archive-name: num-analysis/faq/part1
Last-modified: 1996/03/08
FAQ: NUMERICAL ANALYSIS & ASSOCIATED FIELDS RESOURCE GUIDE
Copyright 1995-6 S. J. Sullivan
Welcome! My intent here is to provide reviews of software, texts,
and other resources instead of simply a listing. My experience is
that for someone looking for a package or system, reviews by previous
users can be a lifesaver.
If you have any suggestions, comments, or contributions please send
them to me at: sullivan@mathcom.com
Other reviews would be most welcome! If you use a mathematical
package or set of programs and would care to write one to twenty
sentences on it, please let me know. If you have a favorite text
or two you'd like to recommend, please let me know.
Sigh, and now the legalities ...
The information contained in this document is believed to be true,
but no guarantees of accuracy are made, and there is no liability
of any sort for any consequences of its use.
Copyright 1995-6 S. Sullivan: This document may be copied and/or
reproduced providing that:
- the use is for non-commercial purposes only, and
- all copies contain this copyright notice
Steve Sullivan sullivan@mathcom.com
Mathcom, Inc.
8555 Hollyhock St., Lafayette, CO 80026 USA
Voice: 303-494-7115
About This FAQ
This FAQ is usually available from rtfm and its mirrors:
ftp: rtfm.mit.edu /pub/usenet/news.answers/num-analysis/faq/part1
If not, it is at:
ftp: ftp.mathcom.com /customers/mathcom/na-faq
Abbreviations used in this document:
NA Numerical Analysis
### Denotes "to be filled in later". This is work in progress,
and probably always will be.
[] Reviews are associated with the name of the reviewer in brackets.
Those reviews marked [SJS] are by myself, and text marked
[blurb] is taken from a package documentation.
10^12 10 to the power 12. In Fortran, that's 10**12;
in C that's pow(10,12).
x(i) the i'th element of vector x. In C, that would be x[i].
Instead of the normal question/answer form, this FAQ is organized
as an outline ... hopefully, you'll find your questions answered here.
An overview of this FAQ is:
q100. GENERAL NUMERICAL ANALYSIS ISSUES AND RESOURCES,
- q105. What is NA?
- q110. Indices of Software
- q110.1. Indices of Software on the Net
- q110.2. Indices of Commercial Software
- q115. Libraries on the Net
- q115.1. Netlib
- q115.2. Fortran, C, and f2c
- q115.3. Statlib
- q115.4. NCAR's mathematical and statistical libraries
- q115.5. Hensa Unix Parallel Archive
- q120. Packages on the Net
- q120.1. Octave.
- q120.2. RLaB
- q120.3. Scilab
- q120.4. Tela
- q120.5. Matcom: Translate Matlab to C++
- q120.6. Medal
q120.7. Euler
q120.8. Prophet
- q125. Commercial Libraries and Packages
- q125.1. NAG
- q125.2. IMSL and PVWAVE
- q125.3. Matlab and Simulink
- q125.4. WavBox
- q125.5. CraySoft libraries
- q125.6. IDL
- q125.7. Comparison of IDL and Matlab
- q125.8. Mlab
- q125.9. Gauss
- q135. Newsgroups
- q140. Professional Societies and Their Publications
- q140.1. The (AMS) American Mathematical Society
- q140.2. (SIAM) The Society for Industrial and
Applied Mathematics
- q140.3. The ACM
- q140.4. IEEE The Institute of Electrical and
Electronic Engineers
- q145. Electronic Newsletters
- q145.1. NA-Net
- q150. Electronic Journals
- q150.1. Indices of Journals
- q150.2. BIT
- q150.3. ETNA (Electronic Transactions in Numerical Analysis).
- q150.4. EJDE, The Electronic Journal of Differential
Equations
- q150.5. The Electronic Journal of Linear Algebra
- q150.6. New York Journal of Mathematics
- q155. Online Preprints
- q155.1. General
- q155.2. Springer-Verlag
- q155.3. Virtual Library Math Journals Preprints
- q160. Miscellaneous Web Sites for NA
- q160.1. Web Sites
- q160.2. Math FAQ
- q165. Books, With and Without Software
q200. SPECIALIZED SUBFIELDS WITHIN NUMERICAL ANALYSIS,
- q205. Linear Algebra
- q205.1. Dense (Non-Sparse) Systems
- q205.2. Sparse Systems
- q210. Random Number Generators (RNGs)
- q210.1. General
- q210.2. Types of RNGs
- q210.3. Linear Congruential Generators (LCG)
- q210.4. Add-with-carry and Subtract-with-borrow (AWCG, SWBG)
- q210.5. Multiply-with-carry (MWCG)
- q210.6. Inversive conguential (ICG)
- q210.7. Tests for Randomness
- q215. Function evaluation
- q220. Finding Roots
- q225. Optimization, minimization: See operations research, below.
- q230. Curve Fitting, Data Modelling, Interpolation, Extrapolation
- q230.1. Interpolation
- q230.2. Statistical Curve Fitting
- q230.3. Neural networks
- q230.4. Time series analysis
- q230.5. Wavelets
- q230.6. Splines
- q230.7. Nearest Neighbor algorithms
- q240. Transforms (FFT, etc) and digital signal processing (DSP)
- q245. Wavelets
- q250. Integration and Ordinary Differential Equations (ODEs)
- q255. N-Body and Particle Simulation
- q260. Partial Differential Equations (PDEs) and Finite
Element Modeling (FEM)
- q260.1. Web Sites
- q260.2. Software on the net
- q260.2.1. FEMLAB
- q260.2.2. fec
- q260.2.3. FElt
- q260.2.4. femlib
- q260.2.5. Kaskade
- q260.2.6. tri
- q260.2.7. QMG
q260.2.8. Sinda/Fluint
- q260.3. Commercial Packages
q260.4. Comparison of Meshing Software Packages
- q260.5. Newsgroups
- q265. Operations Research: minimization, optimization
- q265.1. Linear Programming (LP)
- q265.2. Non-Linear Programming (NLP)
- q265.3. Network flow problems
- q265.4. Queueing theory, performance analysis.
- q265.5. Newsgroups
- q265.6. Indices
- q285. Graphics and Scientific Visualization
- q285.1. NASA Index
- q285.2. Other Web Sites
- q285.3. Software
- q290. Miscellaneous NA Software
- q290.1. The NRAO Astronomical Image Processing System (AIPS)
q500. ASSOCIATED FIELDS,
- q505. Probability and Statistics
- q510. Chaos Theory (Nonlinear Dynamics)
- q510.1. FAQ
- q510.2. Newsletters
- q510.3. Bibliography
- q520. Symbolic Algebra
- q520.1. Comparative Reviews
q520.2. Free Software
q520.2.1. MuPAD
q520.2.2. Jacal
q520.2.3. GAP
q520.2.4. PARI/GP
q520.2.5. Form
q520.3. Automatic Differentiation Tools
- q520.4. Web sites
- q530. Other Associated Fields
- q530.1. Cryptography (Cryptology)
- q530.2. Fractals
- q530.3. Neural Networks
- q530.4. Discrete algorithms
- q530.5. Constraints
Acknowledgements
Many thanks to all those who've given their time and advice
in creating this FAQ, including:
Bob Berman
Ronald F Boisvert
John Chandler
Luiz Henrique de Figueiredo
Amara Graps
Vijay Gupta
Doug Hart
Albert Hines
Dave Linder
George Marsaglia
Pierre Maxted
Allen Mcintosh
Sean O riordain
Brian Ripley
Ramin Samadani
Robert Schneiders
N. Sukumar
Stephen Vavasis
Dave Watson
Many thanks also to the organizers of the many services
listed herein - Netlib, the NIST guide, NA-Net, CAIN, the NASA
Graphics site, and numerous other indices and informative web pages.
q100. GENERAL NUMERICAL ANALYSIS ISSUES AND RESOURCES,
q105. What is NA?,
NA is the union of theoretical and computational investigation into
the computer solution of mathematical problems. NA generally includes
those problems involving continuous functions of real or complex
variables, as opposed to solely discrete variables and functions.
The mixing of theoretical and computational concerns
gives NA its particular character.
The compuational aspects of NA usually take place within
the scope of floating-point arithmetic, and are implemented on
machines ranging from super-computers through PCs to hand-calculators.
The theoretical aspects extend into fields such as Calculus,
Differential Equations, and Analysis. The field of Linear Algebra
is so often used to model physical systems that the theoretical
study of Linear Algebra is in itself often considered to be
NA at work.
Primary areas of theoretical concern in NA are:
- global/local error bounding
- stability of algorithms
- rates of convergence of algorithms
Primary areas of computational concern in NA are:
- roundoff error
- global/local error and its tolerance
- time and memory requirements of computation
- High Performance Computing (HPC)
- parallel computing
- architechture/platform specific details.
q110. Indices of Software,
q110.1. Indices of Software on the Net,
For packages oriented towards symbolic algebra, see section q520.
NIST Guide to Available Mathematical Software (Formerly called GAMS)
www: http://gams.nist.gov/
telnet: gams.nist.gov
[SJS]:
Maintained by National Institute of Standards and Technology (NIST)
An index and server for a wide variety of mathematical
software, including most of netlib (see section q115.1).
Much of the software is in Fortran. If you speak only C or C++,
see f2c in section q115.2, and Ajay Shaw's site in section q160.1.
[Ronald Boisvert]:
The main focus is on fine-grained software components, e.g.
subroutines, although information about some larger packages are
included. As of November 1995, nearly 10,000 components from more
than 90 packages have been cross-indexed using a detailed
tree-structured problem classification system. Both freely available
software (from netlib or developed at NIST) and commercial packages
(used by NIST) are indexed, although source code is available only for
non-commercial software.
q110.2. Indices of Commercial Software,
A large list of commercial NA products may be found at:
http://www.cray.com/PUBLIC/APPS/DAS/
The Directory of commercial software, by International Computer
Programs, Inc., is at:
http://www.icp.com/softinfo/
Finally, for packages oriented towards symbolic algebra,
see section q520.
q115. Libraries on the Net,
Libraries are collections of source code, and source code packages.
Much of the code is in Fortran. If you speak only C or C++,
see f2c in section q115.2, and Ajay Shaw's site in section q160.1.
q115.1. Netlib,
email: send message "help" to either:
netlib@ornl.gov
netlib@research.att.com
ftp: netlib.att.com /netlib
www:
netlib main: http://www.netlib.org
or: http://netlib.att.com/
netlib FAQ: http://www.netlib.org/netlib/netlib_faq.html
netlib index: http://www.netlib.org/master/expanded_liblist.html
Netlib mirrors:
Norway http://www.netlib.no/
email netlib@nac.no
England http://www.hensa.ac.uk/ftp/mirrors/netlib/master/
email netlib@ukc.ac.uk
Germany http://elib.zib-berlin.de/netlib/master/readme.html
email anonymous@elib.zib-berlin.de
Australia ftp://draci.cs.uow.edu.au/netlib/
email netlib@draci.cs.uow.edu.au
Taiwan email only: netlib@nchc.edu.tw
France ftp://ftp.irisa.fr/pub/netlib/ (unofficial mirror)
NetLib is probably the world's largest repository of numerical
methods programs. It is located at Oak Ridge National Laboratory,
Knoxville, Tennessee, and at AT&T Bell Laboratories, Murray Hill, NJ.
Some gems of netlib:
Machine/architecture dependant Basic Linear Algebra Subroutines
(BLAS) are the keystone of Netlib.
LAPACK, in Fortran 77, is the modern replacement
of EISPACK, LINPACK, etc.
CLAPACK is a C version of LAPACK. See the Caution on
Using Arrays, above.
LAPACK++ is a C++ version of, sadly, only a subset of LAPACK.
LAPACK++ is work in progress, and hopefully the full
functionality of LAPACK will be supported soon.
ScaLAPACK is for distributed memory machines.
### others?
q115.2. Fortran, C, and f2c,
Most of the programs in netlib are in Fortran. However, netlib
contains an excellent Fortran-to-C conversion utility, f2c.
While f2c produces working C code, it is visually complex
and ugly. Using f2c on a large package like LAPACK can require
a good deal of time to get all the options correct.
Fortunately, LAPACK has already be converted to C: see CLAPACK.
The utility f2c can also be invoked by email. Send email
to netlib@research.att.com, with the subject "execute f2c",
and body containing the non-confidential Fortran program to be converted.
But the email option is of use only for very small, simple programs,
since a resulting C program of any size must be linked with the
f2c libraries. Usually one will have to download the f2c package
anyway to generate the libraries. Generally it's easier
to download the f2c package, build the libraries and the
f2c conversion program, and do the conversion locally.
CAUTION: Programs created by f2c conversion use parameter passing
conventions different from most C or C++ programs. Their
callers must create the appropriate parameters before using them.
See the file f2c.ps in the f2c distribution.
A good description of this issue may also be found in
the "readme" file for clapack in netlib.
q115.3. Statlib,
ftp: lib.stat.cmu.edu (128.2.241.142)
www: http://lib.stat.cmu.edu/
Probability, statistics, random variables, distribution functions.
email: send message "send index" to statlib@lib.stat.cmu.edu
q115.4. NCAR's mathematical and statistical libraries,
www: http://http.ucar.edu/SOFTLIB/mathlib.html
Some overlap with netlib.
q115.5. Hensa Unix Parallel Archive,
www: http://www.hensa.ac.uk/parallel/environments/pcn/
Note: this web server can be very slow!
General info, software, articles, etc., on parallel computing.
q120. Packages on the Net,
Packages generally include an NA library and an interpretive
language for a front end.
See also q520.2 for free symbolic algebra packages.
Can anyone review any of the following?
q120.1. Octave.,
ftp: www.che.wisc.edu /pub/octave
www: http://bevo.che.wisc.edu/octave.html
[Dave Lindner]: Octave is considered the closest-to-Matlab
of the Matlab clones.
[blurb]:
Octave is a high-level language, primarily intended for
numerical computations. It provides a convenient command line
interface for solving linear and nonlinear problems
numerically.
Octave can do arithmetic for real and complex scalars and matrices,
solve sets of nonlinear algebraic equations, integrate functions over
finite and infinite intervals, and integrate systems of ordinary
differential and differential-algebraic equations.
The Octave distribution includes a 200+ page Texinfo manual.
Two and three dimensional plotting is fully supported using gnuplot.
The underlying numerical solvers are currently standard
Fortran ones like Lapack, Linpack, Odepack, the Blas,
etc., packaged in a library of C++ classes.
q120.2. RLaB,
http://www.eskimo.com/~ians/rlab.html
ftp://csi.jpl.nasa.gov/pub/matlab/RLaB
ftp://evans.ee.adfa.oz.au/pub/RLaB
[blurb]:
Rlab is an interactive, interpreted scientific programming
environment. Rlab is a very high level language intended to provide
fast prototyping and program development, as well as easy
data-visualization, and processing.
Rlab is not a clone of languages such as those used by tools like
Matlab or Matrix_X/Xmath. However, as Rlab focuses on creating a good
experimental environment (or laboratory) in which to do matrix math,
it can be called "MATLAB-like" since the programming language
possesses similar operators and concepts.
q120.3. Scilab,
www: http://zenon.inria.fr/Logiciels/SCILAB-eng.html
ftp: ftp.inria.fr (192.93.2.54) /INRIA/Projects/Meta2/Scilab
[Dave Lindner]: Scilab is another good Matlab clone.
[blurb]:
Scilab is a high-level language for numerical computations
in a user-friendly environment. It features:
Elaborate data structures (polynomial, rational and string
matrices, lists, multivariable linear systems,...).
Sophisticated interpreter and programming language with
Matlab-like syntax.
Hundreds of built-in math functions (new primitives can easily be
added).
Stunning graphics (2d, 3d, animation).
Open structure (easy interfacing with Fortran and C via online
dynamic link).
Many built-in libraries :
+ Linear Algebra (including sparse matrices, Kronecker form,
ordered Schur,...).
+ Control (Classical, LQG, H-infinity, ...).
+ Signal processing.
+ Simulation (various ode's, dassl,...).
+ Optimization (differentiable and non-differentiable, LQ
solver).
+ Metanet (network analysis and optimization).
Symbolic capabilities through Maple interface.
q120.4. Tela,
ftp: ftp.funet.fi /pub/sci/math/tela
www: http://www.geo.fmi.fi/prog/tela.html
General NA package with graphics, linear algebra, FFT, etc.
Is this another Matlab clone?
[blurb]:
It is mainly targeted for prototyping large-scale
numerical simulations and doing pre- and postprocessing for them, and
it replaces a compiled language like C++ or Fortran in this respect.
The feature set is therefore biased to operations needed in partial
differential equation solvers.
q120.5. Matcom: Translate Matlab to C++,
http://techunix.technion.ac.il/~yak/matcom.html
ftp://ftp.eeng.dcu.ie/pub/matlab/MATCOM
ftp://ftp.funet.fi/pub/sci/math/matlab
[blurb]:
MATCOM is a Matlab(R) to C++ translator and a matrix class library.
The translator creates C++ code from Matlab code which is compiled by
the project manger into an executable.
The C++ library supports high level, Matlab-like syntax, so functions can
be conveniently hand-coded.
Matlab algorithms may be included in C++ projects using auto translation.
q120.6. Medal,
ftp: excel2.uwaterloo.ca (129.97.86.13) /pub
Apparently there is also available is a commercial version of Medal:
Email : medal@excel2.uwaterloo.ca
[blurb]:
MEDAL is a novel expert system development environment which is integrated
within a control system design environment, and which supports a tight
coupling of symbolic and numeric processing. MEDAL supports the development
of coupled systems in engineering and science.
MEDAL (Matrix and Expert system Development Aid Language) is an interactive
program. The language syntax of MEDAL is similar to the popular MATLAB
(Matrix Laboratory) language. MEDAL retains all of the main features of
MATLAB, including the MATLAB syntax and M-files.
In addition, MEDAL includes an integrated expert system shell for the
development of knowledge-based systems which can perform
sophisticated numeric calculations. Hence, the additional
expert system predicates extends the MATLAB command language syntax.
Also, MEDAL supports a rich set of data structure for representing
objects in the programming environment. Knowledge can be
represented using facts, rules and frames.
Main features of MEDAL :
------------------------
* interactive computing environment ( command-drive )
* language syntax and user-interface similar to MATLAB
* all basic MATLAB-type of matrix functions are provided
* flexible 2-D graphics
* design of linear control systems
* packed matrix representation, as well as regular matrices
* automatic loading of M-files ( open philosophy )
* build-in knowledge base development facilities ( expert system shell )
* knowledge repesentation : rules, facts, objects ( frames )
* simple knowledge base of the Systematic Design Approach is included
* runs on Sun Sparc workstations (X-window), PC (DOS), DEC (Ultrix)
* available via anonymous ftp : 129.97.83.13 (excel2.uwaterloo.ca)
References:
(1) Pang, G.K.H.,``Knowledge-based Control System Design'', in
Recent Advances in Computer-Aided Control Systems Engineering,
Jamshidi, M and Herget, C.J. (ed.), Elsevier Science Publishers, 1992.
(2) Pang, G.K.H., ``A Knowledge Environment for an Interactive Control
System Design Package'', Automatica, Vol. 28. No. 3, pp. 473-491, May 1992.
q120.7. Euler,
ftp.k.-eichstaett.de /pub/math and /pub/unix/math
http://www.ku-eichstaett.de/MGF/euler.html
[blurb]:
Free MatLab like program, with real and complex
scalars and vectors, 2D/3D grafics, programming language.
The idea of EULER is a system with the following features
* Interactive evaluation of numerical expressions with real or
complex values, vectors and matrices, including use of variables.
* Builtin functions that can take vectors as input and are then
evaluated for each element of the vector or matrix.
* Matrix functions.
* Interval arithmetic for result verification.
* Exact scalar product.
* Optimization, statistical functions and random numbers.
* 2D- and 3D-plots.
* A builtin programming language with parameters and local
variables.
* An online help.
* A tracing feature for the programming language.
* Possibility to read and write raw numerical data or even binary
data from and to files.
These features make EULER an ideal tool for the tasks such as
* Inspecting and discussing functions of one real or complex
variable.
* Viewing surfaces in parameter representation.
* Linear algebra and eigenvalue computation.
* Testing numerical algorithms.
* Solving differential equations numerically.
* Computing polynomials.
q120.8. Prophet,
ftp: www-prophet.bbn.com
www: http://www-prophet.bbn.com/
email: prophet-info@bbn.com
[blurb]:
Prophet is an NIH-sponsored Unix workstation software package for life
science computing. Prophet includes tools for data management,
statistical analysis, curve fitting, data graphing, mathematical
modeling, and genetic sequence analysis.
One of PROPHET's greatest assets is its new graphical
user interface . Employing the latest advances in software
technology, PROPHET lets you store,
analyze and present Data Tables, Graphs, Statistical Analyses and
Mathematical Modeling, and Sequence Analyses with high-resolution
graphics and multiple windows. Anyone, from the computer-naive to the
computer-sophisticate, can learn to use it quickly and effectively.
PROPHET is a National Computing Resource for Life Science Research
sponsored by the National Center for Research Resources of the
National Institutes of Health.
Unfortunately, prophet is distributed in binary form only, and
only for the following systems:
SunOS 4.1.3
DEC/Ultrix 4.3
Solaris 2.4
DEC OSF/1 V2.0
IRIX 5.2
It is large: it takes something like 65 MB disk space.
q125. Commercial Libraries and Packages,
Commercial libraries and packages tend to merge, so I've combined
them in one category. Typically a commercial product contains:
- a library of numerical routines
- graphics routines
- an interactive interpreted language
Many symbolic algebra packages also contain NA packages.
For info on these packages, see section q520.
An good recent article on commercial software is:
Braham, Robert. "Math & Visualization: new tools, new frontiers",
IEEE Spectrum 32, 11 (November 1995), p. 19-36.
The article contains tables comparing large number of commercial products.
There is no mention of the many excellent free products though.
q125.1. NAG,
UK: http://www.nag.co.uk:70/
US: http://www.nag.com/
[SJS]: Numerical, symbolic, statistical, and visualization libraries in
Fortran 77, Fortran 90, C, Pascal, Ada, and parallel machine versions.
High performance Fortran 90 and Fortran 77 compilers.
NAG Ltd (The Numerical Algorithms Group)
Wilkinson House
Jordan Hill Road
OXFORD
OX2 8DR
UK
Tel: +44 1865 511245
NAG Inc
1400 Opus Place
Suite 200
Downers Grove
IL 60515-5702
USA
Tel: +1 708 971 2337
q125.2. IMSL and PVWAVE,
http://www.vni.com/indexall.html
[SJS]: IMSL is a set of routines in C, C++, and Fortran
libraries for general NA, statistics and graphics.
PVWAVE is a visual programming environment built on top of IMSL.
Visual Numerics, Inc.
IMSL and Stanford Graphics Products
9990 Richmond Avenue, suite 400
Houston, Texas 77042-4548
USA
Tel: 800-222-4675
Tel: 713-784-3131
FAX: 713-781-9260
e-mail: marketing@houston.vni.com
Visual Numerics, Inc
PV-WAVE Products Division
6230 Lookout Road
Boulder, Colorado 80301
USA
Tel: 800-447-7147
Tel: 303-530-9000
FAX: 303-530-9329
info@boulder.vni.com
[blurb]:
Comprehensive Mathematical Functionality
* integration and differentiation
* transforms
* differential equations
* linear systems
* interpolation and approximation
* eigensystem analysis
* optimization
* special functions
* basic matrix/vector operations
* nonlinear equations
* utilities
Extensive Statistical Functionality
* basic statistics
* tests of goodness-of-fit
* time series analysis and forecasting
* analysis of variance
* regression
* nonparametric statistics
* correlation
* random number generation
* cluster analysis
* categorical and discrete data analysis
* probability distribution functions and inverses
* factor analysis
* utilities
Exponent Graphics includes:
* Presentation quality graphs for application development
* Application program interface provides easy access to either
FORTRAN or C
* Two function calls can automatically produce one of over 30
different plot types.
* Maximum flexibility - nearly 300 attributes for modifying plot
characteristics
* Powerful interactive editing and customization tools
* CGM, PostScript, HPGL and other device drivers included at no
charge
* Support for popular graphics accelerators and output systems
* Full Windows-based online documentation with hypertext links and
copy-and-paste example programs
PV-WAVE is a software environment for solving problems requiring the
application of graphics, mathematics, numerics and statistics to data
and equations.
PV-WAVE uses an intuitive fourth generation language (4GL) that
analyzes and displays data as you enter commands. With it you can
perform complex analysis, visualization, and application development
quickly and interactively.
Robust integrated graphics, numerics, data I/O, and data management
has made PV-WAVE the number one selling Visual Data Analysis software
family.
PV-WAVE and the IMSL numerical and statistical routines, which are
seamlessly integrated in PV-WAVE Advantage, are being used by more
than 300,000 technical professionals on workstations worldwide.
q125.3. Matlab and Simulink,
www: http://www.mathworks.com/
The MathWorks, Inc.
24 Prime Park Way
Natick, MA 01760-1500
(508) 653-1415
For a comparison of Matlab and IDL, section q125.7.
[SJS]: Matlab is an interactive general NA package, including graphics.
A huge variety of "toolboxes" are available, both from the
vendor and on the net, for various specialized NA areas:
control systems, neural nets, optimization, symbolic math,
and on and on.
Simulink is modeling, simulation, and system analysis tool.
[blurb]:
MATLAB is a technical computing environment for high-performance
numeric computation and visualization. MATLAB integrates numerical
analysis, matrix computation, signal processing, and graphics in an
easy-to-use environment where problems and solutions are expressed
just as they are written mathematically - without traditional
programming.
MATLAB has evolved over a period of years with input from many users.
In university environments, it has become the standard instructional
tool for introductory courses in applied linear algebra, as well as
advanced courses in other areas. In industrial settings, MATLAB is
used for research and to solve practical engineering and mathematical
problems. Typical uses include general purpose numeric computation,
algorithm prototyping, and special purpose problem solving with matrix
formulations that arise in disciplines such as automatic control
theory, statistics, and digital signal processing (time-series
analysis).
MATLAB also features a family of application-specific solutions that
we call toolboxes. Very important to most users of MATLAB, toolboxes
are comprehensive collections of MATLAB functions (M-files) that
extend the MATLAB environment in order to solve particular classes of
problems. Areas in which toolboxes are available include signal
processing, control systems design, dynamic systems simulation,
systems identification, neural networks, and others.
SIMULINK is a tool for modeling, analyzing, and simulating an
extraordinarily wide variety of physical and mathematical systems,
including those with nonlinear elements and those which make use of
continuous and discrete time.
As an extension of MATLAB, SIMULINK adds many features specific to
dynamic systems while retaining all of MATLAB's general purpose
functionality.
Using SIMULINK, you model a system graphically, sidestepping much of
the nuisance associated with conventional programming.
q125.4. WavBox,
email: info@wavbox.com
www: http://www.wavbox.com/
A wavelet Toolbox for Matlab.
[blurb]:
A software toolbox for wavelet transforms and adaptive
wavelet packet decompositions with new satisficing search algorithms.
Requires Matlab.
q125.5. CraySoft libraries,
email: crayinfo@cray.com
www: http://www.cray.com/PUBLIC/product-info/craysoft/CS_home_txt.html
or: http://www.cray.com/
or: http://www.cray.com/craysoft/
Corporate Headquarters:
Cray Research, Inc.
655 Lone Oak Drive
Eagan, Minnesota 55121
(800) 289-2729 or (612) 683-3030,
[blurb]
Fortran 90 compilers and NA library for Cray, Sparc,
Macintosh, and Windows environments.
* Seismic migration
* Structural analysis
* Financial modeling
* Decision support analysis
* General scientific
* Computational chemistry
* Computational physics
* Intelligence, signal and image processing
* Electronic simulation
q125.6. IDL,
Research Systems Inc.
Research Systems, Inc.
2995 Wilderness Place
Boulder, CO 80301 USA
Phone: 303-786-9900
email: info@rsinc.com
http://sslab.colorado.edu:2222/projects/IDL/idl_ssl_home.html
For a comparison of IDL and Matlab, section q125.7.
IDL binaries are available at:
ftp: ftp.rsinc.com (192.5.156.17) pub/idl
ftp: boulder.colorado.edu (128.138.240.1) pub/idl
ftp: ftp.Germany.EU.net (192.76.144.75) shop/CreaSo/IDL
Following are two sets of comments on IDL:
1. By Pierre Maxted
2. By Amara Graps
1. Comments by Pierre Maxted
I find that IDL is good for "playing" with data. This works well for
astronomers who seem to end up always wanting to do something a little
different to last time to data that always has slightly different quirks
everytime. I also find that it is a rather easy language in which to
write my own routines. This is probably because I can start with
interactive IDL to get the feel for what the data is like and what I want
to do with it - this then becomes a simple batch file which can be turned
into a routine if the procedure is useful - this seems to be a natural
way to develop things. These libraries of routines are what makes IDL
really powerful in my opinion. I found that adding the astronomy user's
library to IDL was like adding wheels to a car. I would recommend to
anyone considering using IDL to find out what libraries are out
there (e.g. starting at the IDL WWW homme page).
Whatever you add to the FAQ, make one point clear - calling IDL a fancy
plotting package is like calling a Formula 1 racing car good for picking
up the kids from school - IDL can do plotting, but that is not its
strength.
Well, I agree that the hard copy manuals are rather opaque but Version 4
of IDL has online help (Hyperhelp) that is rather good - especially since
it had text searching capabilites so that you can go straight to the bit
you need (usually).
2. Comments by Amara Graps
Following is an excerpt of comments by [Amara Graps]:
For the full text of her review, please see:
http://www.amara.com/papers/miscpap.html
ftp://ftp.amara.com/papers/IDL_Matlab.txt
If you install IDL without a valid license, you will get IDL's
7 minute demo mode. This mode is designed for users who are
considering buying the package.
IDL is a vector-based language that makes it easy to manipulate arrays
and matrices. I've done testing comparing IDL speed to
Fortran in various actions, and IDL was as fast as a Fortran program for
the IDL array computations where loops were removed (i.e., when
using implicit loops in IDL instead of explicit FOR statments).
The scientific functions and procedures that come with IDL are often all
that scientists need. In addition, there are net archives
containing contributed routines. The archives at
John Hopkins and at Goddard are especially good (see below).
The language, for the most part is "open", i.e. you can see the
text of any particular procedure or function, in case you doubt the
technique, or want to modify it. Some functions and procedures are
black-box, intrinsic functions or procedures, but not nearly as many as
Matlab (see below) are.
Most work in IDL is done at the command line level. However, IDL supplies
rudimentary "widgets" to wrap a GUI around your procedures and
functions. You can create buttons, menus, scrollboxes etc.
Three-d plotting is currently not very well documented, and the way that
IDL does it is very convoluted. Other users and I have complained about
it, and I think RSI are taking steps to better document how to do it.
Image procesing and animation is pretty slick.
If you need to do "slicing and dicing" of a volume, in a way like
Spyglass Dicer, IDL has a really great widget routine to do it.
The IDL plots are high quality enough to use in initial journal
submissions.
RSI's support (writing to support@rsinc.com) is pretty good, I
usually get responses within 24-34 hours. You have to pay yearly technical
support costs, though- about $200 year (don't remember exactly how much).
The Usenet group: comp.lang.idl-pvwave has some smart programmers giving
answers if you don't want to pay for the IDL technical support. RSI
usually doesn't answer questions on that newsgroup (they have a company
policy against promoting IDL there because it's shared by two products:
IDL and PVWave).
I've never liked the IDL documention very much. The information that you
need probably *is* in the manuals, but it's somewhat hard to find (the
manuals are organized in a wierd way). [Note, however, the comments
by Pierre Maxted above].
The anonymous ftp sites below contain public domain IDL code.
JHU/APL/S1R IDL library
fermi.jhuapl.edu [128.244.147.18] /pub/idl
NASA IDL Astronomy User's Library
(vax) uit.gsfc.nasa.gov [128.183.57.27]
(unix) idlastro.gsfc.nasa.gov [128.183.57.82] /
Username: idluser
Password: (Contact landsman@stars.gsfc.nasa.gov for password)
IUE RDAF library
iuesn1.gsfc.nasa.gov [128.183.57.16]
cetus.colorado.edu [128.138.238.151] /pub
ICUR Spectral Analysis Software
ftp.astro.psu.edu [128.118.147.28] /pub/nefftp/icur
IDL ROSAT software
legacy.gsfc.nasa.gov [128.183.8.233] rosat/software/idl
IDLmeteo library
ftp.sma.ch (141.249.3.33) /pub/idlmeteo
ESRG library
eos.crseo.ucsb.edu [128.111.228.1] /pub/idl
Wayne Landsman's IDL Astronomy Library World Wide Web home page:
http://idlastro.gsfc.nasa.gov/homepage.html
The JHU/APL/S1R IDL library WWW page:
ftp://fermi.jhuapl.edu/www/s1r/idl/idl.html
Hal Mueller has a Digital U.S. Map browser based on images
created by Ray Sterner at Johns Hopkins University using IDL:
http://www.zilker.net/~hal/apl-us//
E. Loren Buhle, Jr. Ph.D. made a page on AVS IN MEDICAL TREATMENT
PLANNING which also discusses IDL:
http://archive.xrt.upenn.edu/0h/buhle/manuscripts/avs94_paper.html
q125.7. Comparison of IDL and Matlab,
Following is an excerpt of a paper by [Amara Graps]:
For the full text of her review, please see:
http://www.amara.com/papers/miscpap.html
ftp://ftp.amara.com/papers/IDL_Matlab.txt
IDL is a package that began life as an image-processing utility that has
grown to be a general-purpose numerical analysis tool. Matlab started as
a numerical analysis package that now includes [at extra cost] image
processing tools. Now the two have a similar scientific data-analysis
environment, with capabililties to build GUI programs and do very robust
data analysis.
(Note: all prices are approximate October 1995 prices - SJS)
They each cost about the same: ~$1500 for Mac and PC versions and more for
Unix (~4000 -- single user to $15,000 -- unlimited number of users).
Matlab is popular among education institutions because it has exceptional
educational discounts. If you are an academic, Matlab can be had for
$495 and each toolbox only $195. My NASA colleagues thought that
MathWorks "nickled- and-dimed" them with the costs of the Toolkits (like
the signal processing toolkit), but given what you get, it probably
isn't that unreasonable.
IDL seems to be more widespread in the NASA communities probably because
the original developer used several spacecraft teams (Pioneer Venus and
Voyager) as test beds for the IDL software.
IDL is more of a true programming language. Matlab has scripts and
functions and no way to explicitly type a variable. IDL has programs,
procedures, and functions and a language syntax sort of like a cross
between Fortran, Pascal, and APL. If you have programmed in Fortran
before, then the syntax will be a snap to learn. Matlab's syntax is much
more compact than IDL's. For example: x = transpose(y) in IDL is x=y' in
Matlab.
Matlab has many more built-in, intrinsic functions than IDL.
MatLab has many optional Toolkits, such as a Signal Processing
Toolkit and an Image Processing Toolkit, which are libraries
of more intrinsic functions.
Reading and writing files, and handling formats such as GIF,
PICT, GDF, and custom formats, seems much easier in IDL than MATLAB.
Handling directories is difficult in MATLAB when run on non-unix
machines.
Matlab has more types of graph types than IDL, and handling
colors is simpler than IDL. However, I found most
other Matlab graphical programming non-intuitive. It uses a system where
each element in a graph is an "object." These objects can have
sub-objects. So to change an element in a graph, say the axis color, you
have to first find the object (a "get" function), and then set it to the
color you want. IDL has system variables storing all graphics elements
which can be easily changed. One can also customize a graph upon making
the graph, with a keyword.
IDL's technical support is pretty good, but Matlab's is better. Post a
question on comp.soft-sys.matlab and either a developer, the company
president, or a tech support person will respond that day. You can call
them, too, but it's not a toll-free call.
q125.8. Mlab,
www: http://www.civilized.com/MLAB.htmld/
Civilized Software, Inc.
7735 Old Georgetown Rd. #410
Bethesda, MD 20815
U.S.A.
1-301-656-4714
1-301-656-1069 fax
Email: csi@civilized.com
[blurb]:
MLAB, (for Modeling LABoratory), is a program for interactive
mathematical and statistical modeling. MLAB was originally developed
at the National Institutes of Health. It includes curve-fitting,
differential equations, statistics and graphics as some of its major
capabilities.
q125.9. Gauss,
email: info@aptech.com
A 3rd party with info on Gauss has a www page at:
http://www.netaxis.qc.ca/~j.breslaw
Aptech Systems, Inc., Tel: (206) 432-7855, Fax: (206) 432-7832
23804 South East Kent-Kangley Road
Maple Valley, WA 98038 USA
(206) 432-7855
[blurb]:
The GAUSS Mathematical and Statistical System is available for IBM PCs and
compatibles as well as UNIX workstations
As a complete programming language, the GAUSS system is both
flexible and powerful. Immediately available to the GAUSS user is a wide
variety of statistical, mathematical and matrix handling routines. Powerful
data handling capabilities including a data loop allow transformations in a
data set by directly using variable names inexpressions. This greatly
simplifies data transformations and makes for shorter more readable programs.
GAUSS can be used in either command mode(interactively) or in edit mode. In
command mode; one-line commands, or small screen-resident programs, can be
issued and the results of calculations seen immediately. In edit mode you
can write complex programs and store them in files.
GAUSS has over 400 functions built in, including LINPACK and EISPACK
routines.
Others? ###
q135. Newsgroups,
Newsgroups related to numerical analysis are:
sci.math.num-analysis The primary group for NA issues.
sci.math.symbolic Covers symbolic algebra: Mathematica, Maple,
Macsyma, Derive, Reduce, Mcad, etc.
comp.soft-sys.math.mathematica Devoted to Mathematica.
sci.op-research Covers operations research, linear programming,
non-linear programming.
sci.stat.math Covers probability and statistics.
sci.math Covers a broad range of mathematical subjects, at
levels from trivial to advanced.
sci.math.research Covers advanced mathematics, and
is generally theoretical as opposed to applied.
q140. Professional Societies and Their Publications,
q140.1. The (AMS) American Mathematical Society,
http://www.ams.org/
email: ams@math.ams.org
General organization information, preprint titles, pointers to
other preprint servers and net resources. Also includes:
MathDoc, the document delivery service offered by the AMS, provides
copies of original journal, collection and conference proceedings
articles from publications covered by Mathematical Reviews, Current
Mathematical Publications, and the MathSci database. This costs
roughly US$14. per ten pages, as of October 1995.
MathSciNet is a searchable database available on the World Wide Web.
It is based on the data in Mathematical Reviews and Current
Mathematical Publications, leading publications that catalog and
review research literature in mathematics. This costs roughly
US$5500. per year, as of October 1995.
q140.2. (SIAM) The Society for Industrial and Applied Mathematics,
email: siam@siam.org
http://www.siam.org/
General organizational information, tables of contents
of SIAM journals, and recently accepted articles.
Society for Industrial and Applied Mathematics
3600 University City Science Center
Philadelphia, PA 19104-2688
(215) 382-9800
Journals include:
SIAM Scientific Computing
SIAM Matrix Analysis
SIAM Control and Optimization
q140.3. ACM, Inc. (Association for Computing Machinery),
http://acm.org/
email: ACMHELP@acm.org
General organizational information, info on journals and conferences.
Of particular interest are:
Transactions on Mathematical Software (TOMS)
http://www.acm.org/pubs/toms/
Collected Algorithms of the ACM (CALGO)
Software can be found in netlib (toms directory). See section q115.1.
SIGNUM (Special Interest Group in Numerical Mathematics)
http://www.acm.org/sig_hp/SIGNUM.html
ACM Headquarters
One Astor Plaza
1515 Broadway
New York, New York 10036
212-869-7440
q140.4. IEEE The Institute of Electrical and Electronic Engineers,
http://www.ieee.org
email: member.services@ieee.org
General organizational information, journals, books, conferences.
Tel: (800) 678-IEEE
Tel: (212) 705-7900
q145. Electronic Newsletters,
q145.1. NA-Net,
email: nanet@na-net.stanford.edu
www: http://www.netlib.org/na-net/na_home.html
See also the list of topics for all na-digest issues:
http://www.netlib.org/na-digest/topics
[blurb]:
The NA-Net is a system developed to serve the community of numerical
analysts and other researchers. The Na-Net provides two independent
databases and a weekly digest to its members. The Email Database is
the electronic mail address of each of its members, and is capable
of forwarding mail to them. In addition, this database serves as the
distribution list for the NA Digest (see below). The White Pages
Database is basically a directory service. It provides a way to
exchange personal information among its members. Contained in the
database are phone numbers, postal mailing addresses, research
interests, affiliations, etc. The NA Digest is a way to provide its
members with a weekly collection of articles on topics related
to numerical analysis and those who practice it. To get on the
mailing list for the digest and enter yourself in their database,
you can use email or the World Wide Web. Take advantage of this very
useful service!
q150. Electronic Journals,
q150.1. Indices of Journals,
See the large list of online journals, and other resources,
at Penn State's Mathematics web site.
http://www.math.psu.edu/OtherMath.html
q150.2. BIT,
www: http://math.liu.se/BIT/
BIT emphasizes numerical methods in approximation, linear algebra, and
ordinary and partial differential equations, but also publishes papers
in areas such as numerical functional analysis and numerical
optimization.
q150.3. ETNA (Electronic Transactions in Numerical Analysis).,
www: http://etna.mcs.kent.edu/
An online peer reviewed journal. Keyword searching.
Most documents are postscript and may be downloaded.
Started in 1993. Indexes only itself.
q150.4. EJDE, The Electronic Journal of Differential Equations,
www: http://ejde.math.swt.edu/
A purely on-line peer-reviewed journal.
q150.5. The Electronic Journal of Linear Algebra,
www: http://gauss.technion.ac.il/iic/ela/
q150.6. New York Journal of Mathematics,
www: http://nyjm.albany.edu:8000/nyjm.html
Appears more abstract than applied. Started in 1994. Indexes only itself.
q155. Online Preprints,
q155.1. General,
See the listings for professional societies above, especially
the AMS.
q155.2. Springer-Verlag,
Preprints: See the Springer-Verlag preprint service via email.
Not free.
URL: http://www.springer.de/server/services.html
q155.3. Virtual Library Math Journals Preprints,
www: http://euclid.math.fsu.edu/Science/Preprints.html
Links to numerous organizations offering preprints.
q160. Miscellaneous Web Sites for NA,
q160.1. Web Sites,
Caltech guide to mathematics resources
http://www.ama.caltech.edu/resources.html
Good collection of pointers to quality sites.
Penn State's Math Guide
http://www.math.psu.edu/OtherMath.html
Huge site with information on many fields within mathematics.
U. C. Berkeley
gopher://math.berkeley.edu
ftp: math.berkeley.edu /pub
Berkeley has a large gopher & ftp site, including courseware, pointers
to inet libraries, lecture notes, seminars, and software.
They also have a small web site at http://math.berkeley.edu/.
The World-Wide Web Virtual Library: Mathematics
http://euclid.math.fsu.edu/Science/math.html
Specialized fields (topology, cryptography, optimization, etc),
academic departments, miscellaneous math societies and institutes,
pointers to commercial software, newsgroups, nice collection
of preprints pointers, electronic journals
U. Tennessee Knoxville Mathematics Archives WWW Server
http://archives.math.utk.edu/
Math Soft's Favorite Mathematical Constants
http://www.mathsoft.com/asolve/constant/constant.html
Constants and algorithms for their generation.
Tomasz Plewa's list of www sites for numerical methods
http://www.mpa-garching.mpg.de/~tomek/htmls/num_meth.html
Amara Graps' list of science links
http://www.amara.com/science/science.html
Ajay Shah's index of resources for NA in C or C++
ftp: usc.edu/pub /C-numanal/numcomp-free-c.gz
or: ftp.math.psu.edu /pub/FAQ/numcomp-free-c
http://www.math.psu.edu/FAQ/numcomp-free-c.txt
A Catalog of Mathematics Resources on WWW and the Internet
www: http://mthwww.uwc.edu/wwwmahes/files/math01.html
By M. Maheswaran, University of Wisconsin Marathon Center.
Another large site, with a sizeable section on Applied Mathematics.
Altug Koker's list of simulation software
http://piranha.eng.buffalo.edu/simulation/comp.simulation/FAQ.html
(See his Q15.). Contains pointers to software for:
aerospace, automotive, chemistry / biotechnology, graphics and imaging,
electronics / electrical engineering, petroleum
The Yahoo server's index of Mathematics topics.
http://www.yahoo.com/Science/Mathematics
Includes commercial products, conferences, journals, and various
subfields of mathematics, primarily in applied mathematics.
q160.2. Math FAQ,
The sci.math FAQ by Alex Lopez-Ortiz is a good reference for
many mathematical questions. It is more oriented towards
pure mathematics than NA.
www: http://daisy.uwaterloo.ca/~alopez-o/math-faq/math-faq.html
ftp: rtfm.mit.edu /pub/usenet-by-group/news.answers/sci-math-faq/
q165. Books, With and Without Software,
Acton, Forman S. 1990
Numerical methods that [usually] work
Harper & Row, Publishers
ISBN 0883854503.
Golub, Gene H.; Van Loan, Charles F. 1989
Matrix Computations, Second edition
Johns Hopkins, Baltimore
ISBN 0-8018-3739-1
Telephone: 410-516-6900
A classic for handling matrices. Many current programs
are based on this text. Good mix of theory and implementation. [SJS]
Dahlquist, Germund; Bjorck, Ake 1974
Numerical Methods
translated by Ned Anderson, Prentice-Hall, 1974.
A nice mix of theory and practice.
Used as a text at Stanford, among other places.[John Chandler]
Forsythe, George; Moler, Cleve B. 1967
"Computer Solution of Linear Algebraic Systems"
Prentice-Hall
I consider this possibly the best textbook I have ever seen
in any field. Covers only linear systems, of course.[John Chandler]
Kahaner, David; Moler, Cleve; Nash, Stephen. 1989
Numerical Methods and Software
Prentice Hall, Englewood Cliffs, NJ
ISBN 0-13-627258-4
Telephone: 800-947-7700
An excellent book which touches on a variety of topics and makes
use of the publicly available software like the QUADPACK and SLATEC
libraries to illustrate the points. [Vijay Gupta]
Knuth, Donald E. 1981
Seminumerical algorithms, 2nd edition.
Addison-Wesley.
Once was the reference; now a bit dated.
Lau, H. T. 1995
A Numerical Library in C for Scientists and Engineers
CRC Press, Boca Raton, FL
ISBN 0-8493-7376-X
Telephone: 407-994-0555
This book is basically a compilation of program listings,
with a diskette containing source code. The listings
are accompanied by brief overviews of the algorithms
involved, and generally include references. There is
no discussion of theory. While the text by Stoer & Bulirsch is at
the theoretical end of the NA spectrum, this text is at the
application end. Although the program calling parameters
are well described, as far as I could see the programs
contain no internal documentation whatsoever.
Although this book is copyright 1995,
the references contain one source dated 1992 (Press et al's volume),
one source dated 1981 (NUMAL in Fortran), and one source dated
1980 (NUMAL in Algol). The remainder of the references
are dated 1976 and earlier. It's not clear to me that this book
offers anything over Press et al's text. Lau has far less discussion of
theory and methodology, and while Press's internal documentation
of programs is poor, Lau's is nonexistant. [SJS]
Press, William H.; Teukolsky, Saul A.; Vetterling, William A.;
Flannery, Brian P. 1992
Numerical Recipes in C, Second edition
Cambridge University Press, Cambridge and New York
ISBN 0-521-43108-5 Text
ISBN 0-521-43720-2 Example book
ISBN 0-521-43714-8 PC diskette, 5.25 inch
ISBN 0-521-43724-5 PC diskette, 3.5 inch
ISBN 0-521-43715-6 Mac diskette, 3.5 inch
Telephone: 212-924-3900, 800-872-7423
The book may be available online, without the diskette contents, at:
http://nr.harvard.edu/numerical-recipes
Seperately purchasable diskette contains C source code.
A compendium of a wide variety of NA areas. Contains some
good introductions to theory and overviews of algorithms.
The bridge from algorithm overview to implementation
is often missing. The programs should be viewed with
some skepticism. They are often poorly documented, and some users
have reported numerical problems with the various programs. [SJS]
Additional information may be at:
http://nr.harvard.edu/numerical-recipes
ftp: ftp.std.com /vendors/Numerical-Recipes
email: nr@nr.com
Sedgewick, Robert. 1988
Algorithms, Second edition
Addison-Wesley, Reading, Mass
ISBN 0-201-06673-4
Telephone: 617-944-3700, 800-822-6339
Stoer, Josef; Bulirsch, Roland 1980
Introduction to Numerical Analysis
Springer-Verlag, New York, 1980
ISBN 0-387-90420-4
Telephone: 212-460-1500, 800-777-4643
The classic NA text. A standard for graduate
and upper undergraduate courses in NA.
Difficult going, but covers a wide set of fields in depth.
Strong theoretical orientation. [SJS]
Strang, Gilbert 1988
Linear Algebra and It's Applications, Third Edition
Harcourt Brace, San Diego
ISBN 0-15-551005-3
A well-written introduction to theory.
Watkins, David S. 1991
Fundamentals of Matrix Computations
John Wiley, New York, 1991.
ISBN 0-471-61414-9
Telephone: 212-850-6000, 800-225-5945
More readable than Stoer & Bulirsch or Golub & Van Loan, and contains
some implementation techniques not present in Golub & Van Loan.
Has good descriptions of theory and implementations,
and many implementations are covered as straightforward exercises.
Not as wide a variety of fields as either Golub & Van Loan or
Stoer & Bulirsch. [SJS]
### many others!
q200. SPECIALIZED SUBFIELDS WITHIN NUMERICAL ANALYSIS,
q205. Linear Algebra,
q205.1. Dense (Non-Sparse) Systems,
The best resources for linear algebra are:
The texts by Golub & Van Loan and by Watkins.
On the net, library package LAPACK, with BLAS, from netlib
is a widely recommended replacement for EISPACK and LINPACK.
It handles dense matrices only. See section q115.1.
As far as complete packages, nearly all NA packages, both on
the net and commercial, include linear algebra as part of their
core. See the listings above.
q205.2. Sparse Systems,
Netlib has a number of libraries for handling sparse systems.
See the netlib directories: sparse, sparse-blas, sparsepak.
See section q115.1.
[N. Sukumar]:
Recommends the TEMPLATES book ["TEMPLATES for the soln of linear systems:
building blocks for iterative methods"] that is availabe in postscript
format at netlib. Also in the same dir is code (in C and Fortran)
for algorithms discussed in the book. "The book is awesome
(easy to read, good pointers on selection of solvers etc.),
especially for one who is not aware of how and why
sparse solvers work."
netlib, in the directory: templates
[N. Sukumar] also recommends:
the sparse package SPARSKIT which also has the solvers
built-in; there are many other feature in addition [matrix conversion/
formatting, plotting, statistics etc].
ftp: ftp.cs.umn.edu /.archive2/users/saad/SPARSKIT
ftp: ftp.cs.umn.edu /.archive2/sparse/SPARSKIT2
ftp: icarus.riacs.edu /pub/SPARSKIT
q210. Random Number Generators (RNGs),
q210.1. General,
WEB SITE:
pLab is an excellent web site created by the Department
of Mathematics at the Salzburg University. It covers
RNGs and tests for randomness, and contains publications,
software, and pointers to other resources. Use either:
http://random.mat.sbg.ac.at/
http://www.mat.sbg.ac.at/home.html
REFERENCES:
Law, Averill M, and Kelton, W. David. 1991
Simulation Modeling & Analysis, Second edition
McGraw Hill, New York
Bratley, P., Fox, B.L. & Schrage, L.E. 1987
A guide to simulation, 2nd edition
Springer
Devroye, Luc. 1986
Non-uniform random variate generation
Springer-Verlag, New York
L'Ecuyer, P. Random numbers for simulation. Comm. ACM 33, 85-97 (1990) .
Marsaglia, George. JACM 12 (1965), 83-89.
Marsaglia, George. "Random numbers fall mainly in the planes",
Proc. Nat. Acad. Sciences USA, 61 (1968), 25-28.
Marsaglia, George. "Remarks on choosing and implementing
random number generators", Communications of the ACM v 36
n 7 (July 1993), p 105-107.
Marsaglia, George and Zaman, Arif. "A new class of
random number generators". The annals of applied
probability 1, 3, (1991), p. 462-480.
Sullivan, Stephen. "Another test for randomness",
Communications of the ACM 36, 7 (July 1993), p 107.
Tezuka, Hsh, L'Ecuyer, Pierre, and Couture, Raymond.
"On the lattice structure of add-with-carry and subtract-with-
borrow random number generators", ACM Trans on Modeling and
Computer Simulation 3, 4 (October 1993), p. 315-331.
Still more references, courtesy of [Ripley]:
James, F. (1990) A review of pseudorandom numbers. Comp.
Phys. Comm. 60 329--344.
Morgan, B.J.T. (1984) Elements of simulation. Chapman & Hall.
Ripley, B.D. (1983) The computer generation of random variables
- a tutorial. Int. Statist. Rev. 51 301--319.
Ripley, B.D. (1987) Stochastic Simulation. Wiley, New York
Ripley, B.D. (1990) Thoughts on pseudorandom number generators.
J. Comput. Appl. Math. 31, 153--163.
A revised version of the last is available by anonymous ftp from
markov.stats.ox.ac.uk (192.76.20.1) /pub/simul/simul/prng.ps.Z
Eichenauer-Herrmann, J. (1992) Inversive congruential pseudorandom
numbers: a tutorial. Int. Statist. Rev. 60, 167-176
q210.2. Types of RNGs,
Random number generators typically consist of three components:
1. The basic generator, described further below.
2. Some generators contain a shuffle box. First described
in Marsaglia 1965. Also described in Knuth 1981 and Press et al 1992.
3. A transformation to the desired probability distribution.
See Press et al 1992 or, better yet, Law 1991 or Devroye 1986.
Thisted's text as well? ###
There are four common types of basic generators.
- linear congruential (LCG)
- add-with-carry and subtract-with-borrow (AWCG, SWBG)
- multiply-with-carry (MWCG)
- inversive conguential (ICG)
q210.3. Linear Congruential Generators (LCG),
Linear congruential generators are of the form
x(n) = a * x(n-1) + b mod M
A good discussion of this type is in the text by Press et al.
These are by far the most common form in use, and have periods
in the range 10^6 to 10^9 when using 32 bit words. Unfortunately,
they have some unpleasant properties. When taken in pairs,
triplets, or n-tuples, the random values often fall on only
a few planes in n-space. Using a shuffle box can
break up this uniformity. For more information on the
problems associated with linear congruential generators,
see Marsaglia 1968, Marsaglia 1993 and Sullivan 1993.
q210.4. Add-with-carry and Subtract-with-borrow (AWCG, SWBG),
Add-with-carry generators have the form:
x(n) = x(n-s) + x(n-r) + carry mod M
Subtract-with-borrow generators have the form:
x(n) = x(n-s) - x(n-r) - carry mod M
See Marsaglia 1991.
These generators have much longer periods, from 10^200 to 10^500,
than LCGs, and they are almost as fast as LCGs.
Unfortunately they too have the problem of falling
mainly on the planes. See Tezuka 1993.
Again, a shuffle box, as described in Press et al, can eliminate
this problem.
The implementation by Marsaglia and Zaman may be found at:
ftp ftp.wustl.edu (128.252.135.4)
/systems/ibmpc/msdos/math/fsultra1.zip
Another implementation is at:
http://www.mpa-garching.mpg.de/~tomek/htmls/refs/ranlux.f90.html
q210.5. Multiply-with-carry (MWCG),
Multiply-with-carry generators have the form:
x(n) = a*x(n-1) + carry mod M
George Marsaglia posted a net note on this in 1994,
but says since he's retiring soon, he says he won't publish it.
I'm including his documentation for the benefit of those who
wish to use MWCGs.
[George Marsaglia]:
Here is a simple version, one so simple and good I predict
it will be the system generator for many future computers:
x(n)=a*x(n-1)+carry mod 2^32
With multiplier 'a' chosen from a large set of easily found
integers, the period is a*2^31-1, around 2^60, and
I have yet to find a test it will not pass!
The 'carry' works like this, which shows how well this
method will serve as a system RNG:
Have seed x and c. Form a*x+c in 64 bits. All modern
CPU's have instructions for this: sparc, intel, etc.
Then the new x is the bottom 32 bits.
the new carry is the top 32 bits.
The period is the order of b=2^32 in the group of residues
relatively prime to m=a*2^32-1. One need only choose a's
of some 30 bits for which m=a*2^32-1 is a safeprime:
both m and (m-1)/2 are prime. There are thousands of them.
In general, for any choice of 'a', let m=a*2^32-1. If both m
and (m-1)/2 are prime then the period will be (m-1)/2.
Even if 'a' is, say, your social security number, the
period will most likely be on the order of 2^50 or more.
(For mine, it is 2^54.8).
For 32-bit generators, some possible values of 'a' are:
1967773755 1517746329 1447497129 1655692410 1606218150
2051013963 1075433238 1557985959 1781943330 1893513180
Few high-level languages provide access to top and
bottom halves of the 64-bit product of two 32-bit integers
without a lot of tricky programming.
So the simplest version of multiply-with-carry must come
through an assembler routine as, of course, a system
generator does. But concatenating two
16-bit versions is only slightly more complicated and
produces results that also pass all tests.
The essence of a version in C requires only [some mods by SJS below]:
unsigned long mwcg() {
static unsigned long x, y; /* x, y are 32-bit integers */
/* need some initialization code: if first time, init x, y */
x=a*(x&65535)+(x>>16);
y=b*(y&65535)+(y>>16);
return ((x<<16)+(y&65525)); /* return 32-bit value */
}
Here x and y are 32-bit integers with carry in the top and output
in the bottom half.
Some possible values for 'a' and 'b', where 'a' <> 'b', are:
23109 23124 23163 23208 23508 23520 23553 23658 23865 24114
24219 24660 24699 24864 24948 25023 25308 25443 26004 26088
q210.6. Inversive conguential (ICG),
Inversive congruential generators are of the form
x(n) = a * ~(x(n-1)) + b mod M
where:
M is prime
"~y" denotes the multiplicative inverse of y in
the field over {0, 1, ..., M-1} using arithmetic modulo M,
and ~0 is 0.
ICGs do not have the "mainly in the planes" problem.
See the pLab, described above, for more info on ICGs.
q210.7. Tests for Randomness,
See pLab, described above, for descriptions of some tests.
The Diehard suite of RNG tests, by George Marsaglia, is not available
for distribution, as of November 1995. He's working on putting
them on an ftp site, but apparently it involves some re-coding
and may take some time. In the meantime, he has provided
the following rough descriptions of the tests, in case someone
wants to code them up:
THE OVERLAPPING 5-PERMUTATION TEST
This is the OPERM5 test. It looks at a sequence of one mill-
ion 32-bit random integers. Each set of five consecutive
integers can be in one of 120 states, for the 5! possible or-
derings of five numbers. Thus the 5th, 6th, 7th,...numbers
each provide a state. As many thousands of state transitions
are observed, cumulative counts are made of the number of
occurences of each state. Then the quadratic form in the
weak inverse of the 120x120 covariance matrix yields a test
equivalent to the likelihood ratio test that the 120 cell
counts came from the specified (asymptotically) normal dis-
tribution with the specified 120x120 covariance matrix (with
rank 99). This version uses 1,000,000 integers, twice.
THE BITSTREAM TEST
The file under test is viewed as a stream of bits. Call them
b1,b2,... . Consider an alphabet with two "letters", 0 and 1
and think of the stream of bits as a succession of 20-letter
"words", overlapping. Thus the first word is b1b2...b20, the
second is b2b3...b21, and so on. The bitstream test counts
the number of missing 20-letter (20-bit) words in a string of
2^21 overlapping 20-letter words. There are 2^20 possible 20
letter words. For a truly random string of 2^21+19 bits, the
number of missing words j should be (very close to) normally
distributed with mean 141,909 and sigma 428. Thus
(j-141909)/428 should be a standard normal variate (z score)
that leads to a uniform [0,1) p value. The test is repeated
twenty times.
THE 3DSPHERES TEST
Choose 4000 random points in a cube of edge 1000. At each
point, center a sphere large enough to reach the next closest
point. Then the volume of the smallest such sphere is (very
close to) exponentially distributed with mean 120pi/3. Thus
the radius cubed is exponential with mean 30. (The mean is
obtained by extensive simulation). The 3DSPHERES test gener-
ates 4000 such spheres 20 times. Each min radius cubed leads
to a uniform variable by means of 1-exp(-r^3/30.), then a
KSTEST is done on the 20 p-values.
THE COUNT-THE-1''S TEST FOR SPECIFIC BYTES.
Consider the file under test as a stream of 32-bit integers.
From each integer, a specific byte is chosen , say the left-
most: bits 1 to 8. Each byte can contain from 0 to 8 1''s,
with probabilitie 1,8,28,56,70,56,28,8,1 over 256. Now let
the specified bytes from successive integers provide a string
of (overlapping) 5-letter words, each "letter" taking values
A,B,C,D,E. The letters are determined by the number of 1''s,
in that byte: 0,1,or 2 ---> A, 3 ---> B, 4 ---> C, 5 ---> D,
and 6,7 or 8 ---> E. Thus we have a monkey at a typewriter
hitting five keys with with various probabilities: 37,56,70,
56,37 over 256. There are 5^5 possible 5-letter words, and
from a string of 256,000 (overlapping) 5-letter words, counts
are made on the frequencies for each word. The quadratic form
in the weak inverse of the covariance matrix of the cell
counts provides a chisquare test: Q5-Q4, the difference of
the naive Pearson sums of (OBS-EXP)^2/EXP on counts for 5-
and 4-letter cell counts.
THE SQEEZE TEST
Random integers are floated to get uniforms on [0,1). Start-
ing with k=2^31=2147483647, the test finds j, the number of
iterations necessary to reduce k to 1, using the reduction
k=ceiling(k*U), with U provided by floating integers from
the file being tested. Such j''s are found 100,000 times,
then counts for the number of times j was <=6,7,...,47,>=48
are used to provide a chi-square test for cell frequencies.
THE PARKING LOT TEST
In a square of side 100, randomly "park" a car---a circle of
radius 1. Then try to park a 2nd, a 3rd, and so on, each
time parking "by ear". That is, if an attempt to park a car
causes a crash with one already parked, try again at a new
random location. (To avoid path problems, consider parking
helicopters rather than cars.) Each attempt leads to either
a crash or a success, the latter followed by an increment to
the list of cars already parked. If we plot n: the number of
attempts, versus k: the number successfully parked, we get a
curve that should be similar to those provided by a perfect
random number generator. Theory for the behavior of such a
random curve seems beyond reach, and as graphics displays are
not available for this battery of tests, a simple characteriz
ation of the random experiment is used: k, the number of cars
successfully parked after n=12,000 attempts. Simulation shows
that k should average 3523 with sigma 21.9 and is very close
to normally distributed. Thus (k-3523)/21.9 should be a st-
andard normal variable, which, converted to a uniform varia-
ble, provides input to a KSTEST based on a sample of 10.
THE MINIMUM DISTANCE TEST
It does this 100 times: choose n=8000 random points in a
square of side 10000. Find d, the minimum distance between
the (n^2-n)/2 pairs of points. If the points are truly inde-
pendent uniform, then d^2, the square of the minimum distance
should be (very close to) exponentially distributed with mean
.995 . Thus 1-exp(-d^2/.995) should be uniform on [0,1) and
a KSTEST on the resulting 100 values serves as a test of uni-
formity for random points in the square. Test numbers=0 mod 5
are printed but the KSTEST is based on the full set of 100
random choices of 8000 points in the 10000x10000 square.
THE BIRTHDAY SPACINGS TEST
Choose m birthdays in a year of n days. List the spacings
between the birthdays. If j is the number of values that
occur more than once in that list, then j is asymptotically
Poisson distributed with mean m^3/(4n). Experience shows n
must be quite large, say n>=2^18, for comparing the results
to the Poisson distribution with that mean. This test uses
n=2^24 and m=2^9, so that the underlying distribution for j
is taken to be Poisson with lambda=2^27/(2^26)=16. A sample
of 500 j''s is taken, and a chi-square goodness of fit test
provides a p value. The first test uses bits 1-24 (counting
from the left) from integers in the specified file. Then the
file is closed and reopened, then bits 2-25 of the same inte-
gers are used to provide birthdays, and so on to bits 9-32.
Each set of bits provides a p-value, and the nine p-values
provide a sample for a KSTEST.
THE RUNS TEST
It counts runs up, and runs down,
in a sequence of uniform [0,1) variables, obtained by float-
ing the 32-bit integers in the specified file. This example
shows how runs are counted: .123,.357,.789,.425,.224,.416,.95
contains an up-run of length 3, a down-run of length 2 and an
up-run of (at least) 2, depending on the next values. The
covariance matrices for the runs-up and runs-down are well
known, leading to chisquare tests for quadratic forms in the
weak inverses of the covariance matrices. Runs are counted
for sequences of length 10,000. This is done ten times. Then
repeated.
THE BINARY RANK TEST FOR 31X31 MATRICES
The leftmost 31 bits of 31 random integers from the test sequence are used
to form a 31x31 binary matrix over the field {0,1}. The rank
is determined. That rank can be from 0 to 31, but ranks< 28
are rare, and their counts are pooled with those for rank 28.
Ranks are found for 40,000 such random matrices and a chisqu- ',
are test is performed on counts for ranks 31,30,28 and <=28.
THE BINARY RANK TEST FOR 32X32 MATRICES
A random 32x32 binary matrix is formed, each row a 32-bit random integer.
The rank is determined. That rank can be from 0 to 32, ranks
less than 29 are rare, and their counts are pooled with those
for rank 29. Ranks are found for 40,000 such random matrices
and a chisquare test is performed on counts for ranks 32,31,
30 and <=29.
THE CRAPS TEST
It plays 200,000 games of craps, counts
the number of wins and the number of throws necessary to end
each game. The number of wins should be (very close to) a
normal with mean 200000p and variance 200000p(1-p), and
p=244/495. Throws necessary to complete the game can vary
from 1 to infinity, but counts for all>21 are lumped with 21.
A chi-square test is made on the no.-of-throws cell counts.
Each 32-bit integer from the test file provides the value for
the throw of a die, by floating to [0,1), multiplying by 6
and taking 1 plus the integer part of the result.
THE OVERLAPPING SUMS TEST
Integers are floated to get a sequence U(1),U(2),... of uni-
form [0,1) variables. Then overlapping sums,
S(1)=U(1)+...+U(100), S2=U(2)+...+U(101),... are formed.
The S`s are virtually normal with a certain covariance mat-
rix. A linear transformation of the S`s converts them to a
sequence of independent standard normals, which are converted
to uniform variables for a KSTEST. The p-values from ten
KSTESTs are given still another KSTEST.
THE BINARY RANK TEST FOR 6X8 MATRICES
From each of six random 32-bit integers from the generator under test, a
specified byte is chosen, and the resulting six bytes form a
6x8 binary matrix whose rank is determined. That rank can be
from 0 to 6, but ranks 0,1,2,3 are rare; their counts are
pooled with those for rank 4. Ranks are found for 100,000
random matrices, and a chi-square test is performed on
counts for ranks 6,5 and <=4.
THE TESTS OPSO, OQSO AND DNA
OPSO means Overlapping-Pairs-Sparse-Occupancy
The OPSO test considers 2-letter words from an alphabet of
1024 letters. Each letter is determined by a specified ten
bits from a 32-bit integer in the sequence to be tested. OPSO
generates 2^21 (overlapping) 2-letter words (from 2^21+1
"keystrokes") and counts the number of missing words---that
is 2-letter words which do not appear in the entire sequence.
That count should be very close to normally distributed with
mean 141,909, sigma 290. Thus (missingwrds-141909)/290 should
be a standard normal variable. The OPSO test takes 32 bits at
a time from the test file and uses a designated set of ten
consecutive bits. It then restarts the file for the next de-
signated 10 bits, and so on.
OQSO means Overlapping-Quadruples-Sparse-Occupancy
The test OQSO is similar, except that it considers 4-letter
words from an alphabet of 32 letters, each letter determined
by a designated string of 5 consecutive bits from the test
file, elements of which are assumed 32-bit random integers.
The mean number of missing words in a sequence of 2^21 four-
letter words, (2^21+3 "keystrokes"), is again 141909, with
sigma = 295. The mean is based on theory; sigma comes from
extensive simulation.
The DNA test considers an alphabet of 4 letters: C,G,A,T,
determined by two designated bits in the sequence of random
integers being tested. It considers 10-letter words, so that
as in OPSO and OQSO, there are 2^20 possible words, and the
mean number of missing words from a string of 2^21 (over-
lapping) 10-letter words (2^21+9 "keystrokes") is 141909.
The standard deviation sigma=339 was determined as for OQSO
by simulation. (Sigma for OPSO, 290, is the true value (to
three places), not determined by simulation.
### other tests for randomness?
q215. Function evaluation,
Point to some sources in netlib, statlib and elsewhere?
q220. Finding Roots,
This is a standard topic in nearly all general texts on NA.
q225. Optimization, minimization: See operations research, below.,
q230. Curve Fitting, Data Modelling, Interpolation, Extrapolation,
This vague heading covers a multitude of closely related endeavors.
There are many approaches, described in the following sections.
q230.1. Interpolation,
For one dimensional work, see Stoer & Bulirsch 1980 or Press et al 1992.
No doubt some of the techniques described there can
be found in netlib by using the NIST guide (see section q112.1).
For greater than or equal one dimensions, some references are:
Dave Watson home page:
http://maths.uwa.edu.au/~watson/homepage.html
Watson, Dave 1992
Contouring: A guide to the analysis and display of spatial data,
Pergamon Press
ISBN 0 08 040286 0
Text includes a floppy with source code in Basic (sigh). Subject areas:
isoline maps, isochor maps, methodology, data sorting, subset selection,
local coordinates, binary local coordinates, barycentric coordinates,
rectangular local coordinates, natural neighbour coordinates,
gradient estimation, least squares gradients, least squares quadratics,
spline gradients, cross product gradients, neighbourhood-based gradients,
interpolation, inverse distance weighting, inverse distance weighted
gradients, minimum curvature splines, neighbourhood-based interpolation,
selected references to contouring literature
[Dave Watson] writes:
Linear triangle-based interpolation
is quick and dirty - probably the best compromise available if you are
in a hurry. Natural neighbor interpolation is much slower but does
provide a result that most people consider to be closest to that which an
experienced manual draftsman would generate.
The 'kriging' method is a
variation on the splines technique - the main difference being that a
subjectively selected probabilistic function is used rather than one of
the analytically derived radial basis functions. This class of method
generates discontinuities at points where the interpolation subset
changes, and kriging attempts to ameliorate this effect be recomputing
the coefficients for each interpolation point - this makes it very slow.
Software:
[Albrecht Preusser] wrote:
You could take routines from ACM Alg. 624 "Triangulation and Interpolation
of Arbitrarily Distributed Points in the Plane" by Robert J. Renka.
This Algorithm is available from netlib in the toms directory.
Another algorithm in FORTRAN is contained in Akima's ACM Alg. 526,
it is faster, but takes much more memory. By the way, I have developed
methods based on the Delaunay Triangulation from both algorithms for
computing nonlinear contours and nonlinear interpolation, which are
published as ACM Alg. 626 and 684.
Spatial and Geometric Analysis toolbox (SaGA) -
a MATLAB package for various aspects of spatial data
interpolation and analysis and geometric modeling.
It is available at:
http://puddle.mit.edu/~kirill/PUB/MATLAB/SAGA
### other packages?
q230.2. Statistical Curve Fitting,
Books
Jobson, J.D.
Applied Multivariate Data Analysis, volumes 1 and 2.
Springer-Verlag, New York. 1991.
Johnson, Richard A.; Wichern, Dean W.
Applied Multivariate Statistical Analysis, Third Edition
[Ramin Samadani] writes:
I like the book by Lawson and Hanson, solving
least squares problems. I think its supposed to be back in print now or soon.
Lawson, Charles L.; Hanson, Richard J.
Prentice-Hall, Englewood Cliffs, N.J. 1974
Press et al 1991 also has a description of the field.
### Marquardt-Levenberg algorithm,
Software
ODRPACK, from netlib
[blurb]:
ODRPACK is a portable collection of Fortran subprograms
for fitting a model to data. It is designed primarily for
instances when the explanatory as well as the response variables
have significant errors, implementing a highly efficient
algorithm for solving the weighted orthogonal distance regression
problem, i.e., for minimizing the sum of the squares of the weighted
orthogonal distances between each data point and the curve described
by the model equation.
q230.3. Neural networks,
Neural nets may be used for data modelling. See section q110.
q230.4. Time series analysis,
Time series analysis may be used for some types of data.
See:
Brockwell, Peter J.; Davis, Richard A. 1991
Time Series: Theory and Methods, Second Edition
Springer-Verlag, New York.
ISBN 0-387-97429-6
[SJS]: Beautiful approach with emphasis on theory.
Emphasis on the linear model.
Hamilton, James D. 1994
Time Series Analysis
Princeton U. Press, Princeton, NJ
ISBN 0-691-04289-6
[SJS]: Applied approach, with heavy emphasis on applications from
economics. Not having an economics background is a detriment in
reading this text. Broad mix of models.
### others?
q230.5. Wavelets,
Wavelets may be used for data modelling. See section q245.
q230.6. Splines,
Useful for modelling single and multiple dimensional data.
Books:
Dierckx, Paul 1993
Curve and surface fitting with splines
Clarendon Press, Oxford England and New York
ISBN 0198534418
Farin, Gerald E. 1995
NURB curves and surfaces : from projective geometry to practical use
Wellesley, Mass. : A.K. Peters
ISBN 1568810385 :
Farin, Gerald E. 1993
Curves and surfaces for computer aided geometric design : a practical
guide, third edition.
Boston : Academic Press
Nurnberger, Gunther 1989
Approximation by Spline Functions
Springer-Verlag, Berlin
ISBN 3-540-51618-2 Berlin
ISBN 0-387-51618-2 New York
Spath, Helmuth 1995
One Dimensional Spline Interpolation Algorithms
A.K. Peters, Wellesley, MA
ISBN 1-56881-016-4
Software:
A search of the NIST guide (see section q112.1) turns up numerous
references.
q230.7. Nearest Neighbor algorithms,
Books:
Dasarathy, Belur V. 1991
Nearest Neighbor (NN) Norms: NN Pattern Classification Techniques
IEEE Computer Society Press, Los Alamitos, CA
[SJS]: Excellent.
Other references:
The following Technical Reports are available from the International
Computer Science Institute via anonymous FTP from
ftp.ICSI.Berkeley.EDU.
tr-89-063.ps.Z Five Balltree Construction Algorithms
tr-90-001.ps.Z The Delaunay Triangulation and Function Learning
Teillaud, Monique
Towards Dynamic Randomized Algorithms in Computational Geometry
Lecture Notes in Computer Science 758
Springer-Verlag
Mulmuley, K.; Sen, S.
Dynamic point location in arrangements of hyperplanes
7th ACM Symposium of Computational Geometry in North Conway 1991
M. Dickerson, R. L. Drysdale and J.-R. Sack, ``Simple algorithms for
enumerating interpoint distances and finding k nearest neighbors'',
Internat. J. Computational Geometry & Applications 2:3 (1992) 221--239.
P. B. Callahan and S. R. Kosaraju, ``A decomposition of
multi-dimensional point-sets with applications to k-nearest-neighbors
and n-body potential fields'', 24th ACM Symp. Theory of Computing, 1992,
546--556. (I think the journal version of this came out recently but
don't have the reference handy.)
M. T. Dickerson and D. Eppstein, ``Algorithms for proximity problems in
higher dimensions'', Comp. Geom. Theory & Applications, to appear.
P. M. Vaidya, ``An $O(n \log n)$ algorithm for the all-nearest-neighbors
problem'', Discrete and Computational Geometry 4 (1989) 101--115.
q240. Transforms (FFT, etc) and digital signal processing (DSP),
FFTs are a standard part of nearly every NA package.
For more info:
See the comp.dsp FAQ:
ftp: evans.ee.adfa.oz.au (131.236.30.24) /pub/dsp/comp.dsp.faq
www: http://dsp.ee.adfa.oz.au/sigproc.html
Newsgroup: comp.dsp
other resources? ###
q245. Wavelets,
[Amara Graps] writes:
Wavelets are functions that satisfy certain mathematical requirements
and are used in representing data or other functions. They have
worked well as an alternative to fourier sine and cosine functions
in data analysis in many different scientific fields.
Some internet resources are:
Dept. of Mathematics at Salzburg University
http://www.mat.sbg.ac.at/~uhl/wav.html
An extensive wavelet bibliography list can be found at Mathsoft:
http://www.mathsoft.com/wavelets.html
A large software list, as well as a bibliography list, can be found at
Steve Baum's site at Texas A&M University:
http://www-ocean.tamu.edu/~baum/wavelets.html
Amara Graps has a wavelets page up on the Web, with a
slant towards the beginning wavelets student:
http://www.amara.com/current/wavelet.html
Also, she has an introductory paper at:
http://www.amara.com/IEEEwave/IEEEwavelet.html
ftp: ftp.best.com /pub/agraps/papers/IEEEwavelet.ps.gz
Newsletters:
Wavelet Digest. Subscriptions:
E-mail to wavelet@math.scarolina.edu with "subscribe" as subject.
Preprints, references, and back issues can be obtained from:
ftp: ftp.math.sc.edu /pub
gopher: gopher.math.sc.edu
www: http://www.math.sc.edu/~wavelet/
q250. Integration and Ordinary Differential Equations (ODEs),
Most of the general NA texts, such as Stoer & Bulirsch 1980, have chapters
on integration techniques.
See also:
Davis, Philip J.; Rabinowitz, Philip 1984
Methods of Numerical Integration
Academic Press, Orlando, Florida
ISBN 0122063600
ODEPACK, from netlib.
[Dave Linder]: Well known and widely used.
Allows error-based adaptive step-size control.
[blurb] A systematized collection of ODE solvers. Handles stiff and
nonstiff systems, sparse systems, explicit and linearly implicit
forms. Fortran IV, double precision. A single precision version
may be found in sodepack, also in netlib.
RKSUITE, from netlib ode/rksuite
[Dave Lindner]: Also good. Allows error-based adaptive step-size control
and easy to use for explicit systems.
[blurb]: For initial value problem for first order ordinary
differential equations. A suite of codes for solving IVPs
in ODEs. A choice of RK methods is available. Includes an
error assessment facility and a sophisticated stiffness checker.
Template programs and example results provided.
Supersedes RKF45, DDERKF, D02PAF.
See also many other packages in the directory ode, in netlib.
Ernst/Wanner package:
ftp: ftp.unige.ch /pub/doc/math/
[blurb]: Separate Fortran codes for stiff, nonstiff, and mechanical systems.
For the description see the book by the authors:
Hairer, Ernst; Norsett; Wanner, Gerhard (1993): Solving Ordinary
Differential Equations. Nonstiff Problems. 2nd edition.
Springer Series in Comput. Math., vol. 8.
q255. N-Body and Particle Simulation,
[Amara Graps] writes:
N-body problems occur in fields such as cosmology, solar system dynamics,
molecular dynamics, and plasma physics. Her summary of
N-body simulation methods contains info on the following methods:
Particle-Particle (PP), Particle-Mesh (PM),
Particle-Particle/Particle-Mesh (P3M), Tree-Code (TC)- Top Down,
Tree-Code (TC)- Bottom Up, Fast-Multipole-Method (FMM), Tree-Code
Particle-Mesh (TPM), Self-Consistent Field (SCF), and the Symplectic
Method. It is at:
ftp: //ftp.best.com /pub/agraps/papers/nbody.txt
www: http://www.amara.com/papers/nbody.html
q260. Partial Differential Equations (PDEs) and Finite Element Modeling (FEM),
q260.1. Web Sites,
Ian MacPhedran and Roger Young's pages on finite element resources:
http://duke.usask.ca/~macphed/finite/finite.html
The geometry center at U. of Minnesota:
http://www.geom.umn.edu
Robert Schneiders site on mesh generation.
http://www-users.informatik.rwth-aachen.de/~roberts/meshgeneration.html
Large site with info on people, literature, software, and numerous
research efforts worldwide.
q260.2. Software on the net,
q260.2.1. FEMLAB,
www: http://www.math.chalmers.se/Research/Femlab/
ftp: ftp.md.chalmers.se/pub/Femlab/
[blurb]: From the Department of mathematics at Chalmers
University of Technology and Gvteborg university.
FEMLAB is an interactive program for the numerical solution of
ordinary and partial differential equations based on the Finite
Element Method in adaptive form with automatic error control.
Femlab is a part of an educational program based on the Leibniz vision
of integration of Calculus, Computation and Application. The
educational program is presented in the texts:
* Computational Differential Equations, Cambridge University Press ,
to appear 1996
* Introduction to Adaptive Methods for Differential Equations, Acta
Numerica (1995) pp. 105-158.
q260.2.2. fec,
ftp: karazm.math.uh.edu /pub/Math
A collection of finite element libraries in C++
q260.2.3. FElt,
ftp: cs.ucsd.edu /pub/felt
www: http://www-cse.ucsd.edu:80/users/atkinson/FElt/felt.html
[blurb]:
FElt is a free system for introductory level finite element analysis. FElt
is intended largely as a teaching tool. At this stage it should be able
to handle most static and dynamic linear analysis problems (structural
and thermal) that you'd find in a one or two term introductory class in
finite element analysis; it also has some capabilities for modal and
spectral analysis. The FElt element library currently contains fifteen
elements ranging from a simple spring to an 8-node brick. The main
FElt applications are all built around a single intuitive, powerful,
and easy-to-use input syntax.
q260.2.4. femlib,
ftp: usc.edu /pub/C-numanal/femlib-1.1.tar.gz
Set of C++ classes for finite element work, garbage collection
algorithms, and sparse matrix algorithms. A bit rough; incomplete
in some areas.
q260.2.5. Kaskade,
ftp: elib.zib-berlin.de /pub/kaskade
or: ftp: ftp.zib-berlin.de/
[blurb]:
Linear elliptic FEM solver written in C. Reads problem
description from plain text file - can be (mis)used as
triangular mesh generator. Graphical output under X11 and MacOS.
The slightly outdated user manual, in english, is in
pub/kaskade/AltesZeug/tr-89-4.ps
q260.2.6. tri,
ftp://ftp.cs.cornell.edu/pub/scott/tri
[blurb]:
Tripoint was first developed by David Eppstein to triangulate point set
input in two dimensions, following the algorithm in "Provably Good Mesh
Generation" by Bern, Eppstein, and Gilbert[1]. During the summer of 1991,
Scott Mitchell extended the program to triangulate polygonal regions with
holes, again in two dimensions. The algorithm followed borrows ideas both
from [1] and "Quality Mesh Generation in Three Dimensions" by Mitchell
and Vavasis[2].
Tripoint takes input from text files as the polygon to triangulate. Output
is also as text files, using the same data format. Points are represented
by their coordinates, and edges by the indecies of their endpoints.
There is a matlab code front end, called drawmesh.m. This allows the
graphical input of the input polygon using the mouse, and the display with
zooming of the output triangulation. There is also matlab code called
dispmesh.m, which allows the displaying of output only. This allows the
user freedom over how to generate the input.
The algorithm is similar to one in "Provably
Good Mesh Generation"[1]. The main differences include: Tripoint uses
connected component information while generating the quadtree, as in [2].
Tripoint does not cut dangling acute triangles from the input as a first step
as in [1]. Ideally, as in [2], tripoint would center input verticies in
boxes, and use a very general and easy algorithm for triangulating
individual boxes. Instead, vertices are not centered, and
the ideal algorithm is used with added special case analysis for boxes near
an input vertex.
Scott Mitchell continues to support tripoint.
We would eventually like to implement a three dimentional algorithm
following [2].
q260.2.7. QMG,
www: http://www.cs.cornell.edu/Info/People/vavasis/qmg-home.html
[Stephen Vavasis]: 3D mesh generation software; a follow on to
the tripoint package (above).
q260.2.8. Sinda/Fluint,
http://www.webcom.com/crtech
ftp: ftp.csn.net /crtech
[blurb]:
SINDA/FLUINT is a comprehensive finite-difference, lumped parameter
(circuit or network analogy) tool for analyzing complex thermal/fluid
systems. It is used at over 300 sites in the aerospace, electronics,
petrochemical, and automotive industries.
q260.3. Commercial Packages,
A large list of commercial FEM products may be found at:
www: http://www.cray.com/PUBLIC/APPS/DAS/DAS4.html
q260.4. Comparison of Meshing Software Packages,
[Albert M. Hines, Feb 1996]:
This table reflects the best information that I can gather
to date on some of the more popular meshers. Many others exist
and may be better or worse than those listed here. This study was
conducted by Howmet, a manufacturing corporation with no incentive
to support or reject any package over another. Portions of the
study were also funded by your generous tax donations through an
ICCA program designed to enhance the capability of US investment
casting through (among many other things) automeshing software.
The meshes were used for heat transfer and fluid flow predominantly.
A limited amount of stress analysis and electromagnetics were also
investigated. The desired modeling analysis is a crucial factor
in determining whether a meshing package will support the mesh
quality and refinement necessary for a simulation.
(e.g. mesh quality is almost a non-issue for heat transfer,
but not for stress!) The geometries that I have considered
are aerospace turbine engine components: complex 3-D thin walled
structures. Bulky or spindly geometries may behave differently
(e.g. engine blocks, oil rigs, etc.).
The scale used is 0 to 10. A zero means that it meets none of my
expectations. A 10 means that it meets all of my expectations.
A cumulative score should not be obtained by adding columns.
Many entries are more important than others. Weighting for
the various tasks are different for each analyst/application.
The scores are often subjective and should be considered at best
approximate. They do not necessarily reflect the opinion of Howmet
Corporation or, for that matter, of anyone other than myself.
They are, however, the result of careful and expensive investigation
into the market.
Any questions or comments should directed to me at "ahines@howmet.com".
Albert M. Hines, Howmet Corporation, 1500 South Warner Street,
Whitehall, MI 49461, 616-894-7864.
SOFTWARE(5): OCTREE PATRAN MESHCAST HYPERMESH ALGOR
-------------------------------------------------------------------------------
3-D SURFACE MESH (*)
automesh robustness (a) 9 8 7 4 3
automesh flexibilty (b) 4 6 8 7 5
number of elements (c) 10 6 7 6 8
meshing speed (d) 3 1 9 5 3
typical element quality (e) 1 8 7 4 5
semi-auto effectiveness N/A 7 3 10 6
mesh editing N/A 8 1 10 2
3-D SOLID MESH
automesh robustness (a) 8 7 (4) 7 N/A 4
automesh options (b) 6 7 7 N/A 6
number of elements (c) 10 4 (4) 5 N/A 3
meshing speed (d) 4 1 9 N/A 3
typical element quality (e) 2 6 (4) 7 N/A 4
semi-auto effectiveness N/A 4 N/A 9 6
mesh editing N/A 8 3 10 6
software vendor meshing (f) 8 2 9 5 8
auto-hex meshing N/A N/A N/A N/A 3
GENERAL
Ease of use (g) 3 4 9 8 4
I/O options 4 8 7 9 7
Error reporting 3 4 3 3 3
Barrier-free tech. support 8 1 10 6 3
Competent/helpful tech. support 6 6 8 7 8
Ease of install/maintenance 8 4 8 7 8
"Bug-free-ness" 6 7 3 4 4
COST(1) $12,000 $6800(2) $10,000(3) $4500 $5,525
NOTES
-----
* OCTREE surface mesh obtained by extracting faces of its solid elements.
(a) Should mesh the first time with given parameters. This refers to
tetrahedra only.
(b) Includes things like a finely meshed boundary with coarsely meshed
interior, ignoring features smaller than a given size, multiple element
layers through thin sections, multiple meshing algorithms, etc. Refers
to tetrahedral elements.
(c) Being in industry, practicality is a must. Meshes > ~100,000 nodes
do not run in a reasonable amount of time in our lab. If a
program cannot mesh a part within this limitation, I consider
it unable to mesh the part, even if it might successfully
generate the mesh. Automeshers should allow the specification
of a target number of nodes. Any mesh above this size should
send a flag to remesh, ignoring small features.
(d) Again, from a practical point of view, there are limits beyond which I
consider the program to fail. The most glaring comparison is
between PATRAN and MeshCAST. A typical part that meshes less
than 10 minutes with MeshCAST normally takes several days to
mesh in PATRAN. It is likely that given infinite time, PATRAN
would succeed (after all, it contains the RPI finite octree
mesher as one of its algorithms!), however, I can't justify
tying a machine up for a week to find out if it will mesh (and often it
crashes at the end of the meshing cycle!).
(e) There are many if's and's & but's here. Basically I use aspect ratio and
dihedral angle for tetrahedra, jacobian at the gauss points for hex'es,
wedge's, and quad's, and interior angle for triangles. These are the only
element types that I use.
(f) For many problems, I could not successfully mesh the part, so I sent the
geometry to the software vendor. In other cases, I sent it specifically
to evaluate the software run under the developer's care. Score reflects
willingness, speed, size, and quality of the mesh received.
(g) I am partial to a Mac-like interface, which I consider to be the computer
world's 'reference standard'. Program should require minimal training and
manuals. All options should be available on the menus (no hidden or
cryptic commands). This is not just personal preference, but time and
dollars in training.
(1) Cost is annual lease, US dollars, except as noted. Platform is HP-735
network license. Cost is what we pay, not necessarily list price.
(2) Unigraphics common database module $3,000 extra (i.e. $9,800). Base
license includes one translator, we chose IGES.
(3) This price includes the fluids, thermal, radiation, solver modules. I am
not sure of the price of just MeshCAST by itself.
(4) This is very approximated assuming infinite meshing time.
(5) Versions tested: OCTREE: March 1,1995, P3: v1.4, Meshcast: v3.0.3,
Hypermesh: v2.00b, Algor: July, 1995.
q260.5. Newsgroups,
Computational Fluid Dynamics (CFD) newsgroups:
sci.mech.fluids
sci.geo.fluids
sci.mech.fluids
sci.physics.computational.fluid-dynamics
sci.engr.marine.hydrodynamics
Some of these groups are archived at:
http://www.Fluent.COM/cgi-bin/fetch
q265. Operations Research: minimization, optimization,
q265.1. Linear Programming (LP),
See the FAQ by John Gregory:
www: http://www.skypoint.com/subscribers/ashbury/linear-programming-faq.html
ftp: rtfm.mit.edu /pub/usenet/sci.answers/linear-programming-faq
q265.2. Non-Linear Programming (NLP),
See both the LP FAQ above and the NLP FAQ by John Gregory:
www: http://www.skypoint.com/subscribers/ashbury/nonlinear-programming-faq.html
ftp: rtfm.mit.edu /pub/usenet/sci.answers/nonlinear-programming-faq
q265.3. Network flow problems,
See the LP and NLP FAQs above.
q265.4. Queueing theory, performance analysis.,
Is there a FAQ?
The only thing close I found is: ftp rtfm.mit.edu
/pub/usenet-by-group/comp.benchmarks/
[l_m_5_5_93]_Performance_metrics_(5_28)_c.be_FAQ
The standard texts are:
Kleinrock, Leonard 1975
Queueing Systems, Volumes 1 and 2
John Wiley, New York
Excellent theoretical development of the field. This is
the standard text in the area. Kleinrock is apparently
working on an updated version of his texts, but when
they'll be published is unknown.
Allen, Arnold O. 1990
Probability, Statistics, and Queueing Theory with Computer
Science Applications, Second Edition
Academic Press, Boston.
This is a common text in the field and has an applied approach.
q265.5. Newsgroups,
sci.op-research
sci.math.num-analysis
q265.6. Indices,
See also: Decision Tree for Optimization Software
by Hans D. Mittelmann, Dept of Mathematics, Arizona State
University, and P. Spellucci, Dept of Mathematics, Technical
University Darmstadt.
www: http://plato.la.asu.edu/guide.html
q285. Graphics and Scientific Visualization,
This is a huge field. Rather than attempt to review it,
I've simply noted a few resources. All text is [blurb].
An good recent article on commercial math & visualization software is:
Braham, Robert. "Math & Visualization: new tools, new frontiers",
IEEE Spectrum 32, 11 (November 1995), p. 19-36.
The article contains tables comparing large number of commercial products.
There is no mention of the many excellent free products though.
q285.1. NASA Index,
The best resource I found is an annotated list of
scientific visualization sites, courtesy of
NASA's Numerical Aerodynamic Simulation program.
http://www.nas.nasa.gov/RNR/Visualization/annotatedURLs.html
or:
http://www.nas.nasa.gov/NAS/Visualization/visWeblets.html
Excerpting from [NASA], some of the large general purpose scientific
visualization web sites are: (Thanks NASA!)
Software Support Lab software archive at the Laboratory for
Atmospheric and Space Physics at the University of Colorado in
Boulder. This web site contains descriptions of and access to a
great deal of software, including visualization packages such as
AVS, IRIS Explorer, Vis-5D, HDF, NCSA Image, NIH Image,
Interactive NCAR Graphics, and many others. Many of the
descriptions are incomplete and still contain some automatically
generated boilerplate. Hopefully this will change soon.
http://sslab.colorado.edu:2222/software.html
Graphics, Visualization, and Usability Center at Georgia Tech.
This extensive web site includes scivis work along with material
from related fields such as animation, virtual environments,
medical informatics, software visualization, user interface
software, multimedia, educational technology, human factors, and
hypertext. Plenty of content here.
http://www.cc.gatech.edu/gvu/gvutop.html
MIT Aero/Astro Scientific Visualization This web site is home to
Visual2, Visual3, and pV3. These are visualization systems for
unsteady, unstructured (and structured) CFD visualization
(mostly). Visual2 is for 2D flows, Visual3 for 3D flows, and pV3
takes data from solvers on distributed workstations on the fly.
There are papers, software, and users manuals. The author assures
me that pictures will be coming. The software is binary and
libraries only, not source code.
http://raphael.mit.edu/haimes.html
The University of Minnesota Supercomputing Institute. This
web site contains pointers to URLs of interest to the
scientific visualization community.
http://web.msi.umn.edu/WWW/SciVis/scivis.html
Scientific Visualization and Graphics page of the University
of Minnesota Supercomputing Institute. This web site is a
scivis user oriented page with pointers to software packages,
descriptions of techniques and data formats, and so on. Users
should be able to go here to learn a lot about how to do
scientific visualization. The web site is pretty sparse at
the moment, but its a noble effort which I hope succeeds.
http://web.msi.umn.edu/WWW/SciVis/umnscivis.html
Apparently out of order as of November 1995.
The Geometry Center, University of Minnesota. This excellent
web site contains examples of, software for, and technical
and other information about some of the premier mathematical
visualizations on the planet.
http://www.geom.umn.edu/
A Gallery of Interactive On-Line Geometry The Geometry Center
also has an incredible page with links to their interactive,
web-based, visualizations of various mathematical objects.
Interaction is slow due to the network, but these forms-based
programs are well worth looking at.
http://www.geom.umn.edu/apps/gallery.html
State University of New York at Stony Brook has a very nice web
site with excellent information about their program which is
primarily centered around the VolVis software. The source and
executables are available along with many full papers in
compressed PostScript format.
http://www.cs.sunysb.edu/~volvis/
Stanford Computer Graphics Laboratory. Good projects, pictures,
movies, software, technical papers and descriptions of some of the
graphics work at Stanford University.
http://www-graphics.stanford.edu/
CRS4: Centre for Advanced Studies Research and Development in
Sardinia (Cagliari, Italy). This extensive web site contains
pictures, movies, projects, staff, research papers, and
hypertextual MPEG info. A few papers are in Italian, but most of
the web site is in English.
http://www.crs4.it/~zip/group_homepage.html
Lawrence Livermore National Laboratory's web site has lots of
images, papers, and some software. Lots of interesting
visualization techniques here!
http://www.llnl.gov/graphics/sciviz.html
The National Center for Supercomputing Applications (NCSA)
NCSA Visualization and Virtual Environments page . This
extensive web site contains pictures, movies, descriptive
text, and research papers. Visualization work covers a wide
variety of application areas.
http://www.ncsa.uiuc.edu/General/ThisIsNCSA/VizVR.html
ftp: ftp.ncsa.uiuc.edu
NCSA Digital Information Systems Overview contains many
visualizations.
http://www.ncsa.uiuc.edu/SCMS/DigLib/text/overview.html
ftp: ftp.ncsa.uiuc.edu
NCSA Virtual Reality Lab briefly describes some VR projects
including some scientific visualization. There are also some
research papers.
http://www.ncsa.uiuc.edu/Viz/VR/VRHomePage.html
ftp: ftp.ncsa.uiuc.edu
The Beckman Institute Visualization Facility web site
describes local visualization facilities available on campus.
There are some substantial miscroscopy facilities.
http://delphi.beckman.uiuc.edu/
NASA's Numerical Aerodynamic Simulation Division (NAS)
http://www.nas.nasa.gov/home.html
Mathematical Visualization by David Banks This web site
contains Dr. Banks' dissertation and pointers to related
work. A number of interesting mathematical visualizations of
4-dimensional spaces can be found here.
http://www.icase.edu/~banks/math.html
The Army High Performance Computing Research Center. This web site
contains pictures, movies, descriptions of software, projects, and
staff, but no research papers. Many of the visualizations come
with enough information to gain at least a superficial
understanding. A wide variety of application areas are
represented.
http://www.arc.umn.edu/html/ahpcrc.html
Other good web sites are:
http://www-ocean.tamu.edu/~baum/ocean_graphics.html
q285.2. Other Web Sites,
For more general graphics questions, less related to
scientific visualization:
See the several FAQs relating to computer graphics:
http://www.cis.ohio-state.edu/hypertext/faq/usenet/graphics/top
See the comp.graphics.misc FAQ:
ftp rtfm.mit.edu /pub/usenet/news.answers/graphics/faq
www: http://www.primenet.com/~grieggs/cg_faq.html
A huge general overview of computer graphics is at:
LS VII, Computer Graphics, in the Department of Computer
Science at the University of Dortmund.
* Other Overviews
* Conferences and Workshops
* Research related servers
* Inquiries
* Organizations
* Commercial Sites
* Software and Data
* News
* FAQs
http://ls7-www.informatik.uni-dortmund.de/html/englisch/servers
For commercial software, see the following sites:
http://www.cray.com/PUBLIC/APPS/DAS/DAS8.html
http://theyellowpages.com/Comp_graphics.htm
q285.3. Software,
The most common free software package is gnuplot:
ftp prep.ai.mit.edu /pub/gnu/gnuplot
For other commercial software, see the NA packages, section q125,
and the symbolic algebra packages, section q520.
For more info, see the web sites listed above.
q290. Miscellaneous NA Software,
q290.1. The NRAO Astronomical Image Processing System (AIPS),
NATIONAL RADIO ASTRONOMY OBSERVATORY Home Page
http://www.nrao.edu/
AIPS ("Classic", not aips++) Home Page
http://info.cv.nrao.edu/aips/aips-home.html
The NRAO Astronomical Image Processing System (AIPS) is a software
package for interactive (and, optionally, batch) calibration and
editing of radio interferometric data and for the calibration,
construction, display and analysis of astronomical images made from
those data using Fourier synthesis methods. Design and development of
the package began in Charlottesville, Virginia in 1978. It presently
consists of over 800,000 lines of code, 80,000 lines of on-line
documentation, and 400,000 lines of other documentation. It contains
over 300 distinct applications "tasks," representing approximately 50
person-years of effort since 1978.
q500. ASSOCIATED FIELDS,
q505. Probability and Statistics,
Books:
There are hundreds of prob/stat texts, but I'm
interested in the marriage of statistics and computing:
Thisted, Ronald A. 1986
Elements of statistical computing: numerical computation
Chapman and Hall, New York
A good text, and inexpensive. [Allen Mcintosh]
Griffiths, Paul; Hill, Ian David, editors. 1985
Applied statistics algorithms
E. Horwood Publishing, Chichester, England
Algorithms are available on statlib.
Moshier, Stephen Lloyd Baluk. 1989
Methods and programs for mathematical functions
E. Horwood Publishing, Chichester, England
Halsted Press, New York.
Trivedi, Kishor Shridharbhai 1982
Probability and statistics with reliability, queuing, and
computer science applications
Prentice-Hall, Englewood Cliffs, NJ
Kennedy, W. J.; Gentle, J. E. 1980
Statistical Computing
Dekker, New York
others?
Newsgroup:
sci.stat.math
sci.math.stat
FAQs, if any?
q510. Chaos Theory (Nonlinear Dynamics),
q510.1. FAQ,
www: http://amath.colorado.edu/appm/faculty/jdm/faq.html
http://www.fen.bris.ac.uk/engmaths/research/nonlinear/faq.html
http://amath.colorado.edu/appm/faculty/jdm/faq.html
ftp: rtfm.mit.edu /pub/usenet/news.answers/sci/nonlinear-faq
See also:
http://t13.lanl.gov/~nxt/sites.html
http://cnls-www.lanl.gov/nbt/sites.html
q510.2. Newsletters,
UK Nonlinear News
The primary goal of UK Nonlinear News is to allow researchers in the
applied and theoretical sides of nonlinear mathematics to keep
abreast of the wide variety of nonlinear activities throughout the UK.
To join the mailing list, send email to uk-nonl-subs@ucl.ac.uk
with the word SUBSCRIBE in the subject field.
Or see:
www: http://www.amsta.leeds.ac.uk/Applied/news.dir/index.html
q510.3. Bibliography,
Peter E. Beckmann (beckmann@nemo.physik.uni-mainz.de) at the
Department of Physics, University of Mainz, Mainz, Germany has a
nonlinear papers bibliography containing thousands of entries.
www: http://www.uni-mainz.de/FB/Physik/Chaos/chaosbib.html
ftp: ftp.uni-mainz.de
/pub/chaos/chaosbib for BibTex-style
/pub/chaos/chaosref for Refs-style
q520. Symbolic Algebra,
Since the symbolic algebra systems have been well documented
elsewhere, I simply provide pointers instead of reviewing
them here.
An good recent article on commercial math & visualization software is:
Braham, Robert. "Math & Visualization: new tools, new frontiers",
IEEE Spectrum 32, 11 (November 1995), p. 19-36.
The article contains tables comparing large number of commercial products.
There is no mention of the many excellent free products though.
q520.1. Comparative Reviews,
See the paper by Michael Wester, in which he reports on
the performance of Axiom, Derive, Macsyma, Maple, Mathematica,
Mupad, and Reduce on 131 problems, mostly from symbolic algebra.
ftp math.unm.edu /pub/wester/cas/Paper.ps
See the web pages at Indiana University Computing Services
for a comparison of a handful of symbolic math and general
math/stat packages:
http://www.indiana.edu/~statmath/math/
q520.2. Free Software,
q520.2.1. MuPAD,
http://math-www.uni-paderborn.de/~cube/
ftp: math-ftp.uni-paderborn.de:/pub/MuPAD
ftp mirrors:
* Deutschland
+ ftp.uni-paderborn.de:/pub/MuPAD (daily mirror)
+ ftp.ask.uni-karlsruhe.de:/pub/education/mathematics/MuPAD
+ ftp.germany.eu.net:/pub/comp/applications/math/mupad
* France
+ ftp.inria.fr:/lang/MuPAD
* Switzerland
+ ftp.switch.ch:/mirror/MuPAD
* USA
+ archives.math.utk.edu:/software/multi-platform/MuPAD
+ ftp.math.utah.edu:/pub/mupad
MuPAD has been strongly recommended by users. From the [blurb]:
MuPAD is a system for symbolic and numeric computation, parallel
mathematical programming and mathematical visualization. It is
intended to be a 'general purpose' computer algebra system.
MuPAD has easy-to-use language constructs for parallel
programming. A prerelease Version for parallel programming exists
for Sequent and Sun multiprocessor machines. Programming in
MuPAD's own programming language is supported by a comfortable
source code debugger. Window-based user interfaces for MuPAD exist
for the X-Window-System and the Apple Macintosh.
MuPAD is distributed for free (for non-commercial use).
It is not in the public domain; a registration is required.
q520.2.2. Jacal,
ftp: prep.ai.mit.edu /pub/gnu/jacal
From the [blurb]:
JACAL is a symbolic mathematics system for the simplification and
manipulation of equations and single and multiple valued algebraic
expressions constructed of numbers, variables, radicals, and algebraic
functions, differential, and holonomic functions. In addition,
vectors and matrices of the above objects are included.
JACAL is written in Scheme. A version of Scheme (IEEE P1178 and R4RS
compliant) written in C is available with JACAL. SCM runs on Amiga,
Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, Unicos, VMS, Unix and similar
systems.
JACAL source is available via FTP (detailed instructions follow) from:
altdorf.ai.mit.edu:archive/scm/jacal1a4.tar.gz
prep.ai.mit.edu:pub/gnu/jacal/jacal1a4.tar.gz
ftp.maths.tcd.ie:pub/bosullvn/jacal/jacal1a4.tar.gz
ftp.cs.indiana.edu:/pub/scheme-repository/scm/jacal1a4.tar.gz
SLIB is a portable scheme library which JACAL requires:
altdorf.ai.mit.edu:archive/scm/slib2a1.tar.gz
prep.ai.mit.edu:pub/gnu/jacal/slib2a1.tar.gz
ftp.maths.tcd.ie:pub/bosullvn/jacal/slib2a1.tar.gz
ftp.cs.indiana.edu:/pub/scheme-repository/imp/slib2a1.tar.gz
SCM is a small Scheme implementation under which JACAL will run.
altdorf.ai.mit.edu:archive/scm/scm4e1.tar.gz
prep.ai.mit.edu:pub/gnu/jacal/scm4e1.tar.gz
ftp.maths.tcd.ie:pub/bosullvn/jacal/scm4e1.tar.gz
ftp.cs.indiana.edu:/pub/scheme-repository/imp/scm4e1.tar.gz
q520.2.3. GAP,
ftp sites:
ftp.math.rwth-aachen.de /pub/gap/
archives.math.utk.edu /software/multi-platform/gap/
dehn.mth.pdx.edu /pub/math/gap/
pell.anu.edu.au /pub/gap/
[blurb]:
GAP is a system for computational discrete algebra, which we have
developed with particular emphasis on computational group theory, but
which has already proved useful also in other areas. The name GAP is an
acronym for *Groups, Algorithms, and Programming*.
q520.2.4. PARI/GP,
ftp: megrez.math.u-bordeaux.fr /pub/pari/
Also at math.ucla.edu
[blurb]:
PARI/GP is a package which is aimed at efficient
computations in number theory, but also contains a large
number of functions unrelated to number theory. It is
somewhat related to a Computer Algebra System, but is
not really one since it treats symbolic expressions as
mathematical entities such as polynomials, series,
matrices, etc..., and not as expressions per se. However
it is often much faster than other CAS, and contains a
huge number of specific functions not found elsewhere,
essentially for use in number theory. In particular,
and especially so in the present release, there is a
very large package for working in general algebraic
number fields.
q520.2.5. Form,
http://rulgm4.LeidenUniv.nl/gj/form.html
ftp://ftp.nikhef.nl/pub/form/
[blurb]:
The symbolic manipulation program Form is a powerful tool to do large
algebraic calculations. It is an easy-to-learn language which is
complementary to large programs such as Maple and Mathematica in that
not much knowledge is built in, but Form provides you with the means
to grind quickly through large formulae. In this introductory course
the most-used commands are introduced and useful algorithms are
discussed. Many examples illustrate the text.
q520.3. Automatic Differentiation Tools,
[Luiz Henrique de Figueiredo]:
A good starting point for automatic differentiation tools is:
www: http://www.mcs.anl.gov/autodiff
q520.4. Web sites,
U.C. Berkeley
gopher://math.berkeley.edu
ftp: math.berkeley.edu /pub
A large site of courses, archives, pointers to other sites.
The Symbolic_Soft directory contains info on:
ALJABR, AMP, Articles_and_Books/, Available_Systems, Axiom
Bibliography, CALC, CLA, Calculus, Cayley, CoCoA, Comparison/
DELiA, DOE-Macsyma, Derive, FLAC, Form, GANITH, GAP, GNU-calc
GRTensorII, Galois, Gmp, JACAL, KAN, KANT, LIE, LiE, MALM, MAS, MPQS
Macaulay, Macsyma, Magma/, Maple/, Mathematica/, Maxima, Mercury
Mock-Mma, NCAlgebra, Numbers, On_Going/, PARI, PFSA, Paramacs
Reduce/, Reviews/, Ricci, SENAC/, SIMATH, STENSOR, Schoonschip
Schur, SymbMath, Theorist, UBASIC, Vaxima, Weyl, XPL, cas.tex
CAIN: The Computer Algebra Information Network
www: http://www.can.nl/cain.html
CAIN contains information on symbolic algebra packages,
conferences, newsletters, bibliographies and tools.
It also contains pointers to a number of related information
servers.
As of December 1995, it contains info on the following:
General purpose systems:
ALJABR, AXIOM, Derive, FORM, GNU-calc, MACSYMA Descendants, Macsyma,
Magma, Maple, Mathematica, MAXIMA, MuPAD, PARAMAX, PUNIMAX, REDUCE,
SENAC, Theorist, VAXIMA
(Non)Commutative Algebra & Algebraic Geometry
Albert, Bergman, CALI, CASA, CoCoA, FELIX, GANITH, GB, GRB,
GROEBNER (from RISC-Linz), GROEBNER (REDUCE package), IDEALS, KAN,
Macaulay, MAS, NCALGEBRA, SACLIB, Singular, WU
Differential Equation Solvers & Tools
List of Symmetry Programs (PostScript, gzip-compressed), CRACK, DELiA,
DESIR, Diffgrob2 (Manual: PostScript, gzip-formatted), DIMSYM, FIDE,
LIE (A.K. Head, in MuMath), Lie (Baumann, in Mathematica),
Lie-Baecklund Symmetries (Baumann, in Mathematica), liesymm, ODESOLVE,
PDELIE, SPDE, , StandardForm, SYM_DE, SYMMGRP.MAX (Manual: PostScript,
gzip-formatted)
Finite Element Analysis
MathFE, PDEase, SENAC/FEM (PostScipt, gzip-formatted); see also SENAC,
Group Theory
ANU Software, Cayley, CHEVIE, GAP, GRAPE, GUAVA, LiE,
LIE (REDUCE package), Magma, MeatAxe, Schur, Sisyphos, Symmetrica,
Weyl Groups and Hecke Algebras
High Energy Physics
FeynArts, FeynCalc, FORM, HEP, Schoonschip, Tracer
Number Theory
Galois, KANT, KASH, MALM, Numbers, PARI, SIMATH, UBASIC
Tensor Calculus
CARTAN, Classi, GRTensor, MathTensor, Redten, Ricci, SHEEP, STENSOR
Experimental systems:
PC Shareware with Symbolic Features
AMP, Calculus and Differential Equations, CC4, CLA, Mathomatic,
PFSA, SymbMath, X(PLORE),
Various Systems
AUTOMATA, QUOTPIC & TESTISOM, Computer Algebra Kit, FLAC, JACAL,
Mock-Mma, ORME, RepTiles, Asir, SimLab, Computer Tools for Analysis
and Simulation
SymbolicNet
www: http://symbolicnet.mcs.kent.edu/
Like CAIN, SymbolicNet contains information on symbolic algebra packages,
conferences, newsletters, biblio