On Sunday, May 25, 2014 5:12:28 PM UTC+1, Nils Bruin wrote:
>
> Some design comments:
>
>> sage: e = EllipticCurve_from_cubic(f,[0,0,1])
>> sage: e
>> Scheme morphism: ...
>>
>
> This is not ideal naming. The command reads like you'd be asking for an
> elliptic curve, but a morphism is returned in its place. Sure, via
> e.codomain() the elliptic curve can be retrieved too, but shouldn't the
> routine be named ellipticcurve_transformation_from_cubic instead, or
> something like that?
>
There is Jacobian(f) if you just want to know the jacobian. Or the slightly
more awkward EllipticCurve_from_cubic(f, [0,0,1], morphism=False).
I agree that the naming isn't perfect (starting with the whole mixed
CamelCase / underscores). But now its difficult to change.
Similarly, it would be nice to have routines that return birational maps to
> Weierstrass forms for other (all ?) cases of genus 1 curves with a point.
>
There is the transformation=True option, from the docs:
sage: R.<x,y> = QQ[]
sage: cubic = x^3 + y^3 + 1
sage: f, g = WeierstrassForm(cubic); (f, g)
(0, -27/4)
sage: X,Y,Z = WeierstrassForm(cubic, transformation=True); (X,Y,Z)
(-x^3*y^3 - x^3 - y^3,
1/2*x^6*y^3 - 1/2*x^3*y^6 - 1/2*x^6 + 1/2*y^6 + 1/2*x^3 - 1/2*y^3,
x*y)
sage: -Y^2 + X^3 + f*X*Z^4 + g*Z^6
-1/4*x^12*y^6 - 1/2*x^9*y^9 - 1/4*x^6*y^12 + 1/2*x^12*y^3
- 7/2*x^9*y^6 - 7/2*x^6*y^9 + 1/2*x^3*y^12 - 1/4*x^12 - 7/2*x^9*y^3
- 45/4*x^6*y^6 - 7/2*x^3*y^9 - 1/4*y^12 - 1/2*x^9 - 7/2*x^6*y^3
- 7/2*x^3*y^6 - 1/2*y^9 - 1/4*x^6 + 1/2*x^3*y^3 - 1/4*y^6
sage: cubic.divides(-Y^2 + X^3 + f*X*Z^4 + g*Z^6)
True
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.