By selecting these links, you will be leaving NIST web space. We have
provided these links to other web sites because they may have information
that might be of interest to you. No inferences should be drawn on
account of other sites being referenced, or not, from this page. There
may be other web sites that are more appropriate for your purpose. NIST
does not necessarily endorse the views expressed, or concur with the
facts presented on these sites. Further, NIST does not endorse any
commercial products that may be mentioned on these sites.
We welcome suggestions of additional WWW links appropriate to this page.
Please address comments about this page to
Information on global optimization (and some additional information on local
optimization) collected by Arnold Neumaier of the Computational Mathematics
group at the University of Vienna.
Linear Programming FAQ. Frequently asked questions about linear
programming, posted monthly to the Usenet newsgroup
Math Archives. A
directory of software and other materials useful in the teaching of mathematics
at the college level maintained by the Mathematics Department at the University
of Tennessee at Knoxville.
Mathematics on the Web. A directory of mathematics information servers maintained by the
Mathematics Department at Penn State University.
Math-Net Links to the mathematical world maintained by the
Konrad-Zuse-Zentrum (ZIB) in Berlin.
Numerical Evaluation of Special
Functions. An extensive survey of the literature and available software
for the evaluation of the higher transcendental functions. Includes more than
600 references organized by topic.
Note:By "freely available" we mean that this software may be downloaded
at no cost for non-commercial use. We do not include trial versions of commercial
software in this list.
A high-level, interpreted language for numerical analysis.
Software for ordering sparse matrices prior to Cholesky factorization (or LU
factorization with diagonal pivoting). It has versions in both C and Fortran,
with a MATLAB interface. Developed by Patrick Amestoy, Tim Davis, and
An asynchronous and fault tolerant parallel pattern search method for unconstrained
or bound constrained optimization.
Arbitrary precision arithmetic package. Supports integer, real and complex datatypes.
Written in C++, but also usable in Fortran 90.
Adaptivity, Wavelets and Finite Differences software package. A C++ class
library for wavelet/interpolet-based solvers for PDEs and integral equations
Numerical solution of stiff ODE-IVPs, based on a "blended" implementation of block implicit methods.
BLAS for the Intel Pentium
A collection of specially tuned Basic Linear Algebra Subroutines (BLAS) for
the Intel Pentium III and 4 architectures. All BLAS levels (1-3) are supported
in both single and dual threaded modes.
(Control of Accuracy and Debugging for Numerical Applications) is a library of tools for estimating the
round-off error propagation of scientific codes written in Fortran or C.
This "conservation laws package" includes Fortran routines to
solve hyperbolic systems of partial differential equations (not just
conservation laws) in 1, 2, and 3 space dimensions.
Includes MPI versions, Matlab routines for graphics and
visualization, and a number of sample application directories
A calculator type computer program for vectors, complex numbers, quaternions,
bivectors, spinors, and multivectors in Clifford algebras.
An interactive environment for general numerical computation with scalars, matrices,
complex values and graphics. More than 300 built-in functions for use in Calculator
mode as well as in programming mode with a C-like programming language.
A Maple V package for Clifford Algebra computations.
A set of C++ solving elliptic partial differential equations using various methods,
including hp-FEM, DGFEM, and BEM.
Constrained and Unconstrained Testing Environment, revisited, a set of tools and
test problems for testing optimization software.
A software toolkit for design optimization, uncertainty quantification, parameter
estimation, and sensitivity analysis on high performance computers.
A C++ program library targeted at adaptive finite elements and error estimation.
PC freeware for numerically solving ordinary, functional
and partial differential equations, difference equations.
Matlab software for computing a few extreme eigenvalues of the large matrix
eigenvalue problems: A x = lambda x or A x = lambda B x,
where A, B are symmetric and B is greater than 0. The program uses incomplete
factorizations to precondition an eigenvalue problem for a Krylov
subspace method and is particularly suitable for problems where
factorization of B (i.e., inverting B) or factorization of a shifted
matrix (i.e. shift-and-invert) is difficult.
Developed by Qiang Ye of the University of Kentucky.
A GUI (Graphical User Interface) that integrates MATLAB's eigs routine (ARPACK) for finding a few eigenvalues of a
large sparse matrix with the (now obsolete) Pseudospectra GUI for computing pseudospectra of matrices.
Fortran subroutine library of Fast Fourier Transforms
developed at the National Center for Atmospheric Research.
This release includes single and multiple instance
complex-to-complex and real-to-real transforms, two-dimensional
complex-to-complex and real-to-complex transforms, and a collection of
sine and cosine transforms.
An object oriented, partial differential equation solver, written in Python,
based on a standard finite volume approach.
A library of thread-safe Fortran 90 packages for large-scale nonlinear
optimization. Includes two packages for nonconvex quadratic
programming (one being interior-point based, the other is of the
active/working set variety), a quadratic programming preprocessing
package, an updated version of LANCELOT, and a number of other
subsidiary optimization-related tools.
Groups, Algorithms and Programming, a system for computational discrete algebra
with particular emphasis on computational group theory.
Parallel finite element codes for linear/nonlinear solid
mechanics and thermal fluid simulations, parallel iterative linear solver
library, partitioning subsystem, parallel visualization subsystem and
utilities for parallel I/O and coupling of multiple codes. GeoFEM is
originally developed for solid earth simulation but applicable for various
types of engineering and science applications. Written in Fortran 90 and MPI.
A generic C++ library for finite element computations.
An interactive software environment designed to facilitate the visualization
of network optimization problems, solutions, and algorithms.
A generic C++ template library for sparse, dense and skyline matrices.
Gnu Plotting Utilities
Plot utilities for generating 2D vector graphics.
Includes libplot, a C-callable or C++-callable library for generating Postscript and many other vector graphics formats.
Gnu Scientific Library
a collection of routines for numerical computing. The routines are written from scratch by the GSL
team in ANSI C, and are meant to present a modern Applications Programming Interface (API) for C programmers,
while allowing wrappers to be written for very high level languages.
High performance Basic Linear Algebra Subprograms (BLAS) for the
Intel Pentium (R) III and 4 processors, the Compaq Alpha, and the IBM Power 3.
A generic library for grid data structures and algorithms operating on them,
inspired by the success of the C++ Standard Template Library.
GrAL was developed with applications for numerical PDE (partial differential equations) solution in mind, but
the software is useful for computational geometry, geometric modeling, graphics, and geographic information
GUAVA is a package that implements coding theory algorithms in GAP.
Software with error bounds for computing the generalized Schur decomposition of
an arbitrary pencil A-zB (regular or singular). The decomposition (GUPTRI -
Generalized Upper TRIangular form) is a generalization of the Schur canonical
form of A - zI to matrix pencils and reveals the Kronecker structure of a
Fortran 77 routines for eigenvalue problems related to Hamiltonian and
Hilbert Class Library
A collection of C++ classes representing basic mathematical objects such as vectors,
linear and nonlinear operators, and functions. HCL also provides algorithms for optimization and
linear algebra implemented in terms of these basic classes.
Makers of Piologie, a C++ library for arbitrary precision arithmetic (free for non-commercial use).
Intel Performance Library Suite.
Includes Math Kernel Library (MKL) with optimized BLAS and FFTs for the
Pentium(R) Pro processor. Multiple processors are supported.
A Matlab toolbox for self-validating algorithms based on interval arithmetic.
A linear algebra library for Java, providing user-level classes for
constructing and manipulating real, dense matrices. Includes basic
matrix factorizations and facilities to solve linear systems and
A sparse matrix library for Java. Supports several sparse formats (dynamic and
static), thread-safe matrix assembly, and multi-threaded matrix/vector
operations. Includes a suite of Krylov methods and preconditioners (from the
Templates book), dense matrix decompositions such as LU, QR, SVD (from the
Jama project), and some simple eigenvalue/eigenvector solvers.
A collection of cooperating classes designed to perform matrix computations in
Java applications. Includes support for complex matrices.
A Fortran77 package for solving large constrained optimization problems.
ANSI C implementation of the Levenberg-Marquardt optimization algorithm,
including linear and box constraints.
A user-friendly package for LMI optimization. (LMI problems have matrix variables
subject to equality and positive-definiteness constraints and the objective
function is linear in these variables.
Matlab software for Large-Scale Trust-Region Subproblems and Regularization.
A command-line generator of random sparse matrices for use in testing linear algebra software.
Windows 95/NT software for plotting functions in 2D and 3D. Includes
L-systems for expressing fractal-like plots in 2D and 3D.
A Fortran 95 wrapper implementing matrix operations and
decompositions using Lapack and the Blas. Provides
the flavor and convenience of coding in matrix oriented systems like
Matlab, Octave, etc.
Matrix Toolbox for Matlab
A collection of MATLAB M-files containing functions for
constructing test matrices, computing matrix factorizations, visualizing
matrices, and carrying out direct search optimization.
An abstract (pure virtual) base C++ class which defines the interface between a generic (single-commodity) (linear)
Min Cost Flow (MCF) problem solver and application programs.
MultiLOCal Particle Swarm Optimization Algorithm) solver for AMPL.
Devoted to bound constrained optimization based on the particle swarm paradigm.
Attempts to find all the global and local optima.
Uses first derivatives of the objective function.
A modular Fortran subroutine library for finite element analysis.
Perform model reduction for finite element models developed in ANSYS.
For thermal and structural mechanics problems, the transient and
harmonic response of the FE models up to a dimension of 300 000 can often be
well approximated by a reduced model of a dimension of less than 30.
Double-double precision, quad-double precision and arbitrary precision (multiprecision) software written by
David H. Bailey (LBNL), Yozo Hida (U.C. Berkeley), and Sherry Li (LBNL).
The MUltifrontal Massively Parallel Solver is a Fortran 90 package for
solving linear systems of equations of the form A x = b, where the
matrix A is sparse and can be either unsymmetric, symmetric positive
definite, or general symmetric. Available in various arithmetics (real or
complex, single or double), and with or without MPI.
A (parallel) general purpose computer algebra system developed at the
University of Paderborn.
C library for computing the Nonequispaced Discrete Fourier Transform
(NDFT) in one, two or three dimensions.
A Unix command-line ordinary differential equation solver. An interface to Hairer's dop853 code which avoids
any C programming, so that, e.g., one may type at the shell prompt:
ode.py x.=3*y-3*x y.=-x*z+26*x-y z.=x*y-z x=0 y=1 z=10
(Object Finite Element LIbrary) is a library (or a toolkit) of C++ classes to build up finite element codes.
A finite element toolbox for Matlab based on the existing software packages MODULEF and SDT.
An object-oriented package for nonlinear optimization. Includes support
for general linear and nonlinear constraints, parallel optimization,
nonlinear interior point, direct search, nonlinear
conjugate gradient, quasi-Newton and full Newton methods.
The Optimized Sparse Kernel Interface (OSKI) Library is a collection of
low-level C primitives that provide automatically tuned computational kernels
on sparse matrices, for use in solver libraries and applications.
A thread-safe, memory efficient software for solving large sparse symmetric and
unsymmetric linear systems of equations on shared memory multiprocessors.
A parallel sparse approximate inverse preconditioner for
the iterative solution of large, sparse systems of linear equations.
The parallel Algebraic Recursive Multilevel Solver is a
package for solving large sparse linear systems on parallel computers.
An MPI-based parallel library that implements a variety of algorithms for partitioning
unstructured graphs, meshes, and for computing fill-reducing orderings for sparse
Software in ANSI C for obtaining a sequence of successive coarse grids that are well-suited for geometric
multigrid methods. Both sequential and parallel (MPI-based) versions are included.
A parallel dense linear algebra package. Includes FLAME, the Formal Linear Algebra Methods Environment, and ITXGEMM,
high performance matrix multiplication for the PIII.
Software to choose between sampling plans.
A Fortran-callable PostScript plotting library.
A Fortran 90 code RADAR5 for the numerical solution of stiff delay differential equations.
A Matlab package for analysis and solution of discrete ill-posed problems,
developed by Per Christian Hansen.
A high-level system with Matlab-like syntax for system control and signal
processing applications. Available for Unix systems as well as for Windows 95
and the Macintosh.
Tools for building problem-solving environments (PSEs) on Irix and Linux
from the Scientific Computing and Imaging Institute of the University
A software package and library devoted to sequential static mapping, graph partitioning, and
sparse matrix block ordering.
An expression calculator for Windows featuring a constants database, units converter, and solver.
A computer algebra system for polynomial computations with special emphasis on the needs of commutative
algebra, algebraic geometry, and singularity theory.
SIPAMPL and NSIPS.
SIPAMPL (Semi-Infinite Programming with AMPL) and NSIPS (Nonlinear Semi-Infinite Programming Solver)
A software library for the solution of large sparse eigenvalue problems on
parallel computers. Applicable to problems formulated in either standard or
generalized form, both Hermitian and non-Hermitian, with either real or complex
arithmetic. Built on the PETSc package.
A free MATLAB toolbox for formulating and solving sum of squares (SOS) optimization
programs. SOSTOOLS provides a high-level user interface to specify the sum of squares
programs. The problems are solved using SeDuMi, a well-known semidefinite programming
A suite of nonlinear and differential/algebraic equation solvers. Includes
CVODE, CVODES, IDA, and KINSOL.
A MATLAB package for solving first order boundary value problems for systems of
ordinary differential equations with a singularity of the first kind.
Computer algebra and symbolic manipulation system with learning. Available for
A free interactive TeX equation editor for Windows from the creators of MathType.
An ODE solver generator, Taylor reads a system of ODEs and outputs an ANSI C routine
that performs a single step of the numerical integration of these ODEs by means of the Taylor method.
The stepsize and the order is selected adaptively to keep the local error below a given threshold,
and to minimize the global computational effort.
Taylor also includes support for several extended precision arithmetics.
It was written by Maorong Zou and Àngel Jorba.
A library of sparse linear solvers in C developed by Sivan Toledo.
A free finite element program by Dennis Roddeman of the University of Innsbruck.
Toolbox of Level Set Methods.
A MATLAB toolbox of level set methods, a class of numerical algorithms for
simulating dynamic implicit surfaces and approximating of solutions to the
Hamilton-Jacobi partial differential equation.
An effort to develop parallel solver algorithms and libraries within an
object-oriented software framework for the solution of large-scale, complex
multi-physics engineering and scientific applications.
Includes solvers for linear systems, eigenvalue problems, nonlinear systems.
A C library of functions that implements two-stage scattered data fitting
methods based on local approximation with polynomials and radial basis
functions in the first stage and bivariate spline quasi-interpolation by
extension in the second stage.
Unsymmetric-pattern Multifrontal Package for real or complex sparse LU
factorization. Written in C.
A C++ implementation of lazy exact real arithmetic, an alternative to multiple-precision floating-point.
With XR no precision level is set in advance, and no computation takes place until a final
request takes place for output.
Languages and tools for problem-solving with automatic result verification.
Makers of scientific calculator (HiDigit) & graphing software (GraphSight) for Windows.
A library of subroutines and functions for
numerical and statistical analysis in Visual Basic.
Makers of FREQ!, a FoxPro application for analysing frequency distribution
Makers of SysQuake, an interactive system for the design and simulation of dynamical systems for Windows and Macs,
and LyME, a scientific application for Palm with a Matlab-compatible language.
Makers of NMath, mathematical and statistical software components for the .NET environment
(callable from any .NET language, such as C# and VisualBasic.NET).
Chikrii Softlab Ltd.
Makers of word2tex and tex2word,translators between the LaTeX mathematical
typesetting system and Microsoft Word.
Civilized Software, Inc.
Makers of MLAB, an interactive system for mathematical and statistical modeling
for PCs, Macs and Unix workstations.
Makers of graphics and statistics software for scientists and engineers, including
CoPlot, a program for creating publication-quality scientific graphs, maps, and technical
drawings, and CoStat, a program for data manipulation and statistics.
Makers of MathStar, interactive software for mathematics, science, finance and engineering.
An interactive data analysis and statistics package for Macs.
Design Science, Inc.
Developers of the MathType equation editor for Microsoft Office, WordPerfect,
ClarisWorks and other Windows and Macintosh applications.
Developers of object oriented numerical libraries for Delphi Pascal and CBuilder users.
DSP Development Corporation
Makers of DADiSP, a multipurpose graphical spreadsheet package for analyzing
and displaying data. Includes more than 500 functions, as well as a complete
National Instruments Corporation
Makers of HiQ, an interactive mathematical problem-solving environment
for Macintosh and Power Machintosh computers, and LabView, a system
for measurement analysis, signal processing, and mathematics.
Makers of Igor Pro, graphing and data analysis software for Macintosh
Wolfram Research Makers of
Mathematica, a software system for numeric, symbolic, and graphical computations, and
CalculationCenter, a mathematical problem-solving environment with a simplified user interface.
Developer of Algebrator, an educational package for the solution of problems
Developers of tutorial software for high school mathematics based on collections of examples,
problems, and solutions.
Developers of LiveMath Maker, a computer-algebra system, which through the use of a
free plug-in, allows interactivity of LiveMath notebooks embedded in Web pages, and
the MathEQ Equation Editor for mathematical expression typesetting.