awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dimforge avatar

dimforge/nalgebra

0
View on GitHub↗
4,745 星标·553 分支·Rust·Apache-2.0·3 次浏览nalgebra.rs↗

Nalgebra

nalgebra 是一个 Rust 线性代数库,提供支持编译时和运行时维度的矩阵与向量运算。它作为数值分析库和稀疏矩阵库,提供了一个能够在嵌入式环境和 WebAssembly 中运行且无需 Rust 标准库的数学框架。

该项目的独特之处在于其几何变换库,利用齐次坐标、四元数和等距变换来处理 3D 旋转、平移和投影。它实现了多种矩阵分解——包括 LU、QR、Cholesky、SVD 和特征值分解——以求解线性系统并分析矩阵。

该库涵盖了广泛的功能领域,包括用于空间变换的几何计算、用于投影矩阵合成和着色器数据导出的计算机图形实用程序,以及使用压缩行和列存储的专用稀疏矩阵管理。它还提供用于矩阵初始化、调整大小和解析 Matrix Market 文件的数据管理工具。

Features

  • No-Std Mathematical Frameworks - Designed to run in resource-constrained embedded environments by eliminating dependencies on the Rust standard library.
  • Linear Algebra Libraries - A comprehensive linear algebra library for Rust supporting both compile-time and runtime dimensions for matrices and vectors.
  • 3D Graphics Pipelines - Calculates projections, rotations, and transformations for rendering 3D scenes and objects using Rust.
  • Perspective Projections - Combines object orientation, camera position, and perspective projection to map 3D scenes.
  • Embedded Mathematics Libraries - Provides a complete mathematical framework capable of running in embedded environments without the Rust standard library.
  • Mathematical Frameworks - Offers a mathematical framework specifically designed to run in WebAssembly and embedded environments without the standard library.
  • Generic Scalar Abstractions - Implements mathematical operations over generic types to support diverse numeric formats like floats and integers.
  • Scalar Abstractions - Implements matrix and vector operations using generic types to support various floating-point and integer formats.
  • No-Standard-Library Modes - Avoids dependencies on the standard library to enable execution in embedded systems and WebAssembly.
  • Scientific & Mathematical Computing - Implements a comprehensive set of tools and methods for scientific research and numerical analysis.
  • Algebraic Dimension Definitions - Creates matrices and vectors with dimensions specified at compile-time for performance or runtime for flexibility.
  • Compile-Time Dimension Checking - Uses the type system to statically verify matrix and vector dimensions, preventing runtime shape mismatches.
  • Coordinate Transformations - Implements mathematical operations to transform points and vectors between different 3D reference frames.
  • Geometric Transformation Routines - Provides routines for applying linear transformations such as scaling, rotation, and projections to typed points and vectors.
  • Rotation Calculators - Provides utilities to construct rotation matrices and unit quaternions from axis-angle or Euler angle representations.
  • Numerical Libraries - Provides optimized algorithms for matrix operations and a wide variety of numerical decompositions.
  • Compressed Sparse Storage - Supports large-scale datasets using compressed sparse row and column formats to optimize memory usage.
  • Vector Operations - Provides fundamental mathematical primitives for performing operations on vectors and matrices.
  • Homogeneous Transformation Utilities - Uses four-by-four matrices to unify translations and rotations into single transformation operations.
  • Object Transformation Matrices - Applies scaling, rotation, and translation to 3D objects using isometry types or homogeneous matrices.
  • Array View Creation - Provides non-owning references to submatrices, rows, or columns using strides for non-consecutive elements.
  • Strided - Provides non-owning references to matrix sub-sections using memory offsets to avoid data copying.
  • Game Development Engines - Provides the spatial transformation and camera matrix logic essential for building game development engines.
  • Graphics API Data Export - Converts matrices and vectors into column-major arrays or raw pointers for compatibility with graphics APIs.
  • Orthographic Projections - Implements orthographic projection matrices to render 3D scenes without perspective distortion.
  • Ray-Casting Picking Logic - Converts 2D screen-space coordinates back into 3D view-space lines for ray casting and object picking.
  • Algebraic Dispatch - Uses generic traits to provide a consistent interface for different matrix decompositions and linear solvers.
  • WebAssembly - Supports execution in browser environments by providing a WebAssembly-compatible compilation target.
  • Algebraic Type Conversions - Provides mechanisms to transform data between different matrix and vector types and scaling precisions.
  • Cholesky Decomposition Utilities - Decomposes Hermitian positive-definite matrices into lower-triangular factors for solving linear systems.
  • Geometric Point Representations - Defines points as distinct entities from vectors to correctly support translation and displacement operations.
  • Isometry Computations - Combines rotations and translations into isometries to preserve distance and orientation for objects and cameras.
  • Eigendecomposition Routines - Computes eigenvalues and eigenvectors of square matrices through eigendecomposition.
  • Similarity Transformations - Implements uniform scaling combined with rotation and translation to preserve angles and parallel lines.
  • Linear System Solvers - Provides direct linear solvers and eigen-solvers to find solutions for systems of linear equations.
  • Matrix and Vector Construction - Constructs matrices using row slices, iterators, closures, identity patterns, or random values.
  • Matrix Component Accessors - Updates individual components or entire rows and columns within a mutable matrix.
  • Matrix Decompositions - Factors rectangular matrices into singular values and vectors to determine matrix rank and pseudo-inverses.
  • LU Decompositions - Factors matrices into lower and upper triangular components to compute determinants and solve linear systems.
  • QR Decompositions - Decomposes general matrices into unitary and upper triangular matrices to facilitate the computation of inverses.
  • Matrix Resizing - Adds or removes rows and columns from a matrix using fixed-size or dynamic-size adjustments.
  • Sparse Matrix Storage - Provides memory-efficient data structures that store only non-zero elements for large datasets.
  • Unit-Norm Type Wrapping - Wraps vectors and quaternions in specific types to guarantee a magnitude of one through the type system.
  • View Matrix Calculators - Provides utilities for calculating camera view matrices based on position and orientation for 3D scenes.

