Weierstrassform - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


algcurves

  

Weierstrassform

  

compute a normal form for elliptic or hyperelliptic curves

 

Calling Sequence

Parameters

Description

Examples

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 Cxy/f is isomorphic to the field Cx0y0/f0 where f0 is of the form y0^2 + square-free polynomial in x0 of degree 3 if and only if the curve is elliptic.

• 

For a hyperelliptic curve with genus g there exists a similar normal form: f0=y02+ a squarefree polynomial in x0 of degree 2g+1 or 2g+2.

• 

This procedure computes such normal form f0. It also gives an isomorphism from Cx0y0/f0 to Cxy/f 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 curve f0

– 

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

• 

The analogue of this procedure for curves of genus zero is parametrization.

• 

A regular point x,y,z 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. 4x03ax0+y02b.

• 

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

withalgcurves:

fx4+y42x3+x2y2y3+x2xy+y2:

vWeierstrassformf,x,y,x0,y0

vx03+23x0+1108+y02,3y+2x3x,x32xy2+2y3x2+2xy2y22x2x1,162x03+324x02162x0y0135x0+108y0+156162x04432x03+432x02192x0+194,162x04432x03+162x02y0+351x02216x0y0246x0+72y0+104162x04432x03+432x02192x0+194

(1)

Check if the image of x and y still satisfy the relation f in the field Cx0y0/f0 

im1subsx=v4,y=v5,f:

evalasubsy0=RootOfv1,y0,im1

0

(2)

Check if the image of x0 and y0 still satisfy the relation f0 in the field Cxy/f 

im2subsx0=v2,y0=v3,v1:

evalasubsy=RootOff,y,im2

0

(3)

A curve with genus 2:

Weierstrassformy212+xx2+12,x,y,x0,y0

x05+y02x01,y21x2+1,y,x02,y0

(4)

See Also

algcurves

algcurves[genus]

algcurves[is_hyperelliptic]

algcurves[j_invariant]

algcurves[parametrization]