edgarcosta / endomorphisms

Rigorous computation of the endomorphism ring of a Jacobian
GNU General Public License v2.0
10 stars 8 forks source link

Endos for humans #39

Open jvoight opened 3 years ago

jvoight commented 3 years ago

The output of EndomorphismRepresentation is something like <[ <2, 1> ], [ <2, 1, [ -1, 1 ], 1, 2> ], <5, 1>> which can be hard for a human to interpret. We should have a function called EndomorphismRepresentationDescription (for humans) which in the above would say "The endomorphism algebra of xxx defined over yyy is the matrix algebra M_2(QQ), so Jac(A) ~ A2.1^2 where A2.1 is an abelian surface over QQ."

I think we have something like this already in the Sage package, so we just need a port.

edgarcosta commented 3 years ago

Do the buttons: EndRROverQQbar and EndRROverQQ address your request?

https://github.com/edgarcosta/endomorphisms/blob/master/endomorphisms/magma/heuristic/Buttons.m#L154

or you really asking for a more verbose answer?

jvoight commented 3 years ago

I was thinking more verbose; these just output one part of the SeqEnum?

Hmm, maybe we just need to talk about printing an EndoRep. In Magma, this is supposed to be fairly descriptive: when you define a hyperelliptic curve X and then type X; it does not return a sequence of integers defining the polynomial, it helpfully displays a string explaining what the object is. Can we do that here?

But there's also precedence (like in CharacterTable) for commands which output precisely formatted strings.

JRSijsling commented 3 years ago

I added something that makes a try in this direction to the button function HeuristicEndomorphismDescription, see examples/Test-Human.m for a test run. For now it describes the isotypical decomposition (over the base or geometrically) and the endomorphism algebra of the factors.