Opened 10 years ago
Last modified 5 years ago
#9557 new enhancement
fundamental domains for subgroups of PSL(2,ZZ)
Reported by:  vdelecroix  Owned by:  Vincent Delecroix 

Priority:  major  Milestone:  sage6.8 
Component:  geometry  Keywords:  hyperbolic geometry, fundamental domains, Fuchsian groups 
Cc:  Merged in:  
Authors:  Vincent Delecroix  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  public/ticket/9557 (Commits)  Commit:  dd78a56b48441940d29de54474367af58dc433f8 
Dependencies:  Stopgaps: 
Description
Given a discrete subgroup of PSL(2,R) there exists a fundamental domain of the action of this group on the hyperbolic plane. Knowing one fundamental domain for a group, gives you the fundamental domain for any subgroups. This module implement the passage from the fundamental domain of PSL(2,ZZ) to any subgroup of finite index
The way is work concerns only the second part as I have to improve the transition (subgroup of PSL(2,Z)) <> (coset graph). The first line just build the coset graph associated to the congruence subgroup Gamma(3).
sage: g = sage.geometry.fundamental_domains.gamma_triangle_graph(3) sage: g Triangle graph (2,3,infinty) with 12 vertices sage: FundamentalDomain(g) Fundamental domain of a subgroup of index 12 sage: FundamentalDomain(g).show()
Dependancy:
#9439 on hyperbolic geometry
Attachments (1)
Change History (11)
Changed 10 years ago by
comment:1 Changed 7 years ago by
 Milestone changed from sage5.11 to sage5.12
comment:2 Changed 7 years ago by
 Milestone changed from sage6.1 to sage6.2
comment:3 Changed 7 years ago by
 Milestone changed from sage6.2 to sage6.3
comment:4 Changed 6 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:5 Changed 5 years ago by
 Branch set to public/ticket/9557
 Commit set to 0cf76cf1fabb530a4addd28ea64d92f174b6033b
 Milestone changed from sage6.4 to sage6.8
comment:6 Changed 5 years ago by
 Commit changed from 0cf76cf1fabb530a4addd28ea64d92f174b6033b to dd78a56b48441940d29de54474367af58dc433f8
Branch pushed to git repo; I updated commit sha1. New commits:
dd78a56  trac #9557 a little more doc

comment:7 Changed 5 years ago by
This is a bit outdated. One now can do
sage: G = Gamma(2) sage: F = FareySymbol(G) sage: F.fundamental_domain()
comment:8 Changed 5 years ago by
OK.. So maybe we can close this one as duplicate/invalid ?
Or is there something useful still ?
By the way, for another ticket: there is still a big gap in the hyperbolic plot routines: there is no good hyperbolic polygon class, like for the hyperbolic geodesics. I would need that and #16679 would benefit also.
comment:9 Changed 5 years ago by
sage.plot.hyperbolic_polygon.hyperbolic_polygon
comment:10 Changed 5 years ago by
Yes, but it only works for the upper halfplane model. And it is not integrated at all in the HyperbolicPlane? setup. This is much needed in the Poincaré disk model, in fact.
I just made a git branch and cleaned the code. May not be working anymore ?
New commits:
le patch trac_9557fundamental_domainsvd.patch a été importé
trac #9557 first code cleanup (pyflakes, pep8)