|
Like all group functions on elliptic curves, these intrinsics really
apply to a particular point set; the curve is identified with its base
point set for the purposes of these functions. To aid exposition only
the versions that take the curves are shown but an appropriate point
set over a finite field may be used instead.
AbelianGroup(E) : CrvEll -> GrpAb, Map
TorsionSubgroup(H) : SetPtEll -> GrpAb, Map
TorsionSubgroup(E) : CrvEll -> GrpAb, Map
Computes the abelian group isomorphic to the group of rational
points on the elliptic curve E over a finite field. The function
returns two values: an abelian group A and a map m from A
to E. The map m provides an isomorphism between the abstract
group A and the group of rational points on the curve.
Generators(E) : CrvEll -> [ PtEll ]
Given an elliptic curve E defined over a finite field or a pointset H
of E, this
function returns generators for the group of points of E.
The i-th element of the sequence corresponds to the i-th
generator of the group as returned by the function AbelianGroup.
NumberOfGenerators(E) : CrvEll -> RngIntElt
Ngens(H) : SetPtEll -> RngIntElt
Ngens(E) : CrvEll -> RngIntElt
The number of generators of the group of rational points of (the point set H of) the elliptic curve E;
this is simply the length of the sequence returned by
Generators(E).
A simple example of some of the above calls in action:
> FF<w> := GF(1048583, 2);
> E := EllipticCurve([ 1016345*w + 272405, 660960*w + 830962 ]);
> A, m := AbelianGroup(E);
> A;
Abelian Group isomorphic to Z/3 + Z/366508289334
Defined on 2 generators
Relations:
3*A.1 = 0
366508289334*A.2 = 0
> S := Generators(E);
> S;
[ (191389*w + 49138 : 878749*w + 1008891 : 1), (852793*w + 24192 :
376202*w + 48552 : 1) ]
> S eq [ m(A.1), m(A.2) ];
true
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|