Sage's treatment of weighted polynomial rings is buggy, cf. e.g. https://github.com/sagemath/sage/issues/37167
this is something that should be addressed, one way or another On Mon, Mar 11, 2024 at 9:31 PM Giacomo Pope <giacomop...@gmail.com> wrote: > 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 > <https://groups.google.com/d/msgid/sage-devel/dc78d787-5e82-4fdb-92cd-f299b71972c5n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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/CAAWYfq0Gs%2B8o244%2BJ6V9FsQgr9ReHMfM2VYoybRGA-czMpHvJQ%40mail.gmail.com.