|
We represent torsion points on modular abelian varieties as follows.
Suppose A is an abelian variety defined over the complex numbers
C. Then A(C) is canonically isomorphic to
H1(A, R)/H1(A, Z), and the torsion subgroup of A(C) is
isomorphic to H1(A, Q)/H1(A, Z). We represent a torsion element
of A(C) by giving a representative element of H1(A, Q). The
functions below provide basic arithmetic operations with such
elements, application of homomorphisms, and
conversion functions.
Sometimes it is useful to consider elements of H1(A, R), given
by floating point vectors (i.e., over RealField()). These
represent certain points of infinite order, but without further
information we do not know exactly what point they represent,
or even whether such a point is 0.
Elements can only be created independently of other elements by
coercion, see Section Coercion.
The following commands describe the basic arithmetic operations available for
elements of modular abelian varieties. Operations include
addition, subtraction, and multiplication by an integer, rational
number, or real number.
a * x : FldRatElt, ModAbVarElt -> ModAbVarElt
a * x : RngIntElt, ModAbVarElt -> ModAbVarElt
Product of the integer, rational or real number a by the element x of
a modular abelian variety.
x * a : ModAbVarElt, FldRatElt -> ModAbVarElt
x * a : ModAbVarElt, RngIntElt -> ModAbVarElt
Product of the element x of a modular abelian variety by
the integer, rational or real number a.
The sum of elements x and y of a modular abelian variety.
The difference of elements x minus y of a modular abelian variety.
In this example, we construct J 0(23), and consider the finite
subgroup ker(T 3 - 5), which has order 400. We then do
various arithmetic operations with some of its elements.
> A := JZero(23);
> t3 := HeckeOperator(A,3);
> Factorization(CharacteristicPolynomial(t3));
[
<x^2 - 5, 2>
]
> G := Kernel(t3-5);
> #G;
400
> Generators(G);
[
Element of abelian variety defined by [1/10 0 1/10 1/5] modulo homology,
Element of abelian variety defined by [0 0 0 -5/2] modulo homology,
Element of abelian variety defined by [1/10 -1/10 0 -1/5] modulo homology,
Element of abelian variety defined by [1 -3/2 2 1] modulo homology
]
> x := G.1;
> 1.5*x;
Element of abelian variety defined by [0.149999999999999999999999999998 0.E-28
0.149999999999999999999999999998
0.299999999999999999999999999996] modulo homology
> (3/2)*x;
Element of abelian variety defined by [3/20 0 3/20 3/10] modulo homology
> 10*x;
0
> x*1.5;
Element of abelian variety defined by [0.149999999999999999999999999998 0.E-28
0.149999999999999999999999999998
0.299999999999999999999999999996] modulo homology
> 1.5*x eq x*1.5;
true
> x*(3/2);
Element of abelian variety defined by [3/20 0 3/20 3/10] modulo homology
> x*5;
Element of abelian variety defined by [1/2 0 1/2 1] modulo homology
> G.1 + G.2;
Element of abelian variety defined by [1/10 0 1/10 -23/10] modulo homology
> G.1 - G.2;
Element of abelian variety defined by [1/10 0 1/10 27/10] modulo homology
These commands compute information about the order of an element,
the degree of the homology of the parent variety, and a field
that the point is defined over.
Given an element of a modular abelian variety x, return the order of x,
if x is known exactly. Otherwise an error occurs.
Given a point x on a modular abelian variety return the exact order of x,
if x is known exactly as a torsion point,
and if not the order of an approximation of x by a torsion point,
obtained using continued fractions.
The dimension of the homology of the parent of x, where x is
an element of a modular abelian variety.
A field that x is defined over, which need not be minimal, where
x is an element of a modular abelian variety.
We compute a 2-torsion point on the elliptic curve J 0(11),
compute some approximate orders, and compute the degree.
> A := JZero(11);
> G := Kernel(nIsogeny(A,2));
> G;
Finitely generated subgroup of abelian variety with invariants
[ 2, 2 ]
> x := G.1;
> ApproximateOrder(Sqrt(2)*x);
1023286908188737
> ApproximateOrder(1.000000000000001*x);
2
> Degree(x);
2
Notice that FieldOfDefinition(x) is valid, but far from
optimal. It would be better to return the number field generated by
the 2-torsion point.
> FieldOfDefinition(x);
Algebraically closed field with no variables
> FieldOfDefinition(0*x);
Rational Field
> Order(x);
2
These are commands for testing equality, inclusion, whether an element
is 0, and whether an element is known exactly, (i.e., as an element
of H1(A, Q), or just as an element of H1(A, R)).
Return true if the elements x and y of a modular abelian variety are
equal.
Return true if the element x of a modular abelian variety
is an element of the list X.
Return true if the element x of a modular abelian variety
is known exactly, i.e., x is defined by an element of
the rational homology.
Return true if the element x of a modular abelian variety
is known exactly and is equal to 0. If x is
not known exactly, return true if a real homology vector that
represents x is "very close" to an element of the integral
homology, where very close means that the distance is
within 1/10n, where n is M`point_precision and M is the
parent of x.
We demonstrate each of these commands using
elements of the 2-torsion subgroups of the two elliptic
curves of conductor 37.
> J := JZero(37);
> A, B := Explode(Decomposition(J));
> A;
Modular abelian variety 37A of dimension 1, level 37 and
conductor 37 over Q
> B;
Modular abelian variety 37B of dimension 1, level 37 and
conductor 37 over Q
> A2 := Kernel(nIsogeny(A,2));
> B2 := Kernel(nIsogeny(B,2));
> x := A2.1;
> y := B2.2;
> x eq y;
false
> x in [* x, y *];
true
> IsZero(x);
false
> IsZero(0*x);
true
> IsExact(1.0000000000000000000001*x);
false
> IsExact((2/3)*x);
true
For non-exact elements, IsZero means
"is quite close to 0".
> IsZero(0.0001*x);
false
> IsZero(0.00001*x);
true
> IsZero(0.000000000001*x);
true
> A`point_precision;
10
There are two notations for applying a homomorphism to an
element. One can find an inverse image of an
element using the @@ command.
phi(x) : ModAbVarElt, MapModAbVar -> ModAbVarElt
The image of the element x of a modular abelian variety
under the homomorphism φ of abelian varieties.
An inverse image of the element x of a modular abelian variety
under the homomorphism φ of abelian varieties.
Let φ = T 3 - 5 acting on the abelian surface J 0(23).
We apply φ to an element of the kernel G of φ,
and get 0. We also find an element y such that φ(y)
is a certain element of G.
> A := JZero(23);
> phi := HeckeOperator(A,3) - 5;
> G := Kernel(phi);
> x := G.1;
> Order(x);
10
> phi(x);
0
> zero := A!0;
> z := zero@@phi; z;
0
> y := x@@phi; y;
Element of abelian variety defined by [-1/20 1/20 -1/20 -1/20] modulo homology
> phi(y) in G;
true
> y@phi eq phi(y);
true
An exact torsion point representation of an element of a modular abelian
variety can be found using continued fractions to find good rational
approximations for each coordinate of a representative real homology class.
A representative element of the homology can also be retrieved.
The Eltseq command gives the sequence of entries of the
vector returned by Element.
Cutoff: RngIntElt Default: 10^3
If the modular abelian variety element
x is defined by an element z in the real homology H1(A, R),
find an element of H1(A, Q ) which
approximates z, using continued fractions,
and return the corresponding point.
The vector in homology which represents the element x of a modular abelian
variety.
A vector over the rational or real field which represents the element x with
respect to the basis for integral homology of the parent abelian variety of x.
The Eltseq of LatticeCoordinates(x) where x is an
element of a modular abelian variety.
This code illustrates each of the commands for a 3-torsion
point in J0(33).
> A := JZero(33);
> x := A![1/3,0,0,0,0,0];
> x;
Element of abelian variety defined by [1/3 0 0 0 0 0] modulo homology
> Order(x);
3
> ApproximateByTorsionPoint(1.001*x);
Element of abelian variety defined by [1001/3000 0 0 0 0 0] modulo homology
> Element(x);
(1/3 0 0 0 0 0)
> Eltseq(x);
[ 1/3, 0, 0, 0, 0, 0 ]
> LatticeCoordinates(x);
(1/3 0 0 0 0 0)
The Element and LatticeCoordinates can differ when the
integral structure on the homology is complicated. This is common
when the weight is bigger than 2.
> A := JZero(11,4); A;
Modular motive JZero(11,4) of dimension 2 and level 11 over Q
> x := A![1/3,0,0,0];
> Element(x);
( 1/8 1/24 -1/24 -1/24)
> Eltseq(x);
[ 1/3, 0, 0, 0 ]
> LatticeCoordinates(x);
(1/3 0 0 0)
> x;
Element of abelian variety defined by [1/3 0 0 0] modulo homology
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|