Description
The Cyclic Group Representations (CGR)[^1]* (NeurIPS - 2022) is a subset of Modular Composite Representation (MCR)[^2] (Cogn Comput - 2014), but was proposed years later. While both classes work very similarly, they differ in how each one handles bundling. CGR uses the element-wise mode of hypervectors (HVs), whereas MCR uses the addition of complex numbers.
I've implemented both classes in a private fork a long time ago, but didn't merge it since it was requiring lots of polishing and I didn't have the time. Now that MCR is merged, thanks to #174, I'm willing to look into it.
My private implementation uses a parent BaseMCRTensor for MCRTensor and CGRTensor, as they share many operations in common (I took the name of the parent class based on Section 2.3.10 of [^3]).
- While the authors in [^1] refer to their work as "Finite Group VSA", I prefer the term coined in this survey [^3].
[^1] Understanding hyperdimensional computing for parallel single-pass learning
[^2] Modular Composite Representation
[^3] A Survey on Hyperdimensional Computing aka Vector Symbolic Architectures, Part I: Models and Data Transformations