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 |
|---|---|---|---|
| scikit-learn/scikit-learn scikit-learn is a Python module for machine learning built on top of SciPy, providing classification, regression, clustering, and model eva… | 88 | 67403 | stable |
| numpy/numpy NumPy is a fundamental Python library that provides powerful N-dimensional array objects and a suite of mathematical functions. It enables … | 96 | 32812 | active |
| microsoft/calculator The Windows Calculator app, a pre-installed UWP application written in C++ and C# offering standard, scientific, and programmer calculator … | 75 | 31056 | active |
| NetworkX NetworkX is a Python library for creating, manipulating, and studying graphs and complex networks. It provides algorithms for shortest path… | 86 | 17302 | stable |
| gpujs/gpu.js GPU.js is a JavaScript acceleration library for GPGPU that automatically transpiles JavaScript functions into shader language (GLSL) and co… | 98 | 15505 | active |
| SciPy SciPy is an open-source Python library providing fundamental algorithms for scientific computing, including optimization, integration, inte… | 93 | 15123 | stable |
| josdejong/mathjs Math.js is an extensive math library for JavaScript and Node.js that provides a flexible expression parser with symbolic computation, hundr… | 75 | 15086 | stable |
| SymPy SymPy is a computer algebra system (CAS) written in pure Python for symbolic mathematics. It provides capabilities for algebra, calculus, e… | 78 | 14992 | stable |
| google/or-tools Google's open-source Operations Research suite for combinatorial optimization, written in C++ with wrappers for Python, C#, and Java. It in… | 76 | 14199 | stable |
| Z3Prover/z3 Z3 is a high-performance SMT (Satisfiability Modulo Theories) theorem prover from Microsoft Research, written in C++. It solves logical con… | 95 | 12786 | stable |
| cupy/cupy CuPy is a NumPy/SciPy-compatible array library for GPU-accelerated computing with Python, running on NVIDIA CUDA or AMD ROCm. It acts as a … | 92 | 12362 | stable |
| statsmodels/statsmodels Statsmodels is a Python library providing classes and functions for estimating statistical models, conducting hypothesis tests, and explori… | 85 | 11662 | stable |
| je-suis-tm/quant-trading A collection of Python scripts implementing quantitative and algorithmic trading strategies, including technical indicator strategies (MACD… | 68 | 11054 | active |
| Turfjs/turf Turf is a modular geospatial engine written in JavaScript and TypeScript for spatial analysis. It provides traditional spatial operations, … | 91 | 10501 | stable |
| PyMC PyMC is a Python library for Bayesian statistical modeling and probabilistic programming, built on PyTensor. It provides intuitive model sp… | 96 | 9774 | stable |
| arogozhnikov/einops einops is a Python library providing readable, framework-agnostic tensor operations via mini-language functions like rearrange, reduce, and… | 71 | 9615 | stable |
| pyro-ppl/pyro Pyro is a deep universal probabilistic programming library built on Python and PyTorch, supporting Bayesian modeling with variational infer… | 65 | 9059 | stable |
| bayesian-optimization/BayesianOptimization A pure Python library implementing Bayesian global optimization using Gaussian processes. It finds the maximum of expensive, unknown black-… | 94 | 8720 | stable |
| Gonum Gonum is a suite of numerical and scientific computing libraries for Go, covering matrices and linear algebra, statistics and probability, … | 73 | 8441 | active |
| QuantLib QuantLib is a free, open-source C++ library providing a comprehensive framework for quantitative finance, including instruments pricing, mo… | 91 | 7681 | stable |
| kroma-network/tachyon Tachyon is a modular zero-knowledge (ZK) proving backend written in C++17, designed to let developers implement arbitrary proving schemes w… | 20 | 7640 | active |
| OpenMathLib/OpenBLAS OpenBLAS is an optimized open-source implementation of the BLAS (Basic Linear Algebra Subprograms) library, based on GotoBLAS2, with LAPACK… | 89 | 7587 | stable |
| HIPS/autograd Autograd is a Python library that efficiently computes derivatives of native Python and NumPy code, supporting reverse-mode (backpropagatio… | 82 | 7543 | stable |
| shopspring/decimal A Go library providing arbitrary-precision fixed-point decimal numbers to avoid floating-point rounding errors. It supports arithmetic oper… | 63 | 7484 | stable |
| MikeMcl/decimal.js decimal.js is an arbitrary-precision Decimal type for JavaScript, supporting integers and floats with configurable significant-digit precis… | 74 | 7258 | stable |
| MikeMcl/bignumber.js A JavaScript library for arbitrary-precision decimal and non-decimal (base 2-36) arithmetic. It provides a full-featured BigNumber API with… | 76 | 7009 | stable |
| dinerojs/dinero.js Dinero.js is a JavaScript and TypeScript library for creating, calculating, converting, comparing, and formatting monetary values safely. I… | 88 | 6802 | stable |
| guofei9987/scikit-opt A Python library implementing heuristic and swarm intelligence optimization algorithms, including genetic algorithm, particle swarm optimiz… | 52 | 6720 | active |
| rtqichen/torchdiffeq torchdiffeq is a PyTorch library of differentiable ordinary differential equation (ODE) solvers, best known as the canonical implementation… | 35 | 6482 | stable |
| cvxpy/cvxpy CVXPY is a Python-embedded modeling language for expressing and solving convex optimization problems in natural mathematical syntax. It can… | 98 | 6361 | stable |
| waditu/czsc czsc is a technical analysis library implementing Chan Theory (缠中说禅/缠论) concepts like fractals, strokes, and pivots for stock and futures m… | 94 | 6349 | active |
| CGAL/cgal CGAL (Computational Geometry Algorithms Library) is a mature C++ library providing efficient and reliable algorithms for computational geom… | 97 | 6071 | stable |
| PyPortfolio/PyPortfolioOpt PyPortfolioOpt is a Python library for financial portfolio optimization, implementing classical mean-variance optimization, Black-Litterman… | 69 | 6051 | stable |
| Stdlib stdlib is a standard library for JavaScript and TypeScript with an emphasis on numerical and scientific computing, providing math, statisti… | 93 | 6000 | active |
| google/highway Highway is a C++ library providing performance-portable SIMD/vector intrinsics that work across seven CPU architectures. It supports runtim… | 79 | 5929 | stable |
| toji/gl-matrix glMatrix is a high-performance JavaScript library for vector and matrix math, hand-tuned for speed in real-time 3D graphics and computation… | 61 | 5696 | stable |
| astropy/astropy Astropy is the core Python package of the Astropy Project, providing commonly used tools for astronomy and astrophysics such as units, coor… | 94 | 5329 | stable |
| bukosabino/ta A Python technical analysis library built on Pandas and NumPy that computes 43 financial indicators (volume, volatility, trend, momentum) f… | 61 | 5236 | stable |
| MikeMcl/big.js big.js is a small, fast JavaScript library for arbitrary-precision decimal arithmetic, exporting a single immutable Big number constructor … | 36 | 5197 | stable |
| libigl libigl is a simple C++ geometry processing library offering a wide range of algorithms for triangle and tetrahedral meshes, including defor… | 85 | 5105 | stable |
| moneyphp/money A PHP library implementing Fowler's Money pattern as a value object for safe monetary calculations, avoiding float rounding errors by using… | 75 | 4865 | stable |
| dimforge/nalgebra nalgebra is a general-purpose linear algebra library for Rust providing statically-sized and dynamically-sized vectors and matrices, along … | 76 | 4801 | stable |
| zalo/MathUtilities A collection of math and physics utility implementations in C# for Unity, covering techniques like Kabsch alignment, mesh deformation, sign… | 32 | 4755 | active |
| attractivechaos/klib Klib is a standalone, lightweight C library of generic data structures and algorithms implemented largely as single-header files using C ma… | 55 | 4730 | stable |
| ceres-solver/ceres-solver Ceres Solver is an open-source C++ library for modeling and solving large-scale non-linear optimization problems, including bounded non-lin… | 77 | 4581 | stable |
| dcajasn/Riskfolio-Lib Riskfolio-Lib is a Python library for portfolio optimization built on top of CVXPY and integrated with Pandas. It supports mean-risk and Ke… | 76 | 4539 | active |
| shapely/shapely Shapely is a BSD-licensed Python library for manipulation and analysis of planar geometric objects, wrapping the GEOS geometry engine. It p… | 74 | 4515 | stable |
| tensorflow/probability TensorFlow Probability is a Python library for probabilistic reasoning and statistical analysis built on TensorFlow, with a JAX substrate. … | 66 | 4435 | active |
| Mathlib Mathlib is the community-maintained mathematics library for the Lean 4 theorem prover, containing formalized mathematical theories, tactics… | 100 | 4331 | active |
| rust-ndarray/ndarray ndarray is a Rust crate providing an n-dimensional array container for general elements and numerics, with owned arrays, lightweight array … | 85 | 4330 | active |
| manuelbieh/geolib Geolib is a zero-dependency JavaScript/TypeScript library providing basic 2D geospatial operations such as distance calculation (Haversine)… | 88 | 4280 | stable |
| stumpy-dev/stumpy STUMPY is a Python library that efficiently computes the matrix profile for time series, enabling fast nearest-neighbor subsequence searche… | 84 | 4158 | stable |
| nefe/number-precision A tiny (~1KB) TypeScript library for JavaScript that performs addition, subtraction, multiplication, and division with exact decimal precis… | 23 | 4096 | stable |
| dpilger26/NumCpp NumCpp is a templatized, header-only C++ library that reimplements the Python NumPy API, centered on an NdArray container with NumPy-style … | 93 | 3966 | active |
| GPyTorch GPyTorch is a Gaussian process library built on PyTorch, designed for scalable, flexible, and modular GP models. It uses linear algebra tec… | 82 | 3925 | stable |
| PySR PySR is a high-performance symbolic regression library that searches for symbolic mathematical expressions optimizing a given objective, im… | 99 | 3893 | stable |
| stack-of-tasks/pinocchio Pinocchio is a fast C++ library (with Python bindings) implementing state-of-the-art rigid body dynamics algorithms for poly-articulated sy… | 90 | 3788 | active |
| mathnet/mathnet-numerics Math.NET Numerics is an open-source numerical library for .NET and Mono, providing methods and algorithms for numerical computation in scie… | 33 | 3772 | stable |
| xtensor-stack/xtensor A header-only C++ library for numerical analysis with multi-dimensional array expressions, offering lazy broadcasting and a NumPy-inspired … | 73 | 3766 | active |
| borglab/gtsam GTSAM is a C++ library implementing smoothing and mapping (SAM) for robotics and vision using factor graphs and Bayes networks as its core … | 93 | 3734 | active |
| meta-pytorch/botorch BoTorch is a Python library for Bayesian Optimization research built on top of PyTorch, part of the PyTorch ecosystem. It provides modular,… | 89 | 3624 | active |
| pomegranate Pomegranate is a Python library for fast and flexible probabilistic modeling, built on PyTorch. It supports distributions, mixture models, … | 23 | 3546 | active |
| petercorke/robotics-toolbox-python A Python library providing tools for robot manipulator kinematics, dynamics, Jacobians, and trajectory generation, built on NumPy and SciPy… | 99 | 3545 | active |
| textdistance A Python library for computing distances and similarities between two or more sequences using 30+ algorithms such as Levenshtein, Hamming, … | 27 | 3544 | active |
| simple-statistics/simple-statistics A dependency-free JavaScript library implementing descriptive, regression, and inference statistics for Node.js and browsers. It is written… | 98 | 3520 | stable |
| mourner/suncalc SunCalc is a tiny, dependency-free JavaScript library for calculating sun position, sunlight phases (sunrise, sunset, dusk), moon position,… | 90 | 3473 | stable |
| RainerKuemmerle/g2o g2o is an open-source C++ framework for optimizing graph-based nonlinear error functions, commonly used for nonlinear least squares problem… | 66 | 3466 | stable |
| patriciogonzalezvivo/lygia LYGIA is a granular, multi-language shader library of reusable functions supporting GLSL, HLSL, Metal, WGSL, WESL, and CUDA. It is designed… | 73 | 3446 | active |
| scurker/currency.js currency.js is a lightweight (~1kb) JavaScript library for handling currency values, working around JavaScript's floating point precision i… | 66 | 3376 | stable |
| domokane/FinancePy FinancePy is a Python library for pricing and risk-managing financial derivatives across fixed-income, equity, FX, and credit asset classes… | 96 | 3174 | active |
| SciML/DifferentialEquations.jl A Julia suite of high-performance numerical solvers for differential equations, covering ODEs, SDEs, DDEs, DAEs, RODEs, jumps, and (S)PDEs,… | 90 | 3162 | active |
| ETLCPP/etl The Embedded Template Library (ETL) is a C++ library providing STL-like containers, algorithms, and utilities designed for embedded systems… | 97 | 3139 | active |
| FFTW/fftw3 FFTW is a widely used C library for computing discrete Fourier transforms (DFTs), known for its speed and adaptive code generation. This re… | 58 | 3108 | stable |
| montanaflynn/stats A comprehensive, dependency-free statistics library for Go providing descriptive statistics, correlation, regression, and related math func… | 96 | 3025 | stable |
| recp/cglm cglm is a highly optimized 2D/3D graphics math library for C, providing vector, matrix, quaternion, and affine transform operations similar… | 73 | 3021 | stable |
| hosseinmoein/DataFrame A high-performance, templatized C++ library providing a heterogeneous DataFrame container for in-memory data exploration, transformation, a… | 95 | 2990 | active |
| NxRLab/ModernRobotics The official code library accompanying the textbook 'Modern Robotics: Mechanics, Planning, and Control', providing educational implementati… | 50 | 2985 | stable |
| anyoptimization/pymoo pymoo is an open-source Python framework for single-, multi-, and many-objective optimization, offering state-of-the-art algorithms like NS… | 75 | 2970 | stable |
| elixir-nx/nx Nx is an Elixir library providing multi-dimensional arrays (tensors) and numerical definitions with pluggable backends. The monorepo also i… | 98 | 2915 | active |
| RubyMoney Money A Ruby library providing a Money class that encapsulates monetary amounts and currencies, storing values as integer cents to avoid floating… | 75 | 2882 | stable |
| zig-gamedev/zig-gamedev The main development repository for the zig-gamedev organization, containing Zig game development libraries and a large collection of sampl… | 61 | 2870 | active |
| mathquill/mathquill MathQuill is an open-source web formula editor library that lets users easily type and render mathematical notation in a webapp, with LaTeX… | 30 | 2869 | active |
| MyTT MyTT is a lightweight single-file Python library that implements common stock market technical indicators (MACD, RSI, BOLL, ATR, KDJ, CCI, … | 68 | 2863 | active |
| PythonOT/POT POT is an open-source Python library providing a large set of differentiable solvers for optimal transport problems, including exact and re… | 85 | 2846 | stable |
| Pint Pint is a Python library for defining, operating on, and manipulating physical quantities (a numerical value paired with a unit of measurem… | 77 | 2814 | stable |
| mourner/rbush RBush is a high-performance JavaScript library providing a 2D spatial index for points and rectangles, built on an optimized R*-tree with b… | 65 | 2779 | stable |
| Stan Stan is a C++ probabilistic programming library for full Bayesian inference via NUTS/Hamiltonian Monte Carlo, approximate inference via ADV… | 88 | 2774 | stable |
| pyro-ppl/numpyro NumPyro is a lightweight probabilistic programming library providing a NumPy backend for Pyro, built on JAX for automatic differentiation a… | 94 | 2768 | active |
| xtensor-stack/xsimd xsimd is a C++ library providing unified wrappers over SIMD intrinsics (SSE, AVX, AVX512, NEON, SVE, WebAssembly, VSX, RISC-V) so the same … | 76 | 2763 | stable |
| FreyaHolmer/Mathfs Mathfs is an expanded math library for Unity written in C#, providing functionality beyond Unity's built-in Mathf. It covers 2D intersectio… | 77 | 2755 | active |
| S2 Geometry Library S2 Geometry is a C++ library (with Python bindings) for computational geometry and spatial indexing on the sphere, representing geographic … | 82 | 2732 | active |
| mljs/ml ml.js is an umbrella library bundling the mljs organization's machine learning tools for JavaScript, including clustering, classification, … | 23 | 2719 | active |
| Kokkos Kokkos Core is a C++ programming model providing abstractions for parallel execution and memory management to write performance-portable ap… | 98 | 2707 | stable |
| sharkdp/numbat Numbat is a statically typed programming language for scientific computations with first-class support for physical dimensions and units, i… | 93 | 2702 | active |
| jlblancoc/nanoflann nanoflann is a C++11 header-only library for fast nearest neighbor search using KD-trees. It is designed for efficient queries over point c… | 95 | 2697 | stable |
| flame/blis BLIS is a portable C99 framework for instantiating high-performance BLAS-like dense linear algebra libraries. It provides a BLAS compatibil… | 67 | 2693 | stable |
| pmorissette/ffn ffn is a Python library of financial functions for quantitative finance, built on Pandas, NumPy, and SciPy. It provides utilities for perfo… | 92 | 2679 | active |
| Qalculate! Qalculate! is a multi-purpose cross-platform desktop calculator library (libqalculate) with a CLI program (qalc) and GTK/Qt frontends. It c… | 89 | 2676 | active |
| Colour Colour is an open-source Python library providing a comprehensive collection of colour science algorithms and datasets, including colour sp… | 71 | 2663 | active |
| mapbox/delaunator Delaunator is a fast and robust JavaScript library for computing Delaunay triangulations of 2D points. It outputs compact typed-array data … | 69 | 2634 | stable |
page 1 / 6 next →