Library developers have a separate reflector for discussing possible standard interfaces for scientific computing components in C++. The archive is available, sorted by thread, date, subject or author.
There's also a list for C++ on high performance parallel computers, called mpp-cxx.
-->
To subscribe or unsubscribe, please visit this page.
tvmet, a C++ library for "tiny" vectors and matrices with expression templates.
GMM++, generic C++ template library for sparse, dense and skyline matrices, with solvers from ITL.
dnAnalytics, C# numerics library, linear algebra, BLAS interface.
MET, a C++ matrix library with expression templates, which eliminates the overhead of overloaded operators.
SL++, the Scientific Library project. Will provide matrices, random numbers, complex, quaternions, plotting, and FFTs. C++.
Seldon, C++ library for linear algebra with BLAS interface. Many matrix types (sparse, symmetric, hermitian, etc.) are supported.
ALP, linear and polynomial algebra. Vectors, matrices, polynomials.
SVMT: E. Robert Tisdale's proposal for a standard C++ Scalar, Vector, Matrix and Tensor Class Library (with implementation). Note: this is a proposal, not an official standard.
GNUSSL [ftp only], the GNU Scientific Software Library. Linear algebra and arrays. C++.
SparseLib++ A library for sparse matrix computations, including the Sparse BLAS (Basic Linear Algebra Subprograms). C++.
ISIS++, an object-oriented framework for solving sparse linear systems of equations. C++.
ARPACK++, a C++ template library for solving large-scale standard and generalized eigenvalue problems.
The Template Numerical Toolkit (TNT) for linear algebra is a successor to the Lapack++, Sparselib++, IML++, and MV++ packages. Its goal is to integrate these ideas into a generic algorithmic library, supporting generic user-defined data types, and increasing its functionality. C++.
LinAlg, basic linear algebra and optimization classes. C++. <!--
MatClass, general-purpose real, dense matrix; includes decompositions. C++.
valarray<Troy> [ftp only], approximation of the valarray<T> class described in Ch. 26 of the ANSI/ISO C++ Standard. Uses expression templates for efficient evaluation.
Tech-X has made available C++ libraries related to particle accelerator design.
Multiprecision, arbitrary precision data types
NTL, arbitrary length integers, vectors/matrices/polynomials over integers and over finite fields.
EXTNUM, version of double which has the same number of mantissa bits as IEEE 754, but extends the exponent to have range from 10^-646456993 to 10^646456992.
CLN, an extensive number library. Arbitrary precision integer, float, rational, polynomials, complex, modular integers, transcendental functions, assembly language kernels for some CPUs.
MUNTL, Multiprecision unsigned number template library (C++).
MPFUN++, a multiple precision floating point computation package in C++.
LiDIA, A library for computational number theory. Provides a collection of highly optimized implementations of various multiprecision data types and time-intensive algorithms.
Apfloat, a C++ High Performance Arbitrary Precision Arithmetic Package
hfloat, An arbitrary precision package, optimized for very large (> 1000) (decimal) digit numbers.
fPoint, a C++ class which helps convert floating-point arithmetic to fixed-point arithmetic by recommending range and precision requirements.
doubledouble, a quad-precision (approximately 30 decimal place) floating point arithmetic class.
EXPDE, a C++ library for solving partial differential equations on semi-unstructured grids. Parallel.
PZ, a C++ library for finite elements. 1-3 dimensions with hp-adaptivity, continuous or discontinuous, variety of matrix formats.
MBDyn, multibody dynamics analysis in C++. Built-in parallelization via MPI/Metis.
P2MESH, 2D finite volume/finite elements, C++ library designed for fast prototyping of high-performance PDE solvers.
Femlisp, a Common Lisp framework for Finite Element Methods.
GETFEM++, a C++ finite element library, generic, arbitrary dimensions.
MOUSE, a C++ library for finite volume computations on unstructured grids.
DEAL, a C++ library for adaptive finite elements and error estimation. Supports SMPs.
ODE++, a class library for ordinary differential equations. Explicit and linear-implicit ODE systems, IVP and BVP parameters, various solvers (Runge-Kutta, multistep, BDF). [English] [Deutsch] <!--
PETSc, object-oriented software for partial differential equations (programmed in C)
Diffpack, partial differential equations in C++. ($)
TIDE: Classes for Ordinary Differential Equations. Provides vectors and matrices, extrapolation integrator for ODEs, sparse matrix classes, eigenvalues, shooting for two point BVPs, nonlinear solver, continuation
BoxLib/CCSE Applications Suite (docs), a class library supporting adaptive mesh refinement (AMR) schemes for computational fluid dynamics.
OVERTURE, a C++ class library for solving PDEs in complicated domains. Includes adaptive mesh refinement and overlapping grids.
FEMLIB (ftp, www) A Finite Element package [ftp only] by Michael Tiller (BROKEN LINK, no longer supported)
Automatic differentiation and interval arithmetic
Gaol, C++ library for interval arithmetic. Includes methods for interval constraint solvers.
FADBAD-TADIFF, a C++ package for automatic differentiation using any arithmetic (double or interval) by operator overloading.
PROFIL/BIAS [English] [Deutsch], a C++ interval arithmetic class library.
SWIG, generates Perl, Python, Tcl, Java, Eiffel and Guile wrappers for C++ libraries.
SILOON (Scripting Interface Languages for Object-Oriented Numerics), toolkits and run-time support for building scripting interfaces to existing numerical codes in C, C++, and Fortran. Generates script bindings for Perl, Tcl, and Python.
Matwrap, a tool which generates C++ wrapper code for matrix-oriented scripting languages such as Matlab 5, Octave, and tela.
Transforms
FFTPACK++, a C++ wrapper for FFTPACK complex routines using LAPACK++ Matrix and Vector classes.
The FXT library of transforms. FFTs, Hartley, Number theoretic, Walsh, others coded in C++.
C-XSC: A C++ Class Library for Extended Scientific Computing (A C++ interval methods class library)
Siscat, C++ software for scattered data approximation <!--
ObjectSuite, from Visual Numerics, includes Math, Signal Processing, and Chart modules for C++.
-->
JNL, A numerical language/library proposal for Java from Visual Numerics.
LIA,GIA,ICE libraries for interval methods in C++ from Delisoft Ltd. Includes interval arithmetic, global optimization, and solving nonlinear equations.
ISCOPE'99: International Symposium on Computing in Object-oriented Parallel Environments, December 7-10 1999, San Francisco, California
POOSC'99 Workshop on Parallel/High-performance Object-Oriented Scientific Computing at the European Conference on Object-Oriented Programming (ECOOP'99), Lisbon, Portugal, June 14-18.