Orthogonal Complements

Contents

Complements

The following two commands find a complement of an abelian subvariety of an abelian variety. Existence of a complement is guaranteed by the Poincare reducibility theorem (if we were just working with n-dimensional complex tori, then there need not be complements of subtori). Magma computes a complement using the module-theoretic structure of the ambient variety.

Complement(A : parameters) : ModAbVar -> ModAbVar, MapModAbVar
    IntPairing: BoolElt                 Default: false
The complement of the image of the abelian variety A under the first embedding of A (the first map in the sequence returned by Embeddings). If the parameter IntPairing is set to true, the intersection pairing is used to compute the homology complement.
ComplementOfImage(phi : parameters) : MapModAbVar -> ModAbVar, MapModAbVar
    IntPairing: BoolElt                 Default: false
Suppose φ :A to B is a morphism of abelian varieties. By the Poincare reducibility theorem, there is an abelian variety C such that φ (A) + C = B and the intersection of φ (A) with C is finite. This intrinsic returns a choice of C and an embedding of C into B. If the parameter IntPairing is set to true, the intersection pairing is used to compute the homology complement.

Example ModAbVar_Complements-Complements (H145E88)

We compute a decomposition of J0(33) as a product of simples, then find a decomposition of the complement of one of the factors.

> J := JZero(33);
> D := Decomposition(J); D;
[
    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
]
> A := D[3];
> B := Complement(A);
> B;
Modular abelian variety of dimension 2 and level 3*11 over Q
> Decomposition(B);
[
    Modular abelian variety image(33A) of dimension 1, level 3*11
    and conductor 3*11 over Q,
    Modular abelian variety image(11A) of dimension 1, level 3*11
    and conductor 11 over Q
]

Here we compute a somewhat random map from J0(11) to J0(33), and compute the complement of the image.

> phi := 2*NaturalMap(JZero(11),JZero(33),1) - 3*NaturalMap(JZero(11),
>                        JZero(33),3);
> phi;
Homomorphism from JZero(11) to JZero(33) given on integral homology by:
[ 2  6 -7 -2 -6  3]
[ 5 -2 -3 -1 -1  5]
> C,pi := ComplementOfImage(phi);
> C;
Modular abelian variety of dimension 2 and level 3*11 over Q
> Decomposition(C);
[
    Modular abelian variety image(33A) of dimension 1, level 3*11
    and conductor 3*11 over Q,
    Modular abelian variety image(11A) of dimension 1, level 3*11
    and conductor 11 over Q
]

Dual Abelian Variety

It is possible to compute an abelian variety which is dual to a given variety in many of the cases that are of interest. Let A be an abelian variety and suppose the modular map A to J is injective, where J is attached to a space of modular symbols and J is isomorphic to its dual (e.g., J=J0(N)). To compute the dual of A, we find a complement B of A in J whose homology is orthogonal to the homology of A with respect to the intersection pairing. This can frequently be accomplished (e.g., when A is attached to a newform) without using the intersection pairing by finding a complement B such that the rational homology of B as a module over the Hecke algebra has no simple factors in common with that of A. Then J/B is isomorphic to the dual of A.

IsDualComputable(A) : ModAbVar -> BoolElt, ModAbVar
Return true if the dual of the abelian variety A can be computed, and the dual. Otherwise, return false and a message.
Dual(A) : ModAbVar -> ModAbVar
The dual abelian variety of the abelian variety A. The modular map to a modular symbols abelian variety must be injective.
ModularPolarization(A) : ModAbVar -> MapModAbVar
The polarization on the abelian variety A induced by pullback of the theta divisor.

Example ModAbVar_Complements-Dual_Abelian_Variety (H145E89)

