Consider the following:
def NextProgression(n,a,q):
p = next_prime(n)
while (p%q) != a:
p = next_prime(p+1)
return p
def Test(n,compute=False):
p = NextProgression(n,2,3)
print "found prime=",p
F.<u> = GF(p^2)
print "Found field"
E = EllipticCurve(F,[0,1])
if compute:
NN = E.order()
print "Found Elliptic Curve of order ",NN
P = E.random_point()
Q = E.random_point()
print "Found points"
nP = P.order()
print "Found order of P"
nQ = Q.order()
print "Found order of Q"
N = lcm(nP,nQ)
return E,P,Q,N
time E,P,Q,n = Test(2^25)
found prime= 33554501
Found field
Found points
Found order of P
Found order of Q
Time: CPU 10.52 s, Wall: 10.77 s
time E,P,Q,n = Test(2^25,compute=True)
found prime= 33554501
Found field
Found Elliptic Curve of order 1125904604468004
Found points
Found order of P
Found order of Q
Time: CPU 0.17 s, Wall: 0.18 s
I understand that knowing the order of E is necessary to find the order of
points, but why should forcing the order of E to be computed first make it
almost 60 times faster?
Victor
This was on sage 5.11 on my macbook
--
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/groups/opt_out.