On Dec 3, 2007, at 8:40 AM, Bill Hart wrote:

> I've just been looking at SAGE ticket number 173:
>
> http://www.sagemath.org:9002/sage_trac/ticket/173
>
> The idea is that Mathematica raises a 3 dimensional matrix M over QQ
> to the power 20,000 much faster than either SAGE or Magma.
>
> I don't know any algorithm for doing this efficiently. I only know one
> algorithm:
>
> 1) Compute the  characteristic polynomial p(x) of M (time 0.00s)
> 2) Compute x^20000 mod p (time 0.22s)
> 3) Substitute M into the result (time 0.00s)
>
> It's pretty obvious where the time is going here - polynomial
> arithmetic. I guess this is the algorithm being used. Is Pari or NTL
> being used for the polynomial expmod?
>
> I reckon we can speed this up. What do people think?

I would have guessed the algorithm was just "compute M^20000 using  
repeated squaring". But your suggestion is quite interesting.

Maybe first check that mathematica is getting the right answer, and  
not some stupid floating point approximation or something.

david


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to