just a note - some speed comparisons :
0.6062737023839 8726
0.4283667337622 3189
0.3696581548774 7022
0.0165579703570 98384
0.1569246929411 7473
0.0195175643839 3204
0.2145493351818 0042
0.7062478611096 5942
0.2116816522775 4798
0.2177578435239 4112
0.8151633797024 2603
0.2134419318645 0866
0.2930945134103 24
0.0619374808811 69904
0.1699095834792 3879
strange differences in all directions ...
robert
>>timeit.Timer( 'x=a-a*.1','import Numeric;a=Numer ic.ones(300,Num eric.Float)').t imeit(10000)
>>timeit.Timer( 'x=a-a*.1','import numarray;a=numa rray.ones(300,n umarray.Float)' ).timeit(10000)
>>timeit.Timer( 'x=a-a*.1','import numpy;a=numpy.o nes(300,numpy.f loat)').timeit( 10000)
>>timeit.Timer( 'x=a[30:40]','import Numeric;a=Numer ic.ones(300,Num eric.Float)').t imeit(10000)
>>timeit.Timer( 'x=a[30:40]','import numarray;a=numa rray.ones(300,n umarray.Float)' ).timeit(10000)
>>timeit.Timer( 'x=a[30:40]','import numpy;a=numpy.o nes(300,numpy.f loat)').timeit( 10000)
>>timeit.Timer( 'x=MLab.max(a)' ,'import Numeric,MLab;a= Numeric.ones(30 0,Numeric.Float )').timeit(1000 0)
>>timeit.Timer( 'x=a.max()','im port numarray;a=numa rray.ones(300,n umarray.Float)' ).timeit(10000)
>>timeit.Timer( 'x=a.max()','im port numpy;a=numpy.o nes(300,numpy.f loat)').timeit( 10000)
>>timeit.Timer( 'x=MLab.max(a[30:40])','import Numeric,MLab;a= Numeric.ones(30 0,Numeric.Float )').timeit(1000 0)
>>timeit.Timer( 'x=a[30:40].max()','import numarray;a=numa rray.ones(300,n umarray.Float)' ).timeit(10000)
>>timeit.Timer( 'x=a[30:40].max()','import numpy;a=numpy.o nes(300,numpy.f loat)').timeit( 10000)
>>timeit.Timer( 'a*=0.99','impo rt Numeric;a=Numer ic.ones(300,Num eric.Float)').t imeit(10000)
>>timeit.Timer( 'a*=0.99','impo rt numarray;a=numa rray.ones(300,n umarray.Float)' ).timeit(10000)
>>timeit.Timer( 'a*=0.99','impo rt numpy;a=numpy.o nes(300,numpy.f loat)').timeit( 10000)
strange differences in all directions ...
robert