### 2 unstable releases

0.3.0 | May 12, 2018 |
---|---|

0.1.0 | Feb 18, 2017 |

#**141** in Math

**MPL-2.0**license

91KB

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

to your dependencies in your project's `vectors`

.`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

~385KB