Loading...

sage-support@googlegroups.com

[Prev] Thread [Next]  |  [Prev] Date [Next]

[sage-support] Re: Heights on elliptic curves over number fields jack Fri Jul 29 16:00:20 2011


On Jul 29, 12:03 am, William Stein <[EMAIL PROTECTED]> wrote:
> On Thursday, July 28, 2011, Jack Fearnley <[EMAIL PROTECTED]> wrote:
> > I read in the help that heights have only been implemented for elliptic
>
> curves over the rationals.  My research involves computing heights of
> algebraic points on elliptic curves and I have been using Magma for this.
>
> > A colleague of mine claimed that Sage could compute heights over number
>
> fields and demonstrated with example 2 from Siverman's 1988 paper*
>
> > I confirmed this on my Sage (version 4.6.2) and also successfully
>
> reproduced example 1.
>
> > Suitably encouraged, I attempted to compute some heights on E37b over a
>
> cyclic cubic extension and failed with error messages.
>
>
>
> > Is anyone working on implementing this functionality?
> > Can anyone explain why Silverman's examples work?
>
> My understanding is that heights over number fields are fully implemented in
> Sage and have been for *years*.   What doc says otherwise?  What exactly
> fails?  Post an exact session.
>
>
>
>
>
>
>
>
>
> > Best wishes,
> >                     Jack Fearnley
>
> > * Computing Heights on Elliptic Curves
> > Math. Comp. vol 51 No 183 (Jul 1988) pp 339-358
> >http://www.jstor.org/pss/2008597
>
> > --
> > To post to this group, send email to [EMAIL PROTECTED]
> > To unsubscribe from this group, send email to
>
> [EMAIL PROTECTED]> For more options, visit this group at
>
> http://groups.google.com/group/sage-support
>
> > URL:http://www.sagemath.org
>
> --
> William Stein
> Professor of Mathematics
> University of Washingtonhttp://wstein.org

Thanks for your prompt reply.  I must have triggered some old
documentation which said heights were not implemented over number
fields but now I cannot find it.  Anything I can find says they are
implemented!  My apologies.

I would still like to know why my example fails.  Perhaps the curve
ceases to be minimal?  The following sample compute two heights. the
first, with r=1 seems to work.  The second, with r=2, fails with a
long traceback ending with a Pari error code.


----------------------------------------------------------------------
| Sage Version 4.6.2, Release Date: 2011-02-25                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage:  r=1
sage: sage: u1=7*r^2+12*r+9
sage: sage: u2=9*r^2-12*r+7
sage: sage: ur=u1/u2;ur
7
sage: sage: Kr.<a>=NumberField(x^3-ur-4*ur*x-ur^2);Kr
Number Field in a with defining polynomial x^3 - 28*x - 56
sage: sage: E37r=EllipticCurve(Kr,[4,0,1,0,0]);E37r
Elliptic Curve defined by y^2 + 4*x*y + y = x^3 over Number Field in a
with defining polynomial x^3 - 28*x - 56
sage: sage: Pr=E37r(a,ur)
sage: sage: Pr
(a : 7 : 1)
sage: sage: Pr.height()/2
0.687081703215067
sage: r=2
sage: u1=7*r^2+12*r+9
sage: sage: u2=9*r^2-12*r+7
sage: sage: ur=u1/u2;ur
61/19
sage: sage: Kr.<a>=NumberField(x^3-ur-4*ur*x-ur^2);Kr
Number Field in a with defining polynomial x^3 - 244/19*x - 4880/361
sage: sage: E37r=EllipticCurve(Kr,[4,0,1,0,0]);E37r
Elliptic Curve defined by y^2 + 4*x*y + y = x^3 over Number Field in a
with defining polynomial x^3 - 244/19*x - 4880/361
sage: sage: Pr=E37r(a,ur)
sage: sage: Pr
(a : 61/19 : 1)
sage: sage: Pr.height()/2
---------------------------------------------------------------------------
PariError                                 Traceback (most recent call
last)

/home/jack/<ipython console> in <module>()

/home/jack/Tools/sage-4.6.2-linux-64bit-ubuntu_10.04.1_lts-x86_64-
Linux/local/lib/python2.6/site-packages/sage/schemes/elliptic_curves/
ell_point.pyc in height(self, precision)
   1934
   1935         """
-> 1936         if self.has_finite_order():
   1937             return rings.QQ(0)
   1938

/home/jack/Tools/sage-4.6.2-linux-64bit-ubuntu_10.04.1_lts-x86_64-
Linux/local/lib/python2.6/site-packages/sage/schemes/elliptic_curves/
ell_point.pyc in has_finite_order(self)
   1542         """
   1543         if self.is_zero(): return True
-> 1544         return self.order() != oo
   1545
   1546     def has_infinite_order(self):

/home/jack/Tools/sage-4.6.2-linux-64bit-ubuntu_10.04.1_lts-x86_64-
Linux/local/lib/python2.6/site-packages/sage/schemes/elliptic_curves/
ell_point.pyc in order(self)
   1509             N = E._torsion_order
   1510         except AttributeError:
-> 1511             N = E._torsion_bound()
   1512
   1513         # Now self is a torsion point iff it is killed by N:

/home/jack/Tools/sage-4.6.2-linux-64bit-ubuntu_10.04.1_lts-x86_64-
Linux/local/lib/python2.6/site-packages/sage/schemes/elliptic_curves/
ell_number_field.pyc in _torsion_bound(self, number_of_places)
   1379         k = 0
   1380         K = E.base_field()
-> 1381         OK = K.ring_of_integers()
   1382         disc = E.discriminant()
   1383         p = Integer(1)

/home/jack/Tools/sage-4.6.2-linux-64bit-ubuntu_10.04.1_lts-x86_64-
Linux/local/lib/python2.6/site-packages/sage/rings/number_field/
number_field_base.so in
sage.rings.number_field.number_field_base.NumberField.ring_of_integers
(sage/rings/number_field/number_field_base.c:1310)()

/home/jack/Tools/sage-4.6.2-linux-64bit-ubuntu_10.04.1_lts-x86_64-
Linux/local/lib/python2.6/site-packages/sage/rings/number_field/
number_field.pyc in maximal_order(self, v)
   5410             pass
   5411
-> 5412         B = map(self, self._pari_integral_basis(v = v))
   5413
   5414         if len(v) == 0 or v is None:

/home/jack/Tools/sage-4.6.2-linux-64bit-ubuntu_10.04.1_lts-x86_64-
Linux/local/lib/python2.6/site-packages/sage/rings/number_field/
number_field.pyc in _pari_integral_basis(self, v)
   3827             f = self.pari_polynomial()
   3828             if len(v) == 0:
-> 3829                 B = f.nfbasis(1 if self._assume_disc_small
else 0)
   3830             else:
   3831                 m = self._pari_disc_factorization_matrix(v)

/home/jack/Tools/sage-4.6.2-linux-64bit-ubuntu_10.04.1_lts-x86_64-
Linux/local/lib/python2.6/site-packages/sage/libs/pari/gen.so in
sage.libs.pari.gen._pari_trap (sage/libs/pari/gen.c:46023)()

PariError:  (5)
sage:

-- 
To post to this group, send email to [EMAIL PROTECTED]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org