numpy elementwise outer product
Extend A and B to 3D keeping their first axis aligned and introducing new axes along the third and second ones respectively with None/np.newaxis and then multiply with each other. This would allow broadcasting to come into play for a vectorized solution. Thus, an implementation would be – A[:,:,None]*B[:,None,:] We could shorten it a bit … Read more