Skip to main content

Hyperdimensional computing with Jax

Project description

hyper-jax

Hyperdimensional computing with Jax. This library provides a very minimal implementation of MAP (Multiply, add, permute) operations over bipolar vectors originally proposed here.

Install

Coming soon...

How to use

Generate 2 random vectors with dimension of 10 000

from generator import random_vectors

dimensions = 10000
count = 2

key = random.PRNGKey(0)
vectors = random_vectors(key, dimensions, count)

Bundle two hypervectors

from operation import bundle, unbundle

hypervector = bundle(vectors[0], vectors[1])

Unbundle two hypervectors

# original_vector == vectors[0]
original_vector = unbundle(hypervector, vectors[1])

Bind two hypervectors

from operation import bind, unbind

bound_vector = bind(vectors[0], vectors[1])

Unbind the hypervector

# original_vector == vectors[1]
unbound_vector = unbind(bound_vector, vectors[0])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hyper-jax-0.0.1.tar.gz (2.8 kB view hashes)

Uploaded Source

Built Distribution

hyper_jax-0.0.1-py3-none-any.whl (3.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page