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