#向量 #稀疏 #稠密 #线性代数 #向量空间

无std 向量

用于高维向量空间的稀疏和稠密向量

2个不稳定版本

使用旧的Rust 2015

0.3.0 2018年5月12日
0.1.0 2017年2月18日

#877 in 数学


用于sann

MPL-2.0许可协议

92KB
2.5K SLoC

向量

Build Status Downloads Version License

概要

用于高维向量空间的稀疏和稠密向量。

动机

许多机器学习算法在高维向量空间中使用向量。

向量提供了以下表示形式的有效实现

稠密 稀疏

入门

vectors的最新版本添加到项目的Cargo.toml依赖项中。

然后添加...

#[macro_use(dense_vec, sparse_vec)]
extern crate vectors;

...到您的crate根文件中(例如lib.rsmain.rs)。

完成后,您就可以开始了!

示例

extern crate vectors;

use vectors::Vector;
use vectors::heap::{SparseVector, DenseVector};

fn main() {
  let sparse_1 = SparseVector::from(vec![(0, 0.1), (2, 0.2), (4, 0.3), (6, 0.4)]);
  let sparse_2 = SparseVector::from(vec![(0, 0.2), (3, 0.4), (5, 0.2), (6, 0.6)]);
  let dot = sparse_1.dot(&sparse_2);
  println!("{:?}", dot);

  let dense_1 = DenseVector::from(vec![0.0, 1.0, 2.0, 4.0, 6.0]);
  let dense_2 = DenseVector::from(vec![0.2, 3.0, 0.0, 1.5, 6.0]);
  let dot = dense_1.dot(&dense_2);
  println!("{:?}", dot);
}

贡献

请阅读CONTRIBUTING.md以了解我们的行为准则和向我们提交pull请求的过程。

版本

我们使用SemVer进行版本控制。有关可用的版本,请参阅此存储库的标签

作者

另请参阅参与此项目的贡献者列表

许可协议

此项目采用MPL-2.0许可协议 – 详细信息请参阅LICENSE.md文件。

依赖关系

~450KB