Dear all, *Summary*
To better support arithmetic on Jacobians and have a more natural implementation of hyperelliptic curves, we should implement them as toric varieties with a weighted polynomial ring (1 : 3 : 1) instead of plane projective curves. *Yes / No* *Discussion* I am currently hoping to improve hyperelliptic curves and Jacobians of hyperelliptic curve in Sage. One big motivation for me is to try and get our computations with similar coverage to what exists in Magma to allow more academics in the field to benefit from the open-source community of Sage. The first main goal of this is for full featured arithmetic on the Jacobians of hyperelliptic curves. The big blocker for me currently is that currently Sage implements hyperelliptic curves in the plane projective model. This is not an issue for the current methods, and it also allows for sensible arithmetic on Jacobians when there is one point at infinity. However, the more natural model I believe is the smooth model which uses a weighted polynomial (weights of (1 : 3 : 1)). For example, this would allow us to have a natural way of performing arithmetic on the real model of hyperelliptic curves. Something important for my own research. I believe in terms of Sage code this means changing the hyperelliptic curves to be toric varieties rather than projective varieties and will ultimately lead to a lot of work in rewriting the classes. This is not unexpected though. For example the docstring of the `points()` method discusses the possibility of this change in the future: https://github.com/sagemath/sage/blob/e417e2205be84d6d567b8897527fa6945ad09bdb/src/sage/schemes/hyperelliptic_curves/hyperelliptic_finite_field.py#L805-L858 This is associated with the sage-devel thread: https://groups.google.com/g/sage-devel/c/eKY85KwFldE which discusses progress on implementing arithmetic for Jacobians of hyperelliptic curves where there are 2, 1 (all cases) or 0 (only even genus) points at infinity. The work being done there uses a weighted polynomial ring to compute on the smooth model of hyperelliptic curves. *A note on inheritance* There is currently another hiccup in this transition. The class EllipticCurve_finite_field is a child of HyperellipticCurve_finite_field which seems to have happened at some point in the past when computing lists of points on the curve. As far as I can tell, this inheritance has no other used functionality. (Please correct me if I am missing something). I have shown in https://github.com/sagemath/sage/pull/37595 that this inherited method is always slower than using the group structure on the elliptic curve, so this inheritance can be removed once PR 37595 has been merged. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/dc78d787-5e82-4fdb-92cd-f299b71972c5n%40googlegroups.com.