>>> import numpy as np
>>> a = np.ones(3)
>>> a
array([ 1., 1., 1.])
>>> a = np.stack((a,a*2,a*3))
>>> a
array([[ 1., 1., 1.],
[ 2., 2., 2.],
[ 3., 3., 3.]])
>>> b = 1
>>> b = np.stack((b,b,b),axis=0)
>>> b = np.stack((b,b,b),axis=1)
>>> b = np.stack((b,b,b),axis=2)
>>> b
array([[[1, 1, 1],
[1, 1, 1],
[1, 1, 1]],
[[1, 1, 1],
[1, 1, 1],
[1, 1, 1]],
[[1, 1, 1],
[1, 1, 1],
[1, 1, 1]]])
>>> a.dot(b)
array([[[ 3., 3., 3.],
[ 3., 3., 3.],
[ 3., 3., 3.]],
[[ 6., 6., 6.],
[ 6., 6., 6.],
[ 6., 6., 6.]],
[[ 9., 9., 9.],
[ 9., 9., 9.],
[ 9., 9., 9.]]])