In this article we give a detailed overview of the Complex Multiplication (CM) method for constructing elliptic curves with a given number of points. In the core of this method, there is a special polynomial called Hilbert class polynomial which is constructed with input a fundamental discriminant d < 0. The construction of this polynomial is the most demanding and time-consuming part of the method and thus the use of several alternative polynomials has been proposed in previous work. All these polynomials are called class polynomials and they are generated by proper values of modular functions called class invariants. Besides an analysis on these polynomials, in this paper we will describe our results about finding new class invariants using the Shimura reciprocity law. Finally, we will see how the choice of the discriminant can affect the degree of the class polynomial and consequently the efficiency of the whole CM method.
[ Pdf file]