HoloVec HoloVec HoloVec
  • Getting Started
  • Tutorials
  • User Guide
  • API
  • Examples
/
  1. HoloVec /
  2. HoloVec Examples /
  3. GHRR usage example: diagonality/m sweeps and non-commutativity trends

Note

Go to the end to download the full example code.

GHRR usage example: diagonality/m sweeps and non-commutativity trendsΒΆ

Run (optional):

python -m examples.ghrr_diagonality_sweep

 9 import numpy as np
10
11 from holovec.backends import get_backend
12 from holovec.models.ghrr import GHRRModel
13
14
15 def noncommutativity_score(model: GHRRModel, trials=10, seed=0) -> float:
16     vals = []
17     for i in range(trials):
18         a = model.random(seed=seed + 2 * i)
19         b = model.random(seed=seed + 2 * i + 1)
20         ab = model.bind(a, b)
21         ba = model.bind(b, a)
22         s = model.similarity(ab, ba)
23         vals.append(1.0 - float(s))
24     return float(np.mean(vals))
25
26
27 def main():
28     backend = get_backend('numpy')
29     D = 256
30     ms = [1, 2, 3]
31     alphas = [0.0, 0.25, 0.5, 0.75, 1.0]  # diagonality
32
33     print("Non-commutativity (1 - sim(ab,ba)) across m and diagonality:")
34     table = []
35     for m in ms:
36         row = []
37         for a in alphas:
38             model = GHRRModel(dimension=D, matrix_size=m, backend=backend, seed=0, diagonality=a)
39             score = noncommutativity_score(model, trials=8, seed=10)
40             row.append(score)
41         table.append(row)
42
43     header = "alpha:" + " ".join(f"{a:6.2f}" for a in alphas)
44     print(header)
45     for m, row in zip(ms, table):
46         print(f"m={m} :" + " ".join(f"{v:6.3f}" for v in row))
47
48     # Optional plotting
49     try:
50         import matplotlib.pyplot as plt
51
52         for m, row in zip(ms, table):
53             plt.plot(alphas, row, marker='o', label=f"m={m}")
54         plt.xlabel("Diagonality")
55         plt.ylabel("Non-commutativity (1 - sim)")
56         plt.title("GHRR: Non-commutativity vs Diagonality")
57         plt.legend()
58         plt.show()
59     except Exception:
60         pass
61
62
63 if __name__ == "__main__":
64     main()

Download Jupyter notebook: 41_model_ghrr_diagonality.ipynb

Download Python source code: 41_model_ghrr_diagonality.py

Download zipped: 41_model_ghrr_diagonality.zip

Gallery generated by Sphinx-Gallery

Previous
HRR correlation vs convolution demo
Next
BSDC-SEG demo: segment-sparse codes, bundling, and segment-wise search

2025, Twistient Corp.

Made with Sphinx and Shibuya theme.