John Cremona on Fri, 02 Oct 2009 10:37:21 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Heights over number fields


I presume that the question is really:  is the computation of heights,
or the testing of linear independence, implemented *in pari*.  Of
course these things are possible!

I, together with Martine Giraud, implemented heights over number
fields in Magma, so this is all possible there.  I have some partial
implementations in my C++ code (but not over general fields).  I am
planning to do the implementation again in Sage -- but not in pari,
sorry.

For testing linear dependence, I would recommend not using heights but
instead using reduction modulo P.  The method (which is folklore) is
described in item #19 here:
http://www.warwick.ac.uk/staff/J.E.Cremona/papers/index.html (over Q,
but trivial in principal to generalise).

Of course Bill's solutions will give you an approximate answer, which
can be checked exactly, but runs the risk of missing a dependence if
the precision is not sufficiently high.

John Cremona

2009/10/1 Bill Allombert <Bill.Allombert@math.u-bordeaux1.fr>:
> On Thu, Oct 01, 2009 at 05:15:07PM -0500, Ariel Pacetti wrote:
>>
>>
>> This is a more general question than the application I have in mind. I
>> just want to know is some points are linearly independent or not.
>
> Maybe I misunderstand your problem, but I would embed the number field in C
> and use the elliptic logarithm (ellpointtoz in GP term).
>
> The following show how it can be done:
>
> \p180
> dlog(E,P,G)=
> {
>  local(zP,zG,om,l);
>  zP=ellpointtoz(E,P);
>  zG=ellpointtoz(E,G);
>  om=E.omega;
>  l=lindep([zP,zG,om[1],om[2]]);
>  -l[2]/l[1]
> }
>
> p=nextprime(2^160);
> a=random(2^160)
> E=ellinit([0, 0, 1, -1, 0]);
> P=[0.,0.];
> Q=ellpow(E,P,a);
> dlog(E,Q,P)
>
> Cheers,
> Bill.
>