I think that an error should be raised if the projective point constructor
is called with (0,0,0).
On 29 Jul 2016 23:54, "Robin Houston" <robin.hous...@gmail.com> wrote:

I think there’s another case that isn’t handled correctly, exemplified by:

R.<x,y,z> = QQ[]

T = EllipticCurve_from_cubic(y^2*z - x^3 - z^3, (0,1,0))

A simple change that fixes this problem is to make the projective_point()
method not blow up when given (0,0,0), e.g.:


*--- a/src/sage/schemes/elliptic_curves/constructor.py*

*+++ b/src/sage/schemes/elliptic_curves/constructor.py*

@@ -1127,6 +1127,8 @@ def projective_point(p):

         p_lcm = LCM_list([x.denominator() for x in p])

     except AttributeError:

         return p

+    if p_gcd == 0:

+        return p

     scale = p_lcm / p_gcd

     return [scale * x for x in p]




This change may be undesirable for other reasons, though.


Robin


On Monday, 25 July 2016 11:25:00 UTC+1, Robin Houston wrote:
>
> I ran into an unexpected error in EllipticCurve_from_cubic, with the
> following cubic and rational point:
>
> R.<x,y,z> = QQ[]
> cubic = -3*x^2*y + 3*x*y^2 + 4*x^2*z + 4*y^2*z - 3*x*z^2 + 3*y*z^2 - 8*z^3
> EllipticCurve_from_cubic(cubic, (-4/5, 4/5, 3/5))
>
> Note that it works as expected using instead the different rational point
> (1, 1, 0).
>
> On investigation, I found there is a case that isn’t handled correctly.
> The code computes
>
> P2 = chord_and_tangent(F, P)
>
> and if P2 is projectively equivalent to P then it uses a different
> algorithm. If they’re different, it then computes
>
> P3 = chord_and_tangent(F, P2)
>
> and uses an algorithm that fails if P3 is equivalent to P2.
>
> I think the attached patch fixes this problem. At least, with this patch
> it now works for my examples.
>
> Best wishes,
> Robin
>
> --
You received this message because you are subscribed to the Google Groups
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to