Code for computing heights on elliptic curves with magma.

You can find here an implementation of Silverman's algorithm to compute the canonical height on an elliptic curve over a number field, as well as on a function field. These files are to be used within magma.
These files are distributed under the GNU GPL License (see also GNU web site).
Now, my code should work with both version 2.9 and 2.10 of magma. Depending on which version you're using, change in the file spec, the line minimal.m to minimal2.9.m or minimal2.10.m or make a symbolic link.
Height functions on number fields:
To compute heights on number fields, you need to attach some files (or add them to your system spec file). If you don't use a spec file, do in your magma shell:
  > AttachSpec("spec");
You are now ready to compute heights. Simply do (for P a point on an elliptic curve)
  > Hauteur(P,20);
to compute the height of the point P with a 20 digits precision.

You can also compute a local minimal model for a place p over 2 or 3.

  > LocalMinimalModel(E,p);
gives a local minimal model for the elliptic curve E at the place p, whence
  > LocalMinimalModels(E,2);
gives a local minimal model for each place (of the field of definition of the elliptic curve E) above 2 (or 3).

The parameter "Extension" is for computing such models for the places of K (value of the parameter) above 2 (or 3).
The parameter "Principal" is for simplying (whenever possible) the equations we obtain by checking if the ideal corresponding to the place p is principal.


Heights functions on function fields:
To compute heights on function fields, you just need to attach the file heights_fldfun.m . If you don't use a spec file, do in your magma shell:
  > Attach("heights_fldfun.m");
You can now compute heights in the following way (for P a point on an elliptic curve over a function field). Simply do
  > Hauteur(P);
to compute the height of the point P.
You can find here some examples.

version française de cette page        Back to the preceeding page.