diff --git a/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py b/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py index 48ed0a95589..696c26976e7 100644 --- a/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py +++ b/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py @@ -2244,11 +2244,10 @@ def __init_kernel_polynomial_velu(self): else: invX = x - psi = poly_ring.one() - for xQ in self.__kernel_mod_sign.keys(): - psi *= x - invX(xQ) + from sage.misc.misc_c import prod + psi = prod([x - invX(xQ) for xQ in self.__kernel_mod_sign.keys()]) # building the list is not redundant; this is slightly faster - self.__kernel_polynomial = psi + self.__kernel_polynomial = poly_ring(psi) ################################### # Kohel's Variant of Velu's Formula