Star 历史

dimforge/nalgebra 的 Star 历史图表dimforge/nalgebra 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

dimforge/nalgebra 是做什么的?

nalgebra 是一个 Rust 线性代数库,提供支持编译时和运行时维度的矩阵与向量运算。它作为数值分析库和稀疏矩阵库,提供了一个能够在嵌入式环境和 WebAssembly 中运行且无需 Rust 标准库的数学框架。

dimforge/nalgebra 的主要功能有哪些?

dimforge/nalgebra 的主要功能包括:No-Std Mathematical Frameworks, Linear Algebra Libraries, 3D Graphics Pipelines, Perspective Projections, Embedded Mathematics Libraries, Mathematical Frameworks, Generic Scalar Abstractions, Scalar Abstractions。

dimforge/nalgebra 有哪些开源替代品?

dimforge/nalgebra 的开源替代品包括: 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… mosra/magnum — Magnum is a C++ middleware suite for cross-platform graphics development and real-time data visualization. It provides… jounce/surge — Surge is a Swift library for high-performance numerical analysis, linear algebra, digital signal processing, and… gaoxiang12/slambook2 — This project is a set of exercise solutions and implementation guides for visual simultaneous localization and… gfxfundamentals/webgl-fundamentals — webgl-fundamentals is a comprehensive educational resource and graphics tutorial for learning hardware-accelerated 2D…

Nalgebra 的开源替代方案

相似的开源项目,按与 Nalgebra 的功能重合度排序。
  • mathnet/mathnet-numericsmathnet 的头像

    mathnet/mathnet-numerics

    3,717在 GitHub 上查看↗

    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

    C#csharpdifferentiationfft
    在 GitHub 上查看↗3,717
  • arrayfire/arrayfirearrayfire 的头像

    arrayfire/arrayfire

    4,888在 GitHub 上查看↗

    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

    C++arrayfirecc-plus-plus
    在 GitHub 上查看↗4,888
  • jounce/surgeJounce 的头像

    Jounce/Surge

    5,321在 GitHub 上查看↗

    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

    Swiftacceleratearithmeticconvolution
    在 GitHub 上查看↗5,321
  • mosra/magnummosra 的头像

    mosra/magnum

    5,169在 GitHub 上查看↗

    Magnum is a C++ middleware suite for cross-platform graphics development and real-time data visualization. It provides a hardware-agnostic rendering layer that translates graphics commands into platform-specific calls, ensuring consistent behavior across different GPU drivers and APIs such as Vulkan. The project focuses on decoupling application logic from underlying hardware through abstract graphics and system utilities. It features a plugin-based resource importer for 3D assets and audio, a hierarchical scene graph for spatial transformations, and a high-performance signal-based event syst

    C++
    在 GitHub 上查看↗5,169
  • 查看 Nalgebra 的所有 30 个替代方案→