algcurves[Weierstrassform] - compute a normal form for elliptic or hyperelliptic curves
|
Calling Sequence
|
|
Weierstrassform(f, x, y, x0, y0, opt)
|
|
Parameters
|
|
{f}
|
-
|
polynomial in x and y representing a (hyper)-elliptic curve
|
x, y, x0, y0
|
-
|
variables
|
opt
|
-
|
(optional) a sequence of options
|
|
|
|
|
Description
|
|
•
|
A curve f is called elliptic if the genus is 1. An algebraic function field is isomorphic to the field where f0 is of the form y0^2 + square-free polynomial in x0 of degree 3 if and only if the curve is elliptic.
|
•
|
This procedure computes such normal form f0. It also gives an isomorphism from to by giving the images of x0 and y0. The inverse isomorphism will also be computed, unless the option `no inverse` is used.
|
•
|
The output is a list of 5 items:
|
–
|
The image of x0 under this isomorphism
|
–
|
The image of y0 under this isomorphism
|
–
|
The image of x under the inverse isomorphism
|
–
|
The image of y under the inverse isomorphism
|
•
|
For a description of the method in the elliptic case see M. van Hoeij, "An algorithm for computing the Weierstrass normal form", ISSAC'95 Proceedings, p. 90-95 (1995). For the hyperelliptic case, see: http://arXiv.org/abs/math.AG/0203130
|
•
|
A regular point on the curve can be specified as a 6th argument. In some cases this can speed up the computation. In the genus 1 case the option Weierstrass results in a Weierstrass normal form, i.e. .
|
•
|
If the curve is not elliptic (which can be verified by computing the genus) nor hyperelliptic (which can be verified with is_hyperelliptic then an error message will be given. If the curve is reducible, which can be checked with evala(AFactor(f)), then the normal form does not exist and Weierstrassform will fail.
|
|
|
Examples
|
|
>
|
|
>
|
|
>
|
|
| (1) |
Check if the image of x and y still satisfy the relation f in the field
>
|
|
>
|
|
| (2) |
Check if the image of x0 and y0 still satisfy the relation f0 in the field
>
|
|
>
|
|
| (3) |
A curve with genus 2:
>
|
|
| (4) |
|
|
Download Help Document
Was this information helpful?