The Cm software implements the construction of ring class fields of imaginary quadratic number fields and of elliptic curves with complex multiplication via floating point approximations. It consists of libraries that can be called from within a C program and of executable command line applications. For the implemented algorithms, see A. Enge, The complexity of class polynomial computation via floating point approximations, Mathematics of Computation 78 (266), 2009, pp. 1089–1107.
- The baby-step giant-step algorithm of Enge-Hart-Johansson 2016 is used to compute the series of η, leading to a speed-up of up to a factor of 2 for this step of the algorithm.
- Class polynomial computation for j and γ2 is sped up by using a 2- or a 6-system, respectively, instead of a 1- or a 3-system. This makes it more likely that during the needed computation of η (τ/2) the conductor is not changed, so that a precomputed η value may be reused.
- The license has been updated to GPLv3+, in line with the license of recent Gmp, Mpfr and Mpc releases.
Version 0.2.1 "Blindhühnchen", released in March 2015, comes with the following new features:
- Precisions beyond 300000 bits are now supported by an addition chain of variable length for the η-function.
- The minimal version number of Mpfr has been increased to 3.0.0, that of Mpc to 1.0.0 and that of Pari to 2.7.0.
Version 0.2, released in February 2012, comes with the following new features:
new class invariants: multiple eta quotients with
- double eta quotients with both primes >100
- new parameter choice for double eta quotients yielding smaller class polynomials
- slightly lower height bounds for double eta quotients
- new class invariants: multiple eta quotients with
printing of field and curve cardinality even without parameter
Weber polynomials work again (activated by
- class polynomials for D=-4 and D=-16 work (no curve is constructed)
- printing of field and curve cardinality even without parameter
factorisation of class polynomials is done by
- factorisation of class polynomials is done by
The initial release of version 0.1 "Apfelkraut" was made in November 2009.