Overflow when defining points on elliptic curve
I have the following elliptic curve in SAGE:
p1 = 2^256-189
E10 = EllipticCurve(GF(p1),[-3,0])
I want to find points of different orders and multiply them with a number. However when I try to get SAGE to define or print a point like P=E10.points()[19] I get the following error:
Error in lines 1-1
Traceback (most recent call last):
File "/projects/sage/sage-7.5/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 982, in execute
exec compile(block+'\n', '', 'single') in namespace, locals
File "", line 1, in <module>
File "/projects/sage/sage-7.5/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/ell_finite_field.py", line 214, in points
v = self._points_via_group_structure()
File "/projects/sage/sage-7.5/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/ell_finite_field.py", line 156, in _points_via_group_structure
for m in range(1,ni[0]):
OverflowError: Python int too large to convert to C long
So far I have only suceeded in finding the point (0,0) of order 2 but I also need points of higher order. Is there any way to fix this overflow error or find points of different orders that SAGE can actually handle without getting overflow or is my curve just impossible to work with?
I started out trying to print the list of all points and their orders but that resulted in the error. Then I tried printing only one point and now I am simply trying to define the points without printing them (however I need to print k*P for some k later on for all the points).
I got the point (112810383992036387042877104932833846002363090508032041943368137894367452952778,85347934490306136025376423714596250175969011873639765034628869535783033211301) using E10.gens()
but I can't define it getting the error:
ValueError: libGAP: Error, E: <n> must be a positive integer (not a integer (>= 2^60))
So I am suspecting that it is not possible to get any useful points on this curve. If so can anyone explain to me why it is so (with some references if possible)?
The error you encounter:
has nothing to do with elliptic curves: Your elliptic curve is called
E10
, notE
. You;d make it easier to diagnose if you'd include the exact command that triggered the error for you.E
by default is bound to a function that constructs n-th roots of unity (don't ask me how THAT escaped into the global namespace!)That is weird since I don't have a curve named E in my code. I just tried to say E10(x,y). But I have got the points I need now thanks to the answers