Skip to content

helixprojectai-code/Topological-PQC

 
 

Repository files navigation

Braid-to-Matrix Engine (Topological PQC Prototype)

Objective

Convert braid words into unitary matrices and study trace invariants.

Current Work

  • Implemented σ₁ and σ₂ generators
  • Computed braid word matrices
  • Verified trace invariance for trefoil knot

Next Steps

  • Introduce θ = γ log(p)
  • Explore parameterized invariants
  • Move toward Kauffman bracket / Jones polynomial

Author

Bilal Khan

  1. Generator Matrices Output

When running generators.py, we get the braid matrices σ₁ and σ₂:

[[ 0.5 +0.j -0.8660254+0.j 0. +0.j 0. +0.j] [ 0.8660254+0.j 0.5 +0.j 0. +0.j 0. +0.j] [ 0. +0.j 0. +0.j 1. +0.j 0. +0.j] [ 0. +0.j 0. +0.j 0. +0.j 1. +0.j]] [[ 1. +0.j 0. +0.j 0. +0.j 0. +0.j] [ 0. +0.j 0.5 +0.j -0.8660254+0.j 0. +0.j] [ 0. +0.j 0.8660254+0.j 0.5 +0.j 0. +0.j] [ 0. +0.j 0. +0.j 0. +0.j 1. +0.j]] Simple meaning:

These matrices represent braid crossings as rotations.

  1. Braid Word Output

For trefoil knot [1, 2, 1]:

Final matrix for trefoil (first 4x4): [[ 0.5 +0.j -0.8660254+0.j 0. +0.j 0. +0.j] [ 0. +0.j 0. +0.j 1. +0.j 0. +0.j] [ 0. +0.j 0. +0.j 0. +0.j 1. +0.j]] Meaning:

A braid word is converted into a final matrix using multiplication.

  1. Trace Results First run: Trace of trefoil braid: 7 Magnitude: 7.000000 Later run (after parameter update): Trace of trefoil braid: 7.7190269566 Magnitude: 7.719027

  2. Invariance Test Same knot, different word: [1,2,1] and [2,1,2]

Magnitudes match: True Meaning:

Different braid representation gives same invariant value.

  1. Experiment Results [1, 2, 1] → 7.719 [2, 1, 2] → 7.719 [1, 2, 1, 2] → 7.719 [1, -1] → 7.719 [1, 1, 2] → 7.719 Observation:

All tested braid words produced the same trace magnitude in current model.

Observation

The computed trace magnitude remains constant across different braid words, including both Trefoil (T(2,3)) and Cinquefoil (T(2,5)).

This indicates that the current matrix representation produces a stable but non-discriminative invariant.

While the system successfully processes braid words of varying length, it does not yet distinguish between different knot structures.

This suggests that further refinement is required to obtain a more informative topological invariant.

race of trefoil braid: (7.719026956613581+0j) Magnitude of trace: 7.719027

Same knot, different word: trace = (7.719026956613581+0j), magnitude = 7.719027 Magnitudes match: True

Cinquefoil results: Trace: (7.719026956613581+0j) Magnitude: 7.719027

--- Scaling Test --- Trefoil → 7.719027 Cinquefoil → 7.719027

About

Topological Invariants for Post-Quantum Cryptography

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%