#线性代数 #矩阵 #矩阵向量 #代数 #线性 #向量数学

no-std nalgebra

通用线性代数库,包含转换和静态尺寸或动态尺寸的矩阵

111个版本

0.33.0 2024年6月23日
0.32.5 2024年3月28日
0.32.3 2023年7月9日
0.32.2 2023年3月7日
0.1.0 2014年11月22日

#4 in 数学

Download history 134614/week @ 2024-05-04 149399/week @ 2024-05-11 137804/week @ 2024-05-18 143953/week @ 2024-05-25 149056/week @ 2024-06-01 142344/week @ 2024-06-08 146246/week @ 2024-06-15 149938/week @ 2024-06-22 122851/week @ 2024-06-29 137861/week @ 2024-07-06 153812/week @ 2024-07-13 163442/week @ 2024-07-20 164844/week @ 2024-07-27 165667/week @ 2024-08-03 201199/week @ 2024-08-10 142749/week @ 2024-08-17

704,088 每月下载量
用于 2,360 个crates(892个直接使用)

Apache-2.0

2MB
36K SLoC

crates.io

crates.io

用户指南 | 文档


线性代数库 适用于Rust编程语言。



lib.rs:

nalgebra

nalgebra 是一个为Rust编写的线性代数库,针对

  • 通用线性代数(仍缺少许多功能…)
  • 实时计算机图形学。
  • 实时计算机物理学。

使用 nalgebra

您需要最新稳定的 rust编译器 和官方包管理器:cargo

只需将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
// TODO: replace the * by the latest version.
nalgebra = "*"

nalgebra 的大多数有用功能都分组在根模块 nalgebra:: 中。

然而,推荐使用 nalgebra 的方法是显式导入类型和特性,并使用 na:: 前缀调用免费函数

#[macro_use]
extern crate approx; // For the macro assert_relative_eq!
extern crate nalgebra as na;
use na::{Vector3, Rotation3};

fn main() {
let axis  = Vector3::x_axis();
let angle = 1.57;
let b     = Rotation3::from_axis_angle(&axis, angle);

assert_relative_eq!(b.axis().unwrap(), axis);
assert_relative_eq!(b.angle(), angle);
}

功能

nalgebra 旨在成为一个通用、低维度的线性代数库,具有针对计算机图形学和物理学的优化工具集。这些功能包括

依赖关系

~0.8–4MB
~94K SLoC