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/64d1df9b-ed35-4e17-a6bd-7334988a4d7a%40ucalgary.ca.

Reply via email to