This chapter describes the features for working with elliptic curves in Magma. An elliptic curve E is the projective closure of the curve given by the generalized Weierstrass equation
y^2 + a_1 xy + a_3 y = x^3 + a_2 x^2 + a_4 x + a_6,
and is specified by the sequence [a_1, a_2, a_3, a_4, a_6] of coefficients, or by the two element sequence [a_4, a_6] when a_1 = a_2 = a_3 = 0.
Elliptic curve functionality covers both elementary invariants of curves and arithmetic in the group of rational points, as well as higher level features for computing local invariants, heights, and Mordell--Weil groups for curves over Q, and for point counting and the determination of the group structure over F_q. The base ring of elliptic curves is currently restricted to fields. Curves over the rationals have special features to allow the construction of integral and minimal models, and for base change to finite fields, in acknowledgement of the integral structure over Z or Z_p.
For curves over the rationals, there exist algorithms for determining minimal models, and we implement Tate's algorithm for determining Kodaira symbols and various local invariants. Algorithms for the computation of the Mordell--Weil group are heavily based on publications of John Cremona; see [Cre97] for details. Point counting on elliptic curves over finite fields is achieved with a high-performance implementation of the Schoof--Elkies--Atkin algorithm (see [Elk98]), with improvements of Lercier [Ler97] in characteristic 2. An implementation of the Weil pairing (see [Men93]) permits the rapid proof of Z/nZ-independence of n-torsion points and for the MOV reduction of discrete logarithm problem on supersingular elliptic curves to that in a finite field.
Elliptic curves are specialised forms of the more general curve and scheme types, and as such all functions which apply to these general types work on elliptic curves. Some of these functions are described here, but not all of them --- refer to chapters SCHEMES (Schemes) and PLANE ALGEBRAIC CURVES (Curves) for descriptions of these functions, as well as an explanation of the relationships between points, point sets, and schemes. In particular, note that the parent of a point is a point set, and not the curve.
The category of elliptic curves is called CrvEll, with points of type PtEll lying in point sets of type SetPtEll. There is also the category SchGrpEll for subgroup schemes of elliptic curves, and a special category SymKod exists for the datatype of Kodaira symbols, classifying the local structure of the special fiber at p of the N'eron model of an elliptic curve E/Q.
[Next][Prev] [Right] [____] [Up] [Index] [Root]