nzmath.elliptic

ECGeneric

The class is for elliptic curves over generic field.
This class is reserved for definition over general fields. Do not use the class directly.
We strongly recommend you should call EC for your profit.

Constructor

ECgeneric(Weierstrass list form, characteristic, index)

Methods

simple()

changes the data of elliptic curve given in the short Weierstrass form by changing the coordinates if ch>3 .

changeCurve(V)

changes the data of elliptic curve by changing the coordinates using the vector V=[u,r,s,t] with u != 0. i.e., if x' and y' are the new coordinates, then y^2 + a1 xy + a3 y = x^3 + a2 x^2 + a4 x + a6

changePoint(P,V)

changes the coordinates of the point using the vector V=[u,r,s,t], i.e., if x' and y' are the new coordinates, then y^2 + a1 xy + a3 y = x^3 + a2 x^2 + a4 x + a6 by an admissible change in variables.

coordinateY(x)

returns a 1 or 2-component vector containing the y-coordinates of the points of elliptic curve having x as x-coordinate.

whetherOn(P)

returns True if the point P is on elliptic curve, False otherwise.

add(P,Q)

returns the sum of points P and Q on elliptic curve.

sub(P,Q)

returns the difference of points P and Q on elliptic curve.

mul(k,P)

returns k times P.

divPoly(m)

computes the mth divisor polynomial. If m is odd, this method returns the usual division polynomial. If m is even, it returns the usual division polynomial divided by 2y + a1 x + a3 . If the parameter m is not specified (m=None), then this returns the list of division polynomials for Schoof's algorithm.

Properties

chreturns the characteristic of the field.
a1, a2, a3, a4, a6returns the coefficients a1, a2, a3, a4, a6, resp.
b2, b4, b6, b8returns the coefficents b2, b4, b6, b8 .
c4, c6returns the coefficients c4 and c6 .
discreturns the discriminant of the elliptic curve.
jreturns the j-invariant of the elliptic curve.

Last-modified: 2006-06-06 (Ва) 15:37:26