2 unstable releases
Uses old Rust 2015
0.3.0 | May 12, 2018 |
---|---|
0.1.0 | Feb 18, 2017 |
#1157 in Math
Used in sann
92KB
2.5K
SLoC
vectors
Synopsis
Sparse & dense vectors for use in high dimensional vector spaces.
Motivation
Many machine-learning algorithms make use of vectors in high-dimensional vector spaces.
The vectors provides efficient implementations for the following representations:
Dense | Sparse | |
---|---|---|
Heap | ✅ | ✅ |
Stack | ✅ | ✅ |
Getting Started
Add the most recent version of vectors
to your dependencies in your project's Cargo.toml
.
Then add …
#[macro_use(dense_vec, sparse_vec)]
extern crate vectors;
… to your crate's root file (e.g. lib.rs
, main.rs
).
Once that's done you're ready to play!
Example
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
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Vincent Esche – Initial work – Regexident
See also the list of contributors who participated in this project.
License
This project is licensed under the MPL-2.0 – see the LICENSE.md file for details.
Dependencies
~450KB