The complexity of class polynomial computation via floating point approximations
<|reference_start|>The complexity of class polynomial computation via floating point approximations: We analyse the complexity of computing class polynomials, that are an important ingredient for CM constructions of elliptic curves, via complex floating point approximations of their roots. The heart of the algorithm is the evaluation of modular functions in several arguments. The fastest one of the presented approaches uses a technique devised by Dupont to evaluate modular functions by Newton iterations on an expression involving the arithmetic-geometric mean. It runs in time $O (|D| \log^5 |D| \log \log |D|) = O (|D|^{1 + \epsilon}) = O (h^{2 + \epsilon})$ for any $\epsilon > 0$, where $D$ is the CM discriminant and $h$ is the degree of the class polynomial. Another fast algorithm uses multipoint evaluation techniques known from symbolic computation; its asymptotic complexity is worse by a factor of $\log |D|$. Up to logarithmic factors, this running time matches the size of the constructed polynomials. The estimate also relies on a new result concerning the complexity of enumerating the class group of an imaginary-quadratic order and on a rigorously proven upper bound for the height of class polynomials.<|reference_end|>
@article{enge2006the,
    title={The complexity of class polynomial computation via floating point
  approximations},
    author={Andreas Enge (INRIA Futurs, Lix)},
    journal={Mathematics of Computation 78, 266 (2009) 1089-1107},
    year={2006},
    archivePrefix={arXiv},
    eprint={cs/0601104},
    primaryClass={cs.NA cs.SC math.NT}
}