RosettaCodeData/Task/Elliptic-curve-arithmetic/Sage/elliptic-curve-arithmetic.sage
2023-07-01 13:44:08 -04:00

18 lines
374 B
Python

Ellie = EllipticCurve(RR,[0,7]) # RR = field of real numbers
# a point (x,y) on Ellie, given y
def point ( y) :
x = var('x')
x = (y^2 - 7 - x^3).roots(x,ring=RR,multiplicities = False)[0]
P = Ellie([x,y])
return P
print(Ellie)
P = point(1)
print('P',P)
Q = point(2)
print('Q',Q)
S = P+Q
print('S = P + Q',S)
print('P+Q-S', P+Q-S)
print('P*12345' ,P*12345)