-
Notifications
You must be signed in to change notification settings - Fork 4
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
Triangulation with boundary (meromorphic differentials) #49
Triangulation with boundary (meromorphic differentials) #49
Conversation
d9bb6dc
to
c42abf2
Compare
4a52a52
to
0582dc5
Compare
0582dc5
to
772da41
Compare
@KaiFu2210 The following example does not work for me
Even though |
Yes, I confirm. The issue is that the code did not find as many half-edges as expected. Let me see what went wrong. |
The mistake is from the function "strebel_edges". I found the code: if list_boundary[e] > 0: #ep[e] is in an internal edge Here, I'd like to parameterize three edge of the internal face that the edge e adjacent to. b = fp[a] instead of b = fp[ep[e]]. I tested that if I modified this, the output is correct. |
@KaiFu2210 I do not understand why the following example from
Namely, the constraint forces the only edge to have length zero. Actually, I do not understand the answer. The condition |
The residue of these two faces have opposite signs. The coefficients [1,1] means the sum of residues is zero. The coefficients [1, -1] is the case where the edge is of length zero. The cone is constructed in the Strebel polyhedron. For this Strebel graph, the cone is the right vertical half-plane and the ambient space is the entire plane. Will it be better to construct the cone only along x-coordinates? |
There is no need to build the cone at all at this stage. I changed the functions to |
Thanks so much! I'm looking at the codes. |
This PR implement triangulation with boundaries in order to handle meromorphic differentials (that naturally appears as degeneration of holomorphic differentials). It also does a lot of factorization and cleaning in the base code.
Constellation
class as a super class ofTriangulation
Triangulation
now has an extra_bdry
attribute to encode boundaryVeeringTriangulation
can now use the_bdry
attribute to encode meromorphic differentialsStrebelGraph
class (subclass ofConstellation
) with conversion back and forth fromVeeringTriangulation
via the methodsVeeringTriangulation.strebel_graph()
andStrebelGraph.veering_triangulations()
StrebelGraphLinearFamily
and conversion fromVeeringTriangulationLinearFamily
DelaunayStrebelAutomaton
: automaton with states of two typesVeeringTriangulation
andStrebelGraph
(meromorphic case only)Follow-up
FlatStructure
more compatible withVeeringTriangulationLinearFamily
: seeFlatStructure
versusVeeringTriangulationLinearFamily
#51FlatStructure
a quadratic differential insage-flatsurf
and move all layout logic tosage-flatsurf
: see Use sage-flatsurf and ipyvue-flatsurf for plotting #38