[SciPy-Dev] replacing integrate.cumtrapz with numpy.trapz
Sat Jul 17 08:52:53 CDT 2010
On 7/17/10 07:38 , Ralf Gommers wrote:
> On Sat, Jul 17, 2010 at 8:57 PM, Charles R Harris
> <firstname.lastname@example.org <mailto:email@example.com>> wrote:
> On Sat, Jul 17, 2010 at 2:42 AM, Ralf Gommers
> <firstname.lastname@example.org <mailto:email@example.com>>
> integrate.cumtrapz and numpy.trapz do exactly the same thing and
> the code is very similar but not identical, as pointed out in
> http://projects.scipy.org/scipy/ticket/720. Assuming numpy.trapz
> is not going anywhere, can we replace the scipy version with it?
> For a small bonus, the numpy version is about 10% faster (tested
> for several array shapes):
> >>> a = np.arange(1e4).reshape(500, 20)
> >>> %timeit np.trapz(a, axis=1)
> 10000 loops, best of 3: 182 us per loop
> >>> %timeit sp.integrate.cumtrapz(a, axis=1)
> 1000 loops, best of 3: 209 us per loop
> Replacement seems reasonable to me. We should try to prune duplicate
> functionality with numpy taking precedence.
> Just to double check, that also means deprecating the name cumtrapz right?
Uh, you do realize that trapz and cumtrapz provide different
In : import scipy.integrate as igt
In : a = np.arange(10)
In : igt.cumtrapz(a)
Out: array([ 0.5, 2. , 4.5, 8. , 12.5, 18. , 24.5, 32. ,
In : np.trapz(a)
In : igt.trapz(a)
This is numpy-1.4.1 and scipy-0.7.2.
More information about the SciPy-Dev