3-manifolds / SnapPy

SnapPy is a package for studying the topology and geometry of 3-manifolds, with a focus on hyperbolic structures. It is based on the SnapPea kernel written by Jeff Weeks.
https://snappy.computop.org/
89 stars 41 forks source link

symplectic basis for triangulated 3 manifolds #117

Closed jchilds0 closed 1 year ago

jchilds0 commented 1 year ago

An algorithm for constructing oscillating curves on triangulated 3-manifolds with tori boundary components. These oscillating curves are used to extend the Neumann Zagier matrix to one which is symplectic up to factors of 2.

See https://arxiv.org/abs/2208.06969

You can test the algorithm on random link exteriors by running dev/symplectic_basis/test_base.py. There's also a cmake file in that directory if you want to compile and run just the C portion directly with symplectic_basis_test.c or symplectic_basis_main.c.

Tested on the knots in the extended HTLinkExterior census (312k knots), and with Valgrind memcheck on symplectic_basis_test.c. Current implementation only works on manifolds with one cusp, its not clear if oscillating curves exist on manifolds with more than one cusp. The code has everything to run on manifolds with multiple cusps, except finding the paths for oscillating curves which run through multiple cusps.

jchilds0 commented 1 year ago

It looks like the windows wheels failed from a timeout when downloading the venv package, can we try a re run?

NathanDunfield commented 1 year ago

It looks like the windows wheels failed from a timeout when downloading the venv package, can we try a re run?

Sure, I triggered the re-run and everything is now green. We'll have a look at the PR in detail shortly.

NathanDunfield commented 1 year ago

We've merged this PR, thanks for a very well-done contribution!