22 个仓库
Systems for performing matrix and vector operations and solving systems of linear equations.
Distinct from Linear Algebra: Candidates are either educational resources or language-specific (JS) and do not represent the general identity of a CPU-based library.
Explore 22 awesome GitHub repositories matching scientific & mathematical computing · Linear Algebra Libraries. Refine with filters or upvote what's useful.
This project is a structured learning curriculum and technical reference for mastering deep learning with TensorFlow. It provides a comprehensive guide for building, training, and deploying neural networks, combining theoretical fundamentals with practical implementation examples. The repository distinguishes itself by covering the end-to-end machine learning workflow, from low-level tensor mathematics and linear algebra to the creation of complex model architectures. It includes specific guidance on developing data pipelines for diverse data types, such as images, text, and time-series seque
Implements high-dimensional array manipulations and matrix operations using optimized tensor-based linear algebra.
This project is a collection of foundational machine learning algorithms and data science tools implemented in Python. It focuses on building the logic of these tools using basic programming primitives rather than relying on specialized libraries. The implementation covers several core domains, including a linear algebra library for matrix and vector operations, a statistical analysis toolkit for probability and hypothesis testing, and a framework for map-reduce distributed processing. It also includes implementations for natural language processing, graph theory for network analysis, and var
Provides foundational matrix and vector operation primitives for mathematical modeling and scientific computing.
Gonum is a numerical computing library for the Go programming language, providing a collection of packages for scientific computing, linear algebra, statistics, and optimization. It functions as a framework for performing complex numerical computations and solving systems of linear equations. The project includes a dedicated graph analysis framework for modeling network graphs and solving connectivity and pathfinding problems. It also provides a statistical analysis toolkit for computing descriptive and inferential statistics and estimating mixture entropy. The library's capability surface c
Provides a complete system for performing matrix and vector operations and solving linear equations in Go.
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
Provides a high-performance implementation of the BLAS standard for numerical computing and matrix operations.
OpenBLAS 是一个高性能的基础线性代数子程序库,提供优化的矩阵和向量运算。它作为一个多架构数学后端和数值计算框架,旨在执行复杂的数学计算和高速数值分析。 该库作为一个优化的 CPU 数学库运行,在运行时检测硬件,从而为特定处理器应用最高效的运算内核。它通过优化汇编和 C 实现的组合支持多种 CPU 目标。 该项目涵盖了高性能线性代数、CPU 架构优化和科学计算基础设施。它包括数值计算资源管理能力,例如控制共享系统上繁重工作负载的线程分配。
Implements a high-performance system for performing matrix and vector operations and solving systems of linear equations.
This project is a set of exercise solutions and implementation guides for visual simultaneous localization and mapping. It provides a collection of worked code examples and mathematical solutions designed to translate theoretical localization and mapping concepts into practical implementations. The repository serves as a technical companion for academic study, featuring worked answers to SLAM exercises and a system for tracking typographical and technical corrections to maintain the accuracy of the associated written work. The codebase covers spatial mathematics and robotics geometry, includ
Implements linear algebra tools to solve systems of equations for spatial coordinates.
openMVG 是一个用于多视图几何的计算机视觉几何库和工具包。它作为运动恢复结构(SfM)和 3D 场景重建的框架,提供了从一系列 2D 图像中恢复 3D 点云和相机位姿所需的工具。 该库实现了全局和增量式的运动恢复结构流水线。它利用几何算法进行相机位姿估计和图像定位,并采用 Levenberg-Marquardt 光束法平差(Bundle Adjustment)通过最小化重投影误差来优化 3D 坐标和相机参数。 该项目涵盖了广泛的空间恢复功能,包括图像特征提取、成对对应匹配以及基于三角测量的 3D 恢复。它还包含用于组织重建数据并将场景信息导出以供外部可视化工具使用的系统。
Utilizes the Eigen library for high-performance matrix and vector operations required for geometric calculations.
Highway 是一个便携式 C++ 库和硬件抽象层,专为编写单指令多数据(SIMD)代码而设计。它提供了一个统一接口,将数据并行逻辑映射到各种 CPU 指令集,从而能够开发出在不同处理器架构上运行的高性能软件,而无需特定于架构的汇编代码。 该项目具有动态指令调度器,可根据检测到的硬件在运行时选择最高效的 CPU 指令集。它还支持静态目标专用化,以及用于添加新硬件目标或自定义 SIMD 操作的可扩展机制。 该库涵盖了广泛的向量操作,包括元素级算术、通道归约、混洗和掩码条件执行。它包括一个向量化数学库、用于对齐分配和掩码加载/存储操作的内存管理器,以及用于硬件加速加密的原语。 提供了用于跨多种处理器架构自动编译和验证硬件加速指令的工具。
Provides hints for streaming, prefetching, and cache-line flushing to optimize memory throughput and reduce latency.
Surge 是一个 Swift 库,用于高性能数值分析、线性代数、数字信号处理和加速图像处理。它利用 Accelerate 框架为矩阵数学和信号处理提供硬件加速工具。 该库为数字信号处理提供了专门的功能,包括卷积、通过互相关的信号相似性分析以及使用快速傅里叶变换(FFT)的域变换。它还包括一套用于像素缓冲区和图像数据快速转换与分析的工具。 除了信号和图像处理外,该库还涵盖了广泛的计算数学领域。这包括通过矩阵求逆和分解求解线性系统、向量度量计算以及统计数据分析。它还支持跨大数组批量执行三角函数、对数和算术运算。
Provides a system for performing matrix and vector operations and solving complex linear equation systems.
Magnum 是一个用于跨平台图形开发与实时数据可视化的 C++ 中间件套件。它提供了一个硬件无关的渲染层,将图形命令转换为特定平台的调用,确保在不同 GPU 驱动程序与 API(如 Vulkan)间的一致行为。 该项目专注于通过抽象图形与系统实用程序将应用逻辑与底层硬件解耦。它具备用于 3D 资产与音频的插件式资源导入器、用于空间变换的层级场景图,以及用于通信的高性能基于信号的事件系统。 广泛的能力包括线性代数与向量数学、网格几何处理以及 GPU 上下文管理。该工具包还涵盖了空间音频播放、VR 硬件集成以及诸如跨步布局与对齐分配等底层内存优化。 该库可以作为 CMake 子项目集成到父项目中。
Includes a high-efficiency linear algebra library for vector and matrix calculations essential for 3D transformations.
libigl 是一个 C++ 几何处理库,用于分析和操作 3D 三角形和四面体网格。它充当数值线性代数套件和网格操作框架,集成了几何变形引擎以实现刚性和多调和变换。 该项目以其仅头文件的库设计以及对专门变形技术的实现而著称,包括尽可能刚性 (rigid-as-possible) 和多调和形状变形。它还提供了一个可视化工具,用于通过交互式场景控制和网格拾取来渲染表面和标量场。 该库涵盖了广泛的功能,包括用于曲率和测地距离的几何分析、通过等值面提取和三角剖分进行的网格生成,以及通过各向异性变形进行的网格重构。它还支持布尔网格操作、表面参数化以及用于求解拉普拉斯方程和二次规划的数值优化。 该工具包包括用于导入和导出各种 3D 几何格式的实用程序,并支持与 Matlab 的互操作性,以便执行脚本和共享矩阵。
Implements high-performance numerical operations and sparse system solving using a template-based matrix library.
ArrayFire 是一个硬件无关的计算框架和 JIT 编译张量引擎,专为高性能数值计算而设计。它作为一个 GPU 数值计算库和并行信号处理工具包,抽象了硬件后端,允许同一代码库在各种 GPU 架构和 CPU 上执行。 该项目以其使用表达式编译来融合操作并最小化内存开销的 JIT 引擎而脱颖而出。它采用延迟执行图来优化计算链,并提供互操作性原语以与 CUDA 和 OpenCL 等外部计算平台共享数据和执行上下文。 该库涵盖了广泛的功能,包括并行线性代数、数字信号处理和加速计算机视觉。它提供了用于机器学习实现、金融建模模拟以及求解物理系统模拟偏微分方程的工具。其张量管理系统处理多维数组分配、切片和主机-设备数据传输。
Implements high-performance parallel linear algebra libraries for matrix operations and solving complex systems of equations.
nalgebra 是一个 Rust 线性代数库,提供支持编译时和运行时维度的矩阵与向量运算。它作为数值分析库和稀疏矩阵库,提供了一个能够在嵌入式环境和 WebAssembly 中运行且无需 Rust 标准库的数学框架。 该项目的独特之处在于其几何变换库,利用齐次坐标、四元数和等距变换来处理 3D 旋转、平移和投影。它实现了多种矩阵分解——包括 LU、QR、Cholesky、SVD 和特征值分解——以求解线性系统并分析矩阵。 该库涵盖了广泛的功能领域,包括用于空间变换的几何计算、用于投影矩阵合成和着色器数据导出的计算机图形实用程序,以及使用压缩行和列存储的专用稀疏矩阵管理。它还提供用于矩阵初始化、调整大小和解析 Matrix Market 文件的数据管理工具。
A comprehensive linear algebra library for Rust supporting both compile-time and runtime dimensions for matrices and vectors.
Linfa 是一个用 Rust 实现的经典机器学习框架和统计学习套件。它提供了一系列用于监督和无监督学习的算法,专注于回归、聚类和决策树等传统统计方法。 该工具包以其能够编译为 WebAssembly 的能力而著称,使分析模型能够在浏览器环境中执行。它采用基于 trait 的算法接口,以标准化其各种模型的训练和预测过程。 该库涵盖了广泛的功能,包括监督分类和连续值回归。它提供无监督聚类、用于模型聚合的集成方法以及通过独立成分分析进行的信号处理。该套件还包括广泛的数据预处理工具,用于特征归一化、文本向量化以及使用 PCA 和 t-SNE 进行降维。 还提供了用于数据管理的实用程序,包括 CSV 导入和合成数据集生成,以及模型评估工具,如混淆矩阵和交叉验证指标。
Provides a backend-agnostic layer to switch between native Rust and high-performance linear algebra libraries.
这是一个教育代码库和参考库,将理论深度学习概念转化为可执行的 PyTorch 代码。它作为深度学习教科书的实际实现,提供了一套课程式的引导练习和架构示例,用于学习目的。 该仓库包含一个标准神经网络架构库,包括线性、卷积、循环和 Transformer 模型。它专门实现了各种深度学习模式,如多层感知机(MLP)、VGG 网络、门控循环单元(GRU)和长短期记忆网络(LSTM)。 该代码库涵盖了广泛的功能领域,包括用于图像分类和目标检测的计算机视觉,以及用于序列建模和翻译的自然语言处理。它还实现了基础机器学习组件,如线性回归和 Softmax 回归、概率分类以及一套基于梯度的优化算法。 该项目主要以 Jupyter Notebooks 合集的形式提供。
Executes high-dimensional tensor and matrix operations as the computational basis for neural networks.
ndarray 是一个 Rust 的多维数组库,用作线性代数框架和科学计算工具。它提供了创建和操作 n 维数组的核心基础设施,既充当并行数组处理器,也充当数值数据分析工具包。 该库的独特之处在于提供高效的切片和内存视图,允许在不复制的情况下共享数据。它利用优化的后端数学库进行高速矩阵乘法,并将繁重的数学迭代分布到多个 CPU 线程上以加速处理。 该项目涵盖了广泛的数学运算,包括逐元素算术、基于轴的数据聚合和点积计算。它还包括用于数组操作的全面实用程序,如重塑、展平、堆叠和坐标网格生成,以及对随机数组生成和序列化的支持。
Serves as a high-performance framework for vector and matrix operations.
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
Connects high-level array expressions to low-level BLAS and LAPACK implementations for high-performance linear algebra.
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
Provides a complete framework for matrix and vector operations, decompositions, and solving linear equation systems.
This project is a CUDA programming course and technical guide focused on writing and optimizing GPU kernels for hardware acceleration. It provides structured learning resources for using the CUDA platform to execute operations on silicon architectures. The material covers the optimization of linear algebra kernels and the analysis of machine learning deployment. It includes guidance on identifying acceleration tools, mapping the deep learning ecosystem, and evaluating the frameworks used to move models from research to production environments. The scope extends to GPU performance optimizatio
Provides guidance on increasing execution speed by fusing operations into single GPU kernels for hardware acceleration.
numbers.js is a comprehensive mathematics library for JavaScript that provides a collection of advanced functions for scientific computing and data analysis. It is designed to handle complex mathematical operations through a modular architecture, offering tools for calculus, statistics, linear algebra, and prime number analysis. The library distinguishes itself by providing explicit control over numerical precision, allowing users to define error thresholds and manage decimal accuracy to mitigate rounding discrepancies. This focus on precision is paired with a suite of computational tools tha
Implements matrix and vector manipulation functions for performing arithmetic operations and transformations on multidimensional numerical data structures.