Opened 12 years ago

Last modified 7 years ago

#9557 new enhancement

fundamental domains for subgroups of PSL(2,ZZ)

Reported by: Vincent Delecroix Owned by: Vincent Delecroix
Priority: major Milestone: sage-6.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, GitHub, GitLab) Commit: dd78a56b48441940d29de54474367af58dc433f8
Dependencies: Stopgaps:

Status badges


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()


#9439 on hyperbolic geometry

Attachments (1)

trac_9557-fundamental_domains.patch (23.5 KB) - added by Vincent Delecroix 12 years ago.

Download all attachments as: .zip

Change History (11)

Changed 12 years ago by Vincent Delecroix

comment:1 Changed 9 years ago by Jeroen Demeyer

Milestone: sage-5.11sage-5.12

comment:2 Changed 9 years ago by For batch modifications

Milestone: sage-6.1sage-6.2

comment:3 Changed 9 years ago by For batch modifications

Milestone: sage-6.2sage-6.3

comment:4 Changed 8 years ago by For batch modifications

Milestone: sage-6.3sage-6.4

comment:5 Changed 7 years ago by Frédéric Chapoton

Branch: public/ticket/9557
Commit: 0cf76cf1fabb530a4addd28ea64d92f174b6033b
Milestone: sage-6.4sage-6.8

I just made a git branch and cleaned the code. May not be working anymore ?

New commits:

efc3e8cle patch trac_9557-fundamental_domains-vd.patch a été importé
0cf76cftrac #9557 first code cleanup (pyflakes, pep8)

comment:6 Changed 7 years ago by git

Commit: 0cf76cf1fabb530a4addd28ea64d92f174b6033bdd78a56b48441940d29de54474367af58dc433f8

Branch pushed to git repo; I updated commit sha1. New commits:

dd78a56trac #9557 a little more doc

comment:7 Changed 7 years ago by Vincent Delecroix

This is a bit outdated. One now can do

sage: G = Gamma(2)
sage: F = FareySymbol(G)
sage: F.fundamental_domain()

comment:8 Changed 7 years ago by Frédéric Chapoton

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 7 years ago by Vincent Delecroix


comment:10 Changed 7 years ago by Frédéric Chapoton

Yes, but it only works for the upper half-plane model. And it is not integrated at all in the HyperbolicPlane? setup. This is much needed in the Poincaré disk model, in fact.

Note: See TracTickets for help on using tickets.