On 26 January 2015 at 11:40, Vincent Delecroix
<[email protected]> wrote:
> Hello Jeroen,
>
>> Is there any way in Sage to compute with the action of SL(2,Z) (or
>> similar groups) on the upper half plane? The group SL2Z exists in Sage,
>> but I couldn't find how to make it act on stuff with the rule
>> g(x) = (a*x + b)/(c*x + d).
>
> #9439: hyperbolic spaces (I opened it a long time ago and it ended up
> going nowhere)
>
> For Hecke groups that generalizes SL(2,Z) the action is somehow not a
> proper action but is indeed implemented in the elements (#16883,
> #16936, #16976).
>
>> Another obvious question is how to reduce elements to the usual
>> fundamental domain.
This is clear to me: input is z in CC (or some other version of C)
with im(z)>0, and output is something like a pair (g,z0) with g in
SL2Z and zo in the starndard fundamantal region, where g(z)=z0 (or
possibly g(z0)=z).
I know that such a function has been implemented, probably more than
once. For example see in schemes/elliptic_curves/period_lattice.py
the functions normalise_periods() and reduce_tau(). This is a rather
naive version. One has to be very careful to avoid infinite looping
(numerically it is possible for both z and -1/z to have abs() less
than 1). Also, when im(z) is very small -- which does occur a lot in
applications -- it is a good idea to start by ignoring im(z)
altogether but using continued fractions on re(z) to find a unimodular
matrix which takes re(z) close to 0, and then apply that to z. This
is what I do in eclib.
John
>
> Not sure what you meant. But for fundamental domains, the best way to
> obtain them is not very handy (see #11709 and a long list that follow)
> {{{
> sage: G = Gamma1(3)
> sage: F = FareySymbol(G)
> sage: F.fundamental_domain() # beautiful picture
> }}}
> and you can play with F to obtain further informations.
>
> Vincent
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-nt" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send an email to [email protected].
> Visit this group at http://groups.google.com/group/sage-nt.
> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"sage-nt" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send an email to [email protected].
Visit this group at http://groups.google.com/group/sage-nt.
For more options, visit https://groups.google.com/d/optout.