# [Numpy-discussion] simple reduction question

Neal Becker ndbecker2 at gmail.com
Wed Dec 24 10:54:22 EST 2014

Nathaniel Smith wrote:

> On Wed, Dec 24, 2014 at 3:25 PM, Neal Becker <ndbecker2 at gmail.com> wrote:
>> What would be the most efficient way to compute:
>>
>> c[j] = \sum_i (a[i] * b[i,j])
>>
>> where a[i] is a 1-d vector, b[i,j] is a 2-d array?
>
> I think this formula is just np.dot(a, b). Did you mean c = \sum_j
> \sum_i (a[i] * b[i, j])?
>
>> This seems to be one way:
>>
>> import numpy as np
>> a = np.arange (3)
>> b = np.arange (12).reshape (3,4)
>> c = np.dot (a, b).sum()
>>
>> but np.dot returns a vector, which then needs further reduction.  Don't know
>> if there's a better way.
>>
>> --
Sorry, I was a bit confused there.  Actually, c = np.dot(a, b) was just what I
needed.