7 个版本
新 0.1.6 | 2024 年 8 月 13 日 |
---|---|
0.1.5 | 2024 年 8 月 8 日 |
269 在 数学
555 每月下载量
4MB
1.5K SLoC
迷你矩阵库
本项目是一个 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);