Open-source math software
589 open-source libraries, tools and applications tagged math, ranked by how closely math is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
589 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| MDAnalysis/mdanalysis MDAnalysis is an open-source Python library for analyzing molecular dynamics simulations of many-body systems at the molecular scale. It re… | 69 | 1650 | stable |
| symforce-org/symforce SymForce is a Python/C++ library for fast symbolic computation, code generation, and tangent-space nonlinear optimization aimed at robotics… | 89 | 1646 | active |
| pavlin-policar/openTSNE openTSNE is a modular Python library implementing t-Distributed Stochastic Neighbor Embedding (t-SNE) for visualizing high-dimensional data… | 65 | 1624 | stable |
| pypose/pypose PyPose is a PyTorch-based Python library for differentiable robotics on manifolds, combining deep perceptual models with physics-based opti… | 90 | 1615 | active |
| mjaschen/phpgeo phpgeo is a PHP library providing abstractions for geographical coordinates, polylines, polygons, and bounds with support for different ell… | 72 | 1614 | active |
| HandmadeMath/HandmadeMath HandmadeMath is a single-header math library for games and computer graphics, providing vectors, matrices, and quaternions in both C and C+… | 52 | 1613 | stable |
| gorgonia/gorgonia Gorgonia is a Go library for machine learning that lets you define and evaluate mathematical equations over multidimensional arrays using a… | 23 | 5927 | maintenance |
| enkimute/ganja.js ganja.js is a JavaScript Geometric Algebra code generator that creates Clifford algebras of any signature with operator overloading and alg… | 23 | 1608 | stable |
| dfm/emcee emcee is a stable, well-tested Python implementation of the affine-invariant ensemble sampler for Markov chain Monte Carlo (MCMC) proposed … | 67 | 1603 | stable |
| bashtage/arch A Python library for financial econometrics providing ARCH/GARCH volatility models, unit root tests, cointegration analysis, bootstrapping,… | 69 | 1588 | stable |
| kevinzakka/mink mink is a Python library for differential inverse kinematics built on the MuJoCo physics engine. It solves task-space objectives as a quadr… | 85 | 1582 | active |
| koide3/direct_visual_lidar_calibration A C++ toolbox for target-less, single-shot extrinsic calibration between LiDAR sensors and cameras, supporting spinning and non-repetitive … | 70 | 1566 | stable |
| bjornharrtell/jsts JSTS is a JavaScript library of spatial predicates and functions for processing geometry conforming to the OGC Simple Features Specificatio… | 23 | 1563 | stable |
| SuiteSparse SuiteSparse is a collection of sparse matrix algorithm libraries written in C/C++, including factorization packages (UMFPACK, CHOLMOD, SPQR… | 96 | 1561 | stable |
| mapbox/polylabel A fast JavaScript (and C++) library implementing an iterative grid algorithm to find the pole of inaccessibility of a polygon — the interna… | 74 | 1558 | stable |
| fwilliams/point-cloud-utils Point Cloud Utils (pcu) is an easy-to-use Python library for processing and manipulating 3D point clouds and triangle meshes, built on C++ … | 49 | 1557 | active |
| JuliaSymbolics/Symbolics.jl Symbolics.jl is a fast, modern Computer Algebra System (CAS) written in Julia for high-performance symbolic mathematics. It supports symbol… | 95 | 1538 | active |
| FAST-LIO LI-Init is a robust, real-time initialization method for LiDAR-inertial systems that calibrates temporal offset, extrinsic parameters, grav… | 55 | 1527 | active |
| pysal/pysal PySAL is an open-source Python library for geospatial data science with an emphasis on geospatial vector data, distributed as a meta-packag… | 82 | 1526 | active |
| jealous/stockstats A Python library providing a StockDataFrame wrapper around pandas.DataFrame for computing stock statistics and technical indicators inline.… | 93 | 1523 | active |
| MarkBaker/PHPMatrix A PHP library providing a Matrix class with common linear algebra operations such as addition, multiplication, inverse, determinant, transp… | 23 | 1518 | stable |
| libgeos/geos GEOS is a C/C++ library for computational geometry on 2D vector geometries, implementing the OGC Simple Features standard. It is a port of … | 98 | 1515 | stable |
| mherb/kalman A header-only C++11 library implementing Kalman filter variants (EKF, SR-EKF, UKF, SR-UKF) built on the Eigen3 linear algebra library. User… | 32 | 1501 | stable |
| acados/acados acados is a modular C library providing fast embedded solvers for nonlinear optimal control problems, designed for real-time applications l… | 91 | 1493 | active |
| robpike/ivy Ivy is an interpreter for an APL-like array language that works as an interactive calculator. It is written in Go and supports bignum arith… | 77 | 1486 | active |
| Vector Class Library A C++ class library for using SIMD instructions (SSE, AVX, AVX-512) to improve performance on x86/x86-64 microprocessors. It provides vecto… | 76 | 1485 | stable |
| SciSharp/NumSharp NumSharp is a .NET library providing NumPy-shaped N-dimensional arrays with broadcasting, slicing views, dtype-aware math, and runtime-gene… | 92 | 1480 | active |
| mpusz/mp-units mp-units is a modern C++20/23/26 library providing compile-time-safe quantities and units of measurement, built on the ISO 80000 Internatio… | 71 | 1480 | active |
| Jounce/Surge Surge is a Swift library that wraps Apple's Accelerate framework to expose high-performance SIMD-accelerated functions for matrix math, dig… | 23 | 5325 | maintenance |
| Habrador/Computational-geometry A C# computational geometry library for Unity implementing intersection algorithms, triangulations (Delaunay, constrained Delaunay), Vorono… | 32 | 1470 | active |
| do-mpc/do-mpc do-mpc is an open-source Python toolbox for robust model predictive control (MPC) and moving horizon estimation (MHE) of nonlinear systems.… | 92 | 1464 | active |
| CDT CDT is a C++ library for generating constrained and conforming Delaunay triangulations. It is portable, dependency-free, and can be consume… | 93 | 1454 | stable |
| tuneinsight/lattigo Lattigo is a pure Go library implementing lattice-based (RLWE) homomorphic encryption schemes such as BFV/BGV and CKKS, along with their mu… | 74 | 1452 | active |
| NVIDIA/MatX MatX is a C++20 header-only numerical computing library providing NumPy-like tensor expressions for NVIDIA GPUs and multithreaded CPUs. It … | 92 | 1448 | active |
| Unidata/MetPy MetPy is a Python library of tools for reading, visualizing, and performing calculations with weather data. It is developed by NSF Unidata … | 69 | 1445 | stable |
| Unity-Technologies/Unity.Mathematics Unity.Mathematics is a C# math library providing vector types (float2, float3, float4, etc.) and math functions with an HLSL/GLSL-like synt… | 62 | 1440 | active |
| trilinos/Trilinos Trilinos is a collection of C++ libraries and an object-oriented software framework for solving large-scale, complex multi-physics engineer… | 98 | 1439 | stable |
| CliMA Earth System Model Oceananigans.jl is a Julia package for fast, flexible finite-volume simulations of incompressible fluid dynamics, solving nonhydrostatic an… | 95 | 1439 | active |
| paul-buerkner/brms brms is an R package providing a formula-based interface (similar to lme4) for fitting Bayesian generalized (non-)linear multivariate multi… | 66 | 1430 | stable |
| Auburn/FastNoise2 FastNoise2 is a modular, node graph based procedural noise generation library written in modern C++17 with SIMD acceleration. It supports P… | 86 | 1421 | stable |
| SymEngine SymEngine is a standalone fast C++ symbolic manipulation (computer algebra) library. It offers thin wrappers for other languages such as Py… | 83 | 1416 | active |
| mratsim/Arraymancer Arraymancer is a fast, ergonomic N-dimensional tensor (ndarray) library written in Nim, inspired by NumPy and PyTorch. It provides CPU, CUD… | 57 | 1407 | active |
| CUDA Core Compute Libraries Thrust is a C++ parallel algorithms library providing an STL-like high-level interface for GPU and multicore CPU computing, built on CUDA, … | 10 | 5001 | maintenance |
| davideberly/GeometricTools The Geometric Tools Engine (GTE) is a C++14 collection of source code for computing in mathematics, geometry, graphics, image analysis, and… | 77 | 1386 | active |
| pantor/ruckig Ruckig is a C++ (with Python bindings) motion generation library that calculates jerk-constrained, time-optimal trajectories on-the-fly for… | 82 | 1380 | active |
| justcoding121/advanced-algorithms A C# library with 100+ generically implemented computer science algorithms and data structures, including trees, heaps, sorting, and graph … | 95 | 1376 | active |
| giacomelli/GeneticSharp GeneticSharp is a fast, extensible, multithreading C# genetic algorithm library for .NET 6, .NET Standard, and .NET Framework applications.… | 43 | 1376 | stable |
| Mugen87/yuka Yuka is a standalone JavaScript library for developing Game AI, providing autonomous agent design, steering behaviors, navigation meshes, p… | 74 | 1369 | stable |
| jfalcou/eve EVE is a C++20 header-only library providing a type-based, high-abstraction wrapper over SIMD instruction sets (SSE/AVX-512, NEON/SVE, Alti… | 68 | 1364 | active |
| CMA-ES/pycma pycma is a Python implementation of the CMA-ES (Covariance Matrix Adaptation Evolution Strategy) derivative-free optimization algorithm, al… | 92 | 1361 | stable |
| ridiculousfish/libdivide libdivide is a single-header C/C++ library that replaces expensive integer division instructions with precomputed multiply-and-shift sequen… | 83 | 1359 | stable |
| fortls - Fortran Language Server A community-driven de facto standard library for Fortran, providing utilities, algorithms, and mathematical routines missing from the ISO F… | 86 | 1354 | active |
| silentmatt/expr-eval expr-eval is a JavaScript library that parses and evaluates mathematical expressions, designed as a safer, math-oriented alternative to Jav… | 32 | 1353 | stable |
| msteinbeck/tinyspline TinySpline is a small ANSI C library for interpolating, transforming, and querying NURBS, B-Splines, and Bézier curves, with a C++ object-o… | 23 | 1352 | stable |
| owlbarn/owl Owl is an OCaml library for scientific and engineering computing, providing n-dimensional arrays, linear algebra, statistics, optimization,… | 62 | 1351 | active |
| peterdsharpe/AeroSandbox AeroSandbox is a Python library for designing and optimizing aircraft and other engineered systems using automatic differentiation. It prov… | 75 | 1344 | active |
| enthought/pyql PyQL provides Cython-based Python wrappers over the QuantLib C++ quantitative finance library, exposing objects like Date and Calendar with… | 70 | 1344 | active |
| paupino/rust-decimal A pure Rust decimal number type providing exact fixed-precision arithmetic with a 96-bit integer mantissa, scaling factor, and sign. It is … | 92 | 1343 | stable |
| HSLuv HSLuv is a human-friendly alternative to HSL built on the perceptually uniform CIELUV color space, with a reference implementation written … | 73 | 1343 | stable |
| Geometry Central Geometry Central is a modern C++ library of data structures and algorithms for geometry processing, with a particular focus on surface mesh… | 71 | 1339 | stable |
| pykalman/pykalman pykalman is a Python library implementing the Kalman Filter, Kalman Smoother, Unscented Kalman Filter, and EM algorithm for state estimatio… | 69 | 1334 | active |
| loco-3d/crocoddyl Crocoddyl is an open-source optimal control library for robot control under contact sequences, computing optimal trajectories and feedback … | 87 | 1321 | active |
| ZJU-FAST-Lab/GCOPTER GCOPTER is a general-purpose trajectory optimizer for multicopters built on the sparse MINCO trajectory representation. It supports user-de… | 32 | 1306 | active |
| bambinos/bambi Bambi is a high-level Bayesian model-building interface for Python built on top of the PyMC probabilistic programming framework. It uses a … | 93 | 1303 | active |
| cvxgrp/cvxportfolio Cvxportfolio is an object-oriented Python library for portfolio optimization and back-testing, implementing the convex-optimization trading… | 55 | 1300 | active |
| itorr/homo A novelty JavaScript library that decomposes any number into an arithmetic formula built entirely from the number 114514. It ships as a sma… | 32 | 1298 | stable |
| e2nIEE/pandapower pandapower is an open-source Python library for power system modeling, analysis, and optimization, built on pandas and PYPOWER. It provides… | 99 | 1297 | stable |
| cnr-isti-vclab/vcglib VCGlib is a templated, header-only C++ library with no external dependencies for manipulating, processing, cleaning, and simplifying triang… | 67 | 1295 | stable |
| e3nn/e3nn e3nn is a Python/PyTorch library for building E(3)-equivariant neural networks that respect 3D rotation, translation, and mirror symmetries… | 64 | 1288 | active |
| argmin-rs/argmin argmin is a numerical optimization library written entirely in pure Rust, offering a wide range of optimization algorithms behind a consist… | 54 | 1277 | active |
| thieu1995/mealpy Mealpy is a Python library providing a large collection (233+) of state-of-the-art metaheuristic optimization algorithms, including nature-… | 73 | 1276 | active |
| corsix/amx A C library and documentation of Apple's undocumented AMX (Apple Matrix eXtension) instructions found on M1-M4 Apple Silicon chips, enablin… | 32 | 1275 | active |
| lucasb-eyer/go-colorful A Go library for storing, converting, and manipulating colors across many color spaces including RGB, HSL, HSV, hex, CIE-Lab, CIE-Luv, HCL,… | 82 | 1260 | stable |
| PyDMD/PyDMD PyDMD is a Python package implementing Dynamic Mode Decomposition (DMD) and its many variants (mrDMD, HODMD, etc.) for extracting spatiotem… | 56 | 1260 | active |
| iliekturtles/uom uom is a Rust crate providing type-safe, zero-cost dimensional analysis with a pre-built International System of Units (SI) and support for… | 54 | 1258 | stable |
| KaisenAmin/c_std A pure C17 library that reimplements a large slice of the C++ Standard Library (containers, algorithms, smart pointers) plus Python-style u… | 72 | 1252 | active |
| Stock Indicators A C# NuGet library (FacioQuo.Stock.Indicators, formerly Skender.Stock.Indicators) that transforms historical OHLCV price bars from equities… | 95 | 1248 | active |
| wannesm/dtaidistance A Python library for computing time series distances, most notably Dynamic Time Warping (DTW), with a fast C implementation exposed via Cyt… | 84 | 1248 | stable |
| scikit-bio scikit-bio is an open-source, BSD-licensed Python library providing data structures, algorithms, and educational resources for bioinformati… | 89 | 1246 | active |
| form-dev/form FORM is a symbolic manipulation system written in C that reads symbolic expressions from files and performs algebraic transformations, outp… | 89 | 1244 | active |
| FenTechSolutions/CausalDiscoveryToolbox A Python library for causal inference in graphs and pairwise settings, implementing many algorithms for graph structure recovery from obser… | 49 | 1242 | active |
| lmfit/lmfit-py lmfit is a pure Python library built on SciPy and NumPy for non-linear least-squares minimization and curve fitting. It wraps scipy.optimiz… | 70 | 1241 | stable |
| indutny/bn.js bn.js is a pure JavaScript arbitrary-precision integer (BigNum) arithmetic library supporting addition, multiplication, modular reduction, … | 60 | 1230 | stable |
| python-adaptive/adaptive Adaptive is an open-source Python library for parallel active learning of mathematical functions. It intelligently selects the most informa… | 87 | 1229 | active |
| rvanwijnen/spectral.js Spectral.js is a lightweight JavaScript library for realistic paint-like color mixing based on the Kubelka-Munk theory, simulating how pigm… | 45 | 1228 | active |
| chrisveness/geodesy A JavaScript library of geodesy functions covering distances, bearings, and coordinate conversions on spherical and ellipsoidal earth model… | 32 | 1227 | stable |
| num A meta-crate for Rust that re-exports a collection of numeric types and traits, including big integers, rationals, complex numbers, and gen… | 70 | 1226 | stable |
| jbikker/tinybvh TinyBVH is a single-header, dependency-free C++ library for fast Bounding Volume Hierarchy (BVH) construction and ray traversal on CPU and … | 67 | 1225 | active |
| FEniCSx DOLFINx is the next-generation computational environment of the FEniCS Project, implemented in C++ with Python bindings, for solving partia… | 93 | 1222 | active |
| mpmath/mpmath mpmath is a pure-Python library for arbitrary-precision real and complex floating-point arithmetic with no required dependencies beyond Pyt… | 88 | 1222 | stable |
| PoseLib/PoseLib PoseLib is a C++ library of minimal solvers for calibrated camera pose estimation, covering absolute and relative pose from point and line … | 66 | 1217 | active |
| Mathics3/mathics-core Mathics3 Core is the kernel of Mathics3, a free open-source computer algebra system with Mathematica-compatible syntax. It provides Python … | 83 | 1216 | active |
| hasktorch/hasktorch Hasktorch is a Haskell library for tensor math and neural networks, built on bindings to the C++ libtorch libraries that power PyTorch. It … | 73 | 1216 | active |
| i2Nav-WHU/KF-GINS KF-GINS is an open-source C++ implementation of an EKF-based GNSS/INS loosely-coupled integrated navigation system, developed by Wuhan Univ… | 67 | 1215 | active |
| SamiPerttu/fundsp FunDSP is a Rust library for audio processing and digital signal synthesis with a composable inline graph notation for building audio netwo… | 60 | 1214 | active |
| JuliaNLSolvers/Optim.jl Optim.jl is a pure-Julia library for univariate and multivariate function optimization, focused on unconstrained local minimization with al… | 94 | 1207 | stable |
| pymc-labs/CausalPy CausalPy is a Python package for causal inference in quasi-experimental settings, offering methods like difference-in-differences, syntheti… | 91 | 1207 | active |
| roboticslibrary/rl A self-contained C++ library for rigid body kinematics and dynamics, motion planning, collision detection, and robot control. It includes h… | 26 | 1206 | stable |
| JuliaStats/Distributions.jl A Julia package providing a comprehensive collection of probability distributions and associated functions. It implements moments, entropy,… | 97 | 1205 | stable |
| CNugteren/CLBlast CLBlast is a lightweight, tunable OpenCL BLAS library written in C++11 that implements basic linear algebra subprograms for vectors and mat… | 77 | 1193 | stable |