[Numpy-discussion] product of arrays of different lengths
SimonPalmer
simon.palmer at gmail.com
Mon Sep 15 05:55:23 EDT 2008
I have two 1D arrays of different lengths and I want the calculate sum
of the product of the two to the extent of the smaller of them (make
sense?). I don't know which of the two will be the longer ahead of
time.
I expected (hoped) to be able to do this:
sp = (A * B).sum()
and imagined that the trailing end of the longer of the two arrays
might just be ignored, but instead I get an error "objects cannot be
broadcast to a single shape".
Both arrays are generally very short (<100 elements) so I can tolerate
a copy, however this calculation is right in the heart of the
innermost loop in my code, so I have to tread a bit carefully.
Here's what I do at the moment, which is ugly, but works
max_idx = min(len(A), len(B))
total_product = 0
for idx in range(0, max_idx):
total_product += A[idx] * B[idx]
...but this is numpy, so I'm looking for a neat way.
More information about the NumPy-Discussion
mailing list