|
For modular curves X0(N), there is a finite group of automorphisms B0(N) which come from matrices
acting on the complex upper half-plane. This group is isomorphic to (Nm)_((SL)2((R)))(Γ0(N))/Γ0(N)
where (Nm)_((SL)2((R)))(Γ0(N)) is the normaliser of Γ0(N) in (SL)2((R)). It is generated
by Atkin-Lehner involutions and, if 4 or 9 divides N, a transformation of the form z |-> z + (1/r) for
some 1 < r | 24 (see [AL70] and also [Bar08] for the correct structure in all cases).
We denote the latter
transformations by Sr and write wd for the d-th Atkin-Lehner involution (d|N, (d, N/d)=1). These
transformations have a natural modular interpretation.
A famous result of Kenku and Momose [KM88], completed by Elkies for N=63 [Elk90], says that B0(N) gives
the full group of algebraic automorphisms of X0(N) (in characteristic zero) when the genus of X0(N)
is at least 2, except for N=37 and 63. In fact, there is a slight error in their analysis, and N=108 is
also an exception [Har]. In these three cases B0(N) is of index two in the full automorphism
group A0(N) of X0(N).
We have precomputed and stored the wd and Sr curve isomorphisms in the database. Let g(N) denote the genus
of X0(N). There are intrinsics to return these individual isomorphisms and a special intrinsic to compute and
return the automorphism group B0(N), when g ≤1, or A0(N), when g ≥2, over various fields as a
GrpAutCrv. We sometimes refer to the elements of these groups as modular automorphisms to emphasise that
they are not all of the curve automorphisms in the g(N) = 0 or 1 cases (when the automorphism group is
infinite).
Except in the N=108 case, all automorphisms are defined over the cyclotomic field (Q)(μr) where r is the
largest divisor of 24 such that r2|N (for this field of definition, r can be replaced by r/2 if r is
twice an odd number). Specifically, the wd are all defined over (Q) and Sr has (Q)(μr)
as its field of definition.
The automorphism group intrinsics include in various ways an integer n that specifies a
cyclotomic level and they return the subgroup of A0(N), or B0(N) for g ≤1, containing all elements
defined over (Q)(μn). In all cases, the group of automorphism returned is a semi-direct product of
groups, one for each prime p dividing N. For p > 3 this group is just C2, generated by an Atkin-Lehner
involution. For p=2 or 3, if p2|N and n is appropriately divisible, the p-component is more complex.
We build up the automorphism group in the various cases from the known structure. This is much faster than
using the generic algorithm to compute it. The only real time goes into building up the total set of function field
automorphisms (starting from the stored data for the generators) that is cached in the GrpAutCrv object.
The curve CN should be a base change of the small modular database curve of level N to a field of characteristic 0.
d is a divisor of N with (d, N/d)=1. Returns the Atkin-Lehner involution wd as a scheme automorphism
of CN. If the full automorphism group G of CN has already been computed and cached with CN (see the intrinsics
below and the section in the Algebraic Curves chapter on automorphism groups) then the intrinsic will return
wd as a GrpAutCrvElt in G. Note that the intrinsic should terminate immediately in the first case,
when it is just retrieving the equations from the database file, but has to do a little bit of work in the
second case.
The curve CN should be a base change of the small modular database curve of level N to a field K of characteristic 0.
r is a divisor of 24 such that r2|N. u is a primitive r-th root-of-unity in K.
Returns Sr as a scheme automorphism of CN that corresponds to z |-> z + (1/r) if K is embedded into
(C) so that u maps to e2π i/r. If the full automorphism group G of CN has already been computed and
cached with CN (see the intrinsics
below and the section in the Algebraic Curves chapter on automorphism groups) then the intrinsic will return
Sr as a GrpAutCrvElt in G. Note that the intrinsic will usually terminate more quickly in the first case,
when it is just retrieving equations from the database file and maybe performing a composition, whereas in the second case
it is doing an extra little bit of work.
The curve CN should be a base change of the small modular database curve of level N to a field K of characteristic 0.
N is 37, 63 or 108. u is a primitive r-th root-of-unity in K where r=1 (so u=1) when N=37 and r=3
in the other cases. Returns an automorphism of CN in A0(N) that is not in B0(N) (i.e. not given by the
action of a matrix on the complex upper half-plane: see the introduction). This "extra" automorphism generates
A0(N) over B0(N) and is an involution when N=37 (the hyperelliptic involution) or N=108 and is of
order 4 when N=63 with square equal to the Atkin-Lehner involution w9.
If the full automorphism group G of CN has already been computed and
cached with CN (see the intrinsics
below and the section in the Algebraic Curves chapter on automorphism groups) then the intrinsic will return
the extra automorphism as a GrpAutCrvElt in G. Note that the intrinsic should terminate immediately in
the first case, when it is just retrieving the equations from the database file, but has to do a little bit of work
in the second case.
Install: BoolElt Default: true
The curve CN should be a base change of the small modular database curve of level N to a field K of characteristic 0.
Computes and returns the full group of automorphisms of CN (automorphisms in B0(N) if the genus of X0(N)
is ≤1: see the introduction) defined over (Q). If the parameter Install has the value true,
which is the default, the return value is internally installed and cached
as the (full) automorphism group of CN, so the user should be careful that K doesn't contains roots of unity which
generate a field over which some extra modular automorphisms are defined (viz. roots of unity of exact order r where
2 < r|24 and r2|N).
Install: BoolElt Default: true
The curve CN should be a base change of the small modular database curve of level N to a field K which is the
cyclotomic extension of (Q) obtained by adjoining the n-th roots of unity (the precise condition is
that K.1 should be a primitive n-th root of unity).
Computes and returns the full group of automorphisms of CN (automorphisms in B0(N) if the genus of X0(N)
is ≤1: see the introduction) defined over K. If the parameter Install has the value true,
which is the default, the return value is internally installed and cached
as the (full) automorphism group of CN.
Install: BoolElt Default: true
The curve CN should be a base change of the small modular database curve of level N to a field K which is an
extension of (Q) containing the n-th roots of unity. u should be a primitive n-th root of unity
in K.
Computes and returns the full group of automorphisms of CN (automorphisms in B0(N) if the genus of X0(N)
is ≤1: see the introduction) defined over the cyclotomic field (Q)(μn).
If the parameter Install has the value true, which is the default, the return value is internally installed
and cached as the (full) automorphism group of CN. In that case, the user should be careful that n is
well-chosen so that K doesn't contain higher order roots of unity which generate a subfield over which some modular
automorphisms are defined that are not defined over (Q)(μn).
> C := SmallModularCurve(37);
> C;
Hyperelliptic Curve defined by y^2 + (-x^3)*y = 2*x^5 - 5*x^4 + 7*x^3 - 6*x^2
+ 3*x - 1 over Rational Field
> AtkinLehnerInvolution(C,37,37);
Mapping from: CrvHyp: C to CrvHyp: C
with equations :
$.1
$.2
$.1 - $.3
and inverse
$.1
$.2
$.1 - $.3
> ExtraAutomorphism(C,37,1); //the hyperelliptic involution
Mapping from: CrvHyp: C to CrvHyp: C
with equations :
$.1
$.1^3 - $.2
$.3
and inverse
$.1
$.1^3 - $.2
$.3
> C<x,y,z> := SmallModularCurve(48);
> C;
Hyperelliptic Curve defined by y^2 + (-x^4 - 1)*y = 3*x^4 over Rational Field
> AtkinLehnerInvolution(C,48,3);
Mapping from: CrvHyp: C to CrvHyp: C
with equations :
-z
x^4 - y + z^4
x
and inverse
-z
x^4 - y + z^4
x
> Type($1);
MapAutSch
> G := AutomorphismGroupOverQ(C,48);
> #G;
16
> AtkinLehnerInvolution(C,48,3);
Mapping from: CrvHyp: C to CrvHyp: C
with equations :
-z
x^4 - y + z^4
x
and inverse
-z
x^4 - y + z^4
x
> Type($1);
GrpAutCrvElt
> PermutationRepresentation(G);
Permutation group acting on a set of cardinality 6
Order = 16 = 2^4
(2, 3)
(1, 2)(3, 4)
(5, 6)
Mapping from: GrpAutCrv: G to GrpPerm: $, Degree 6, Order 2^4 given by a rule
> // D8 X C2
> K<i> := QuadraticField(-1);
> CK<x,y,z> := SmallModularCurve(48,K);
> G := AutomorphismGroupOverCyclotomicExtension(CK,48,4);
> #G;
48
> SrAutomorphism(CK,48,4,i); // z -> z+(1/4)
Mapping from: CrvHyp: CK to CrvHyp: CK
with equations :
-i*x
y
z
and inverse
i*x
y
z
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|