Skip to content

Repository files navigation

Hypervector

A Rust library for hyperdimensional computing (HDC).

Hyperdimensional computing is a brain-inspired paradigm where information is represented as high-dimensional vectors (hypervectors or HDVs) and processed using simple algebraic operations like addition, multiplication, and permutation. This enables fast, robust, and noise-tolerant learning for tasks like classification, symbolic reasoning, and associative memory [4].

Features

  • Binary (0/1) and bipolar (+1/-1) hypervector types (HDVs).
  • Real and complex hypervector types (also known as HRRs or Holographic Reduced Representations).
  • Modular Composite Representation hypervector type.
  • Trait-based design for extensibility.
  • Example applications: symbolic reasoning, associative memory and classification across multiple modalities.

Examples

Runnable example problems (cargo run --example name):

Symbolic reasoning

Classification

Recommendation

References

  1. "What We Mean When We Say 'What’s the Dollar of Mexico?'" – Pentti Kanerva, 2010
  2. "A Robust and Energy-Efficient Classifier Using Brain-Inspired Hyperdimensional Computing" Abbas Rahimi, Pentti Kanerva, Jan M. Rabaey, 2016
  3. "Hyperdimensional Computing: An Algebra for Computing with Vectors", Pentti Kanerva, 2022
  4. "Holographic Reduced Representations", Tony Plate, IEEE Transactions on Neural Networks, February, 1995, 6(3):623-41
  5. "Modular Composite Representation", J. Snaider S. Franklin, 2014

About

A Rust library for hyperdimensional computing (HDC)

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages