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.

Reply via email to