Numerical Software Tools

NUMERICAL SOFTWARE TOOLS
AND INFORMATION SOURCES

Nick Trefethen, September 2025.    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
Google Scholar
Semantic Scholar
Crossref.org
arXiv Numerical Analysis
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 (na-digest.coecis.cornell.edu/)

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
Advances in Computational Mathematics
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
NumPy and SciPy
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)
JAX (docs.jax.dev/en/latest/)
SciML (Julia software)

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)
BLIS (github.com/flame/blis)

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)
mpmath in Python (mpmath.org)
Advanpix in Matlab (advanpix.com)
Also 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)
BLAS = Basic Linear Algebra Subprograms (www.netlib.org/blas)
LAPACK (www.netlib.org/lapack)
ScaLAPACK (www.netlib.org/scalapack)
ARPACK for large eigenvalue problems
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)
Matrix Market (math.nist.gov/MatrixMarket)
In Matlab: help sparfun or doc sparfun
SLEPc for HPC eigenvalue computations

Ordinary Differential Equations and Dynamical Systems
DifferentialEquations.jl
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)
M-files for spectral methods (people.maths.ox.ac.uk/trefethen/spectral.html)
FEniCS (fenicsproject.org)
Firedrake (www.firedrakeproject.org)
FreeFEM (freefem.org)
GeoPDEs
Comsol Multiphysics (= FEMLAB) (www.comsol.com)
NEKTAR++ (www.nektar.info)
Dedalus (https://dedalus-project.org)
MFEM (https://mfem.org)

Mesh Generation
Netgen (github.com/NGSolve/netgen)
gmsh (gmsh.info/)
Triangle = 2D mesh generator (www-2.cs.cmu.edu/~quake/triangle.html)
TetGen
fTetWild

Optimization
NEOS (www.neos-server.org.neos)
TAO (petsc.org/release/manual/tao/)
ROL (trilinos.github.io/rol.html)
GALAHAD (github.com/ralna/GALAHAD)
In Matlab: help optim or doc optim

Other Numerical Topics
Top 500 Supercomputer Sites (www.top500.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)
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)
laplace.m Ligtning Laplace solver (2D)
aaa.m AAA algorithm for rational approximation

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)

Graphics and Visualization
Plotly and Matplotlib Graphics for Python
https://matplotlib.org/ AVS = Advanced Visual Systems (www.avs.com)
Fieldview (www.ilight.com)
ParaView (www.paraview.org)

Return to Trefethen homepage