43.3 Ambient Jacobian Abelian Variety

Module: sage.modular.abvar.abvar_ambient_jacobian

Ambient Jacobian Abelian Variety

TESTS:

sage: loads(dumps(J0(37))) == J0(37)
True
sage: loads(dumps(J1(13))) == J1(13)
True

Module-level Functions

ModAbVar_ambient_jacobian( group)

Return the ambient Jacobian attached to a given congruence subgroup.

The result is cached using a weakref. This function is called internally by modular abelian variety constructors.

Input:

group
- a congruence subgroup.

Output: a modular abelian variety attached

sage: import sage.modular.abvar.abvar_ambient_jacobian as abvar_ambient_jacobian
sage: A = abvar_ambient_jacobian.ModAbVar_ambient_jacobian(Gamma0(11))
sage: A
Abelian variety J0(11) of dimension 1
sage: B = abvar_ambient_jacobian.ModAbVar_ambient_jacobian(Gamma0(11))
sage: A is B
True

You can get access to and/or clear the cache as follows:

sage: abvar_ambient_jacobian._cache = {}
sage: B = abvar_ambient_jacobian.ModAbVar_ambient_jacobian(Gamma0(11))
sage: A is B
False

Class: ModAbVar_ambient_jacobian_class

class ModAbVar_ambient_jacobian_class
An ambient Jacobian modular abelian variety attached to a congruence subgroup.
ModAbVar_ambient_jacobian_class( self, group)

Create an ambient Jacobian modular abelian variety.

sage: A = J0(37); A
Abelian variety J0(37) of dimension 2
sage: type(A)
<class 'sage.modular.abvar.abvar_ambient_jacobian.ModAbVar_ambient_jacobian
_class'>
sage: A.group()
Congruence Subgroup Gamma0(37)

Functions: ambient_variety,$ \,$ decomposition,$ \,$ degeneracy_map,$ \,$ dimension,$ \,$ group,$ \,$ groups

ambient_variety( self)

Return the ambient modular abelian variety that contains self. Since self is a Jacobian modular abelian variety, this is just self.

Output: abelian variety

sage: A = J0(17)
sage: A.ambient_variety()
Abelian variety J0(17) of dimension 1
sage: A is A.ambient_variety()
True

decomposition( self, [simple=True], [bound=None])

Decompose this ambient Jacobian as a product of abelian subvarieties, up to isogeny.

sage: J0(33).decomposition(simple=False)
[
Abelian subvariety of dimension 2 of J0(33),
Abelian subvariety of dimension 1 of J0(33)
]
sage: J0(33).decomposition(simple=False)[1].is_simple()
True
sage: J0(33).decomposition(simple=False)[0].is_simple()
False
sage: J0(33).decomposition(simple=False)
[
Abelian subvariety of dimension 2 of J0(33),
Simple abelian subvariety 33a(None,33) of dimension 1 of J0(33)
]
sage: J0(33).decomposition(simple=True)
[
Simple abelian subvariety 11a(1,33) of dimension 1 of J0(33),
Simple abelian subvariety 11a(3,33) of dimension 1 of J0(33),
Simple abelian subvariety 33a(1,33) of dimension 1 of J0(33)
]

degeneracy_map( self, level, [t=1], [check=True])

Return the t-th degeneracy map from self to J(level). Here t must be a divisor of either level/self.level() or self.level()/level.

Input:

level
- integer (multiple or divisor of level of self)
t
- divisor of quotient of level of self and level
check
- bool (default: True); if True do some checks on the input

Output: a morphism

sage: J0(11).degeneracy_map(33)
Degeneracy map from Abelian variety J0(11) of dimension 1 to Abelian
variety J0(33) of dimension 3 defined by [1]
sage: J0(11).degeneracy_map(33).matrix()
[ 0 -3  2  1 -2  0]
[ 1 -2  0  1  0 -1]
sage: J0(11).degeneracy_map(33,3).matrix()
[-1  0  0  0  1 -2]
[-1 -1  1 -1  1  0]
sage: J0(33).degeneracy_map(11,1).matrix()
[ 0  1]
[ 0 -1]
[ 1 -1]
[ 0  1]
[-1  1]
[ 0  0]
sage: J0(11).degeneracy_map(33,1).matrix() * J0(33).degeneracy_map(11,1).matrix()
[4 0]
[0 4]

dimension( self)

Return the dimension of this modular abelian variety.

sage: J0(2007).dimension()
221
sage: J1(13).dimension()
2
sage: J1(997).dimension()
40920            
sage: J0(389).dimension()
32
sage: JH(389,[4]).dimension()
64
sage: J1(389).dimension()
6112

group( self)

Return the group that this Jacobian modular abelian variety is attached to.

sage: J1(37).group()
Congruence Subgroup Gamma1(37)
sage: J0(5077).group()
Congruence Subgroup Gamma0(5077)
sage: J = GammaH(11,[3]).modular_abelian_variety(); J
Abelian variety JH(11,[3]) of dimension 1
sage: J.group()
Congruence Subgroup Gamma_H(11) with H generated by [3]

groups( self)

Return the tuple of congruence subgroups attached to this ambient Jacobian. This is always a tuple of length 1.

Output: tuple

sage: J0(37).groups()
(Congruence Subgroup Gamma0(37),)

Special Functions: __init__,$ \,$ _calculate_endomorphism_generators,$ \,$ _latex_,$ \,$ _modular_symbols,$ \,$ _repr_

_calculate_endomorphism_generators( self)

Calculate generators for the endomorphism ring of self.

sage: J0(11)._calculate_endomorphism_generators()
[Abelian variety endomorphism of Abelian variety J0(11) of dimension 1]
sage: ls = J0(46)._calculate_endomorphism_generators() ; ls
[Abelian variety endomorphism of Abelian variety J0(46) of dimension 5,
 Abelian variety endomorphism of Abelian variety J0(46) of dimension 5,
 Abelian variety endomorphism of Abelian variety J0(46) of dimension 5,
 Abelian variety endomorphism of Abelian variety J0(46) of dimension 5,
 Abelian variety endomorphism of Abelian variety J0(46) of dimension 5]
sage: len(ls) == J0(46).dimension()
True

_latex_( self)

Return Latex representation of self.

sage: latex(J0(37))
J_0(37)
sage: J1(13)._latex_()
'J_1(13)'
sage: latex(JH(389,[2]))
J_H(389,[2])

_modular_symbols( self)

Return the modular symbols space associated to this ambient Jacobian.

Output: modular symbols space

sage: M = J0(33)._modular_symbols(); M
Modular Symbols subspace of dimension 6 of Modular Symbols space of
dimension 9 for Gamma_0(33) of weight 2 with sign 0 over Rational Field
sage: J0(33)._modular_symbols() is M
True

_repr_( self)

Return string representation of this Jacobian modular abelian variety.

sage: A = J0(11); A
Abelian variety J0(11) of dimension 1
sage: A._repr_()
'Abelian variety J0(11) of dimension 1'
sage: A.rename("J_0(11)")
sage: A
J_0(11)

We now clear the cache to get rid of our renamed $ J_0(11)$ .

sage: import sage.modular.abvar.abvar_ambient_jacobian as abvar_ambient_jacobian
sage: abvar_ambient_jacobian._cache = {}

See About this document... for information on suggesting changes.