For those cases where you cannot vectorize the operation, numpy is usually does not help much. Try using Cython. You will be able to compile the part of the code and the loop will be much faster (can be more than 100 times faster).
http://docs.cython.org/ -Joon On Sun, 24 Jul 2011 18:10:14 -0500, Robert Elsner <[email protected]> wrote: > Boiled it down a bit more to only include code that actually takes time. > First time around I found the other variant more instructive because it > shows the discrepancy between the DCT and the loop but might be > confusing. Thus here the bare minimum that correctly calculates the > coefficients of the first derivative from the coefficients of the > Chebyshev polynomials. > > Cheers > Robert > > On 25.07.2011 00:43, Robert Elsner wrote: >> Hey Everybody, >> >> I am approximating the derivative of nonperiodic functions on [-1,1] >> using Chebyshev polynomials. The implementation is straightforward and >> works well but is painfully slow. The routine wastes most of its time on >> a trivial operation (see comment in the code) >> Unfortunately the spectral coefficients are calculated recursively and >> thus I haven't found a way to speed up the code. I am aware of list >> comprehensions, the speed advantage of calling native numpy functions >> etc. But no luck yet finding an alternate formulation that speeds up the >> calculation. I attached a stripped down variant of the code. I am very >> grateful for tips or directions where to look for a solution (well I >> know writing a small C extension might be the way to go but Id love to >> have speedy Python) >> >> Note: The DCT takes almost no time compared to the statement in the >> loop. >> >> Cheers >> Robert >> >> >> >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> [email protected] >> http://mail.scipy.org/mailman/listinfo/numpy-discussion > -- Using Opera's revolutionary email client: http://www.opera.com/mail/ _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
