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 |
|---|---|---|---|
| CamDavidsonPilon/lifelines lifelines is a pure Python library for survival analysis, including Kaplan-Meier and Nelson-Aalen estimators and Cox regression models. It … | 71 | 2613 | stable |
| Earcut Earcut is a fast, tiny (4KB gzipped) JavaScript polygon triangulation library implementing a modified ear-slicing algorithm optimized with … | 99 | 2606 | stable |
| jpcy/xatlas xatlas is a small C++11 library with no external dependencies that generates unique texture coordinates (UV unwrapping) for 3D meshes. It i… | 32 | 2582 | stable |
| sarah-quinones/faer-rs faer is a pure Rust linear algebra library providing low-level routines and a high-level ergonomic wrapper for dense matrix computations. I… | 80 | 2573 | active |
| SageMath SageMath is a free, open-source mathematics software system built on Python that integrates many existing libraries (NumPy, SciPy, SymPy, M… | 89 | 2567 | stable |
| BrunoLevy/geogram Geogram is a C++ programming library of geometric algorithms for geometry processing, including surface reconstruction, remeshing, Boolean … | 93 | 2558 | stable |
| simbody/simbody Simbody is a high-performance open-source C++ multibody dynamics library for science- and engineering-quality simulation of articulated mec… | 66 | 2552 | stable |
| pydata/numexpr NumExpr is a fast numerical expression evaluator for NumPy arrays that compiles expressions like '3*a+4*b' into op-codes executed by an int… | 93 | 2542 | stable |
| CUDA Core Compute Libraries CUDA Core Compute Libraries (CCCL) is NVIDIA's unified repository for Thrust, CUB, and libcudacxx, providing high-performance C++ abstracti… | 99 | 2541 | active |
| Pyomo/pyomo Pyomo is a Python-based open-source algebraic modeling language for formulating, solving, and analyzing structured optimization problems. I… | 85 | 2537 | stable |
| orlp/pdqsort Pattern-defeating quicksort (pdqsort) is a C++ sorting algorithm library that combines quicksort's fast average case with heapsort's fast w… | 32 | 2507 | stable |
| ta4j ta4j is an open-source Java library for technical analysis of financial time series. It provides a typed, composable model of bars, indicat… | 99 | 2501 | active |
| AngusJohnson/Clipper2 Clipper2 is a polygon clipping, offsetting, and triangulation library available in C++, C#, and Delphi. It performs boolean operations (int… | 70 | 2496 | active |
| coin-or/pulp PuLP is a Python library for modeling linear and mixed integer programming (LP/MILP) problems. It lets users define optimization models wit… | 93 | 2488 | active |
| jump-dev/JuMP.jl JuMP is a domain-specific modeling language for mathematical optimization embedded in Julia. It lets users formulate linear, mixed-integer,… | 95 | 2484 | stable |
| skfolio/skfolio skfolio is a Python library for portfolio optimization, factor model construction, and risk management built on top of scikit-learn. It pro… | 88 | 2446 | active |
| BelfrySCAD/BOSL2 BOSL2 is a large OpenSCAD library providing shapes, masks, attachments, rounding/filleting tools, math utilities, and shorthands to simplif… | 100 | 2415 | active |
| markrogoyski/math-php MathPHP is a pure PHP math library with no external dependencies covering statistics, probability distributions, linear algebra, numerical … | 56 | 2410 | active |
| QuantEcon/QuantEcon.py QuantEcon.py is an open-source Python library for quantitative economics, providing routines for dynamic programming, Markov chain analysis… | 98 | 2405 | active |
| PyWavelets/pywt PyWavelets is an open-source Python library for wavelet transforms, offering discrete, stationary, wavelet packet, and continuous wavelet t… | 84 | 2402 | stable |
| mourner/simplify-js Simplify.js is a tiny, high-performance JavaScript library for 2D/3D polyline simplification, extracted from Leaflet. It combines the Dougl… | 23 | 2395 | stable |
| Hedgehog-Computing/hedgehog-lab Hedgehog Lab is an open-source scientific computing environment that runs entirely in the browser, offering JavaScript-based matrix operati… | 23 | 2389 | active |
| google/neural-tangents Neural Tangents is a Python library built on JAX for defining, training, and evaluating neural networks of both finite and infinite width. … | 10 | 2385 | stable |
| elalish/manifold A C++ geometry library for creating and operating on manifold triangle meshes that represent solid objects, with guaranteed topologically r… | 99 | 2355 | stable |
| geogebra/geogebra GeoGebra is a suite of interactive mathematics applications including graphing calculators, geometry tools, a 3D calculator, a scientific c… | 76 | 2349 | active |
| MIT-SPARK/TEASER-plusplus TEASER++ is a fast and certifiably-robust C++ library for rigid body point cloud registration in 3D, with Python and MATLAB bindings. It es… | 44 | 2346 | stable |
| jgaeddert/liquid-dsp liquid-dsp is a free and open-source digital signal processing library written in C, designed specifically for software-defined radios on e… | 94 | 2317 | stable |
| casadi/casadi CasADi is an open-source symbolic framework for gradient-based numerical optimization, implementing forward and reverse mode automatic diff… | 93 | 2307 | stable |
| stevengj/nlopt NLopt is a C library providing a unified interface to many free/open-source algorithms for nonlinear local and global optimization, with or… | 85 | 2283 | stable |
| MFEM MFEM is a lightweight, modular C++ library for finite element discretization of PDEs, supporting arbitrary high-order element spaces, adapt… | 85 | 2258 | stable |
| proj4js/proj4js Proj4js is a JavaScript library for transforming point coordinates between coordinate reference systems, including datum transformations. I… | 95 | 2244 | stable |
| locationtech/jts The JTS Topology Suite is a Java library for creating and manipulating vector geometry, providing a comprehensive set of geometry algorithm… | 66 | 2241 | stable |
| qiao/PathFinding.js A comprehensive JavaScript path-finding library for 2D grid-based games, implementing algorithms such as A*, IDA*, BFS, Best-First Search, … | 23 | 8715 | maintenance |
| scandum/quadsort Quadsort is a branchless stable adaptive merge sort implemented in C, designed to outperform quicksort on many workloads. It uses a quad sw… | 32 | 2204 | active |
| OSQP OSQP is a C library for solving convex quadratic programs using an ADMM-based operator splitting method, with interfaces to Python, Julia, … | 47 | 2201 | stable |
| brick/math A PHP library for arbitrary-precision arithmetic providing BigInteger, BigDecimal, and BigRational classes. It automatically uses the faste… | 96 | 2175 | stable |
| PyPSA/PyPSA PyPSA is an open-source Python framework for optimising and simulating power and energy systems, covering conventional generators with unit… | 95 | 2162 | stable |
| serge-sans-paille/pythran Pythran is an ahead-of-time compiler that translates a subset of Python, focused on scientific computing with NumPy, into fast native C++ e… | 75 | 2144 | active |
| cvxpy/cvxpylayers CVXPYlayers is a Python library for constructing differentiable convex optimization layers in PyTorch, JAX, and MLX using CVXPY. It solves … | 90 | 2141 | active |
| geatpy-dev/geatpy Geatpy is a high-performance genetic and evolutionary algorithm toolbox for Python supporting single-objective, multi-objective, and many-o… | 49 | 2122 | active |
| patrick-kidger/diffrax Diffrax is a JAX-based library providing numerical differential equation solvers for ODEs, SDEs, and CDEs. It is fully autodifferentiable a… | 80 | 2106 | active |
| tgdwyer/WebCola WebCola is a JavaScript/TypeScript library for constraint-based graph layout, producing high-quality interactive graph visualizations in th… | 55 | 2098 | stable |
| deepcharles/ruptures ruptures is a Python library for offline change point detection in non-stationary signals. It provides exact and approximate detection algo… | 67 | 2096 | active |
| python-control/python-control A Python library implementing basic operations for analysis and design of feedback control systems. It provides linear I/O system modeling,… | 63 | 2086 | stable |
| Rand Rand is a set of Rust crates providing random number generation, including a standard RNG trait, fast pseudo-random and cryptographically-s… | 96 | 2085 | stable |
| uber/orbit Orbit is a Python package for Bayesian time series forecasting and inference with an initialize-fit-predict interface. It uses probabilisti… | 77 | 2079 | stable |
| bitshifter/glam-rs glam is a fast linear algebra library for Rust providing vectors, matrices, quaternions, and affine transformation types for games and grap… | 76 | 2071 | stable |
| inducer/pycuda PyCUDA is a Python wrapper giving Pythonic access to Nvidia's CUDA parallel computation API, including GPUArray multidimensional arrays and… | 78 | 2052 | active |
| igraph igraph is a C library for complex network analysis and graph theory, emphasizing efficiency, portability, and ease of use. It offers bindin… | 76 | 2012 | stable |
| stclib/STC STC is a generic, type-safe, high-performance container and algorithm library for C99/C11, providing strings, vectors, maps, sets, deques, … | 66 | 1987 | active |
| mborgerding/kissfft KISS FFT is a mixed-radix Fast Fourier Transform library written in C that supports fixed-point and floating-point data types. It is design… | 65 | 1984 | stable |
| autodiff/autodiff autodiff is a C++17 library for automatic differentiation that computes derivatives of functions efficiently using forward mode (dual numbe… | 23 | 1960 | active |
| georust/geo A Rust crate providing geospatial primitive types (Point, LineString, Polygon) and a broad set of spatial algorithms including boolean oper… | 77 | 1947 | stable |
| codeplea/tinyexpr TinyExpr is a small recursive descent parser, compiler, and evaluation engine for math expressions in C. It ships as a single source and he… | 95 | 1936 | stable |
| KFR KFR is a fast, modern C++ digital signal processing framework providing FFT/DFT, FIR/IIR/biquad filter design and processing, sample rate c… | 95 | 1931 | stable |
| raphaelvallat/pingouin Pingouin is an open-source Python 3 statistical package built on Pandas and NumPy that provides simple yet exhaustive statistical tests. It… | 82 | 1931 | active |
| brick/money A PHP library providing immutable Money and Currency classes with exact arithmetic and explicit rounding control, built on brick/math. It s… | 98 | 1930 | active |
| GPflow/GPflow GPflow is a Python library for building Gaussian process models on top of TensorFlow 2 and TensorFlow Probability. It implements modern Gau… | 95 | 1921 | active |
| PaddiM8/kalker Kalker is a scientific calculator CLI and web app written in Rust with math-like syntax, supporting user-defined variables and functions, c… | 81 | 1917 | active |
| LAPACK LAPACK is a reference library of Fortran subroutines for solving common numerical linear algebra problems such as linear equations, eigenva… | 68 | 1912 | stable |
| Rhymond/go-money A Go library implementing Fowler's Money pattern for precise monetary value handling using currency smallest units (integer cents). It prov… | 55 | 1912 | stable |
| gradientspace/geometry3Sharp geometry3Sharp is an open-source (Boost license) C# library for 2D/3D geometric computation and triangle mesh algorithms, with transparent … | 56 | 1901 | active |
| ashvardanian/NumKong NumKong is a mixed-precision numeric and linear-algebra library with ~2,000 SIMD-accelerated kernels for dot products, distances, matrix mu… | 93 | 1899 | active |
| cpmech/gosl Gosl is a Go scientific library providing linear algebra, eigenvalue solvers, FFTs, random numbers, probability distributions, optimization… | 98 | 1884 | active |
| ERGO-Code/HiGHS HiGHS is a high-performance open-source solver for large-scale sparse linear optimization problems, supporting linear programming (LP), con… | 90 | 1878 | active |
| apple/swift-numerics Swift Numerics is an Apple-maintained Swift package providing advanced mathematical types and functions such as complex numbers for numeric… | 69 | 1878 | active |
| mkazhdan/PoissonRecon An implementation of Poisson Surface Reconstruction for turning oriented point clouds into watertight 3D meshes, evolved into a general ada… | 55 | 1858 | stable |
| golang/geo A Go library implementing the S2 spherical geometry system for representing and manipulating geometric shapes on a sphere. It provides regi… | 77 | 1854 | stable |
| graphhopper/jsprit jsprit is a Java-based open-source toolkit for solving rich Traveling Salesman Problems (TSP) and Vehicle Routing Problems (VRP) using a si… | 65 | 1833 | active |
| artivis/manif manif is a header-only C++11 library for Lie theory with Python 3 wrappers, providing common Lie groups (SO(2), SE(2), SO(3), SE(3), SE_2(3… | 62 | 1821 | active |
| NanoComp/meep Meep is a free, open-source finite-difference time-domain (FDTD) simulation package for solving Maxwell's equations in 1D, 2D, 3D, and cyli… | 95 | 1819 | active |
| avhz/RustQuant RustQuant is a Rust library for quantitative finance, offering modules for option pricing, stochastic processes, autodiff, statistics, and … | 74 | 1819 | active |
| su2code/SU2 SU2 is an open-source C++ suite for numerically solving partial differential equations and performing PDE-constrained optimization, primari… | 81 | 1808 | active |
| jstat/jstat jStat is a JavaScript library providing native implementations of statistical functions, including many probability distributions (weibull,… | 60 | 1805 | stable |
| microsoft/DirectXMath DirectXMath is an all-inline SIMD C++ linear algebra library for games and graphics applications, supporting SSE, AVX, and ARM NEON instruc… | 79 | 1801 | stable |
| chungmin99/pyroki PyRoki is a modular Python toolkit for robot kinematic optimization built on JAX, providing differentiable forward kinematics from URDFs, c… | 50 | 1797 | active |
| moderngpu/moderngpu moderngpu is a header-only C++ productivity library for general-purpose GPU computing built on CUDA. It provides accelerated primitives for… | 47 | 1796 | active |
| coin-or/Ipopt Ipopt (Interior Point OPTimizer) is an open-source C++ software package for large-scale nonlinear optimization of continuous problems with … | 86 | 1790 | stable |
| DTolm/VkFFT VkFFT is an open-source, GPU-accelerated multidimensional Fast Fourier Transform library supporting Vulkan, CUDA, HIP, OpenCL, Level Zero, … | 53 | 1784 | active |
| gre/bezier-easing A tiny JavaScript library that computes cubic-bezier easing functions, matching CSS transition-timing-function behavior. It uses fast heuri… | 99 | 1778 | stable |
| skyfielders/python-skyfield Skyfield is a pure-Python astronomy library that computes high-precision, research-grade positions for planets, moons, and Earth satellites… | 76 | 1775 | stable |
| typelevel/spire Spire is a numeric library for Scala providing powerful new number types (like Rational, Complex, and more) and generic numeric abstraction… | 62 | 1772 | active |
| flexible-collision-library/fcl FCL is a C++ library for performing proximity queries on pairs of geometric models composed of triangles. It supports collision detection, … | 67 | 1762 | stable |
| Qiskit/rustworkx rustworkx is a high-performance, general-purpose graph library for Python implemented in Rust with PyO3 bindings. It provides graph classes… | 86 | 1760 | stable |
| rusty1s/pytorch_scatter A PyTorch extension library providing highly optimized scatter and segment (sparse update) operations with sum, mean, min, and max reductio… | 57 | 1747 | stable |
| xioTechnologies/Fusion Fusion is a C library for sensor fusion on Inertial Measurement Units (IMUs), implementing an AHRS algorithm that combines gyroscope, accel… | 75 | 1744 | stable |
| alkaline-ml/pmdarima pmdarima is a Python statistical library that brings R's auto.arima functionality to Python, wrapping statsmodels ARIMA/SARIMAX models behi… | 81 | 1738 | active |
| deal.II deal.II is a C++ library for solving partial differential equations using adaptive finite elements, with support for dimension-independent … | 87 | 1737 | stable |
| jakobrunge/tigramite Tigramite is a Python package for causal inference on time series data, providing causal discovery methods such as PCMCI, PCMCIplus, LPCMCI… | 47 | 1731 | active |
| NetTopologySuite NetTopologySuite is a .NET library for modeling and manipulating 2D linear geometry, ported from the Java JTS Topology Suite. It provides g… | 66 | 1716 | stable |
| pybamm-team/PyBaMM PyBaMM (Python Battery Mathematical Modelling) is an open-source Python package for fast, flexible physics-based battery simulation. It pro… | 100 | 1701 | active |
| pyscf/pyscf PySCF is a Python-based framework for quantum chemistry simulations, providing electronic structure methods such as Hartree-Fock, density f… | 91 | 1699 | stable |
| TA-Lib TA-Lib is a C/C++ library of 200+ battle-tested technical analysis functions (indicators like ADX, MACD, RSI, Bollinger Bands, plus candles… | 98 | 1696 | active |
| SciML/ModelingToolkit.jl ModelingToolkit.jl is a Julia-based acausal, equation-based modeling framework and computer algebra system for symbolic-numeric computation… | 95 | 1694 | active |
| tensorly/tensorly TensorLy is a Python library for tensor learning, providing tensor decomposition, tensor algebra, and tensor regression with a simple API. … | 64 | 1693 | stable |
| py-why/causal-learn causal-learn is a Python library for causal discovery, implementing classical and state-of-the-art algorithms to recover causal structure f… | 87 | 1689 | active |
| PRML/PRMLT A self-contained MATLAB toolbox implementing the machine learning algorithms from Bishop's textbook 'Pattern Recognition and Machine Learni… | 23 | 6201 | maintenance |
| pvlib/pvlib-python pvlib-python is a community-developed Python toolbox providing documented functions and classes for simulating the performance of photovolt… | 87 | 1672 | stable |
| gaoxiang12/lightning-lm Lightning-LM is a C++ library providing a complete 3D LiDAR SLAM system with fast LIO front-end, real-time loop closure detection, and high… | 48 | 1664 | active |
| orlp/glidesort Glidesort is a Rust library implementing a novel stable adaptive sorting algorithm that hybridizes Timsort-style merge sorting with pattern… | 31 | 1659 | stable |