Hacker News new | ask | show | jobs
by jrank 346 days ago
If you have a a Numpy function that takes for example two arguments, my proposal is to add a optional argument that allows that function to be applied to cells of dimensions i and j by function_name(a,b,range=(i,j)) so that the function is applied to subarrays of dimension i of a and subarrays of dimension j of b to create a new array. The broadcast operation and the axis arguments are not a general solution. I J you have such mechanism as the example shows.

The 1 cell of a matrix are the rows, etc.

1 comments

I'm still confused. Can you type the complete slow python code?

We had a weird multiplication last year and the solution in python was to use @guvectorize https://numba.pydata.org/numba-doc/dev/user/vectorize.html and broadcasting. I don't know if that's possible with your problem.

guvectorize in numba seems to be a good approximation to the rank concept I mentioned, but is not a complete solution. Unfortunately I don't have the time now to study it and make a complete comparison, but guvectorize is in the good direction. Thanks for providing that information.