@@ -3075,7 +3075,7 @@ def _composition_impl(left, right):
3075
3075
return NotImplemented
3076
3076
3077
3077
3078
- def compute_isogeny_starks (E1 , E2 , ell ):
3078
+ def compute_isogeny_stark (E1 , E2 , ell ):
3079
3079
r"""
3080
3080
Return the kernel polynomial of an isogeny of degree ``ell``
3081
3081
from ``E1`` to ``E2``.
@@ -3100,7 +3100,7 @@ def compute_isogeny_starks(E1, E2, ell):
3100
3100
3101
3101
ALGORITHM:
3102
3102
3103
- This function uses Starks' algorithm as presented in Section 6.2
3103
+ This function uses Stark's algorithm as presented in Section 6.2
3104
3104
of [BMSS2006]_.
3105
3105
3106
3106
.. NOTE::
@@ -3111,22 +3111,22 @@ def compute_isogeny_starks(E1, E2, ell):
3111
3111
3112
3112
EXAMPLES::
3113
3113
3114
- sage: from sage.schemes.elliptic_curves.ell_curve_isogeny import compute_isogeny_starks , compute_sequence_of_maps
3114
+ sage: from sage.schemes.elliptic_curves.ell_curve_isogeny import compute_isogeny_stark , compute_sequence_of_maps
3115
3115
3116
3116
sage: E = EllipticCurve(GF(97), [1,0,1,1,0])
3117
3117
sage: R.<x> = GF(97)[]; f = x^5 + 27*x^4 + 61*x^3 + 58*x^2 + 28*x + 21
3118
3118
sage: phi = EllipticCurveIsogeny(E, f)
3119
3119
sage: E2 = phi.codomain()
3120
3120
sage: (isom1, isom2, E1pr, E2pr, ker_poly) = compute_sequence_of_maps(E, E2, 11)
3121
- sage: compute_isogeny_starks (E1pr, E2pr, 11)
3121
+ sage: compute_isogeny_stark (E1pr, E2pr, 11)
3122
3122
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
3123
3123
3124
3124
sage: E = EllipticCurve(GF(37), [0,0,0,1,8])
3125
3125
sage: R.<x> = GF(37)[]
3126
3126
sage: f = (x + 14) * (x + 30)
3127
3127
sage: phi = EllipticCurveIsogeny(E, f)
3128
3128
sage: E2 = phi.codomain()
3129
- sage: compute_isogeny_starks (E, E2, 5)
3129
+ sage: compute_isogeny_stark (E, E2, 5)
3130
3130
x^4 + 14*x^3 + x^2 + 34*x + 21
3131
3131
sage: f**2
3132
3132
x^4 + 14*x^3 + x^2 + 34*x + 21
@@ -3136,7 +3136,7 @@ def compute_isogeny_starks(E1, E2, ell):
3136
3136
sage: f = x
3137
3137
sage: phi = EllipticCurveIsogeny(E, f)
3138
3138
sage: E2 = phi.codomain()
3139
- sage: compute_isogeny_starks (E, E2, 2)
3139
+ sage: compute_isogeny_stark (E, E2, 2)
3140
3140
x
3141
3141
"""
3142
3142
K = E1 .base_field ()
@@ -3182,6 +3182,9 @@ def compute_isogeny_starks(E1, E2, ell):
3182
3182
qn /= qn .leading_coefficient ()
3183
3183
return qn
3184
3184
3185
+ from sage .misc .superseded import deprecated_function_alias
3186
+ compute_isogeny_starks = deprecated_function_alias (34871 , compute_isogeny_stark )
3187
+
3185
3188
def split_kernel_polynomial (poly ):
3186
3189
r"""
3187
3190
Obsolete internal helper function formerly used by
@@ -3222,7 +3225,7 @@ def split_kernel_polynomial(poly):
3222
3225
from sage .misc .misc_c import prod
3223
3226
return prod ([p for p ,e in poly .squarefree_decomposition ()])
3224
3227
3225
- def compute_isogeny_kernel_polynomial (E1 , E2 , ell , algorithm = "starks " ):
3228
+ def compute_isogeny_kernel_polynomial (E1 , E2 , ell , algorithm = "stark " ):
3226
3229
r"""
3227
3230
Return the kernel polynomial of an isogeny of degree ``ell``
3228
3231
from ``E1`` to ``E2``.
@@ -3235,7 +3238,7 @@ def compute_isogeny_kernel_polynomial(E1, E2, ell, algorithm="starks"):
3235
3238
3236
3239
- ``ell`` -- the degree of an isogeny from ``E1`` to ``E2``
3237
3240
3238
- - ``algorithm`` -- currently only ``"starks "`` (default) is implemented
3241
+ - ``algorithm`` -- currently only ``"stark "`` (default) is implemented
3239
3242
3240
3243
OUTPUT:
3241
3244
@@ -3277,8 +3280,8 @@ def compute_isogeny_kernel_polynomial(E1, E2, ell, algorithm="starks"):
3277
3280
sage: f = (x + 10) * (x + 12) * (x + 16)
3278
3281
sage: phi = EllipticCurveIsogeny(E, f)
3279
3282
sage: E2 = phi.codomain()
3280
- sage: from sage.schemes.elliptic_curves.ell_curve_isogeny import compute_isogeny_starks
3281
- sage: ker_poly = compute_isogeny_starks (E, E2, 7); ker_poly
3283
+ sage: from sage.schemes.elliptic_curves.ell_curve_isogeny import compute_isogeny_stark
3284
+ sage: ker_poly = compute_isogeny_stark (E, E2, 7); ker_poly
3282
3285
x^6 + 2*x^5 + 20*x^4 + 11*x^3 + 36*x^2 + 35*x + 16
3283
3286
sage: ker_poly.factor()
3284
3287
(x + 10)^2 * (x + 12)^2 * (x + 16)^2
@@ -3287,9 +3290,13 @@ def compute_isogeny_kernel_polynomial(E1, E2, ell, algorithm="starks"):
3287
3290
sage: poly.factor()
3288
3291
(x + 10) * (x + 12) * (x + 16)
3289
3292
"""
3290
- if algorithm != "starks" :
3291
- raise NotImplementedError
3292
- return compute_isogeny_starks (E1 , E2 , ell ).radical ()
3293
+ if algorithm == 'starks' :
3294
+ from sage .misc .superseded import deprecation
3295
+ deprecation (34871 , 'The "starks" algorithm is being renamed to "stark".' )
3296
+ algorithm = 'stark'
3297
+ if algorithm != "stark" :
3298
+ raise NotImplementedError (f'unknown algorithm { algorithm } ' )
3299
+ return compute_isogeny_stark (E1 , E2 , ell ).radical ()
3293
3300
3294
3301
def compute_intermediate_curves (E1 , E2 ):
3295
3302
r"""
0 commit comments