For numerical utilities, the strongest matches are numpy/numpy (NumPy is the foundational library for numerical computing in), rust-ndarray/ndarray (This library provides the essential infrastructure for multi-dimensional arrays) and scipy/scipy (SciPy is the industry-standard library for scientific and numerical). sympy/sympy and jounce/surge round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Explore the best numerical computing libraries for your project. Compare top-rated tools by performance and activity to find the best fit.
NumPy is a foundational library for scientific computing in Python, providing a comprehensive framework for managing and manipulating large-scale numerical information. It centers on high-performance multidimensional array objects that serve as the primary data structure for complex mathematical operations and data analysis workflows. The library distinguishes itself through specialized mechanisms for handling multidimensional data, including advanced indexing, slicing, and broadcasting techniques that allow for efficient operations across arrays of varying shapes. It utilizes strided metadat
NumPy is the foundational library for numerical computing in Python, providing the high-performance multidimensional arrays and linear algebra routines that serve as the core building blocks for scientific and statistical analysis.
ndarray is a multidimensional array library for Rust that serves as a linear algebra framework and scientific computing tool. It provides the core infrastructure for creating and manipulating n-dimensional arrays, functioning as both a parallel array processor and a toolkit for numerical data analysis. The library distinguishes itself by providing efficient slicing and memory views, allowing for data sharing without copying. It leverages optimized backend math libraries for high-speed matrix multiplication and distributes heavy mathematical iterations across multiple CPU threads to accelerate
This library provides the essential infrastructure for multi-dimensional arrays and linear algebra in Rust, serving as a foundational tool for high-performance numerical computing.
SciPy is a scientific computing library for Python that provides a comprehensive collection of mathematical algorithms and numerical tools for research and engineering. It functions as a high-performance numerical analysis framework, bridging high-level Python code with compiled C and Fortran routines to execute complex computations at hardware speeds. The library is built upon array-based data structures that utilize strided memory layouts to enable efficient data manipulation and slicing. By employing vectorized operation dispatch and linking to optimized hardware-specific linear algebra li
SciPy is the industry-standard library for scientific and numerical computing in Python, providing a comprehensive suite of tools for linear algebra, optimization, and statistical analysis that leverages high-performance compiled backends.
SymPy is a Python computer algebra system and symbolic mathematics library. It performs algebraic manipulations, calculus, and equation solving using symbolic representations to achieve exact computations rather than numerical approximations. The library includes a LaTeX expression parser that converts mathematical strings into symbolic representations for computation and formula manipulation. It also incorporates a mathematical benchmarking suite to measure execution speed and detect performance regressions across different software versions. The system provides capabilities for automated m
SymPy is a comprehensive library for symbolic mathematics and algebraic manipulation, which serves as a core tool for scientific computing even though its primary focus is exact symbolic representation rather than numerical approximation.
Surge is a Swift library for high-performance numerical analysis, linear algebra, digital signal processing, and accelerated image manipulation. It utilizes the Accelerate framework to provide hardware-accelerated tools for matrix mathematics and signal processing. The library provides specialized capabilities for digital signal processing, including convolution, signal similarity analysis through cross-correlation, and domain transformations using fast Fourier transforms. It also includes a suite of tools for the rapid transformation and analysis of pixel buffers and image data. Beyond sign
Surge is a high-performance numerical computing library for Swift that provides robust support for linear algebra, matrix operations, and signal processing by leveraging hardware acceleration.
Math.js is a comprehensive JavaScript library for scientific, complex, and arbitrary precision calculations. It functions as a symbolic computation engine, a linear algebra toolkit, a statistical analysis library, and a unit conversion system. The project distinguishes itself by providing a symbolic engine capable of parsing, simplifying, and manipulating mathematical expressions algebraically without requiring immediate numerical evaluation. It includes a framework for defining and converting physical quantities with units of measure and automatic prefix support. The library covers a broad
Math.js is a comprehensive library for scientific and symbolic computation that provides robust support for linear algebra, statistics, and arbitrary-precision arithmetic within the JavaScript ecosystem.
OpenBLAS is a high-performance implementation of the Basic Linear Algebra Subprograms standard designed for numerical computing and matrix operations. It serves as a hardware-accelerated numerical library and optimized math kernel library, providing a computational engine for large-scale matrix multiplication and vector operations. The library distinguishes itself through the use of hand-tuned assembly kernels and SIMD instruction mapping, such as AVX and SVE, to maximize floating-point performance on specific CPU architectures. It features a multi-threaded framework that manages parallel exe
OpenBLAS is a high-performance library providing the fundamental linear algebra and matrix operations required for numerical computing, though it focuses on the computational kernel rather than providing higher-level features like symbolic computation or scientific plotting.
This project is a comprehensive library for numerical linear algebra and scientific computing, designed to provide optimized routines for matrix decomposition, statistical modeling, and high-performance data analysis. It serves as both a toolkit for solving complex linear systems and an educational resource for understanding the fundamental algorithms behind matrix factorizations and numerical solvers. The library distinguishes itself through a focus on randomized numerical linear algebra, utilizing probabilistic algorithms and approximate methods to perform dimensionality reduction and matri
This repository provides a collection of optimized numerical linear algebra routines and algorithms, serving as a specialized toolkit for high-performance matrix computations and scientific analysis.
NumCpp is a C++ framework and numerical computing library that provides a toolkit for multi-dimensional array management and mathematical routines. It functions as a C++ implementation of the NumPy ecosystem, offering a scientific computing framework for managing tensors and performing complex algebraic equations. The project enables high-performance array manipulation within a C++ environment without relying on a Python runtime. It distinguishes itself by providing a NumPy-like interface for executing linear algebra, managing multi-dimensional data structures, and performing numerical proces
NumCpp is a C++ library that provides high-performance multi-dimensional array management and linear algebra routines, serving as a direct numerical computing tool for scientific applications.
This library is a JavaScript-based numerical analysis tool designed to perform complex mathematical operations directly within web browser environments. It provides a comprehensive suite of algorithms for linear algebra, matrix manipulation, and equation solving, enabling data-intensive computations to occur locally without requiring server-side processing. The project distinguishes itself by offering a specialized computational engine that handles advanced mathematical tasks such as gradient-based function optimization and iterative numerical approximation. By utilizing quadrature-based inte
This library provides a comprehensive suite of linear algebra, matrix manipulation, and numerical analysis tools specifically optimized for high-performance execution within JavaScript environments.
CuPy is a CUDA array computing library that implements a NumPy-compatible interface for executing array operations and numerical computing on NVIDIA GPUs. It serves as a GPU-accelerated numerical library and a CUDA-based SciPy implementation, offloading heavy calculations to graphics hardware to increase processing speed for scientific and engineering workloads. The library enables multi-framework tensor exchange, allowing data buffers to be shared between different deep learning frameworks using standardized memory layouts to avoid memory copies. It also supports custom GPU kernel integratio
CuPy is a high-performance numerical computing library that provides a NumPy-compatible interface for GPU-accelerated array operations and linear algebra, making it a powerful tool for scientific computing despite lacking built-in symbolic computation or plotting features.
This project is a community-driven standard library for the Fortran programming language, providing a comprehensive collection of algorithms, data structures, and system utilities. It is designed to extend the language's native capabilities, offering a unified toolkit for scientific computing, numerical analysis, and general-purpose programming. The library distinguishes itself through a modular architecture that utilizes generic interface dispatch and compile-time specialization to ensure high performance across various data types. It provides standardized abstractions for external numerical
This is a foundational standard library for Fortran that provides essential numerical algorithms, linear algebra routines, and statistical utilities, serving as a core building block for high-performance scientific computing.
ArrayFire is a hardware-agnostic compute framework and JIT-compiled tensor engine designed for high-performance numerical computing. It serves as a GPU numerical computing library and parallel signal processing toolkit that abstracts hardware backends, allowing the same codebase to execute across various GPU architectures and CPUs. The project distinguishes itself through a JIT engine that uses expression compilation to fuse operations and minimize memory overhead. It employs a deferred execution graph to optimize computation chains and provides interoperability primitives to share data and e
ArrayFire is a high-performance numerical computing library that provides multi-dimensional array manipulation, linear algebra, and statistical analysis, though it lacks built-in symbolic computation and native scientific plotting.
Julia is a high-performance, dynamic programming language designed for scientific computing, data analysis, and complex mathematical modeling. It provides a specialized runtime environment that manages memory allocation and parallel processing, utilizing a just-in-time compiler to translate high-level source code into optimized machine instructions. This architecture allows the language to achieve execution speeds comparable to statically compiled languages while maintaining the flexibility of a dynamic scripting environment. The language is distinguished by its multiple dispatch system, whic
Julia is a high-performance programming language specifically engineered for scientific computing and numerical analysis, providing native support for multi-dimensional arrays, linear algebra, and complex mathematical modeling.
This project is a numerical computing library designed for scientific and engineering mathematical operations. It functions as a comprehensive linear algebra framework, a statistical analysis library, and a toolkit for mathematical optimization and numerical integration. The library is distinguished by its provider-based native acceleration, which allows managed code to be swapped for platform-native binary libraries to increase the performance of computationally intensive routines. It also supports a hybrid approach to matrix storage, implementing separate strategies for dense and sparse mat
This library provides a comprehensive suite for linear algebra, statistical analysis, and numerical operations in C#, offering native acceleration for high-performance execution despite lacking built-in scientific plotting or symbolic computation features.
This project is a machine learning array framework and tensor computation library designed for high-performance numerical computing. It provides a comprehensive suite of tools for constructing and training neural networks, featuring an automatic differentiation engine that facilitates gradient-based optimization and complex mathematical modeling. The library distinguishes itself through a unified memory architecture that allows data to be shared across CPU and GPU devices without explicit copies, significantly reducing data movement overhead. Its execution model relies on a lazy evaluation en
This library provides high-performance multi-dimensional array operations and linear algebra primitives optimized for Apple silicon, serving as a robust foundation for numerical computing despite its primary focus on machine learning workflows.
nalgebra is a linear algebra library for Rust that provides matrix and vector operations with support for both compile-time and runtime dimensions. It functions as a numerical analysis library and a sparse matrix library, offering a mathematical framework capable of running in embedded environments and WebAssembly without requiring the Rust standard library. The project distinguishes itself as a geometric transformation library, utilizing homogeneous coordinates, quaternions, and isometries to handle 3D rotations, translations, and projections. It implements a variety of matrix decompositions
This is a high-performance linear algebra library for Rust that provides robust support for matrix operations, decompositions, and geometric transformations, making it a strong tool for numerical computing despite lacking built-in scientific plotting or symbolic computation features.
Torch7 is a scientific computing environment and tensor computation library used for deep learning research and numerical analysis. It functions as a Lua-based framework for training neural networks and learning agents, providing a toolkit for implementing architectures and training through reinforcement learning algorithms. The project is distinguished by its tight integration with C, utilizing a binding layer to map high-level scripting to low-level C structures for direct memory access. It supports hardware-accelerated computation by offloading linear algebra and convolution operations to
Torch7 is a scientific computing environment built around high-performance tensor operations and linear algebra, making it a capable tool for numerical analysis despite its primary focus on deep learning.
xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an interface mirroring the NumPy API. It utilizes a lazy evaluation expression engine to defer numerical computations until assignment, which minimizes memory allocations and intermediate copies. The library features a foreign memory array adaptor that allows it to wrap external buffers, such as NumPy arrays, to perform numerical operations in-place without duplicating data. It further optimizes performance through lazy broadcasting and a system that manages the lifetime of temp
This C++ library provides high-performance multidimensional arrays and numerical computing primitives with a NumPy-like interface, serving as a core tool for linear algebra and numerical analysis.
This project is a high-performance numerical computing library designed for large-scale scientific and machine learning workloads. It functions as an automatic differentiation framework and a just-in-time compilation engine, transforming high-level Python code into optimized machine instructions. By enforcing pure functional programming patterns and immutable array semantics, the library ensures that mathematical functions remain compatible with automated graph transformations and symbolic differentiation. The platform distinguishes itself through its distributed array computing capabilities,
JAX is a high-performance numerical computing library that provides multi-dimensional array support and linear algebra operations, though it focuses more on automatic differentiation and machine learning acceleration than on general-purpose scientific plotting or symbolic computation.
This library provides a comprehensive suite of numerical, statistical, and scientific computing tools for JavaScript, including support for multi-dimensional arrays, linear algebra, and plotting, making it a suitable choice for numerical analysis in the Node.js ecosystem.
PyTorch is a machine learning framework centered on a GPU-ready tensor library that supports multi-dimensional array operations across both CPU and accelerator hardware. It provides a foundational infrastructure for mathematical computation and dynamic neural network construction, utilizing a tape-based automatic differentiation system that allows for flexible, non-static graph execution. The framework is designed for deep integration with Python, enabling natural usage alongside standard scientific computing ecosystems. It distinguishes itself through a comprehensive distributed training sui
PyTorch provides a high-performance tensor library with robust support for multi-dimensional arrays and linear algebra, serving as a powerful engine for numerical computation even though its primary focus is machine learning.
Pandas is a high-performance data analysis library that provides a comprehensive framework for manipulating, cleaning, and transforming structured datasets. It centers on labeled one-dimensional and two-dimensional data structures, allowing users to construct, filter, and reshape tabular information while performing complex arithmetic and logical operations. The library distinguishes itself through a sophisticated indexing engine that enables automatic data alignment during calculations and relational merges. By utilizing a block-based memory layout, it optimizes cache locality for vectorized
Pandas is a foundational library for high-performance data manipulation and numerical analysis that provides the multi-dimensional array structures and arithmetic capabilities essential for scientific computing, though it lacks built-in symbolic computation and advanced scientific plotting.
Symbolics.jl is a foundational framework for symbolic mathematics, automated differentiation, and scientific compilation within the Julia programming language. It provides a comprehensive system for algebraic manipulation, expression simplification, and the construction of mathematical models, enabling users to represent complex physical and chemical systems as symbolic equations. The library distinguishes itself through a source-to-source compilation engine that translates high-level symbolic representations directly into optimized, parallelized, and hardware-specific numerical code. By util
This library provides a high-performance framework for symbolic computation and mathematical modeling within the Julia ecosystem, serving as a specialized tool for numerical analysis and symbolic manipulation.
| Repository | Stele | Limbaj | Licență | Ultimul push |
|---|---|---|---|---|
| numpy/numpy | 32.2K | Python | NOASSERTION | |
| rust-ndarray/ndarray | 4.3K | Rust | Apache-2.0 | |
| scipy/scipy | 14.5K | Python | bsd-3-clause | |
| sympy/sympy | 14.7K | Python | NOASSERTION | |
| jounce/surge | 5.3K | Swift | MIT | |
| josdejong/mathjs | 15K | JavaScript | Apache-2.0 | |
| openmathlib/openblas | 7.5K | C | BSD-3-Clause | |
| fastai/numerical-linear-algebra | 10.7K | Jupyter Notebook | — | |
| dpilger26/numcpp | 4K | C++ | MIT | |
| sloisel/numeric | 1.4K | JavaScript | NOASSERTION |