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/
87 stars 41 forks source link

Inside view widget: surgery selection in Dehn surgery space #1

Open unhyperbolic opened 4 years ago

unhyperbolic commented 4 years ago

A cool interface for changing the surgery in the inside view widget would be to draw the Dehn surgery space similar to https://math.okstate.edu/people/segerman/dehn_surgery_images.html and let the user click on a point there. Question: should this be done by querying the SnapPea kernel with different Dehn surgery parameters or in a fragment shader implementing Newton's method.

culler commented 4 years ago

I guess the idea is that the graphics card could probably compute several shape sets in parallel and draw the Dehn Surgery space more quickly. That is an interesting idea, but sounds like quite a bit of work to write.

On Sat, Dec 21, 2019 at 8:01 PM Matthias Goerner notifications@github.com wrote:

A cool interface for changing the surgery in the inside view widget would be to draw the Dehn surgery space similar to https://math.okstate.edu/people/segerman/dehn_surgery_images.html and let the user click on a point there. Question: should this be done by querying the SnapPea kernel with different Dehn surgery parameters or in a fragment shader implementing Newton's method.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/3-manifolds/SnapPy/issues/1?email_source=notifications&email_token=AAJ6CP3KWONLAAABJRS5S5TQZ3DBHA5CNFSM4J6JVVA2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4ICFBZYQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJ6CP5T5WNDFZIAUDA3TK3QZ3DBHANCNFSM4J6JVVAQ .

unhyperbolic commented 4 years ago

Exactly, it would be wonderful if we could implement finding the shapes in the fragment shader because then we can leverage the parallel computing power of the graphics card. But doing that might be a lot of work. For example, plain GLSL does not even support matrix multiplication for matrices larger than 4x4 or complex numbers. So lots of stuff we would need to code in GLSL first.

culler commented 4 years ago

One thought about this. You don't want to start each computation from the symmetric shapes, or even the complete structure shapes. I am imagining a trisection procedure. You compute a shape set for the middle of a big pixel. Then you subdivide the big pixel into 9 subpixels and assign the shapes to the center. You use the center shapes as the initial shapes for the 8 small pixels around the edge. Usually you should only need one Newton iteration to polish up those 8 shape sets.

However, this might get tricky near the edge of the Dehn surgery space, where the pixel in the middle might be bad but some of the other 8 are good.

On Sat, Dec 21, 2019 at 10:52 PM Matthias Goerner notifications@github.com wrote:

Exactly, it would be wonderful if we could implement finding the shapes in the fragment shader because then we can leverage the parallel computing power of the graphics card. But doing that might be a lot of work. For example, plain GLSL does not even support matrix multiplication for matrices larger than 4x4 or complex numbers. So lots of stuff we would need to code in GLSL first.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/3-manifolds/SnapPy/issues/1?email_source=notifications&email_token=AAJ6CP2KLIJZO2OQUG6SLFLQZ3XBLA5CNFSM4J6JVVA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHPIVQQ#issuecomment-568232642, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJ6CP6IGHV6WVVCD2XCMNTQZ3XBLANCNFSM4J6JVVAQ .

henryseg commented 4 years ago

There could be strange effects even away from the edge of Dehn surgery space. Saul and I found some branch points away from zero volume, in regions with negatively oriented tetrahedra. That is, which point of the representation variety you get to depends on the path you take to get there in Dehn surgery space. This picture shows volume contours, with paths coming in from infinity (in the lower left). The contours don't agree when we go past the branch point. File (v2508, -1.6<x<-1.5, -0.95<y<-0.8)

culler commented 4 years ago

That is a great picture! I don't find it shocking, though.

I am not aware of an accepted characterization of the full neighborhood of the (correctly oriented) complete hyperbolic structure in the smooth model of the PSL(2,C) character variety which corresponds to Dehn Surgery Space. Whatever it may be, though, I don't know any reason why that neighborhood should necessarily be simply connected. You have to take logs to compute the Dehn surgery coefficients. If the neighborhood is not simply connected then there would be no reason to expect that a continuous branch of the log should exist on the entire neighborhood. Also, the gluing variety might have singularities or "Tillmann points" that correspond to points in that neighborhood, and that would surely complicate any computation based on a fixed triangulation.

On Tue, Dec 24, 2019 at 7:12 PM Henry Segerman notifications@github.com wrote:

There could be strange effects even away from the edge of Dehn surgery space. Saul and I found some branch points away from zero volume, in regions with negatively oriented tetrahedra. That is, which point of the representation variety you get to depends on the path you take to get there in Dehn surgery space. This picture shows volume contours, with paths coming in from infinity (in the lower left). The contours don't agree when we go past the branch point. [image: File] https://user-images.githubusercontent.com/10263961/71427676-ee551480-266f-11ea-83e1-d895c48fe6ab.png

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/3-manifolds/SnapPy/issues/1?email_source=notifications&email_token=AAJ6CP4QB4FGUIMY3LXES2TQ2KXP3A5CNFSM4J6JVVA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHTXISI#issuecomment-568816713, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJ6CP7ZCBOLMDNV3LOU3LTQ2KXP3ANCNFSM4J6JVVAQ .