Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Abelian variety constructor needs sanity checks #18614

Open
loefflerd mannequin opened this issue Jun 5, 2015 · 1 comment
Open

Abelian variety constructor needs sanity checks #18614

loefflerd mannequin opened this issue Jun 5, 2015 · 1 comment

Comments

@loefflerd
Copy link
Mannequin

loefflerd mannequin commented Jun 5, 2015

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

@loefflerd loefflerd mannequin added this to the sage-6.8 milestone Jun 5, 2015
@williamstein
Copy link
Contributor

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.

@mkoeppe mkoeppe removed this from the sage-6.8 milestone Dec 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants