Dot product along third axis

Viewed 17973

I'm trying to take a tensor dot product in numpy using tensordot, but I'm not sure how I should reshape my arrays to achieve my computation. (I'm still new to the mathematics of tensors, in general.)

I have

arr = np.array([[[1, 1, 1],
                [0, 0, 0],
                [2, 2, 2]],

               [[0, 0, 0],
                [4, 4, 4],
                [0, 0, 0]]])

w = [1, 1, 1]

And I want to take a dot product along axis=2, such that I have the matrix

array([[3, 0, 6],
       [0, 12, 0]])

What's the proper numpy syntax for this? np.tensordot(arr, [1, 1, 1], axes=2) seems to raise a ValueError.

2 Answers
Related