JAX-HDC Documentation
JAX-HDC is a high-performance library for Hyperdimensional Computing (HDC) and Vector Symbolic Architectures (VSA) built on JAX.
Features
XLA compilation and automatic kernel fusion
Native GPU/TPU support through JAX backend
Pure functional design enabling JAX transformations (jit, vmap, grad, pmap)
Four VSA model implementations: BSC, MAP, HRR, FHRR
Feature encoders for discrete, continuous, and high-dimensional data
Classification models with test coverage
Quick Start
Installation:
git clone https://github.com/rlogger/jax-hdc.git
cd jax-hdc && pip install -e .
Basic usage:
import jax
from jax_hdc import MAP
model = MAP.create(dimensions=10000)
key = jax.random.PRNGKey(42)
x = model.random(key, (10000,))
y = model.random(key, (10000,))
bound = model.bind(x, y)
similarity = model.similarity(x, y)
Documentation Contents
User Guide
API Reference
- API Reference
bind_bsc()bundle_bsc()inverse_bsc()hamming_similarity()bind_map()bundle_map()inverse_map()cosine_similarity()permute()cleanup()BSCBSBCMAPHRRFHRRCGRMCRVTBRandomEncoderLevelEncoderProjectionEncoderKernelEncoderGraphEncoderCentroidClassifierAdaptiveHDCLVQClassifierRegularizedLSClassifierSparseDistributedMemoryHopfieldMemoryAttentionMemory
- Functional Module
- VSA Models
- Embeddings Module
- Models Module
- Memory Module
- Utilities Module
Additional Information