@@ -3145,7 +3145,7 @@ def _composition_impl(left, right):
3145
3145
return NotImplemented
3146
3146
3147
3147
3148
- def compute_isogeny_starks (E1 , E2 , ell ):
3148
+ def compute_isogeny_stark (E1 , E2 , ell ):
3149
3149
r"""
3150
3150
Return the kernel polynomial of an isogeny of degree ``ell``
3151
3151
from ``E1`` to ``E2``.
@@ -3170,7 +3170,7 @@ def compute_isogeny_starks(E1, E2, ell):
3170
3170
3171
3171
ALGORITHM:
3172
3172
3173
- This function uses Starks' algorithm as presented in Section 6.2
3173
+ This function uses Stark's algorithm as presented in Section 6.2
3174
3174
of [BMSS2006]_.
3175
3175
3176
3176
.. NOTE::
@@ -3181,22 +3181,22 @@ def compute_isogeny_starks(E1, E2, ell):
3181
3181
3182
3182
EXAMPLES::
3183
3183
3184
- sage: from sage.schemes.elliptic_curves.ell_curve_isogeny import compute_isogeny_starks , compute_sequence_of_maps
3184
+ sage: from sage.schemes.elliptic_curves.ell_curve_isogeny import compute_isogeny_stark , compute_sequence_of_maps
3185
3185
3186
3186
sage: E = EllipticCurve(GF(97), [1,0,1,1,0])
3187
3187
sage: R.<x> = GF(97)[]; f = x^5 + 27*x^4 + 61*x^3 + 58*x^2 + 28*x + 21
3188
3188
sage: phi = EllipticCurveIsogeny(E, f)
3189
3189
sage: E2 = phi.codomain()
3190
3190
sage: (isom1, isom2, E1pr, E2pr, ker_poly) = compute_sequence_of_maps(E, E2, 11)
3191
- sage: compute_isogeny_starks (E1pr, E2pr, 11)
3191
+ sage: compute_isogeny_stark (E1pr, E2pr, 11)
3192
3192
x^10 + 37*x^9 + 53*x^8 + 66*x^7 + 66*x^6 + 17*x^5 + 57*x^4 + 6*x^3 + 89*x^2 + 53*x + 8
3193
3193
3194
3194
sage: E = EllipticCurve(GF(37), [0,0,0,1,8])
3195
3195
sage: R.<x> = GF(37)[]
3196
3196
sage: f = (x + 14) * (x + 30)
3197
3197
sage: phi = EllipticCurveIsogeny(E, f)
3198
3198
sage: E2 = phi.codomain()
3199
- sage: compute_isogeny_starks (E, E2, 5)
3199
+ sage: compute_isogeny_stark (E, E2, 5)
3200
3200
x^4 + 14*x^3 + x^2 + 34*x + 21
3201
3201
sage: f**2
3202
3202
x^4 + 14*x^3 + x^2 + 34*x + 21
@@ -3206,7 +3206,7 @@ def compute_isogeny_starks(E1, E2, ell):
3206
3206
sage: f = x
3207
3207
sage: phi = EllipticCurveIsogeny(E, f)
3208
3208
sage: E2 = phi.codomain()
3209
- sage: compute_isogeny_starks (E, E2, 2)
3209
+ sage: compute_isogeny_stark (E, E2, 2)
3210
3210
x
3211
3211
"""
3212
3212
K = E1 .base_field ()
@@ -3252,6 +3252,9 @@ def compute_isogeny_starks(E1, E2, ell):
3252
3252
qn /= qn .leading_coefficient ()
3253
3253
return qn
3254
3254
3255
+ from sage .misc .superseded import deprecated_function_alias
3256
+ compute_isogeny_starks = deprecated_function_alias (34871 , compute_isogeny_stark )
3257
+
3255
3258
def split_kernel_polynomial (poly ):
3256
3259
r"""
3257
3260
Obsolete internal helper function formerly used by
@@ -3292,7 +3295,7 @@ def split_kernel_polynomial(poly):
3292
3295
from sage .misc .misc_c import prod
3293
3296
return prod ([p for p ,e in poly .squarefree_decomposition ()])
3294
3297
3295
- def compute_isogeny_kernel_polynomial (E1 , E2 , ell , algorithm = "starks " ):
3298
+ def compute_isogeny_kernel_polynomial (E1 , E2 , ell , algorithm = "stark " ):
3296
3299
r"""
3297
3300
Return the kernel polynomial of an isogeny of degree ``ell``
3298
3301
from ``E1`` to ``E2``.
@@ -3305,7 +3308,7 @@ def compute_isogeny_kernel_polynomial(E1, E2, ell, algorithm="starks"):
3305
3308
3306
3309
- ``ell`` -- the degree of an isogeny from ``E1`` to ``E2``
3307
3310
3308
- - ``algorithm`` -- currently only ``"starks "`` (default) is implemented
3311
+ - ``algorithm`` -- currently only ``"stark "`` (default) is implemented
3309
3312
3310
3313
OUTPUT:
3311
3314
@@ -3347,8 +3350,8 @@ def compute_isogeny_kernel_polynomial(E1, E2, ell, algorithm="starks"):
3347
3350
sage: f = (x + 10) * (x + 12) * (x + 16)
3348
3351
sage: phi = EllipticCurveIsogeny(E, f)
3349
3352
sage: E2 = phi.codomain()
3350
- sage: from sage.schemes.elliptic_curves.ell_curve_isogeny import compute_isogeny_starks
3351
- sage: ker_poly = compute_isogeny_starks (E, E2, 7); ker_poly
3353
+ sage: from sage.schemes.elliptic_curves.ell_curve_isogeny import compute_isogeny_stark
3354
+ sage: ker_poly = compute_isogeny_stark (E, E2, 7); ker_poly
3352
3355
x^6 + 2*x^5 + 20*x^4 + 11*x^3 + 36*x^2 + 35*x + 16
3353
3356
sage: ker_poly.factor()
3354
3357
(x + 10)^2 * (x + 12)^2 * (x + 16)^2
@@ -3357,9 +3360,13 @@ def compute_isogeny_kernel_polynomial(E1, E2, ell, algorithm="starks"):
3357
3360
sage: poly.factor()
3358
3361
(x + 10) * (x + 12) * (x + 16)
3359
3362
"""
3360
- if algorithm != "starks" :
3361
- raise NotImplementedError
3362
- return compute_isogeny_starks (E1 , E2 , ell ).radical ()
3363
+ if algorithm == 'starks' :
3364
+ from sage .misc .superseded import deprecation
3365
+ deprecation (34871 , 'The "starks" algorithm is being renamed to "stark".' )
3366
+ algorithm = 'stark'
3367
+ if algorithm != "stark" :
3368
+ raise NotImplementedError (f'unknown algorithm { algorithm } ' )
3369
+ return compute_isogeny_stark (E1 , E2 , ell ).radical ()
3363
3370
3364
3371
def compute_intermediate_curves (E1 , E2 ):
3365
3372
r"""
0 commit comments