#线性代数 #向量 #矩阵-向量 #矩阵运算 #编程 #迷你 #产品

bin+lib 迷你矩阵

用 Rust 实现的迷你线性代数库

7 个版本

0.1.6 2024 年 8 月 13 日
0.1.5 2024 年 8 月 8 日

269数学

Download history 421/week @ 2024-08-03 134/week @ 2024-08-10

555 每月下载量

Apache-2.0

4MB
1.5K SLoC

Rust 1K SLoC // 0.1% comments Python 279 SLoC // 0.4% comments Jupyter Notebooks 196 SLoC // 0.7% comments

迷你矩阵库

本项目是一个 Rust 库,用于基本的线性代数运算,包括向量和矩阵操作。它提供了执行与向量和矩阵相关的各种练习的功能。

特性

  • 向量和矩阵运算
  • 线性组合
  • 线性插值(Lerp)
  • 点积
  • 范数(1-范数、2-范数、∞-范数)
  • 余弦角
  • 叉积
  • 矩阵乘法
  • 转置
  • 简化行阶梯形(RREF)
  • 行列式

用法

该 crate 当前版本为 0.1.5

main 函数允许您根据指定练习号的命令行参数运行不同的练习。

运行练习

要运行特定的练习,请使用以下命令

cargo run <exercise_number>

总结

mini_matrix 是一个轻量级的线性代数库,用 Rust 编写,旨在在不依赖外部库的情况下提供基本的矩阵和向量操作。该项目作为 Rust 编程和线性代数概念的入门,特别针对 42 课程的学习练习。

贡献

欢迎贡献!请参阅 贡献指南 了解更多详情。


实现

本项目使用 Rust 实现,这是一种以性能和安全特性著称的系统编程语言。

文档

您可以在 这里 找到本项目的文档。


安装

此库最易与 cargo 一起使用。只需将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
num = "0.4.3"

或者使用以下命令

cargo add mini_matrix

然后使用以下方式导入库

#[macro_use]
extern crate mini_matrix;

然后导入模块,您就完成了!

use mini_matrix::Matrix;

// Create a 2x2 matrix:
let a = Matrix::from([
    [1.0, 2.0],
    [3.0, 4.0],
]);

// Create a 2x3 matrix:
let b = Matrix::from([
    [1.0, 2.0],
    [4.0, 5.0],
]);

let c = a * b; // Matrix product of a and b

let expected = Matrix::from([[5.0, 14.0], [11.0, 32.0]]);

assert_eq!(c, expected);

依赖