Hey everyone,

since my update to Sage 6.2 I noticed some timing issues when multiplying 
elements of LaurentPolynomialRing() over some finite fields, say 
FiniteField(25).
Some basic multiplications were more than 10 times faster in Sage 6.1.1. 
Is there a way to speed up those multiplications?

Also the ordering of elements in the LaurentPolynomialRing is reversed 
compared to 6.1.1. It would be good, if such changes are noted somewhere.

Best
Markus

One may check the following:

The settings:
Myfield.<a> = FiniteField(25)
L.<t> = LaurentPolynomialRing(Myfield)

The function:
def MultiplicationTime(element, factor, steps):
    ti = time.time()
    factor2 = factor^-1
    for i in range(steps):
        element = factor * element
        element = factor2 * element
    print time.time() - ti

I am using Win7 64bit -Intel i7 2600 - Oracle VM :4.3.10. Sage 6.1.1 and 
Sage 6.2 have the same settings:
When calling MultiplicationTime(a*t,t,32000), the timing in Sage 6.1.1 
varies around 0.17 and  in Sage 6.2 around 1.9.
When calling MultiplicationTime(a*t,a,32000), the timing in Sage 6.1.1 
varies around 0.3 and  in Sage 6.2 around 6.2.
I know, that the implementation of LuarentPolynomialRing was rewritten, and 
now some exponentoverflow - problems I had are gone (in the given function, 
the call with more than 32768 steps raised an exponent overflow in Sage 
6.1.1, although the exponent stays the same after each pair of 
multiplication).




-- 
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 sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to