Re: A quick Sage question: intersection of congruence subgroups

45 views
Skip to first unread message

William Stein

unread,
Dec 15, 2009, 5:23:31 AM12/15/09
to Joel Bellaiche, sage-nt
On Mon, Dec 14, 2009 at 7:57 AM, Joel Bellaiche <jbel...@brandeis.edu> wrote:
> Dear William,
>
> I have a quick sage question.
> I know how to test with sage when two cusps are equivalent w.r.t to a
> congruence subgroup like Gamma0(5) or Gamma1(7). What if I want to test if
> they are equivalent w.r.t to the intersection of those two groups ?
> Is there a way in Sage to define the intersection of two subgroups of a
> group?

I don't think this capability is supported. I've cc'd this response to

http://groups.google.com/group/sage-nt

in case somebody else has an idea.

-- William

> Will sage be able to recognize this intersection as a congruence
> subgroup?
>
> I remember from the lectures at the CMI that there was a canonical way to
> ask sage question
> but I was not able to remember it (or to find it on the website).
>
> Thank you very much for your help.
>
> Best,
>
> Joel
>
>
>



--
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org

John Cremona

unread,
Dec 15, 2009, 8:44:44 AM12/15/09
to sag...@googlegroups.com
My instinct says that if two cusps are equivalent modulo two
congruence subgroups of coprime levels then they should be equivalent
modulo the intersection, i.e. you can find a matrix in the
intersection taking one to the other. But I have not spent more than
a few seconds thinking about it (yet!).

John

2009/12/15 William Stein <wst...@gmail.com>:
> --
>
> You received this message because you are subscribed to the Google Groups "sage-nt" group.
> To post to this group, send an email to sag...@googlegroups.com.
> To unsubscribe from this group, send email to sage-nt+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/sage-nt?hl=en-GB.
>
>
>

daveloeffler

unread,
Dec 15, 2009, 9:20:26 AM12/15/09
to sage-nt
The generic ArithmeticSubgroup class (which represents a finite index
subgroup of SL2Z) can calculate more or less anything about a subgroup
of SL2Z given a membership testing function.

For instance:

sage: class BlackBoxSubgroup
(sage.modular.arithgroup.arithgroup_generic.ArithmeticSubgroup):
def __init__(self,
f):
self._f =
f

sage.modular.arithgroup.arithgroup_generic.ArithmeticSubgroup.__init__
(self)
def __call__(self,
u):
if self._f
(u):
return
u

else:
raise TypeError

sage: G = BlackBoxSubgroup(lambda u: u in Gamma0(5) and u in Gamma1
(7))

sage: G.index()
288
sage: G.genus()
7
sage: G.cusps()
[Infinity, 0, -1/2, -1/3, -1/5, -1/7, -1/10, -1/15, -2/7, -3/14,
-3/35, -2/35]
sage: G.are_equivalent_cusps(1/6, 273/169)
sage: G.are_equivalent_cusps(1/6, 273/169, trans = True) # give
transformation matrix
[-1413 239]
[ -875 148]
True

Unfortunately this is rather slow, because it uses Todd-Coxeter
enumeration to calculate a full set of coset reps for G in SL2Z, and
doesn't take advantage of the fact that G is congruence.

David

On Dec 15, 1:44 pm, John Cremona <john.crem...@gmail.com> wrote:
> My instinct says that if two cusps are equivalent modulo two
> congruence subgroups of coprime levels then they should be equivalent
> modulo the intersection, i.e. you can find a matrix in the
> intersection taking one to the other.  But I have not spent more than
> a few seconds thinking about it (yet!).
>
> John
>
> 2009/12/15 William Stein <wst...@gmail.com>:
>
Reply all
Reply to author
Forward
0 new messages