Numarray: Using sum() within functions
Jim Cser
jimcser at pacifier.com
Tue Aug 17 15:52:29 EDT 2004
>>I have a function to generate a multi-dimensional array, which then
>>gets summed over one axis. The problem is that the dimensions
>>are large, and I run out of memory when I create the entire array,
>>so I'm trying to do the sum *within* the function.
>>
>>Example-- variables x,y,z,t; dimensions numX, numY, numZ, numT;
>>functions f1(x,y,z,t), f2(y,z,t); want to calculate f1*f2 and
>>sum over t to get out[x,y,z].
>
Cobbling together a number of suggestions, what finally worked was--
def f3(x, y, z, t_range=arange(numT)):
tempval = 0.* x
for t in t_range:
tempval += f1(x,y,z,t) + f2(y,z,t)
return tempval
out = fromfunction(f3,(numX,numY,numZ,1))
I couldn't quite get sum() to work inside the function, but this
is definitely good enough for now. Thanks to all for your help.
-Jim Cser
[wrong identity on last post, sorry]
More information about the Python-list
mailing list