Numerical Software Tools

NUMERICAL SOFTWARE TOOLS
AND INFORMATION SOURCES

Nick Trefethen, October 2019.    See people.maths.ox.ac.uk/trefethen/tools.html.

Software Repositories
Netlib (www.netlib.org)
NHSE = National HPCC Software Exchange (wotug.org/parallel/nhse)
CALGO = Collected Algorithms of the ACM (calgo.acm.org)
GitHub the dominant open-source repository (https://github.com)

Information Portals
swMATH modern style search capabilities (https://swmath.org)
GAMS = NIST Guide to Available Mathematical Software (gams.nist.gov)
MathSciNet (mathscinet.ams.org)
NA Digest weekly online bulletin (www.netlib.org/na-digest-html)

Numerical Analysis Journals
ACM Transactions on Mathematical Software
Acta Numerica
Foundations of Computational Mathematics
IMA Journal of Numerical Analysis
Journal of Computational and Applied Mathematics
Journal of Computational Physics
Mathematics of Computation
Numerische Mathematik
SIAM Journal on Matrix Analysis and Applications
SIAM Journal on Numerical Analysis
SIAM Journal on Scientific Computing
SIAM Review

General-Purpose Libraries
NAG (www.nag.co.uk)
IMSL (www.roguewave.com/products-services/imsl-numerical-libraries)
HSL Mathematical Software Library (www.hsl.rl.ac.uk)
Numerical Recipes (http://numerical.recipes/)
GNU Scientific Library (www.gnu.org/software/gsl)

Wilkinson Software Prizes
DASSL (and DASPK) = Differential Algebraic Equation Solver (https://cse.cs.ucsb.edu/software)
ADIFOR = Automatic Differentiation of Fortran (www.mcs.anl.gov/adifor)
FFTW = Fastest Fourier Transform in the West (www.fftw.org)
Triangle = 2D mesh generator (www-2.cs.cmu.edu/~quake/triangle.html)
deal.II = finite element library (www.dealii.org)
Ipopt = Interior Point Optimizer (https://github.com/coin-or/Ipopt)
dolfin-adjoint = automatic derivation of adjoint models (www.dolfin-adjoint.org)
Julia = programming language (https://julialang.org)

Symbolic and Extended Precision Computation
Maple (www.maplesoft.com)
Mathematica (www.wolfram.com)
PARI/GP (pari.math.u-bordeaux.fr)
GMP = GNU Multiple Precision (gmplib.org)
In Matlab: help symbolic or doc symbolic, help vpa or doc vpa

MATLAB for Gourmets
Scilab = open-source analog of Matlab (www.scilab.org)
GNU Octave = another open-source analog of Matlab (www.gnu.org/software/octave)
MATLAB Central (www.mathworks.com/matlabcentral/)
...and of course there are also other languages including Julia and Python/SciPy

Linear Algebra
SuiteSparse (http://faculty.cse.tamu.edu/davis/suitesparse.html)
Freely available software (www.netlib.org/utk/people/JackDongarra/la-sw.html)
BLAS = Basic Linear Algebra Subprograms (www.netlib.org/blas)
LAPACK (www.netlib.org/lapack)
ScaLAPACK (www.netlib.org/scalapack)
ARPACK for large eigenvalue problems (www.caam.rice.edu/software/ARPACK)
EigTool for nonsymmetric eigenvalues and pseudospectra (https://github.com/eigtool/eigtool)
Templates for the Solution of Linear Systems (www.netlib.org/linalg/html_templates/Templates.html)
Templates for the Solution of Algebraic Eigenvalue Problems (www.cs.utk.edu/~dongarra/etemplates)
AZTEC = A Massively Parallel Iterative Solver Library for Solving Sparse Linear Systems (www.cs.sandia.gov/CRF/aztec1.html)
Eigen (eigen.tuxfamily.org/index.php?title=Main_Page)
Matrix Market (math.nist.gov/MatrixMarket)
In Matlab: help sparfun or doc sparfun

Ordinary Differential Equations and Dynamical Systems
ODEPACK (www.netlib.org/odepack)
Exploring ODEs (freely available at people.maths.ox.ac.uk/trefethen/ExplODE, solves IVPs and BVPs in Chebfun)

Partial Differential Equations
CLAWPACK for conservation laws (depts.washington.edu/clawpack)
PLTMG 2D elliptic PDE package (www.scicomp.ucsd.edu/~reb/software.html)
M-files for spectral methods (people.maths.ox.ac.uk/trefethen/spectral.html)
FEniCS (fenicsproject.org)
Firedrake (www.firedrakeproject.org)
FreeFEM (freefem.org)
Comsol Multiphysics (= FEMLAB) (www.comsol.com)
NEKTAR++ (www.nektar.info)

Optimization
NEOS (www.neos-server.org.neos)
Decision Tree for Optimization Software (plato.la.asu.edu/guide.html)
In Matlab: help optim or doc optim

Other Numerical Topics
Top 500 Supercomputer Sites (www.top500.org)
MGNET = Multigrid/multilevel/multiscale... Network (www.mgnet.org)
Digital Library of Mathematical Functions (dlmf.nist.gov)
The Mathematical Functions Grimoire (http://fungrim.org/)

Computational Fluid Dynamics
CFD Online (www.cfd-online.com)
FLUENT (www.ansys.com/Products)
OpenFOAM (www.openfoam.com)

Statistics
R (www.r-project.org)
SAS (www.sas.com)
In Matlab: help stats or doc stats

Computation on the Web
NEOS Server for Optimization (www.neos-server.org/neos)
NetSolve/GridSolve (www.cs.utk.edu/netsolve)
On-line Encylopedia of Integer Sequences (oeis.org)
WolframAlpha (www.wolframalpha.com)

Chef's Choice
Schwarz-Christoffel Toolbox for MATLAB (www.math.udel.edu/~driscoll/SC)
Chebfun numerical computing with functions in 1D/2D/3D (www.chebfun.org)

High-Performance Computing
PETSc = Portable, Extensible Toolkit for Scientific Computation (www.mcs.anl.gov/petsc)
hpc netlib = High-Performance Netlib (wotug.org/parallel/nhse/hpc-netlib)
MPI = Message-Passing Interface (for distributed memory computers) (www.open-mpi.org)
OpenMP (for shared memory computers) (www.openmp.org)
ATLAS = Automatically Tuned Linear Algebra Software (math-atlas.sourceforge.net)
ARC = Oxford Advanced Research Computing (www.arc.ox.ac.uk)

Graphics and Visualization
IRIS Explorer (www.nag.com/welcome_iec.asp)
AVS = Advanced Visual Systems (www.avs.com)
Fieldview (www.ilight.com)
ParaView (www.paraview.org)

Return to Trefethen homepage