I have a numpy array vector_a of shape (3,1). If I multiply it with a vector_b of shape (1,3) I get a result of shape (3,3).
Now, vector_b is actually an (3,N) numpy array of column vectors. I want to multiply each of these column vectors by vector_a to produce N 3x3 matrices, result of shape (N,3,3)
I have done the following:
r = np.dot(vector_a.reshape(1,3,1), vector_b.T.reshape(N, 1, 3))
and I was expecting r to be of shape (N,3,3) but I got a shape of (1,3,64,3)??? I don't know why I'm getting this shape. Both vector_a and vector_b are C contiguous. I tried to convert vector_b to F contiguous before doing the vector_b.T.reshape(N, 1, 3)
but I still get the same r shape (1,3,64,3).
Does anybody know how to write the right expression?