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.

Reply via email to