We compute the dual of a 2-dimensional newform abelian variety of level 43, and note that it is isomorphic to itself.
> J := JZero(43);
> A := Decomposition(J)[2]; A;
Modular abelian variety 43B of dimension 2, level 43 and
conductor 43^2 over Q
> Adual := Dual(A); Adual;
Modular abelian variety of dimension 2 and level 43 over Q
> IsIsomorphic(A,Adual);
true Homomorphism from 43B to modular abelian variety of
dimension 2 given on integral homology by:
[-1  1 -1  1]
[-1  0  1  0]
[-1  0  0  0]
[ 0  0 -1  1]

Next we compute the dual of a 2-dimensional newform abelian variety of level 69, and find that it is not isomorphic to itself.

> A := Decomposition(JZero(69))[2]; A;
Modular abelian variety 69B of dimension 2, level 3*23 and
conductor 3^2*23^2 over Q
> Adual := Dual(A); Adual;
Modular abelian variety of dimension 2 and level 3*23 over Q
> IsIsomorphic(A,Adual);
false

One can show that the natural map from A to its dual is a polarization of degree 484.

> phi := NaturalMap(A,Adual);
> phi;
Homomorphism N(1) from 69B to modular abelian variety of
dimension 2 given on integral homology by:
[  3   1   5  -7]
[ -1   5  -1   1]
[ -6   4  -1   7]
[ 11  -7   6 -12]
> Degree(phi);
484
> Factorization(484);
[ <2, 2>, <11, 2> ]
1

Intersection Pairing

These commands compute the matrix of the intersection pairing on homology with respect to the fixed basis for rational or integral homology. If A is not a modular symbols abelian variety (such as J0(N)), then the intersection pairing on homology computed below is the one obtained by pulling back from the pairing on the codomain of the modular embedding of A. This may not be what you expect, but is easy to compute in great generality.

Computation of intersection pairings is currently only implemented for weight 2.

IntersectionPairing(H) : ModAbVarHomol -> AlgMatElt
The intersection pairing matrix on the basis of the homology H of an abelian variety.
IntersectionPairing(A) : ModAbVar -> AlgMatElt
The intersection pairing matrix on the basis for the rational homology of the abelian variety A, pulled back using the modular embedding.
IntersectionPairingIntegral(A) : ModAbVar -> AlgMatElt
The intersection pairing matrix on the basis for the integral homology of the abelian variety A, pulled back using the modular embedding.

Example ModAbVar_Complements-Intersection_Pairing (H145E90)

The intersection pairing on J0(11) is very simple.
> J := JZero(11);
> IntersectionPairing(J);
[ 0 -1]
[ 1  0]
> IntersectionPairingIntegral(J);
[ 0 -1]
[ 1  0]

The intersection pairing associated to J0(33) is more interesting. Note that the representing matrix is skew symmetric and has determinant 1.

> I := IntersectionPairingIntegral(JZero(33)); I;
[ 0  1  0  1  0  1]
[-1  0  0  1  0  1]
[ 0  0  0  1  0  1]
[-1 -1 -1  0  0  1]
[ 0  0  0  0  0  1]
[-1 -1 -1 -1 -1  0]
> Determinant(I);
1

The intersection pairing on 33A is surprising, because it is pulled back from the intersection pairing on J0(33). Thus instead of having determinant 1, it has determinant 9.

> A := ModularAbelianVariety("33A");  A;
Modular abelian variety 33A of dimension 1 and level 3*11 over Q
> I := IntersectionPairingIntegral(A); I;
[ 0  3]
[-3  0]
> Determinant(I);
9

Projections

Suppose φ is a homomorphism from A to B. Then the image φ(A) is an abelian subvariety of B. The commands below compute a map π in the endomorphism algebra of B whose image is φ(A) and such that π2 = π, i.e., π is projection onto φ(A). A projection map is not canonical, unless it is required to respect the intersection pairing.

ProjectionOnto(A : parameters) : ModAbVar -> MapModAbVar
ProjectionOntoImage(phi : parameters) : MapModAbVar -> MapModAbVar
    IntPairing: BoolElt                 Default: false
