Constructors for certain modular abelian varieties#

AUTHORS:

  • William Stein (2007-03)

sage.modular.abvar.constructor.AbelianVariety(X)[source]#

Create the abelian variety corresponding to the given defining data.

INPUT:

  • X – an integer, string, newform, modsym space, congruence subgroup or tuple of congruence subgroups

OUTPUT: a modular abelian variety

EXAMPLES:

sage: AbelianVariety(Gamma0(37))
Abelian variety J0(37) of dimension 2
sage: AbelianVariety('37a')
Newform abelian subvariety 37a of dimension 1 of J0(37)
sage: AbelianVariety(Newform('37a'))
Newform abelian subvariety 37a of dimension 1 of J0(37)
sage: AbelianVariety(ModularSymbols(37).cuspidal_submodule())
Abelian variety J0(37) of dimension 2
sage: AbelianVariety((Gamma0(37), Gamma0(11)))
Abelian variety J0(37) x J0(11) of dimension 3
sage: AbelianVariety(37)
Abelian variety J0(37) of dimension 2
sage: AbelianVariety([1,2,3])
Traceback (most recent call last):
...
TypeError: X must be an integer, string, newform, modsym space, congruence subgroup or tuple of congruence subgroups
>>> from sage.all import *
>>> AbelianVariety(Gamma0(Integer(37)))
Abelian variety J0(37) of dimension 2
>>> AbelianVariety('37a')
Newform abelian subvariety 37a of dimension 1 of J0(37)
>>> AbelianVariety(Newform('37a'))
Newform abelian subvariety 37a of dimension 1 of J0(37)
>>> AbelianVariety(ModularSymbols(Integer(37)).cuspidal_submodule())
Abelian variety J0(37) of dimension 2
>>> AbelianVariety((Gamma0(Integer(37)), Gamma0(Integer(11))))
Abelian variety J0(37) x J0(11) of dimension 3
>>> AbelianVariety(Integer(37))
Abelian variety J0(37) of dimension 2
>>> AbelianVariety([Integer(1),Integer(2),Integer(3)])
Traceback (most recent call last):
...
TypeError: X must be an integer, string, newform, modsym space, congruence subgroup or tuple of congruence subgroups
sage.modular.abvar.constructor.J0(N)[source]#

Return the Jacobian \(J_0(N)\) of the modular curve \(X_0(N)\).

EXAMPLES:

sage: J0(389)
Abelian variety J0(389) of dimension 32
>>> from sage.all import *
>>> J0(Integer(389))
Abelian variety J0(389) of dimension 32

The result is cached:

sage: J0(33) is J0(33)
True
>>> from sage.all import *
>>> J0(Integer(33)) is J0(Integer(33))
True
sage.modular.abvar.constructor.J1(N)[source]#

Return the Jacobian \(J_1(N)\) of the modular curve \(X_1(N)\).

EXAMPLES:

sage: J1(389)
Abelian variety J1(389) of dimension 6112
>>> from sage.all import *
>>> J1(Integer(389))
Abelian variety J1(389) of dimension 6112
sage.modular.abvar.constructor.JH(N, H)[source]#

Return the Jacobian \(J_H(N)\) of the modular curve \(X_H(N)\).

EXAMPLES:

sage: JH(389,[16])
Abelian variety JH(389,[16]) of dimension 64
>>> from sage.all import *
>>> JH(Integer(389),[Integer(16)])
Abelian variety JH(389,[16]) of dimension 64