New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run through cylinders of circumference at most L #247
Comments
Is the number of saddle connections that you need to consider finite here? I mean, is there some way to know that a direction can not lead to any such cylinders a priori? |
Yes! The circumference of the cylinder is the sum of the length of the saddle connections on one of its boundaries. |
Ok. Then this should be easy to do unless I am missing something. What exactly counts as a duplicate cylinder? |
Let us assume that we have a cylinder |
So, two cylinders are the same if the saddle connections on their right side are the same as a set (or have one connection in common, which is the same it seems.) |
It sounds to me that all of this can be done with sage-flatsurf already. Unless |
How do we tell |
We could just run it for short increments until all the components are big. |
Actually, you can already tell libflatsurf to stop the search once a predicate is satisfied. The default is "all components are cylinder or minimal". (Though that is not terribly convenient to call from Python yet.) |
Let me start something close to flatsurf/sage-flatsurf#76 where we document this. |
If you don't mind, I'll try to create a sample notebook and build a PR from that. I think that this "predicate" is not obvious to do. |
Any particular surface that I should use for the example? |
Some L-shaped surfaces would be perfectly fine. |
Thank you! There are perhaps three related mathematical issues to keep in mind with this. Perhaps they are accounted for, but I don't know enough about the code. 1) In H(2,2) you can have two pairs of collections of saddle connections that define two cylinders that are parallel. So first, from these collections, can it detect that there are indeed two cylinders. 2) It's rare, but also in H(2,2) you can have a 3 collections of parallel saddle connections. Two collections bounding a cylinder and a third that's just parallel to the other two and has nothing to do with a cylinder. 3) Finally, there is the "Wollmilchsau" that decomposes into two parallel cylinders with the same length in every direction. Perhaps I misunderstand and all of these are accounted for, but these are three phenomena to make sure are incorporated. |
Yes, I think it's all accounted for. We iterate over all saddle connections and decompose the surface for their direction. But we ignore a saddle connection if we had already considered its direction before. |
As requested by D. Aulicino it would be desirable to iterate through the (finite) list of cylinders of circumference less than L.
An algorithm could be as follows
The text was updated successfully, but these errors were encountered: