Computing the endomorphism ring of an elliptic curve over a number field
John E. Cremona, Andrew V. Sutherland
TL;DR
This paper addresses the problem of recognizing Hilbert class polynomials and extracting CM data for elliptic curves over number fields. It introduces two new algorithms: a deterministic, GRH-assisted approach and a Las Vegas probabilistic method that computes the CM discriminant when applicable, both aiming to compute the endomorphism ring efficiently. The work situates these algorithms within a broad theoretical framework involving CM theory, Hilbert class polynomials, Galois actions, modular polynomials, and Galois representations, and demonstrates substantial practical improvements over existing tools. The methods are implemented in Magma, Pari/GP, and SageMath, with empirical results showing near-quasilinear performance on inputs where previous methods were slower by orders of magnitude, hence enabling faster endomorphism computations for elliptic curves over number fields.
Abstract
We describe deterministic and probabilistic algorithms to determine whether or not a given monic irreducible polynomial H in Z[X] is a Hilbert class polynomial, and if so, which one. These algorithms can be used to determine whether a given algebraic integer is the j-invariant of an elliptic curve with complex multiplication (CM), and if so, the associated CM discriminant. More generally, given an elliptic curve E over a number field, one can use them to compute the endomorphism ring of E. Our algorithms admit simple implementations that are asymptotically and practically faster than existing approaches.
