Skip to content

Commit ac09279

Browse files
author
Release Manager
committed
gh-36188: remove some old deprecation warnings in elliptic curves By the time 10.2 gets released, these warnings will most likely have been in place for a year or more. URL: #36188 Reported by: Lorenz Panny Reviewer(s): Matthias Köppe
2 parents 2cf443a + cb5a86c commit ac09279

File tree

4 files changed

+4
-106
lines changed

4 files changed

+4
-106
lines changed

src/sage/schemes/elliptic_curves/ell_curve_isogeny.py

Lines changed: 2 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -171,11 +171,7 @@ def _isogeny_determine_algorithm(E, kernel):
171171

172172
raise ValueError("invalid parameters to EllipticCurveIsogeny constructor")
173173

174-
175-
from sage.misc.superseded import deprecated_function_alias
176-
isogeny_determine_algorithm = deprecated_function_alias(33619, _isogeny_determine_algorithm)
177-
178-
def isogeny_codomain_from_kernel(E, kernel, degree=None):
174+
def isogeny_codomain_from_kernel(E, kernel):
179175
r"""
180176
Compute the isogeny codomain given a kernel.
181177
@@ -210,28 +206,13 @@ def isogeny_codomain_from_kernel(E, kernel, degree=None):
210206
Elliptic Curve defined by y^2 + x*y + y = x^3 + 5*x + 2
211207
over Finite Field of size 7
212208
209+
sage: # needs sage.rings.finite_rings
213210
sage: E = EllipticCurve(GF(19), [1,2,3,4,5])
214211
sage: kernel_list = [E((15,10)), E((10,3)), E((6,5))]
215212
sage: isogeny_codomain_from_kernel(E, kernel_list)
216213
Elliptic Curve defined by y^2 + x*y + 3*y = x^3 + 2*x^2 + 3*x + 15
217214
over Finite Field of size 19
218-
219-
TESTS:
220-
221-
Test deprecation warning for obsolete argument::
222-
223-
sage: isogeny_codomain_from_kernel(E, kernel_list, degree=4)
224-
doctest:warning
225-
...
226-
DeprecationWarning: The "degree" argument to isogeny_codomain_from_kernel() does nothing and will be removed.
227-
...
228-
Elliptic Curve defined by y^2 + x*y + 3*y = x^3 + 2*x^2 + 3*x + 15
229-
over Finite Field of size 19
230215
"""
231-
if degree is not None:
232-
from sage.misc.superseded import deprecation
233-
deprecation(33619, 'The "degree" argument to isogeny_codomain_from_kernel() does nothing and will be removed.')
234-
235216
algorithm = _isogeny_determine_algorithm(E, kernel)
236217

237218
if algorithm == 'velu':
@@ -3456,47 +3437,6 @@ def compute_isogeny_stark(E1, E2, ell):
34563437
from sage.misc.superseded import deprecated_function_alias
34573438
compute_isogeny_starks = deprecated_function_alias(34871, compute_isogeny_stark)
34583439

