I think part of the problem you could run into is unanimity on whether the old code is broken. I think, the code in its present form is basically correct for the singular curve. The new code would have different semantics by working with a nonsingular curve in an appropriately weighted projective space. I'm pretty sure I would need the new behaviour whenever I'd ask a computer algebra system, so I wouldn't complain. However, if there is someone out there who actually does want the sematics of the current model, they'd probably point at the documentation and claim it's not "broken" or erroneous (I haven't checked, but I assume the old code is properly documented for what it does). If you can get (very?) close to unanimity then a short-cut may be feasible. I don't even know unanimity in which group you should be striving for, though.
On Thursday, 15 January 2026 at 13:23:54 UTC-8 Vincent Macri wrote: > I'm reviewing Giacomo Pope's PR > https://github.com/sagemath/sage/pull/39161 which rewrites hyperelliptic > curves to use a smooth model, allowing more features to work for all > hyperelliptic curves. Right now, some functionality is unavailable or > broken for even degree curves. > > The smooth model ideally would just replace the existing implementation, > but since it changes how the curves are represented internally it could > lead to some calculations giving different results and might be a > breaking change. This change is necessary though, as the smooth model is > needed to correctly handle the even degree case (currently Sage just > gives wrong answers for some calculations for even degree hyperelliptic > curves). > > One idea we had was to deprecate HyperellipticCurve, and make the the > new model HyperellipticCurveSmooth experimental until the old > HyperellipticCurve can be deprecated, then > rename HyperellipticCurveSmooth to HyperellipticCurve since that's a > better name. I think this plan follows our deprecation policies, but > it's convoluted and probably more annoying for users than just accepting > the breaking changes to HyperellipticCurve and replacing it with the > smooth model in one go. > > Do we have any guidance for how our deprecation policy applies in cases > where we are essentially rewriting an entire Sage package because the > existing code is broken? > > -- > Vincent Macri (he/him) > > -- 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 [email protected]. To view this discussion visit https://groups.google.com/d/msgid/sage-devel/5cc8c66a-441d-43d9-9ac8-696251d6db02n%40googlegroups.com.
