Surge est une bibliothèque Swift pour l'analyse numérique haute performance, l'algèbre linéaire, le traitement du signal numérique et la manipulation d'images accélérée. Elle utilise le framework Accelerate pour fournir des outils accélérés par le matériel pour les mathématiques matricielles et le traitement du signal.
Les fonctionnalités principales de jounce/surge sont : Accelerate-Based Math Libraries, Linear Algebra, High-Performance Image, Digital Signal Processing Libraries, Vectorized Math Functions, High-Performance and Parallel Computing, Linear Algebra Libraries, Linear System Solvers.
Les alternatives open-source à jounce/surge incluent : mathnet/mathnet-numerics — This project is a numerical computing library designed for scientific and engineering mathematical operations. It… arrayfire/arrayfire — ArrayFire is a hardware-agnostic compute framework and JIT-compiled tensor engine designed for high-performance… xtensor-stack/xtensor — xtensor is a C++ multidimensional array library for numerical computing that provides N-dimensional containers with an… joelgrus/data-science-from-scratch — This project is a collection of foundational machine learning algorithms and data science tools implemented in Python.… dimforge/nalgebra — nalgebra is a linear algebra library for Rust that provides matrix and vector operations with support for both… rust-ndarray/ndarray — ndarray is a multidimensional array library for Rust that serves as a linear algebra framework and scientific…
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
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
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
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