### Navigation

- index
- modules |
- next |
- previous |
- Modular Abelian Varieties »

# Abelian varieties attached to newforms

TESTS:

    sage: A = AbelianVariety('23a')
    sage: loads(dumps(A)) == A
    True

class `sage.modular.abvar.abvar_newform.``ModularAbelianVariety_newform`(f, internal_name=False)

  Bases: `sage.modular.abvar.abvar.ModularAbelianVariety_modsym_abstract`

  A modular abelian variety attached to a specific newform.

  `endomorphism_ring`()

    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

  `factor_number`()

    Return factor number.

    OUTPUT:
      int

    EXAMPLES:

        sage: A = AbelianVariety('43b')
        sage: A.factor_number()
        1

  `label`()

    Return canonical label that defines this newform modular abelian variety.

    OUTPUT:
      string

    EXAMPLES:

        sage: A = AbelianVariety('43b')
        sage: A.label()
        '43b'

  `newform`(names=None)

    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()
        Traceback (most recent call last):
        ...
        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 \(\QQ\) 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)

### Navigation

- index
- modules |
- next |
- previous |
- Modular Abelian Varieties »