Given a morphism φ: A to B return a projection onto φ(A) as an element of E tensor Q, where E is the endomorphism ring of B. If the optional parameter IntPairing is set to true, then the projection is also required to respect the intersection pairing, which uniquely determines π.

Example ModAbVar_Complements-Projections (H145E91)

> pi := ProjectionOnto(ModularAbelianVariety("33A"));  pi;
Homomorphism pi from JZero(33) to JZero(33) (up to isogeny) on
integral homology by:
 (not printing 6x6 matrix)
> Matrix(pi);
[ 2/3  1/3 -1/3  1/3    0 -2/3]
[ 1/3  2/3 -2/3  2/3    0 -1/3]
[ 1/3  1/3 -1/3  1/3    0 -1/3]
[   0  2/3 -2/3  2/3    0    0]
[   0  1/3 -1/3  1/3    0    0]
[-1/3  1/3 -1/3  1/3    0  1/3]
> pi^2 eq pi;
true
> Rank(pi);
1

Example ModAbVar_Complements-Projections2 (H145E92)

> phi := NaturalMap(JZero(11),JZero(44));
> pi := ProjectionOntoImage(phi); pi;
Homomorphism pi from JZero(44) to JZero(44) (up to isogeny) on
integral homology by:
 (not printing 8x8 matrix)
> A := Image(5*pi); A;
Modular abelian variety of dimension 1 and level 2^2*11 over Q
> IsIsomorphic(JZero(11),A);
true Homomorphism from JZero(11) to modular abelian variety of
dimension 1 given on integral homology by:
[ 0 -1]
[-1  1]

Left and Right Inverses

Left and right inverses of homomorphisms in the category of abelian varieties up to isogeny can be computed. A left or right inverse times a minimal integer can be computed instead so that the result is a homomorphism.

Magma computes a right inverse of a finite-degree homomorphism φ by finding the projection map onto the complement of the image of φ, and composing with a inverse from the image. To find a left inverse of a surjective homomorphism φ:A to B, Magma computes the complement C of the kernel of φ and inverts φ restricted to C. This complement C is an abelian subvariety of A that maps isomorphically onto B.

LeftInverse(phi : parameters) : MapModAbVar -> MapModAbVar, RngIntElt
    IntPairing: BoolElt                 Default: false
Given a surjective homomorphism φ : A to B of abelian varieties return a homomorphism ψ :B to A of minimal degree in the category of abelian varieties up to isogeny such that ψ * φ is the identity map on B and an integer d such that d * ψ is a homomorphism.

If the parameter IntPairing is true then the intersection pairing is used to compute the homology complement.

LeftInverseMorphism(phi : parameters) : MapModAbVar -> MapModAbVar
    IntPairing: BoolElt                 Default: false
Given a surjective homomorphism φ : A to B of abelian varieties, return a homomorphism ψ :B to A of minimal degree such that ψ * φ is multiplication by an integer.

If the parameter IntPairing is true then the intersection pairing is used to compute the homology complement.

RightInverse(phi : parameters) : MapModAbVar -> MapModAbVar, RngIntElt
    IntPairing: BoolElt                 Default: false
Given a homomorphism φ : A to B of abelian varieties with finite kernel, return a map ψ :B to A in the category of abelian varieties up to isogeny such that φ * ψ :A to A is the identity map.

If the parameter IntPairing is true then the intersection pairing is used to compute the homology complement.

RightInverseMorphism(phi : parameters) : MapModAbVar -> MapModAbVar
    IntPairing: BoolElt                 Default: false
Given a homomorphism φ : A to B of abelian varieties with finite kernel return a minimal-degree homomorphism ψ :B to A such that φ * ψ :A to A is multiplication by an integer.

If the parameter IntPairing is true then the intersection pairing is used to compute the homology complement.

Example ModAbVar_Complements-Left_and_Right_Inverses (H145E93)

