Newsgroups: sci.math.num-analysis,sci.math.symbolic,sci.answers,news.answers Subject: FAQ: Numerical Analysis and Associated Fields Resource Guide (1/1) Summary: From: sullivan@mathcom.com (Steve Sullivan) Distribution: world Followup-To: sci.math.num-analysis Keywords: Approved: news-answers-request@MIT.EDU Archive-name: num-analysis/faq/part1 Last-modified: 1997 December 1 q10. FAQ: Numerical Analysis & Associated Fields Resource Guide 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. 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: * Copyright 1995-7 S. J. Sullivan See: * q20, "NA FAQ: Introduction" * q30, "NA FAQ: Overview of Recent Additions" * q40, "NA FAQ: Table of Contents" * q50, "NA FAQ: Acknowledgements" Steve Sullivan Mathcom, Inc. sullivan@mathcom.com ========================================================================= q20. NA FAQ: Introduction Where to find this FAQ: On the web: http://www.indra.com/~sullivan/q10.html Mathcom This FAQ is usually available from MIT's rtfm and its mirrors: ftp://rtfm.mit.edu/pub/usenet/news.answers/num-analysis/faq/part1 MIT's rtfm If not, a compressed (with gzip) version is at: ftp://ftp.mathcom.com/mathcom/nafaq.txt.gz Mathcom ftp "[]" Reviews are associated with the name of the reviewer in brackets. Those reviews marked [SJS] are by myself. "[author]" indicates text taken from a package documentation. Instead of the normal question/answer form, this FAQ is organized as an outline ... hopefully, you'll find your questions answered here. ========================================================================= q30. NA FAQ: Overview of Recent Additions There have been many many updates since the last version, too many months ago. Some of them are: A new section on Interval Arithmetic: See q275, "Interval Arithmetic". Blitz++ is a fast C++ template class library for scientific computing. See q120.11, "The Blitz++ Numerical Library Project" ASCEND IV is a free, large-scale, equation-based, environment featuring a strongly-typed, object-oriented model-description language. ASCEND is designed to reduce the time needed for See q120.12, "Ascend". Alan Miller's Page: A collection of code for least squares, random number generation, quadruple precision, and for various statistical purposes. All of this code is written in Fortran 90 and most of it is in the subset of Fortran 90 chosen for the free ELF90 compiler. See q160, "Miscellaneous Web Sites for NA". A new section on the Levenberg-Marquardt algorithm. See q230.2.1, "Levenberg-Marquardt algorithm" ARfit: A Matlab package for the estimation and spectral decomposition of multivariate autoregressive models See q230.4, "Time series analysis" Frigo and Johnson's library of FFT software (FFTW): See q240, "Transforms (FFT, etc) and digital signal processing (DSP)" New references for the free symbolic algebra packages SACLIB and NTL. See q520, "Symbolic Algebra" Bell Labs (Lucent) NA Libraries See q115, "NA Software Libraries on the Net" PLAPACK: Parallel Linear Algebra See q115, "NA Software Libraries on the Net" WGS: SLICOT Control Theory Libraries See q115, "NA Software Libraries on the Net" SPRNG: Scalable Parallel Random Number Generator Library See q210.1, "Web Sites for Random Number Generators" Featflow: FEM software for incompressible Navier-Stokes equations See q260.5, "PDE and FEM Software on the net" SolvOpt: SolvOpt is a collection of the M-files for use with Matlab, FORTRAN and C source codes. SolvOpt (Solver for local optimization problems) is concerned with minimization or maximization of nonlinear, possibly non-smooth objective functions and solution of nonlinear minimization problems taking into account constraints by the method of exact penalization. See q265.1, "Optimization, Linear and Non-Linear Programming: General Resources" IMPS optimization utilities: ANALYZE (computer-assisted analysis), MODLER ( modeling language), and RANDMOD (randomizing instances for experimentation). See q265.1, "Optimization, Linear and Non-Linear Programming: General Resources" Things of Interest to Number Theorists See q520.2, "Web sites for Symbolic Algebra" ========================================================================= q40. NA FAQ: Table of Contents * q10, "FAQ: Numerical Analysis & Associated Fields Resource Guide" * q20, "NA FAQ: Introduction" * q30, "NA FAQ: Overview of Recent Additions" * q40, "NA FAQ: Table of Contents" * q50, "NA FAQ: Acknowledgements" * * q105, "What is Numerical Analysis?" * q110, "Indices of NA Software on the Net" * q112, "Indices of Commercial NA Software" * q115, "NA Software Libraries on the Net" * q120, "NA Software Packages on the Net" * q125, "Commercial NA Libraries and Packages" * q135, "Newsgroups for NA" * q140, "Professional Societies for NA" * q145, "Electronic Newsletters for NA" * q150, "Electronic Journals for NA" * q155, "Online Preprints for NA" * q160, "Miscellaneous Web Sites for NA" * q165, "Books, With and Without Software, for NA" Specialized Subfields Within Numerical Analysis * q205, "Dense (Non-Sparse) Linear Algebra Systems" * q207, "Sparse Linear Algebra Systems" * q210, "Random Number Generators (RNGs)" * q215, "Function Evaluation" * q220, "Finding Roots" * q230, "Curve Fitting, Data Modelling, Interpolation, Extrapolation" * q240, "Transforms (FFT, etc) and digital signal processing (DSP)" * q245, "Wavelets" * q250, "Integration and Ordinary Differential Equations (ODEs)" * q253, "Stochastic Differential Equations" * q255, "N-Body and Particle Simulation" * q260, "Partial Differential Equations (PDEs) and Finite Element Modeling (FEM)" * q265, "Operations Research: Minimization, Optimization" * q270, "Computational Geometry" * q275, "Interval Arithmetic" * q285, "Graphics and Scientific Visualization" * q290, "Miscellaneous NA Software" Associated Fields * q505, "Probability and Statistics" * q510, "Chaos Theory (Nonlinear Dynamics)" * q520, "Symbolic Algebra" * q530, "Cryptography (Cryptology)" * q540, "Fractals" * q550, "Neural Networks" * q560, "Discrete algorithms" * q570, "Constraints" * q580, "Genetic Algorithms" * q590, "Simulated Annealing" Teaching and Academic Software * q800, "Teaching and Academic Software" =========================================================================== q50. NA FAQ: Acknowledgements Many thanks to all those who've given their time and advice in creating this FAQ. In order to save contributors from unwanted spam, I do not include their email addresses. Bob Berman Ronald F Boisvert Ted Brown John Chandler Luiz Henrique de Figueiredo Bill Frensley Pawel Gora Amara Graps Vijay Gupta Doug Hart Albert Hines Charles Knechtel Zdislav V. Kovarik Dave Linder George Marsaglia Pierre Maxted Allen Mcintosh Sean O riordain Daniel Pfenniger Daniel Pick Brian Ripley Ramin Samadani Robert Schneiders Peter Somlo Tim Strotman 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. =========================================================================== q105. What is Numerical Analysis? 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 leads to a strong emphasis on algorithms: what are the time and memory usage properties of a certain algorithm? What errors are introduced by an algorithm? The computational 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 * architecture/platform specific details. =========================================================================== q110. Indices of NA Software on the Net For indices of packages oriented towards symbolic algebra, see q520, "Symbolic Algebra". The NIST Guide to Available Mathematical Software (Formerly called GAMS) http://gams.nist.gov/ NIST Guide to Mathematical Software or telnet to: 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 q115.1, "Netlib"). Much of the software is in Fortran. If you prefer to speak C++ or C, see q160.1, "C++ Resources", and q115.2, "Fortran, C, and f2c". [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. =================================== q112. Indices of Commercial NA Software A large list of commercial NA products may be found at: http://www.cray.com/PUBLIC/APPS/DAS/ Cray The Directory of commercial software, by International Computer Programs, Inc., is at: http://www.icp.com/softinfo/ ICP Finally, for packages oriented towards symbolic algebra, see q520, "Symbolic Algebra". =========================================================================== q115. NA Software Libraries on the Net Libraries are collections of source code, and source code packages. Much of the code is in Fortran. If you prefer to speak C++ or C, see q160.1, "C++ Resources", and q115.2, "Fortran, C, and f2c". The main library by far is q115.1, "Netlib". For statistical software, the best resource is q115.3, "Statlib". Other libraries are q115.4, "NCAR's Mathematical and Statistical Libraries" and q115.5, "Hensa Unix Parallel Archive". * q115.1, "Netlib" * q115.2, "Fortran, C, and the f2c Translator" * q115.3, "Statlib" * q115.4, "NCAR's Mathematical and Statistical Libraries" * q115.5, "Hensa Unix Parallel Archive" * q115.6, "Modula-3 NA Library" * q115.7, "Forth Numerical/Scientific Library" * q115.8, "Eiffel Numerical/Scientific Library" * q115.9, "Lisp Numerical/Scientific Libraries" * q115.10, "Java Numerical/Scientific Libraries" * q115.11, "Bell Labs (Lucent) Libraries" * q115.12, "PLAPACK: Parallel Linear Algebra" * q115.13, "WGS: SLICOT Control Theory Libraries" =========================================================================== q115.1. Netlib 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. email: send message "help" to either: netlib@ornl.gov netlib@research.att.com http://www.netlib.org Netlib main http://www.netlib.org/netlib/netlib_faq.html Netlib FAQ http://www.netlib.org/master/expanded_liblist.html Netlib index ftp://netlib.att.com/netlib Netlib via ftp Netlib mirrors: http://www.netlib.no/ Netlib in Norway or email to: netlib@nac.no http://www.hensa.ac.uk/ftp/mirrors/netlib/master/ Netlib in England or email to: netlib@ukc.ac.uk http://elib.zib.de/netlib/master/readme.html Netlib in Germany or: http://elib.zib-berlin.de/netlib Netlib in Germany or email to: anonymous@elib.zib-berlin.de ftp://draci.cs.uow.edu.au/netlib/ Netlib in Australia or email to: netlib@draci.cs.uow.edu.au Netlib in Taiwan: email only: netlib@nchc.edu.tw Some gems of netlib: Machine/architecture dependent 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 in q115.2, "Fortran, C, and f2c". 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. =================================== q115.2. Fortran, C, and the f2c Translator For C++ and C resources, see q160.1, "C++ Resources". 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 Statlib is a huge repository of statistics related software and info. Probability, statistics, random variables, distribution functions. http://lib.stat.cmu.edu/ Statlib at CMU ftp://lib.stat.cmu.edu Statlib via ftp email: send message "send index" to statlib@lib.stat.cmu.edu =================================== q115.4. NCAR's Mathematical and Statistical Libraries NCAR's libraries contain some overlap with netlib. http://www.ucar.edu/SOFTLIB/mathlib.html NCAR =================================== q115.5. Hensa Unix Parallel Archive General info, software, articles, etc., on parallel computing. http://www.hensa.ac.uk/parallel/environments/pcn/ Hensa Note: this web server can be very slow! =================================== q115.6. Modula-3 NA Library http://www.eskimo.com/~hgeorge/ Modula-3 NA and pick the link to m3na. This is a libraried collection of numerical analysis routines written in Modula-3. Includes linear algebra, roots, ffts, and a bit of statistics. =================================== q115.7. Forth Numerical/Scientific Library http://www.taygeta.com/fsl/sciforth.html Skip Carter's Forth Library at Taygeta =================================== q115.8. Eiffel Numerical/Scientific Library http://www.eiffel.com/products/math.html Commercial Eiffel library at I.S.E. =================================== q115.9. Lisp Numerical/Scientific Libraries http://euler.bd.psu.edu/lispstat/ statistical tools. http://setosa.uwaterloo.ca/~ftp/Quail/features.html U. Waterloo http://eksl-www.cs.umass.edu/research/clip-clasp-overview.html instrumentation and statistical analysis packages ftp://ftp.cs.cmu.edu/user/ai/lang/lisp/code/math/0.html CMU's library =================================== q115.10. Java Numerical/Scientific Libraries http://www.vni.com/products/wpd/jnl/jnl_1_0.html Visual Numerics' Java package [author]: JNL, a Numerical Library for Java, is a set of classes for the most important numerical functions missing in Java. The library is comprised of one numerical type class, Complex, and three categories of numerical functions classes: the special functions class, the linear algebra classes, and the statistics class. All classes use double precision floating point as the underlying float type. =================================== q115.11. Bell Labs (Lucent) Libraries http://www.bell-labs.com/topic/swdist/ Lucent's Software Libraries Includes the following items: