#matrix #dynamic #dynamically-sized

dynamic-matrix

一个简单的库,用于处理矩阵

2个版本

0.1.1 2021年12月15日
0.1.0 2021年12月15日

#1826 in 数据结构

Apache-2.0

22KB
244

dynamic-matrix

一个用于处理动态大小矩阵的库。

use dynamic_matrix::{dynamic_matrix, DynamicMatrix};

let mut mat = dynamic_matrix![
    1, 2; 
    4, 5;
];
// let mat: DynamicMatrix<isize> = DynamicMatrix::new([[1, 2], [4, 5]]);

assert_eq!(mat.shape(), (2, 2));

mat.push_row(vec![7, 8]).unwrap();
mat.push_col(vec![3, 6, 10]).unwrap();

assert_eq!(mat.shape(), (3, 3));

assert_eq!(mat[(1, 2)], 6);
mat[(2, 2)] = 9;

assert_eq!(mat.as_slice(), &[1, 2, 3, 4, 5, 6, 7, 8, 9]);

目标

这个库的目的是让使用矩阵(内部通过将元素展平到向量中来存储)变得简单。实现将尝试模仿 std::vec::Vec 上的方法,并提供了与矩阵的形状和大小交互的方法。然而,它并不旨在提供在这些矩阵上执行任何数学运算的方法。

目前重点是行主序,但未来可能会支持列主序。

注意

这仅是我的一项爱好项目,因为我的另一个库需要一个更简单的方式来处理矩阵。欢迎任何和所有的建议/贡献。

无运行时依赖