Skip to content

Commit

Permalink
Trac #34409: remove experimental warning for composite elliptic-curve…
Browse files Browse the repository at this point in the history
… isogenies

The code from #32744 was released with Sage 9.5 and has since been real-
world tested by numerous people. It is exceedingly unlikely that we'll
want to remove it, and I'm reasonably convinced that there are no
disastrous bugs.

Therefore I propose to remove the experimental warning in the next
release. See also comment:18:ticket:34303.

In the future, we should also change the default composition method to
`EllipticCurveHom_composite`: See #34410.

URL: https://trac.sagemath.org/34409
Reported by: lorenz
Ticket author(s): Lorenz Panny
Reviewer(s): Kwankyu Lee
  • Loading branch information
Release Manager committed Sep 27, 2022
2 parents 89b0d28 + b7663b4 commit bfc2ccf
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 17 deletions.
6 changes: 2 additions & 4 deletions src/sage/schemes/elliptic_curves/ell_field.py
Original file line number Diff line number Diff line change
Expand Up @@ -1098,7 +1098,7 @@ def isogeny(self, kernel, codomain=None, degree=None, model=None, check=True, al
kernel point of odd order `\geq 5`.
This algorithm is selected using ``algorithm="velusqrt"``.
- Factored Isogenies (*experimental* --- see
- Factored Isogenies (see
:mod:`~sage.schemes.elliptic_curves.hom_composite`):
Given a list of points which generate a composite-order
subgroup, decomposes the isogeny into prime-degree steps.
Expand Down Expand Up @@ -1200,9 +1200,7 @@ def isogeny(self, kernel, codomain=None, degree=None, model=None, check=True, al
sage: E = EllipticCurve(GF(2^32-5), [170246996, 2036646110])
sage: P = E.lift_x(2)
sage: E.isogeny(P, algorithm="factored") # experimental
doctest:warning
...
sage: E.isogeny(P, algorithm="factored")
Composite morphism of degree 1073721825 = 3^4*5^2*11*19*43*59:
From: Elliptic Curve defined by y^2 = x^3 + 170246996*x + 2036646110 over Finite Field of size 4294967291
To: Elliptic Curve defined by y^2 = x^3 + 272790262*x + 1903695400 over Finite Field of size 4294967291
Expand Down
1 change: 0 additions & 1 deletion src/sage/schemes/elliptic_curves/hom.py
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,6 @@ def degree(self):
is the product of the degrees of the individual factors::
sage: from sage.schemes.elliptic_curves.hom_composite import EllipticCurveHom_composite
doctest:warning ...
sage: E = EllipticCurve(GF(419), [1,0])
sage: P, = E.gens()
sage: phi = EllipticCurveHom_composite(E, P+P)
Expand Down
13 changes: 1 addition & 12 deletions src/sage/schemes/elliptic_curves/hom_composite.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,13 @@
while exposing (close to) the same interface as "normal", unfactored
elliptic-curve isogenies.
.. WARNING::
This module is currently considered experimental.
It may change in a future release without prior warning, or even
be removed altogether if things turn out to be unfixably broken.
EXAMPLES:
The following example would take quite literally forever with the
straightforward :class:`EllipticCurveIsogeny` implementation, but
decomposing into prime steps is exponentially faster::
sage: from sage.schemes.elliptic_curves.hom_composite import EllipticCurveHom_composite
doctest:warning
...
sage: p = 3 * 2^143 - 1
sage: GF(p^2).inject_variables()
Defining z2
Expand Down Expand Up @@ -90,9 +82,6 @@
from sage.schemes.elliptic_curves.ell_curve_isogeny import EllipticCurveIsogeny
from sage.schemes.elliptic_curves.weierstrass_morphism import WeierstrassIsomorphism

from sage.misc.superseded import experimental_warning
experimental_warning(32744, 'EllipticCurveHom_composite is experimental code.')

#TODO: implement sparse strategies? (cf. the SIKE cryptosystem)

def _eval_factored_isogeny(phis, P):
Expand Down Expand Up @@ -789,7 +778,7 @@ def make_default():
This method exists only temporarily to make testing more
convenient while :class:`EllipticCurveHom_composite` is
experimental.
not yet the default.
EXAMPLES::
Expand Down

0 comments on commit bfc2ccf

Please sign in to comment.