3459-
def split_kernel_polynomial(poly):
3460-
r"""
3461-
Obsolete internal helper function formerly used by
3462-
:func:`compute_isogeny_kernel_polynomial`.
3463-
3464-
Use
3465-
:meth:`~sage.rings.polynomial.polynomial_element.Polynomial.radical`
3466-
instead.
3467-
3468-
INPUT:
3469-
3470-
- ``poly`` -- a nonzero univariate polynomial
3471-
3472-
OUTPUT:
3473-
3474-
The maximum separable divisor of ``poly``. If the input is a full
3475-
kernel polynomial where the roots which are `x`-coordinates of
3476-
points of order greater than 2 have multiplicity 1, the output
3477-
will be a polynomial with the same roots, all of multiplicity 1.
3478-
3479-
EXAMPLES:
3480-
3481-
Check that this behaves identically to ``.radical()``::
3482-
3483-
sage: # needs sage.rings.finite_rings
3484-
sage: from sage.schemes.elliptic_curves.ell_curve_isogeny import split_kernel_polynomial
3485-
sage: q = next_prime(randrange(3,10^3))
3486-
sage: e = randrange(1,5)
3487-
sage: R = GF(q^e,'a')['x']
3488-
sage: f = R.random_element(randrange(10,100)).monic()
3489-
sage: split_kernel_polynomial(f) == f.radical()
3490-
doctest:warning ...
3491-
DeprecationWarning: ...
3492-
True
3493-
"""
3494-
from sage.misc.superseded import deprecation
3495-
deprecation(33619, 'The split_kernel_polynomial() function is obsolete. '
3496-
'Use .radical() instead.')
3497-
from sage.misc.misc_c import prod
3498-
return prod([p for p,e in poly.squarefree_decomposition()])
3499-
35003440
def compute_isogeny_kernel_polynomial(E1, E2, ell, algorithm="stark"):
35013441
r"""
35023442
Return the kernel polynomial of an isogeny of degree ``ell``

src/sage/schemes/elliptic_curves/ell_field.py

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1279,7 +1279,7 @@ def isogeny(self, kernel, codomain=None, degree=None, model=None, check=True, al
12791279
except AttributeError as e:
12801280
raise RuntimeError("Unable to construct isogeny: %s" % e)
12811281

1282-
def isogeny_codomain(self, kernel, degree=None):
1282+
def isogeny_codomain(self, kernel):
12831283
r"""
12841284
Return the codomain of the isogeny from ``self`` with given kernel.
12851285
@@ -1311,21 +1311,7 @@ def isogeny_codomain(self, kernel, degree=None):
13111311
sage: E2 = E.isogeny_codomain(E.lift_x(77347718128277853096420969229987528666))
13121312
sage: E2._order
13131313
170141183460469231746191640949390434666
1314-
1315-
Test deprecation warning for obsolete argument::
1316-
1317-
sage: E.isogeny_codomain(E.lift_x(77347718128277853096420969229987528666), degree=11) # needs sage.rings.finite_rings
1318-
doctest:warning
1319-
...
1320-
DeprecationWarning: The "degree" argument to .isogeny_codomain() does nothing and will be removed.
1321-
...
1322-
Elliptic Curve defined by y^2 + x*y + 3*y = x^3 + 2*x^2 + 20731788786372791581385345584850817122*x + 125200507378516567345719286707201096361
1323-
over Finite Field of size 170141183460469231731687303715884105727
13241314
"""
1325-
if degree is not None:
1326-
from sage.misc.superseded import deprecation
1327-
deprecation(33619, 'The "degree" argument to .isogeny_codomain() does nothing and will be removed.')
1328-
13291315
E = isogeny_codomain_from_kernel(self, kernel)
13301316
if self.base_field().is_finite():
13311317
E._fetch_cached_order(self)

src/sage/schemes/elliptic_curves/ell_point.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3709,7 +3709,7 @@ def _acted_upon_(self, other, side):
37093709

37103710
return Q
37113711

3712-
def discrete_log(self, Q, ord=None):
3712+
def discrete_log(self, Q):
37133713
r"""
37143714
Return the discrete logarithm of `Q` to base `P` = ``self``,
37153715
that is, an integer `x` such that `xP = Q`.
@@ -3780,18 +3780,7 @@ def discrete_log(self, Q, ord=None):
37803780
sage: x = P.discrete_log(Q)
37813781
sage: x*P == Q
37823782
True
3783-
3784-
Doctest deprecation::
3785-
3786-
sage: P.discrete_log(Q, ord=P.order()) # needs sage.rings.finite_rings
3787-
doctest:warning
3788-
...
3789-
DeprecationWarning: The "ord" argument to .discrete_log() is obsolete. ...
37903783
"""
3791-
if ord is not None:
3792-
from sage.misc.superseded import deprecation
3793-
deprecation(33121, 'The "ord" argument to .discrete_log() is obsolete. Use the .set_order() method instead.')
3794-
self.set_order(ord)
37953784
if Q not in self.parent():
37963785
raise ValueError('not a point on the same curve')
37973786
n = self.order()

src/sage/schemes/elliptic_curves/hom_composite.py

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -925,20 +925,3 @@ def is_injective(self):
925925
True
926926
"""
927927
return all(phi.is_injective() for phi in self._phis)
928-
929-
@staticmethod
930-
def make_default():
931-
r"""
932-
This method does nothing and will be removed.
933-
934-
(It is a leftover from the time when :class:`EllipticCurveHom_composite`
935-
wasn't the default yet.)
936-
937-
EXAMPLES::
938-
939-
sage: from sage.schemes.elliptic_curves.hom_composite import EllipticCurveHom_composite
940-
sage: EllipticCurveHom_composite.make_default()
941-
doctest:warning ...
942-
"""
943-
from sage.misc.superseded import deprecation
944-
deprecation(34410, 'calling EllipticCurveHom_composite.make_default() is no longer necessary')

0 commit comments

Comments
 (0)