#矩阵 #结构 #维度 #大小 #矩阵 #n维矩阵

nthD_Matrix

一个用于使用任意大小和维度的矩阵的库

3个版本

0.1.2 2023年4月8日
0.1.1 2023年4月7日
0.1.0 2023年4月6日

#851数学 类别中

每月 31 次下载

MIT/Apache

11KB
183

一个简单的库,允许您使用任意大小和维度的矩阵,并像常规旧向量一样访问它们的内部。NdMatrix提供了一种灵活的数据结构,用于任何数据,具有基本的算术运算(感谢num_traits!)有关更多信息,请查看github上的Docs.md文件。

可以使用matrix!宏轻松初始化矩阵

//dimensions, type, default
let matrix = matrix!([10,10,10]; usize, 15);

然后可以使用坐标或向量的绝对索引访问

let value1 = matrix.pos(vec![3,2,4])?;
let value2 = matrix.nth(15)?;

这种设置使得通过矩阵迭代变得简单,没有复杂的嵌套循环

for i in 0..matrix.len() {
    let pos:Vec<usize> = matrix.nth_to_pos(i)?;
    //do stuff with the position!
}

(现在也有了迭代器)

还提供了数值类型的算术运算

let mut matrix_a = matrix!([5,5]; usize, 10);
let matrix_b = matrix!([5,5]; usize, 10);

matrix_a.add(matrix_b);//adds 2 matrixes
matrix_a.const_add(15);//adds one value to every element of a matrix

addsubmuldiv可以调用,以及它们的常数对应物。请注意,2个矩阵必须具有相同的大小,且mul不是传统的“矩阵乘法”,它只是将每个元素相乘(即将推出)。

依赖项

~155KB