TESTS:
sage: A = AbelianVariety('23a')
sage: loads(dumps(A)) == A
True
A modular abelian variety attached to a specific newform.
Create the modular abelian variety attached to the
newform
.
EXAMPLES:
sage: f = CuspForms(37).newforms('a')[0]
sage: f.abelian_variety()
Newform abelian subvariety 37a of dimension 1 of J0(37)
EXAMPLES:
sage: A = AbelianVariety('43b')
sage: B = A.endomorphism_ring(); B # indirect doctest
Endomorphism ring of Newform abelian subvariety 43b of dimension 2 of J0(43)
sage: [b.matrix() for b in B.gens()]
[[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1],
[ 0 1 0 0]
[ 1 -2 0 0]
[ 1 0 -2 -1]
[ 0 1 -1 0]]
EXAMPLES:
sage: f = CuspForms(52).newforms('a')[0]
sage: A = f.abelian_variety()
sage: A._modular_symbols()
Modular Symbols subspace of dimension 2 of Modular Symbols space of dimension 15 for Gamma_0(52) of weight 2 with sign 0 over Rational Field
sage: A._modular_symbols(1)
Modular Symbols subspace of dimension 1 of Modular Symbols space of dimension 10 for Gamma_0(52) of weight 2 with sign 1 over Rational Field
sage: A._modular_symbols(-1)
Modular Symbols subspace of dimension 1 of Modular Symbols space of dimension 5 for Gamma_0(52) of weight 2 with sign -1 over Rational Field
String representation of this modular abelian variety.
EXAMPLES:
sage: AbelianVariety('37a')._repr_()
'Newform abelian subvariety 37a of dimension 1 of J0(37)'
Return the endomorphism ring of this newform abelian variety.
EXAMPLES:
sage: A = AbelianVariety('23a')
sage: E = A.endomorphism_ring(); E
Endomorphism ring of Newform abelian subvariety 23a of dimension 2 of J0(23)
We display the matrices of these two basis matrices:
sage: E.0.matrix()
[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]
sage: E.1.matrix()
[ 0 1 -1 0]
[ 0 1 -1 1]
[-1 2 -2 1]
[-1 1 0 -1]
The result is cached:
sage: E is A.endomorphism_ring()
True
Return factor number.
EXAMPLES:
sage: A = AbelianVariety('43b')
sage: A.factor_number()
1
Return canonical label that defines this newform modular abelian variety.
EXAMPLES:
sage: A = AbelianVariety('43b')
sage: A.label()
'43b'
Return the newform that this modular abelian variety is attached to.
EXAMPLES:
sage: f = Newform('37a')
sage: A = f.abelian_variety()
sage: A.newform()
q - 2*q^2 - 3*q^3 + 2*q^4 - 2*q^5 + O(q^6)
sage: A.newform() is f
True
If the a variable name has not been specified, we must specify one:
sage: A = AbelianVariety('67b')
sage: A.newform()
...
TypeError: You must specify the name of the generator.
sage: A.newform('alpha')
q + alpha*q^2 + (-alpha - 3)*q^3 + (-3*alpha - 3)*q^4 - 3*q^5 + O(q^6)
If the eigenform is actually over then we don’t have to specify
the name:
sage: A = AbelianVariety('67a')
sage: A.newform()
q + 2*q^2 - 2*q^3 + 2*q^4 + 2*q^5 + O(q^6)