← LibraryComplex Multiplication and Class NumbersEngineering · MathematicsLesson 342/385← PrevNext →
ArticlePublished 7 Aug 20262 min readBy Kevin Jogincomplex multiplicationclass numberHilbert class polynomialj-invariant

Elliptic Curves

Complex Multiplication and Class Numbers

The link between curves with complex multiplication and class groups of imaginary quadratic orders, and the Hilbert class polynomial.

Engineering / MathematicsElliptic Curves2 min readKV-MATH-0639

Curves with complex multiplication by an imaginary quadratic order are in bijection with the ideal classes of that order. This is one of the most striking links in the subject and it is directly computational.

The correspondence

For a fixed imaginary quadratic order, the curves with that endomorphism ring correspond to the ideal classes. The number of such curves, up to isomorphism, is the class number.

Number of CM curves with endomorphism ring O = h(O)The class number of the order.

The Hilbert class polynomial

The j-invariants of these curves are algebraic integers, and they are the roots of a single polynomial with integer coefficients — the Hilbert class polynomial of the discriminant.

The Hilbert class polynomial
PropertyValue
DegreeThe class number of the order
CoefficientsRational integers, and very large
Splitting fieldThe Hilbert class field of the imaginary quadratic field
RootsThe j-invariants of the CM curves

Computing it

Computing the Hilbert class polynomial

  1. Enumerate reduced formsOf the given discriminant — see form reduction.
  2. Compute j-invariantsNumerically from each form, via the corresponding lattice.
  3. Form the productMultiply the linear factors numerically.
  4. RoundThe coefficients are integers; round and verify.

Alternative class invariants

Weber functions and other modular functions give class invariants whose minimal polynomials have substantially smaller coefficients while generating the same field. Converting back to j-invariants is a simple algebraic step, so these are always preferred in practice.

The application

Constructing a curve with known group order over a finite field is done by choosing a discriminant, computing the class polynomial, and finding a root modulo the prime. This is the engine of ECPP.

Source. Henri Cohen, A Course in Computational Algebraic Number Theory, Springer GTM 138 — 7.2.4. Structural reference unverified: the source file was not available during authoring; chapter and section numbers are taken from the published edition and have not been checked against a physical copy.

Continue learning

Isogenies and Endomorphism RingsArticle · MathematicsNEXT LESSON →Modular Equations and the j-InvariantArticle · MathematicsLattices, Complex Tori and the Weierstrass p-FunctionArticle · MathematicsZeta Functions of Elliptic CurvesArticle · Mathematics