A list of paid, free or open source C++ (C plus plus) mathematics libraries, plugins and tools for statistics, scientific computing, gaming, linear algebra, matrixes, vectors, integers, rational numbers, floating-point numbers and geometry and more. Sourced under a creative commons. This list will be updated regularly. Email over the URL, if you wish to be included.
C++ mathematics libraries, plugins and tools
-
- Apophenia – A C library for statistical and scientific computing. [GPL2]
- Armadillo – Fast C++ library for linear algebra & scientific computing. [Apache2] website
- autodiff – A modern, fast and expressive C++ library for automatic differentiation. [MIT] website
- blaze – high-performance C++ math library for dense and sparse arithmetic. [BSD]
- Boost.Multiprecision – provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] website
- ceres-solver – C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD]
- CGAL – Collection of efficient and reliable geometric algorithms. [LGPL&GPL] website
- cml – free C++ math library for games and graphics. [Boost]
- CNL – A Compositional Numeric Library for C++. [Boost]
- DirectXMath – An all inline SIMD C++ linear algebra library for use in games and graphics apps.
- Dlib ⚡ – A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] website
- Eigen – A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2]
- ExprTk – The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT]
- Geometric Tools – C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] website
- GLM – Header-only C++ math library that matches and inter-operates with OpenGL’s GLSL math. [MIT] website
- GMTL – Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2]
- GMP – A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2]
- Klein – A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] website
- linalg.h – Single header, public domain, short vector math library for C++. [Unlicense]
- MatX – A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause]
- MIRACL – A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL]
- NumCpp – A templatized header only C++ implementation of the Python Numpy library. [MIT]
- muparser – muParser is an extensible high performance math expression parser library written in C++. [MIT]
- LibTomMath – A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] website
- linmath.h – A lean linear math library, aimed at graphics programming. [WTFPL]
- lp_solve – A library used to formulate and solve linear programming problems. [LGPL] website
- OpenBLAS – An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] website
- PCG-rand – PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache]
- QuantLib – A free/open-source library for quantitative finance. [Modified BSD] website
- StatsLib – A C++ header-only library of statistical distribution functions. [Apache2] website
- SymEngine – Fast symbolic manipulation library, a rewriting of SymPy’s core in C++. [MIT]
- TinyExpr – A C library for parsing and evaluating math expressions from strings. [zlib]
- Vc – SIMD Vector Classes for C++. [BSD]
- Versor – A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc).
- Wykobi – A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT]
- xtensor – A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] website
- universal – A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license]
Tags: c++, open source, c plus plus, c++ tools, c++ plugins, c++ libraries, c plus plus tools, c plus plus plugins, c plus plus libraries, statistics maths, scientific computing maths, gaming maths, linear algebra, matrixes, vectors, integers, rational numbers, floating-point numbers and geometry, c++ statistics maths, c++ scientific computing maths, c++ gaming maths, c++ linear algebra, c++ matrixes, c++ vectors, c++ integers, c++ rational numbers, c++ floating-point numbers, c++ geometry
Image: Unsplash License.
Portions of this text under: MIT license