Constructors for certain modular abelian varieties - Modular Abelian Varieties

Skip to content
Back to top
View this page
Edit this page

# Constructors for certain modular abelian varieties

AUTHORS:

- William Stein (2007-03)

sage.modular.abvar.constructor.AbelianVariety(X)

  Create the abelian variety corresponding to the given defining data.

  INPUT:

  - `X` – integer, string, newform, modsym space, congruence subgroup or tuple of congruence subgroups

  OUTPUT: a modular abelian variety

  EXAMPLES:

  Sage

      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

  Python

      >>> 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)

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

  EXAMPLES:

  Sage

      sage: J0(389)
      Abelian variety J0(389) of dimension 32

  Python

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

  The result is cached:

  Sage

      sage: J0(33) is J0(33)
      True

  [Python]

      >>> from sage.all import *
      >>> J0(Integer(33)) is J0(Integer(33))
      True

sage.modular.abvar.constructor.J1(N)

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

  EXAMPLES:

  Sage

      sage: J1(389)
      Abelian variety J1(389) of dimension 6112

  Python

      >>> from sage.all import *
      >>> J1(Integer(389))
      Abelian variety J1(389) of dimension 6112

sage.modular.abvar.constructor.JH(N, H)

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

  EXAMPLES:

  Sage

      sage: JH(389,[16])
      Abelian variety JH(389,[16]) of dimension 64

  Python

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