sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.48k stars 488 forks source link

fundamental domains for subgroups of PSL(2,ZZ) #9557

Open videlec opened 14 years ago

videlec commented 14 years ago

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

Component: geometry

Keywords: hyperbolic geometry, fundamental domains, Fuchsian groups

Author: Vincent Delecroix

Branch/Commit: public/ticket/9557 @ dd78a56

Issue created by migration from https://trac.sagemath.org/ticket/9557

jdemeyer commented 11 years ago
comment:1

Attachment: trac_9557-fundamental_domains.patch.gz

fchapoton commented 9 years ago

Commit: 0cf76cf

fchapoton commented 9 years ago
comment:5

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)
fchapoton commented 9 years ago

Branch: public/ticket/9557

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

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

dd78a56trac #9557 a little more doc
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from 0cf76cf to dd78a56

videlec commented 9 years ago
comment:7

This is a bit outdated. One now can do

sage: G = Gamma(2)
sage: F = FareySymbol(G)
sage: F.fundamental_domain()
fchapoton commented 9 years ago
comment:8

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.

videlec commented 9 years ago
comment:9

sage.plot.hyperbolic_polygon.hyperbolic_polygon

fchapoton commented 9 years ago
comment:10

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.