|
The functions described below create modular abelian
varieties, combine them together in various ways, and obtain
simple information about them.
Modular abelian varieties are much less restricted than spaces of
modular symbols as one can take arbitrary finite direct sums.
The JZero command will create the Jacobian J0(N) of the
modular curve X0(N) (which parameterizes
isomorphism classes of pairs of elliptic curves and cyclic subgroups
of order N).
Higher weight motivic analogues of this Jacobian can be created.
Computations can be carried out
in the +1 or -1 quotient of homology for efficiency,
though certain results will be off by factors of 2.
JZero(N, k : parameters) : RngIntElt, RngIntElt -> ModAbVar
Sign: RngIntElt Default: 0
Create the modular abelian variety J0(N) of level N and weight 2 or
weight k≥2, i.e., the Jacobian of
the modular curve X0(N). The parameter Sign determines
whether computations will be carried out in the +1 or -1 quotient of
homology.
> JZero(23);
Modular abelian variety JZero(23) of dimension 2 and level 23 over Q
> JZero(23 : Sign := +1);
Modular abelian variety JZero(23) of dimension 2 and level 23 over Q
with sign 1
> JZero(23,4);
Modular motive JZero(23,4) of dimension 5 and level 23 over Q
> JZero(23,4 : Sign := -1);
Modular motive JZero(23,4) of dimension 5 and level 23 over Q with
sign -1
> JZero(389,2 : Sign := +1);
Modular abelian variety JZero(389) of dimension 32 and level 389
over Q with sign 1
The JOne command creates the Jacobian of the modular curve
X1(N) (which parameterizes
isomorphism classes of pairs of elliptic curves and cyclic subgroups
of order N). The command Js creates an abelian
variety isogenous to J1(N); more precisely it is the product of
abelian varieties Jeps(N), where Jeps(N) is the abelian
variety attached to all modular forms whose character is a Galois
conjugate of eps. Creating Js(N) is much faster than creating
J1(N), since less time is spent finding the integral structure on
homology.
The JH command creates the Jacobian JH(N) of the curve
XH(N), which is the quotient of X1(N) by the subgroup H of the
integers modulo N.
JOne(N, k : parameters) : RngIntElt, RngIntElt -> ModAbVar
Sign: RngIntElt Default: 0
Create the modular abelian variety J1(N) of level N and
weight k, if given,
or 2, i.e., the Jacobian of
the modular curve X1(N). Note that creating and finding the integral
structure on Js(N), which is isogenous to J1(N), is much faster.
Computing with J1(N) may be expensive.
Js(N, k : parameters) : RngIntElt, RngIntElt -> ModAbVar
Sign: RngIntElt Default: 0
A modular abelian variety that is Q-isogenous to the weight k (or 2)
version of J1(N). More precisely, the direct sum of the modular
abelian varieties attached to modular symbols spaces with Nebentypus.
JH(N, k, d : parameters) : RngIntElt, RngIntElt, RngIntElt -> ModAbVar
Sign: RngIntElt Default: 0
Suppose H is some (cyclic) subgroup of G=(Z /NZ ) * such that G/H has
order d. Create the modular abelian variety JH(N) of level N
and weight k (or 2 if k not given), where
JH(N) is
isogenous to the Jacobian of the modular curve XH(N) associated to the
subgroup of SL 2(Z ) of matrices [a, b;c, d] with c divisible by N
and a in H modulo N. It is the product of modular symbols varieties
J(ε ) for all Dirichlet characters ε that are trivial on H.
The parameter Sign determines
whether computations will be carried out in the +1 or -1 quotient of
homology.
JH(N, k, gens : parameters) : RngIntElt, RngIntElt, [RngIntElt] -> ModAbVar
Sign: RngIntElt Default: 0
Let H be the subgroup of (Z /NZ ) * generated by the sequence of integers,
gens. Create
the modular abelian variety JH(N) of level N and weight k
(or 2 if k not given),
where JH(N) is isogenous to the Jacobian of
the modular curve XH(N) associated to the subgroup of SL 2(Z ) of
matrices [a, b;c, d] with c divisible by N and a in H modulo N. It is
the product of modular symbols variety J(ε ) for all Dirichlet
characters ε that are trivial on H.
The parameter Sign determines
whether computations will be carried out in the +1 or -1 quotient of
homology.
> JOne(13);
Modular abelian variety JOne(13) of dimension 2 and level 13 over Q
> JOne(13,4);
Modular motive JOne(13,4) of dimension 15 and level 13 over Q
> JOne(13,4 : Sign := 1);
Modular motive JOne(13,4) of dimension 15 and level 13 over Q
> JH(13,6);
Modular abelian variety J_H(13) of dimension 2 and level 13 over Q
> JH(13,3);
Modular abelian variety J_H(13) of dimension 0 and level 13 over Q
> JH(13,[-1]);
Modular abelian variety J_H(13) of dimension 2 and level 13 over Q
> JOne(17);
Modular abelian variety JOne(17) of dimension 5 and level 17 over Q
> Js(17);
Modular abelian variety Js(17) of dimension 5 and level 17 over Q
> IsIsogenous(JOne(17),Js(17));
true
> Degree(NaturalMap(JOne(17),Js(17)));
16
> JH(17,2);
Modular abelian variety J_H(17) of dimension 1 and level 17 over Q
> JH(17,4);
Modular abelian variety J_H(17) of dimension 1 and level 17 over Q
> JH(17,8);
Modular abelian variety J_H(17) of dimension 5 and level 17 over Q
The following commands create abelian varieties attached to spaces of modular
forms, sequences of spaces of forms, newforms, and characters. If an input space
of modular forms is not cuspidal, Magma automatically replaces it with its
cuspidal subspace.
Sign: RngIntElt Default: 0
The abelian variety attached to the modular forms space M.
Sign: RngIntElt Default: 0
The abelian variety attached to the sequence X of modular forms
spaces. This is the direct sum of the spaces attached to each element of the
sequence.
ModularAbelianVariety(eps, k : parameters) : GrpDrchElt, RngIntElt -> ModAbVar
Sign: RngIntElt Default: 0
The abelian variety associated to the dirichlet character ε . This corresponds to
the space of modular forms of weight k and character any Galois
conjugate of ε . We include all Galois conjugates in order to obtain
an abelian variety that is defined over Q .
The abelian variety attached to the newform f.
A newform f such that the modular abelian variety A is isogenous to the newform abelian
variety Af. An error occurs if A is not attached to a newform.
We first create the modular abelian variety attached to the spaces
S2(Γ0(11)) and S2(Γ1(13)). This is the direct
sum of J0(11) with J1(13).
> X := [ModularForms(11,2), ModularForms(Gamma1(13),2)];
> A := ModularAbelianVariety(X); A;
Modular abelian variety of dimension 3 and level 11*13 over Q
> IsIsomorphic(A, JZero(11)*JOne(13));
true Homomorphism N(1) from modular abelian variety of dimension
3 to JZero(11) x JOne(13) (not printing 6x6 matrix)
Next we create the modular abelian variety A attached to
S 2(Γ 1(17)) along with J 1(17) and J s(17).
We then note that A is isomorphic to J 1(17), but there
is no reason that A should be isomorphic to J s(17) (they
are probably only isogenous). This example illustrates
the fact that the abelian variety computed by Magma attached
to S 2(Γ 1(17)) is J 1(17) rather than J s(17).
(Recall that J s(N) is a product of copies of abelian
varieties corresponding to conjugacy classes of characters.)
> A := ModularAbelianVariety(ModularForms(Gamma1(17),2)); A;
Modular abelian variety of dimension 5 and level 17 over Q
> B := JOne(17); B;
Modular abelian variety JOne(17) of dimension 5 and level 17 over Q
> C := Js(17); C;
Modular abelian variety Js(17) of dimension 5 and level 17 over Q
> IsIsomorphic(A,B);
true Homomorphism from modular abelian variety of dimension 5 to
JOne(17) (not printing 10x10 matrix)
> Degree(NaturalMap(A,C));
16
If eps is a Dirichlet character and k≥2 is an integer,
let S be the space of modular forms with weight k and
character a Galois conjugate of eps. The command
ModularAbelianVariety(eps,k) computes the modular abelian
variety attached to S.
> G<eps> := DirichletGroup(13,CyclotomicField(12));
> Order(eps^2);
6
> ModularAbelianVariety(eps^2);
Modular abelian variety of dimension 2 and level 13 over Q
> ModularAbelianVariety(eps,3);
Modular motive of dimension 4 and level 13 over Q
Next we compute the modular abelian variety attached
to a newform in S 2(Γ 1(25)).
> S := CuspForms(Gamma1(25),2);
> N := Newforms(S);
> #N;
2
> f := N[1][1];
> PowerSeries(f,4);
q + a*q^2 + 1/1355*(941*a^7 + 4820*a^6 + 11150*a^5 + 11522*a^4 +
3582*a^3 + 10041*a^2 + 24432*a - 5718)*q^3 + O(q^4)
> A_f := ModularAbelianVariety(f);
> A_f;
Modular abelian variety Af of dimension 8 and level 5^2 over Q
The abelian variety A f also determines the newform:
> PowerSeries(Newform(A_f),4);
q + a*q^2 + 1/1355*(941*a^7 + 4820*a^6 + 11150*a^5 + 11522*a^4 +
3582*a^3 + 10041*a^2 + 24432*a - 5718)*q^3 + O(q^4)
The Newform command works even if A wasn't explicitly created using a newform.
> A := Decomposition(JZero(37))[1];
> Newform(A);
q - 2*q^2 - 3*q^3 + 2*q^4 - 2*q^5 + 6*q^6 - q^7 + O(q^8)
The commands below associate modular abelian varieties to
spaces of modular symbols and to sequences of spaces of modular symbols.
Conversely, they associate spaces of modular symbols to modular
abelian varieties. If an input space of modular symbols is not
cuspidal, it is replaced by its cuspidal subspace.
The abelian variety attached to the modular symbols space M.
The abelian variety attached to the sequence X of modular symbols
spaces.
A sequence of spaces of modular symbols associated to the abelian variety
A.
We create modular abelian varieties attached to several spaces
of modular symbols.
> M := ModularSymbols(37,2);
> ModularAbelianVariety(M);
Modular abelian variety of dimension 2 and level 37 over Q
> M := ModularSymbols(Gamma1(17));
> ModularAbelianVariety(M);
Modular abelian variety of dimension 5 and level 17 over Q
Note that the sign of the space of modular symbols determines
the sign of the corresponding abelian variety.
> M := ModularSymbols(Gamma1(17),2,+1);
> A := ModularAbelianVariety(M); A;
Modular abelian variety of dimension 5 and level 17 over Q with sign 1
We can also create an abelian variety attached to any sequence
of modular symbols spaces.
> ModularAbelianVariety([ModularSymbols(11), ModularSymbols(Gamma1(13))]);
Modular abelian variety of dimension 3 and level 11*13 over Q
Conversely, there is a sequence of modular symbols spaces
associated to any abelian variety defined over Q. These
need not be the same as the spaces used to define the
modular abelian variety; instead they are what is used internally
in computations on that abelian variety.
> ModularSymbols(JOne(13));
[
Modular symbols space of level 13, weight 2, character $.1,
and dimension 2 over Cyclotomic Field of order 6 and degree 2
]
> ModularSymbols(JZero(37));
[
Modular symbols space for Gamma_0(37) of weight 2 and
dimension 4 over Rational Field
]
> A := JOne(17);
> ModularSymbols(A);
[
Modular symbols space for Gamma_0(17) of weight 2 and
dimension 2 over Rational Field,
Modular symbols space of level 17, weight 2, character $.1,
and dimension 2 over Cyclotomic Field of order 8 and degree 4
]
Suppose A is an abelian variety and V is a vector subspace of
the rational homology H1(A, Q).
Then it can be
determined whether or not V is the rational homology of an abelian
subvariety of A, and if so that abelian subvariety can be computed.
The other commands below are used to create the zero-dimensional
abelian variety.
Return true if and only if the subspace V of rational homology
defines an abelian subvariety of the variety A. If so, also returns
the abelian subvariety.
This intrinsic relies on knowing
a complete decomposition of A as a product of simple abelian
varieties (so it is currently restricted to abelian varieties
for which such a decomposition can be computed in Magma, e.g.,
modular abelian varieties over Q).
The zero-dimensional abelian variety.
The zero-dimensional abelian variety of weight k.
Returns the zero subvariety of the abelian variety A.
We define two subspaces of the rational homology of J0(33);
one defines an abelian subvariety and the other does not.
> A := JZero(33);
> w3 := AtkinLehnerOperator(A,3);
> W := Kernel(Matrix(w3)+1);
> DefinesAbelianSubvariety(A,W);
true Modular abelian variety of dimension 1 and level 3*11 over Q
> V := RationalHomology(A);
> DefinesAbelianSubvariety(A,W + sub<V|[V.1]>);
false
We create several zero-dimensional abelian varieties.
> ZeroModularAbelianVariety();
Modular abelian variety ZERO of dimension 0 and level 1 over Q
> ZeroModularAbelianVariety(2);
Modular abelian variety ZERO of dimension 0 and level 1 over Q
> ZeroSubvariety(JZero(11));
Modular abelian variety ZERO of dimension 0 and level 11 over Q
As a useful shorthand, it is sometimes possible to create modular
abelian varieties by giving a short string. If the string contains a
single integer N, e.g., 37, then the corresponding abelian variety
is J0(N). If it is of the form "<level>k<weight>", then it is
the possibly motivic J0(N) of weight k. If it is of the form
"<level>k<weight><isogeny code>", where <isogeny code> is one
of "A", "B", ... "Z", "AA", "BB", ... "ZZ",
"AAA", "BBB", ... then the corresponding abelian variety is
JZero(N,k)(iso), where iso is a positive integer, and
"A" corresponds to iso=1, "Z" to iso=26,
"AA" to iso=27, "ZZ" to iso=52, "AAA" to
iso=53, etc.
This labeling convention is the same as the one used for modular
symbols, and extends the one used for Cremona's database of elliptic
curves, except that Cremona's database contains some random scrambling
for levels between 56 and 450. If the weight part of the label is
omitted, the weight is assumed to be 2. To get the optimal quotient
of J0(N) with Cremona label s, set the optional parameter Cremona equal to true.
Sign: RngIntElt Default: 0
Cremona: BoolElt Default: false
The abelian variety defined by the string s.
The parameter Sign determines
whether computations will be carried out in the +1 or -1 quotient of
homology. If the parameter Cremona is set to true, the optimal
quotient of J0(N) with Cremona label s will be returned.
> ModularAbelianVariety("37");
Modular abelian variety 37 of dimension 2 and level 37 over Q
> ModularAbelianVariety("37A");
Modular abelian variety 37A of dimension 1 and level 37 over Q
> ModularAbelianVariety("11k4A");
Modular motive 11k4A of dimension 2 and level 11 over Q
> ModularAbelianVariety("65C");
Modular abelian variety 65C of dimension 2 and level 5*13 over Q
> ModularDegree(ModularAbelianVariety("56A"));
4
> ModularDegree(ModularAbelianVariety("56A" : Cremona := true));
2
Commands are available which can retrieve
the base ring, dimension,
character of the defining modular form, a field of definition, the level,
the sign, the weights, and a short name of a modular abelian variety.
The ring that the modular abelian variety A is defined over.
The dimension of the modular abelian variety A.
If the modular abelian variety A = Af is attached to a newform, returns the
Nebentypus character of f. Since f is only well-defined up to
Gal (Qbar/Q ) conjugacy, the character is also only well-defined up to
Gal (Qbar/Q ) conjugacy.
For information on Dirichlet characters, see Dirichlet Characters.
List of all Dirichlet characters of spaces of modular symbols
associated with the modular symbols abelian variety which parameterizes A.
The best known field of definition of the modular abelian variety A.
An integer N such that the modular abelian variety
A is a quotient of a power of J1(N). Note
that N need not be minimal. It is determined by how A is explicitly
represented as a quotient of modular Jacobians.
The sign of the modular abelian variety
A, which is either 0, -1, or +1. If the sign is
+1 or -1, then
only the corresponding complex-conjugation
eigenspace of the homology of A is computed,
so various computations will be off by a
factor of 2.
The set of weights of the modular abelian variety A.
The weight need not be unique since
direct sums of modular symbols spaces of different weights are allowed.
We illustrate all the commands for J0(23).
> A := JZero(23);
> BaseRing(A);
Rational Field
> Dimension(A);
2
> DirichletCharacter(A);
1
> FieldOfDefinition(A);
Rational Field
> Level(A);
23
> Sign(A);
0
> Weights(A);
{ 2 }
This is an example of a nontrivial Dirichlet character.
> eps := DirichletCharacter(JOne(23)(2)); eps;
$.1^2
> Order(eps);
11
We illustrate the Weights command in several cases.
> Weights(JZero(11));
{ 2 }
> Weights(JZero(11,4));
{ 4 }
> Weights(JOne(13,3));
{ 3 }
> Weights(DirectSum(JZero(11),JOne(13,3)));
{ 2, 3 }
> Weights(DirectSum(JZero(11),JZero(13,3)));
{ 2 }
We display a few fields of definition.
> FieldOfDefinition(JOne(13));
Rational Field
> FieldOfDefinition(BaseExtend(JZero(11),QuadraticField(7)));
Rational Field
> FieldOfDefinition(ChangeRing(JZero(11),GF(7)));
Finite field of size 7
In the following example we quotient J 0(11) out by a 5-torsion point.
The resulting abelian variety might not be defined over Q, and the
FieldOfDefinition command currently plays it safe and returns
Qbar.
> A := JZero(11);
> G := nTorsionSubgroup(A,5);
> H := Subgroup([G.1]);
> H;
Finitely generated subgroup of abelian variety with invariants [ 5 ]
> FieldOfDefinition(A/H);
Algebraically closed field with no variables
Let A be a modular abelian variety over Q. The conductor command
computes the conductor of A by factoring A into newform abelian
varieties Af whose conductor is Nd, where
N is the level of f and d is the dimension of Af.
The conductor of the abelian variety A. We require that A is
defined over Q . When A=Af is attached to a newform of level N, then
the conductor of A is Nd, where d is the dimension of A.
> Factorization(Conductor(JZero(33)));
[ <3, 1>, <11, 3> ]
> Factorization(Conductor(JZero(11)^5));
[ <11, 5> ]
> Factorization(Conductor(OldSubvariety(JZero(46))));
[ <23, 4> ]
> Factorization(Conductor(JOne(25)));
[ <5, 24> ]
Given an abelian variety A over a field K a divisor and a
multiple of #A(K) can be computed. When finite, the multiple of the number of
rational points is computed using reduction mod primes up to 100.
Currently the lower bound is nontrivial only when A is a quotient
of J0(N).
A divisor and a multiple of the cardinality of A(K), where A is a
modular abelian variety defined over a field K. If K is an abelian number
field, then we assume the Birch and Swinnerton-Dyer conjecture.
The cardinality of A(K) where A is a modular abelian variety defined over
the field K if an exact value for this cardinality is known.
> #JZero(11);
5
> #JZero(23);
11
> NumberOfRationalPoints(JZero(37));
Infinity Infinity
> NumberOfRationalPoints(JOne(13));
1 19
> NumberOfRationalPoints(JOne(23));
1 408991
> Factorization(408991);
[ <11, 1>, <37181, 1> ]
> NumberOfRationalPoints(ModularAbelianVariety("43B"));
7 7
If f is a newform then an inner twist of f is a Dirichlet
character χ such that the twist of f by χ equals a Galois
conjugate of f, at least at Fourier coefficients whose subscript is
coprime to some fixed integer. A CM twist is a nontrivial
character χ such that f twisted by χ equals f, at least
at Fourier coefficients whose subscript is coprime to some fixed
integer. The commands below find the CM and inner twists of the newform
corresponding to a newform abelian variety.
The optional parameter Proof to each command is by default false. If true, it uses a huge number of terms of
q-expansions.
If false, it uses far less (and is hence very quick),
and in practice this should be fine.
The computation
of inner and CM twists is not provably correct, even if the Proof :=
true option is set. It's very likely to be correct when
Proof := true, but not provably correct. (More precisely, Magma only
checks that each twist is a twist to precision 10 - 5, but does not
prove that this precision is sufficient.)
Proof: BoolElt Default: false
A sequence of the CM inner twist characters of the newform abelian variety A = Af
that are defined over the base ring of A. To gain all CM twists, base
extend to AlgebraicClosure(RationalField()) first.
Proof: BoolElt Default: false
A sequence of the inner twist characters of the newform abelian variety A = Af
that are defined over the base ring of A. To gain all inner twists, first base
extend to AlgebraicClosure(RationalField()).
We compute the inner twists for J 1(13).
> A := JOne(13); A;
Modular abelian variety JOne(13) of dimension 2 and level 13 over Q
> CMTwists(A);
[]
> A2 := BaseExtend(A,AlgebraicClosure(RationalField()));
> CMTwists(A2);
[]
> InnerTwists(A2);
[
1,
$.1^5
]
> Parent($1[2]);
Group of Dirichlet characters of modulus 13 over Cyclotomic Field
of order 6 and degree 2
We compute the inner twists for the second newform factor
of J 1(23).
> A := Decomposition(JOne(23))[2]; A;
Modular abelian variety image(23A[2]) of dimension 10, level 23
and conductor 23^10 over Q
> InnerTwists(BaseExtend(A,AlgebraicClosure(RationalField())));
[
1,
$.1^20
]
The CM elliptic curve J 0(32) has a nontrivial CM inner twist.
> A := JZero(32);
> InnerTwists(BaseExtend(A,AlgebraicClosure(RationalField())));
[
1,
$.1
]
> CMTwists(BaseExtend(A,AlgebraicClosure(RationalField())));
[
$.1
]
Quotients of J 0(N) can also have nontrivial inner twists, which are
not CM twists.
> J := JZero(81);
> A := Decomposition(J)[1];
> InnerTwists(BaseExtend(A,AlgebraicClosure(RationalField())));
[
1,
$.1
]
> CMTwists(BaseExtend(A,AlgebraicClosure(RationalField())));
[]
> Newform(A);
q + a*q^2 + q^4 - a*q^5 + 2*q^7 + O(q^8)
The following is an example of a 4-dimensional abelian variety A=A f in
J 0(512) that has four inner twists, none of which are CM twists.
One can use this fact to prove that if a p is a prime-indexed Fourier
coefficient of f, then a p2∈Z. Thus no single a p generates
the degree 4 field generated by all a n.
> J := JZero(512, 2, +1);
> A := Decomposition(J)[7]; A;
Modular abelian variety 512G of dimension 4, level 2^9 and
conductor 2^36 over Q with sign 1
> f := Newform(A); f;
q + 1/12*(a^3 - 30*a)*q^3 + 1/12*(-a^3 + 42*a)*q^5 +
1/6*(-a^2 + 18)*q^7 + O(q^8)
> Coefficient(f,3)^2;
6
> Coefficient(f,5)^2;
12
> Coefficient(f,7)^2;
8
> Abar := BaseExtend(JZero(512,2,+1)(7),AlgebraicClosure(RationalField()));
> InnerTwists(Abar);
[
1,
$.1,
$.2,
$.1*$.2
]
> CMTwists(Abar);
[]
Most of the predicates below work in full generality. The ones whose
domain of applicability is somewhat limited are IsIsomorphic,
IsQuaternionic, and IsSelfDual.
In theory, it is
possible to determine isomorphism for more general classes of modular
abelian varieties, but this has not yet been implemented.
Return true if we can determine whether or not the modular abelian varieties A and B are isomorphic.
If we can determine isomorphism, also returns true if A and B are
isomorphic and an explicit isomorphism, or false if they are not isomorphic. If
we can not determine isomorphism, also returns the reason why we cannot
as a string. If A and B are simple and defined over Q , then
there is an algorithm to determine whether or not A and B are isomorphic;
it has been implemented in most (but not all) cases in Magma.
If one of A or B has simple factors of multiplicity one, then in
principal it is possible, but the algorithm has not been programmed.
Return true if the simple factors of the modular abelian variety A appear with multiplicity one.
Return true if A is an abelian variety, i.e., defined over a ring of
characteristic 0 in which the conductor is invertible, or a finite field whose characteristic does
not divide the conductor of A. For example, if A has positive
dimension and is defined over Z , then Raynaud's theorem implies that A is
not an abelian variety.
Return true if the underlying homology of the modular abelian variety A is being computed using a
space of modular symbols. For example, this will be true for J0(N) and
for newform abelian varieties.
Return true if the modular abelian variety A is isogenous to a newform abelian variety Af. This
intrinsic also returns the abelian variety Af and an
explicit isogeny from Af to A.
Return true if the modular abelian varieties A and B are isogenous. If this can not be
determined, an error occurs. It is
always possible to determine whether or not A and B are isogenous when
both are defined over Q .
Return true if the modular abelian varieties A and B are isomorphic. If so, also returns an explicit
isomorphism. This command will work if A and B are defined over Q and the
simple factors occur with multiplicity one, and may work otherwise, but an
error may occur in the general case. Use the command
CanDetermineIsomorphism to avoid getting an error.
Return true if any of the modular forms attached to the modular abelian
variety A have weight bigger
than 2.
Return true if and only if some simple factor of the modular abelian
variety A over the base ring has
quaternionic multiplication.
Return true if the modular abelian
variety A is known to be isomorphic to its dual. An error occurs
if Magma is unable to decide.
Return true if and only if the modular abelian variety
A has no proper abelian subvarieties over
BaseRing(A).
We test whether a few objects are actually abelian varieties.
> A := JZero(11);
> A11 := ChangeRing(A,GF(11));
> IsAbelianVariety(A11);
false
> AZ := ChangeRing(A,Integers());
> IsAbelianVariety(AZ);
false
> A3 := ChangeRing(A,pAdicRing(3));
> IsAbelianVariety(A3);
true
A modular motive is sometimes also an abelian variety, but only over
the complex numbers.
> A := JZero(11,4); A;
Modular motive JZero(11,4) of dimension 2 and level 11 over Q
> IsAbelianVariety(A);
false
> IsOnlyMotivic(A);
true
> IsAbelianVariety(BaseExtend(A,ComplexField()));
true
Abelian varieties J 0(N) and J s(N) are attached to modular symbols, as are
newform abelian varieties.
> J := JZero(37);
> IsAttachedToModularSymbols(J);
true
> A := Decomposition(J)[1];
> IsAttachedToModularSymbols(A);
false
> t, Af := IsAttachedToNewform(A);
> IsAttachedToModularSymbols(Af);
true
> IsIsomorphic(A,Af);
true Homomorphism from 37A to 37A given on integral homology by:
[1 0]
[0 1]
> IsAttachedToModularSymbols(Js(17));
true
> IsAttachedToModularSymbols(JOne(17));
false
We test isogeny between a few abelian varieties.
> IsIsogenous(JZero(11),JOne(11));
true
> IsIsogenous(JZero(11)*JZero(11),JZero(22));
true
> IsIsogenous(JZero(11)*JZero(11),JZero(33));
false
> IsIsogenous(JZero(11),JZero(14));
false
> IsIsogenous(JZero(11)^2,JZero(22));
true
> A := JZero(37)(2); B := JOne(13);
> IsIsogenous(A*B*A, A*A*B);
true
> A := JZero(43);
> G := RationalCuspidalSubgroup(A);
> IsIsogenous(A,A/G);
true
Next we test isomorphism between some abelian varieties.
> A := JZero(43);
> G := RationalCuspidalSubgroup(A);
> B := A/G;
> CanDetermineIsomorphism(A,B);
true false
> IsIsomorphic(A,B);
false
> IsIsomorphic(JZero(11),JOne(11));
false
> IsIsomorphic(JZero(13),JOne(13));
false
> IsIsomorphic(Js(13),JOne(13));
true Homomorphism from Js(13) to JOne(13) given on integral
homology by:
[ 0 0 -1 0]
[ 0 0 0 -1]
[ 1 0 -1 0]
[ 0 1 0 -1]
> CanDetermineIsomorphism(Js(17),JOne(17));
false All tests failed to decide whether A and B are isomorphic.
We test whether certain Jacobians have simple factors
with multiplicity one.
> HasMultiplicityOne(JZero(43));
true
> HasMultiplicityOne(JZero(33));
false
> Decomposition(JZero(33));
[
Modular abelian variety 33A of dimension 1, level 3*11 and
conductor 3*11 over Q,
Modular abelian variety N(11,33,1)(11A) of dimension 1, level
3*11 and conductor 11 over Q,
Modular abelian variety N(11,33,3)(11A) of dimension 1, level
3*11 and conductor 11 over Q
]
We give an example of a non-quaternionic
surface.
> IsQuaternionic(JOne(13));
false
Jacobians are self dual, and there is a surface of level 43 that is self dual and
a surface of level 69 that is not.
> IsSelfDual(JOne(13));
true
> IsSelfDual(JZero(69)(2));
false
The surface A below is isomorphic to its dual.
The natural polarization has kernel that is the kernel
of multiplication by 2.
> A := JZero(43)(2);
> A;
Modular abelian variety 43B of dimension 2, level 43 and
conductor 43^2 over Q
> IsSelfDual(A);
true
> phi := ModularPolarization(A);
> Invariants(Kernel(phi));
[ 2, 2, 2, 2 ]
We test a few abelian varieties for simplicity.
> IsSimple(JOne(25));
false
> IsSimple(JOne(13));
true
> IsSimple(JZero(11)^10);
false
> IsSimple(NewSubvariety(JZero(100)));
true
These functions test whether two abelian varieties are exactly equal
or if one is a subset of another.
Return true if the modular abelian varieties A and B are equal.
Return true if the modular abelian variety A is a subset of the modular abelian variety B.
This example illustrates that taking the direct product of abelian varieties
is not commutative, as measured by equality (though it is as measured by isomorphism).
> A := JZero(11);
> B := JZero(14);
> A*B eq A*B;
true
> A*B eq B*A;
false
> IsIsomorphic(A*B, B*A);
true Homomorphism N(1) from JZero(11) x JZero(14) to JZero(14) x JZero(11)
given on integral homology by:
[0 0 1 0]
[0 0 0 1]
[1 0 0 0]
[0 1 0 0]
The first inclusion below is as expected, but the second
non-inclusion might be surprising. We do not consider J 0(11) as a
subset of J 0(22), even though there is an injective map from one to
the other, since to be a subset is much stronger than just the
existence of an inclusion map.
> JZero(37) subset JZero(37);
true
> JZero(11) subset JZero(22);
false
> IsInjective(NaturalMap(JZero(11),JZero(22)));
true
Every modular abelian variety A is equipped with a modular parameterization
and a modular embedding. The modular parameterization is a surjective
homomorphism from a modular symbols abelian variety, such as J0(N).
The modular embedding is a homomorphism to a modular symbols abelian
variety, which is only guaranteed to be injective in the category
of abelian varieties up to isogeny, i.e., to have
finite kernel as a morphism of abelian varieties. The structure of these two homomorphisms
is extremely important as they completely define A.
This intrinsic finds modular abelian varieties Je and Jp
associated to modular symbols and returns a list of finite-kernel maps from the
abelian varieties in the sequence X to Je and a list of modular parameterizations
from Jp to the abelian varieties in X.
A morphism with finite kernel from the modular abelian variety
A to a modular abelian variety
attached to modular symbols. This is only guaranteed to be an embedding in the
category of abelian varieties up to isogeny.
A surjective morphism to the modular abelian variety
A from an abelian variety attached to
modular symbols.
> X := [JZero(11),ModularAbelianVariety("37B")];
> CommonModularStructure(X);
[*
Homomorphism from JZero(11) to JZero(11) x JZero(37) given on integral
homology by:
[1 0 0 0 0 0]
[0 1 0 0 0 0],
Homomorphism from 37B to JZero(11) x JZero(37) given on integral
homology by:
[0 0 1 1 1 0]
[0 0 0 0 0 1]
*] [*
Homomorphism from JZero(11) x JZero(37) to JZero(11) (not printing 6x2
matrix),
Homomorphism from JZero(11) x JZero(37) to 37B (not printing 6x2
matrix)
*]
This example illustrates that the modular "embedding" need
only be an embedding in the category of abelian varieties up to isogeny.
> A := JZero(37)(1);
> x := A![1/2,1];
> B := A/Subgroup([x]);
> e := ModularEmbedding(B);
> e;
Homomorphism from modular abelian variety of dimension 1 to
JZero(37)_Qbar given on integral homology by:
[ 1 -1 1 0]
[ 2 -2 -2 2]
> IsInjective(e);
false
Moreover, the modular parameterization is surjective, but it need
be optimal (have connected kernel).
> pi := ModularParameterization(B);
> IsSurjective(pi);
true
> ComponentGroupOfKernel(pi);
Finitely generated subgroup of abelian variety with invariants [ 2 ]
> IsOptimal(pi);
false
Coercion can be used to create points on modular abelian varieties from
vectors on a basis of integral homology, from other elements of modular
abelian varieties, or from modular symbols. See the examples below,
especially the last one, to understand some of the subtleties of
coercion that arise because we view an abelian variety as a
vector space modulo a lattice, and that lattice can be embedded
in any way in Qn.
Coerce x into the modular abelian variety
A. The argument x can be an element of a modular
abelian variety, the integer 0, a sequence like that obtained by from Eltseq of
element of A (i.e., a linear combination of integral homology), a
vector on the basis for rational homology, or a tuple of the form
< P(X, Y), [u, v] > defining a modular symbol.
If you coerce a sequence of rationals or reals into an abelian variety
A, then Magma computes the corresponding linear combination of a basis of
integral homology and returns the point it defines. The sequence
must have length the rank of the integral homology.
> JZero(11)![1/2,1/5];
Element of abelian variety defined by [1/2 1/5] modulo homology
If you coerce exactly two cusps (or extended reals) into A,
then Magma computes the point corresponding to that modular symbol.
> JZero(11)![Cusps()|1/2,1/5];
0
> JZero(11)![Sqrt(2),0];
Element of abelian variety defined by
[1.414213562373095048801688724198 0] modulo homology
> JZero(11)![Cusps()|0,Infinity()]; // cusps
Element of abelian variety defined by [0 1/5] modulo homology
> JZero(11)![0,Infinity()]; // extended reals
Element of abelian variety defined by [0 1/5] modulo homology
Coercion of modular symbols also works for higher weight.
> JZero(11,4)![0,Infinity()];
Element of abelian variety defined by [-4/61 5/61 1/61 -1/61]
modulo homology
> R<x,y> := PolynomialRing(RationalField(),2);
> JZero(11,4)!<x^2,[0,Infinity()]>;
Element of abelian variety defined by [-4/61 5/61 1/61 -1/61]
modulo homology
> JZero(11,4)!<y^2,[0,Infinity()]>;
Element of abelian variety defined by [44/61 -55/61 -11/61 11/61]
modulo homology
You can also coerce elements from abelian subvarieties into
an ambient abelian variety.
> J := JZero(37); A := Decomposition(J)[1];
> x := A![1/5,0];
> Parent(x);
Modular abelian variety 37A of dimension 1, level 37 and
conductor 37 over Q
> x in J;
false
> y := J!x; y;
Element of abelian variety defined by [1/5 -1/5 1/5 0] modulo
homology
> y in J;
true
> Parent(y);
Modular abelian variety JZero(37) of dimension 2 and level 37 over Q
Coercion also provides an easy way to create the 0 element.
> JZero(37)!0;
0
The following example illustrates the subtlety of coercion
when the element being coerced in is a vector instead of a
sequence. We create the quotient of J 0(11) by a cyclic
subgroup of order 10. The lattice that defines J 0(11)
is Z x Z, but the lattice that defines this quotient
is (1/10)Z x Z. Thus the natural quotient map on
vector spaces is defined by the identity matrix. On the other
hand, the matrix
of the quotient with respect to a basis for integral homology
has determinant 10.
> A := JZero(11);
> x := A![1/10,0]; x;
Element of abelian variety defined by [1/10 0] modulo homology
> Order(x);
10
> B,pi := A/Subgroup([x]);
> B;
Modular abelian variety of dimension 1 and level 11 over Qbar
> pi;
Homomorphism from JZero(11)_Qbar to modular abelian variety of
dimension 1 given on integral homology by:
[10 0]
[ 0 1]
> Matrix(pi);
[1 0]
[0 1]
> IntegralMatrix(pi);
[10 0]
[ 0 1]
> base := Basis(IntegralHomology(B)); base;
[
(1/10 0),
(0 1)
]
If we coerce in the sequence [1/10,0] we get the point in B
that is represented by 1/10th of the first generator for
homology. If we coerce in the vector (1/10, 0), we instead
get the element of B represented by that element of the
rational homology, which is 0, since the lattice that defines
B is embedded in such a way that it contains (1/10, 0).
> y := B![1/10,0]; y;
Element of abelian variety defined by [1/10 0] modulo homology
> Order(y);
10
> z := B!base[1]; z;
0
Modular symbols determine elements of the rational homology of
J0(N), J1(N), etc., and hence of arbitrary modular abelian
varieties, by using the modular parameterization. The commands below
convert from modular symbols, which are represented in various ways,
to vectors on the basis for rational or integral homology.
ModularSymbolToIntegralHomology(A, x) : ModAbVar, Tup -> ModTupFldElt
The element of integral homology of the abelian variety A,
naturally associated to the (formal)
modular symbol x=P(X, Y){α , β }, where α , β are in
P1(Q ) and P is a homogeneous polynomial of degree 2. The returned
vector is written with respect to the basis of integral homology.
The argument x may be given as a sequence [α, β] or as a tuple
< P(X, Y), [α, β] > where α and β are in
Cusps().
ModularSymbolToRationalHomology(A, x) : ModAbVar, SeqEnum -> ModTupFldElt
ModularSymbolToRationalHomology(A, x) : ModAbVar, Tup -> ModTupFldElt
The element of rational homology of the abelian variety A
naturally associated to the (formal)
modular symbol x=P(X, Y){α , β }, where α , β are in
P1(Q ) and P is a homogeneous polynomial of degree 2. The returned
vector is written with respect to the basis of rational homology.
The argument x may be given as a modular symbol, a sequence [α, β] or as a tuple
< P(X, Y), [α, β] > where α and β are in
Cusps().
> A := JZero(11);
> x := ModularSymbolToIntegralHomology(A,[0,Infinity()]); x;
( 0 1/5)
> z := A!x; z;
Element of abelian variety defined by [0 1/5] modulo homology
> Order(z);
5
> A := JZero(47);
> x := ModularSymbolToIntegralHomology(A,[0,Infinity()]); x;
(-1/23 3/23 -4/23 4/23 -3/23 1/23 2/23 8/23)
> z := A!x;
> Order(z);
23
> J := JZero(11,4);
> IntegralHomology(J);
Lattice of rank 4 and degree 4
Basis:
( 3 1 -1 -1)
( 1 -1 -3 1)
( 2 -2 2 2)
( 2 -2 2 -2)
Basis Denominator: 8
> ModularSymbolToIntegralHomology(J,[0,Infinity()]);
(-4/61 5/61 1/61 -1/61)
Notice that for weight greater than 2 the homogeneous polynomial
part of the modular symbol may be omitted. If so, it defaults to x k - 2.
> R<x,y> := PolynomialRing(RationalField(),2);
> ModularSymbolToIntegralHomology(J,<x^2,[0,Infinity()]>);
(-4/61 5/61 1/61 -1/61)
> ModularSymbolToIntegralHomology(J,<y^2,[0,Infinity()]>);
( 44/61 -55/61 -11/61 11/61)
The result of coercion to rational homology is different because it is
written in terms of the basis for rational homology instead of the
basis for integral homology, and in this example the two basis differ.
> ModularSymbolToRationalHomology(J,[0,Infinity()]);
( -7/488 -9/488 -11/488 13/488)
Coercion is also a way to define torsion points on abelian varieties.
> JZero(37)![1/5,0,0,0];
Element of abelian variety defined by [1/5 0 0 0] modulo homology
The Embeddings command contains a list of embeddings (up to isogeny)
from A to other abelian varieties. The AssertEmbedding command
allows you to add an embedding to the beginning of the list. The embeddings
are used for computing intersections, sums, etc., with the embedding at
the front of the list having highest priority.
Embeddings(A) : ModAbVar -> List
A list of morphisms from the modular abelian variety
A into abelian varieties, which are used
in making sense of intersections, sums, etc. The embeddings at the
beginning of the list take precedence over those that occur later. Note that
these maps might not really be injective; e.g., the modular embedding,
which need only be injective on homology, is at the end of this
list.
Place the homomorphism φ of abelian varieties
at the beginning of Embeddings(A) where A is a modular abelian variety.
The morphism φ must have finite kernel.
Every modular abelian variety comes equipped with at least one
embedding, the "modular embedding".
> Embeddings(JZero(11));
[*
Homomorphism from JZero(11) to JZero(11) given on integral homology by:
[1 0]
[0 1]
*]
> A := JZero(37)(1);
> Embeddings(A);
[*
Homomorphism from 37A to JZero(37) given on integral homology by:
[ 1 -1 1 0]
[ 1 -1 -1 1]
*]
We add another embedding to the list of embeddings for A.
> phi := NaturalMap(A,JZero(37*2));
> AssertEmbedding(~A,phi);
> Embeddings(A);
[*
Homomorphism N(1) from 37A to JZero(74) given on integral homology
by:
[-1 1 -1 0 2 -1 1 0 -2 1 -2 2 -1 2 -1 1]
[-1 0 0 0 2 -1 1 -2 0 0 -1 1 -1 2 1 -1],
Homomorphism from 37A to JZero(37) given on integral homology by:
[ 1 -1 1 0]
[ 1 -1 -1 1]
*]
The following intersection would not make sense if we
hadn't chosen an embedding of A into J 0(74).
> B := Codomain(phi)(1); B;
Modular abelian variety 74A of dimension 2, level 2*37 and
conductor 2^2*37^2 over Q
> #(A meet B);
1
The BaseExtend and ChangeRing commands allow you to change
the base ring of a modular abelian variety. The BaseExtend
command is the same ChangeRing, but is more restrictive. For
example, if A is over Q then BaseExtend(A,GF(2)) is not
allowed, but ChangeRing(A,GF(2)) is.
Abelian varieties can have their base ring set to a finite field, but
there is very little that is implemented for abelian varieties over
finite fields. Computing the number of points is implemented, but
creation of actual points or homomorphisms is not.
Return true if it is possible to change the base ring of the modular
abelian variety A to the ring R, and the modular abelian variety
over R when possible.
Return the modular abelian variety obtained from the modular abelian variety
A having base ring R.
Extend the base ring of the modular abelian variety A to the ring R,
if possible. This is a
more restrictive version of ChangeRing.
We consider J1(13) over many fields and rings.
> A := JOne(13);
> BaseExtend(A,CyclotomicField(7));
Modular abelian variety JOne(13) of dimension 2 and level 13 over
Q(zeta_7)
> BaseExtend(A,AlgebraicClosure(RationalField()));
Modular abelian variety JOne(13)_Qbar of dimension 2 and level 13
over Qbar
> BaseExtend(A,RealField());
Modular abelian variety JOne(13)_R of dimension 2 and level 13 over R
> BaseExtend(A,ComplexField());
Modular abelian variety JOne(13)_C of dimension 2 and level 13 over C
> ChangeRing(A,GF(3));
Modular abelian variety JOne(13)_GF(3) of dimension 2 and level 13
over GF(3)
> #ChangeRing(A,GF(3));
19 19
> B := ChangeRing(A,GF(13)); B;
Modular abelian variety JOne(13)_GF(13) of dimension 2 and level 13
over GF(13)
> IsAbelianVariety(B);
false
> ChangeRing(A,Integers());
Modular abelian variety JOne(13)_Z of dimension 2 and level 13 over
Z
> ChangeRing(A,PolynomialRing(RationalField(),10));
Modular abelian variety JOne(13) of dimension 2 and level 13 over
Polynomial ring of rank 10 over Rational Field
Lexicographical Order
Variables: $.1, $.2, $.3, $.4, $.5, $.6, $.7, $.8, $.9, $.10
The simplest abelian variety is an abelian variety of dimension 0,
i.e., a point.
> A := ZeroModularAbelianVariety(); A;
Modular abelian variety ZERO of dimension 0 and level 1 over Q
We create the Jacobian J 0(22) of the modular curve
X 0(22) as follows:
> J := JZero(22); J;
Modular abelian variety JZero(22) of dimension 2 and level 2*11 over Q
Notice that A is a subset of J 0(22).
> A subset J;
true
We can also create the higher weight analogues J 0(N, k) of J 0(N),
which are motives defined over Q. Many computations that make
sense for J 0(N) also make sense for these higher weight analogues.
> J4 := JZero(22,4); J4;
Modular motive JZero(22,4) of dimension 7 and level 2*11 over Q
> IsOnlyMotivic(J4);
true
One can also create J1(N):
> JOne(22);
Modular abelian variety JOne(22) of dimension 6 and level 2*11 over Q
For efficiency purposes, it is often much quicker to do computations
working only with the +1 quotient of H1(J0(N), Z),
or using only the -1 quotient. These computations will be off
by powers of 2, or subgroups will be halved and off by a power of 2.
Nonetheless, if you know what you are doing, such computations can
be very useful. Create J0(N), but working only with the +1
quotient of homology as follows:
> Jplus := JZero(22,2,+1); Jplus;
Modular abelian variety JZero(22) of dimension 2 and level 2*11 over Q
with sign 1
> Sign(Jplus);
1
> Sign(JZero(22));
0
Notice that the sign is printed out when it is 1 or -1. Also,
sign 0 is shorthand for "no sign", i.e., working with the full
homology.
Let eps:(Z/NZ) * to Q(ζ n) * be Dirichlet character. The command
ModularAbelianVariety(eps) creates the modular abelian
variety over Q corresponding to the cusp forms with
Dirichlet character any Galois conjugate of eps.
> G<eps> := DirichletGroup(22,CyclotomicField(EulerPhi(22)));
> Order(eps);
10
> Conductor(eps);
11
> A := ModularAbelianVariety(eps); A;
Modular abelian variety of dimension 0 and level 2*11 over Q
> A := ModularAbelianVariety(eps^2); A;
Modular abelian variety of dimension 4 and level 2*11 over Q
Let H be a subgroup of G=(Z/NZ) * .
The group (Z/NZ) * acts by diamond bracket operators as
a group of automorphisms on X 1(N), and
the modular curve X H(N) is the quotient of X 1(N)
by the action of H. Thus if H=1, then X H(N)=X 1(N),
and if H=G, then X H(N)=X 0(N).
The command JH(N,d) creates an abelian
variety isogenous to the Jacobian of X H(N),
where d is the index of H in G (thus d=1
corresponds to J 0(N)). A weight k and sign (either
0 or ∓ 1) can be provided.
More precisely, JH(N,d) is the product of
J(eps), where eps varies over Dirichlet characters
such that eps(H)={1}.
> JH(22,1);
Modular abelian variety JZero(22) of dimension 2 and level 2*11 over Q
> JH(22,10);
Modular abelian variety Js(22) of dimension 6 and level 2*11 over Q
> JH(22,2);
Modular abelian variety J_H(22) of dimension 2 and level 2*11 over Q
As a shortcut, the command Js(N) creates a
modular abelian variety that is isogenous to J 1(N).
Thus Js(N) is the same as JH(N,d), where d is the
order of (Z/NZ) * .
> Js(22);
Modular abelian variety Js(22) of dimension 6 and level 2*11 over Q
> JH(22,10) eq Js(22);
true
We can also create modular abelian varieties attached to
spaces of modular forms and spaces of modular symbols:
> ModularAbelianVariety(ModularForms(22));
Modular abelian variety of dimension 2 and level 2*11 over Q
> ModularAbelianVariety(ModularSymbols(22));
Modular abelian variety of dimension 2 and level 2*11 over Q
Here is another example, in which the space of modular forms
is on Γ 1(25).
> M := ModularForms(Gamma1(25)); M;
Space of modular forms on Gamma_1(25) of weight 2 and dimension
39 over Integer Ring.
> S := CuspidalSubspace(M); S;
Space of modular forms on Gamma_1(25) of weight 2 and dimension
12 over Integer Ring.
> A := ModularAbelianVariety(S); A;
Modular abelian variety of dimension 12 and level 5^2 over Q
We can also construct abelian varieties attached to newforms.
> S := CuspForms(43);
> N := Newforms(S); N;
[* [*
q - 2*q^2 - 2*q^3 + 2*q^4 - 4*q^5 + 4*q^6 + O(q^8)
*], [*
q + a*q^2 - a*q^3 + (-a + 2)*q^5 - 2*q^6 + (a - 2)*q^7 + O(q^8),
q + b*q^2 - b*q^3 + (-b + 2)*q^5 - 2*q^6 + (b - 2)*q^7 + O(q^8)
*] *]
> f := N[2][1]; f;
q + a*q^2 - a*q^3 + (-a + 2)*q^5 - 2*q^6 + (a - 2)*q^7 + O(q^8)
> A := ModularAbelianVariety(f); A;
Modular abelian variety Af of dimension 2 and level 43 over Q
> Newform(A);
q + a*q^2 - a*q^3 + (-a + 2)*q^5 - 2*q^6 + (a - 2)*q^7 + O(q^8)
When possible, we can also obtain a newform that gives rise to
an abelian variety.
> J := JZero(43);
> D := Decomposition(J); D;
[
Modular abelian variety 43A of dimension 1, level 43 and
conductor 43 over Q,
Modular abelian variety 43B of dimension 2, level 43 and
conductor 43^2 over Q
]
> Newform(D[2]);
q + a*q^2 - a*q^3 + (-a + 2)*q^5 - 2*q^6 + (a - 2)*q^7 + O(q^8)
We demonstrate here how modular abelian varieties may be described by a label,
using the string "43B". Continuing the previous code, we have:
> A := ModularAbelianVariety("43B");
> A eq D[2];
true
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|