Package sage :: Package ellcurve :: Module ellcurve :: Class Point
[show private | hide private]
[frames | no frames]

Class Point


Point on an elliptic curve.
Method Summary
  __init__(self, curve, x, y, check)
  __add__(self, right)
Add self to right.
  __getitem__(self, n)
  __mul__(self, m)
  __neg__(self)
  __repr__(self)
  __rmul__(self, m)
  __sub__(self, right)
  base_field(self)
  base_ring(self)
  curve(self)
  height(self)
The height of the point.
  is_infinity(self)
  order(self)
Return the order of this point on the elliptic curve.
  padic_height(self, p)
Returns the p-adic cyclotomic height of the point.
  sigma(self, p)
  x(self)
  xy(self)
  y(self)

Method Details

__add__(self, right)
(Addition operator)

Add self to right.

height(self)

The height of the point.

order(self)

Return the order of this point on the elliptic curve. If the point has infinite order, returns 0.

EXAMPLE:
>>> E = EllipticCurve([0,0,1,-1,0])
>>> P = E([0,0]); P
(0, 0)

>>> P.order()
0
>>> E = EllipticCurve([0,1])
>>> P=E([-1,0])
>>> P.order()
2

padic_height(self, p)

Returns the p-adic cyclotomic height of the point.

   padic_height(p)

   Input:
      p: a prime number
   Output:
      p-adic cyclotomic height, which is a single p-adic number.

   Algorithm:
   We compute this height using the following formula, which
   is valid for points that are in the intersection of the
   identity component of the Neron model with the kernel of
   reduction modulo p:

h(P) = 1/2 * sum_{ell!=p} sup(0,-ord_ell(x(P)))  + log_p(sigma_p(-x(P)/y(P)) / e),

   where P=(a/e^2, b/e^3) with gcd(a,e)=1, and
   where the first sum is over primes ell that don't equal p.
   If P isn't in the subgroup mentioned above, let n be a positive
   integer so that n*P is in that subgroup.  Then we return
   h(n*P)/(n**2), which does not depend on the choice of n, and
   is defined using the above formula.

Generated by Epydoc 2.1 on Fri May 20 19:41:03 2005 http://epydoc.sf.net