On Jun 10, 2008, at 10:34 AM, John Cremona wrote:

> Problem/question 2:  looking at the code in ell_generic.py I find that
> there are now *3* different implementations of division polys of
> various kinds.
>
> (1) E.division_pol = E.torsion_pol is by David Kohel (2005-04-25) and
> returns a polynomial in x alone, with a factor of the 2-division poly
> in x when m is even.
> (2) E.full_division_pol is William's new code (which can be asked to
> call the preceding when m is odd) which returns a polynomial in x and
> y, i.e. in the 2-variable poly ring over K, which happens to be of the
> form p(x) or y*p(x) where p is a poly in x alone (but belonging to
> K[x,y]).
> (3) There is code which is all commented out due to David Harvey
> (2006-09-24) consisting of 3 functions pseudo_torsion_polynomial(),
> multiple_x_numerator(() and  multiple_x_denominator().  The first is
> the same as before for odd m but for even m just omits the factor of
> the 2-division poly.  I like this implementation:  it uses a cache,
> and also the user supplies their own 'x' which need not be an
> indeterminate.  This is *very* useful since it is expensive to compute
> (say) the 10th division poly as a polynomial and then substitute
> avalue for x, it is much faster to evaluate as you go along.  The last
> two give the numerator and denominator of the x-coordinate of m*P,
> i.e. of the first rational function returned by William's
> multiplication_by_m().  [By the way, it is easy to get the
> y-coordinate from the x-coordinate:  if the x-coord is X(x) then the
> y-coord is c*y*X'(x) where c is a constant.  I think the constant is m
> in this case (look at the invariant differential).
>
> Does anyone know why those three functions are commented out?
> William, why did you write your own new functions instead of using
> these?  Can we try to clean all this up once and for all?  Would you
> trust me to do this?

I can't remember why they are commented out.

However I should mention that there is yet *another* implementation  
of something very similar, see sage.schemes.elliptic_curves.padics,  
the function _multiply_point().

david


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

Reply via email to