First we compute the difference φ of the two natural degeneracy maps J0(11)to J0(33), which has as kernel a group of order 5 (called the Shimura subgroup in this case).
> J11 := JZero(11);  J33 := JZero(33);
> d1 := NaturalMap(J11,J33,1);
> d3 := NaturalMap(J11,J33,3);
> phi := d1-d3;
> Degree(phi);
5
A right inverse of φ is a homomorphism up to isogeny from J0(33) to J0(11).
> RightInverse(phi);
Homomorphism from JZero(33) to JZero(11) (up to isogeny) on integral
homology by:
 (not printing 6x2 matrix)
15
> RightInverseMorphism(phi);
Homomorphism from JZero(33) to JZero(11) (not printing 6x2 matrix)
> phi*RightInverseMorphism(phi);
Homomorphism from JZero(11) to JZero(11) given on integral homology by:
[15  0]
[ 0 15]

Finally we find a left inverse of a map from J0(33) to J0(11).

> psi := NaturalMap(J33,J11,1) - NaturalMap(J33,J11,3);
> IsSurjective(psi);
true
> LeftInverse(psi);
Homomorphism from JZero(11) to JZero(33) (up to isogeny) on integral
homology by:
[ 1/5    0 -2/5  2/5 -3/5    0]
[ 1/5 -1/5    0  1/5 -2/5  1/5]
5
> LeftInverseMorphism(psi);
Homomorphism from JZero(11) to JZero(33) given on integral homology by:
[ 1  0 -2  2 -3  0]
[ 1 -1  0  1 -2  1]
> LeftInverseMorphism(psi)*psi;
Homomorphism from JZero(11) to JZero(11) given on integral homology by:
[5 0]
[0 5]

Congruence Computations

The congruence modulus and the modular degree are each an integer which measures "congruences" between an abelian variety and other abelian varieties. These two quantities are related because if a prime divides the modular degree, then it divides the congruence modulus, though the converse need not be true (see the example below).

CongruenceModulus(A) : ModAbVar -> RngIntElt
Given A=Af, an abelian variety attached to a newform f, return the congruence modulus of the newform f, taken in the space S2(N, ε ), where ε is the character of the newform, which is an integer that measures congruences between f and nonconjugate forms in the Peterson complement of f. More precisely, if f∈Sk(N, eps), which is the direct sum of the spaces of modulus forms with character a Galois conjugate of eps, then we define the congruence modulus of f to be the order of the group Sk(N, eps;Z)/(W + Wperp), where W is the intersection of Sk(N, eps;Z) with the span of the Galois conjugates of f.
ModularDegree(A) : ModAbVar -> RngIntElt
The modular degree of the abelian variety A. This is the square root of the degree of the map from A to its dual A' induced by virtue of A being modular. In some cases where no algorithm is implemented for computing A', a message is printed and the square of the degree of the composition of the modular embedding with the modular parameterization is computed. When any weight of a factor of A is bigger than 2 the square root is not taken.

Example ModAbVar_Complements-Congruence_Computations (H145E94)

The modular degree and congruence modulus of one of the two elliptic curves of conductor 54 are interesting because they are not equal. This is the smallest level of an elliptic curve where these two invariants differ. (For more details, see [AS04].)

> J := JZero(54);
> A,B := Explode(Decomposition(NewSubvariety(J)));
> ModularDegree(A);
6
> CongruenceModulus(A);
6
> ModularDegree(B);
2
> CongruenceModulus(B);
6
The modular degree and congruence modulus are 4 for a certain abelian surface A of level 65. We also compute the kernel of the modular map and see that it is A[2].
> J := JZero(65);
> A := J(2); A;
Modular abelian variety 65B of dimension 2, level 5*13 and
conductor 5^2*13^2 over Q
> CongruenceModulus(A);
4
> ModularDegree(A);
4
> phi := NaturalMap(A,Dual(A));
> Invariants(Kernel(phi));
[ 2, 2, 2, 2 ]
V2.28, 13 July 2023