sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.45k stars 481 forks source link

Abelian variety constructor needs sanity checks #18614

Open 11d1fc49-71a1-44e1-869f-76be013245a0 opened 9 years ago

11d1fc49-71a1-44e1-869f-76be013245a0 commented 9 years ago

Sage can create abelian varieties attached to modular symbol spaces. Sadly, the output is often mathematically nonsensical, because the construction only makes sense when the weight is 2 but this is not checked in the constructor:

sage: AbelianVariety(ModularSymbols(23, 6).cuspidal_submodule())
Abelian subvariety of dimension 9 of J0(23)
sage: J0(23).dimension()
2

There are other related bugs: even for weight 2, the construction only makes sense when the modular symbol space is defined over QQ, but the constructor accepts arbitrary modular symbol spaces, resulting in objects so badly broken that they can't even represent themselves as strings:

sage: chi = DirichletGroup(33).1^2
sage: M = ModularSymbols(chi).cuspidal_submodule()
sage: M1, M2 = M.decomposition()
sage: A = AbelianVariety(M1)
sage: A
<repr(<sage.modular.abvar.abvar.ModularAbelianVariety_modsym_with_category at 0x7fcf67a3b368>) failed: NotImplementedError>

Moreover, the handling of "base ring" is totally misleading:

sage: M = ModularSymbols(23, 2, base_ring=QQbar).cuspidal_submodule()
sage: A=AbelianVariety(M); A
Abelian variety J0(23) over Algebraic Field of dimension 2
sage: A.base_ring()
Algebraic Field

This suggests that A is the base-extension to QQbar of the Q-variety J0(23); but it's not -- base-extending the abelian variety as a variety has nothing to do with base-extending the defining modular symbols space!

William: I'm ccing you on this ticket because you were the last person to do actual mathematical work on abelian varieties in Sage (in 2010) -- everything more recent in the git logs is just general Sage-wide bug-fixing.

CC: @williamstein

Component: modular forms

Keywords: abelian varieties

Issue created by migration from https://trac.sagemath.org/ticket/18614

williamstein commented 9 years ago
comment:2

the construction only makes sense when the weight is 2

Mathematically, the construction makes sense for any weight, with the caveat that when the weight is > 2 the abelian variety is likely not defined over a number field (it's defined over RR or CC). Shimura even wrote a paper about doing this with Delta back in the 60's... There are also some more examples in my ph.d. thesis.

the construction only makes sense when the modular symbol space is defined over QQ

Again, at least mathematically the construction makes sense in more generality than over QQ.

I'm not claiming anything about the code in Sage making sense beyond "over QQ" and weight 2, though I definitely always planned for it to do so.