Ask Your Question

octonion's profile - activity

2022-01-27 05:07:10 +0200 commented answer Determining Elliptic Curve Components

Thanks John!

2022-01-27 05:03:19 +0200 received badge  Notable Question (source)
2021-02-09 12:38:07 +0200 received badge  Popular Question (source)
2018-11-14 21:45:04 +0200 received badge  Scholar (source)
2018-11-14 21:44:43 +0200 commented answer Determining Elliptic Curve Components

Thanks! I found a slightly different method involving calculating the short Weierstrass form, then manually building and finding the roots of the cubic from the a2, a4 and a6 coefficients. But your method is much nicer and more general, and is greatly appreciated!

2018-11-14 21:41:54 +0200 received badge  Supporter (source)
2018-11-14 14:16:14 +0200 received badge  Nice Question (source)
2018-11-14 13:20:07 +0200 received badge  Student (source)
2018-11-14 09:39:25 +0200 asked a question Determining Elliptic Curve Components

Say we have an elliptic curve:

R.<a,b,c> = QQ[]
cubic = a*(a+c)*(a+b)+b*(b+c)*(a+b)+c*(b+c)*(a+c)-4*(a+b)*(a+c)*(b+c)
E = EllipticCurve_from_cubic(cubic, morphism=False)
print(E)
print(E.minimal_model())

f = EllipticCurve_from_cubic(cubic, morphism=True)
finv = f.inverse()
generators = E.gens()

print
print("generators = %s" %(generators))

Output:

Elliptic Curve defined by y^2 + x*y = x^3 + 69*x^2 + 1365*x + 8281 over Rational Field
Elliptic Curve defined by y^2 + x*y + y = x^3 - 234*x + 1352 over Rational Field

generators = [(-39 : 52 : 1)]

How do we determine which of the two elliptic curve components a particular point is on? If we had this elliptic curve in the form $y^2 = x^3 + 109 x^2 + 234 x$ it'd be quite simple (if $x<0$ it's on the egg). Is there a nice way to automate this process in SageMath? For example, in this case the generator is on the egg.