numpy配列の内積を取るときにエラーが出てしまいます
mat型のときはnp.dotが使えるというような文をどこかで見たので
np.matをしてみましたがndarrayから変わっておらず意味が分かりません
1行784列と784行392列の行列の積を計算したいです

print type(data)
data = list(data)
data[1] = list(data[1])
print type(data[1][0])
data[1][0][k] = np.mat(data[1][0][k])
print type(data[1][0][k])
print data[1][0][k].shape
print type(R)
print R.shape
data[1][0][k] = np.dot(data[1][0][k] , R)

<type 'tuple'>
<type 'numpy.ndarray'>
<type 'numpy.ndarray'>
(784,)
<class 'numpy.matrixlib.defmatrix.matrix'>
(784, 392)
Traceback (most recent call last):
File "hoge.py", line 268, in <module>
data[1][0][k] = np.dot(data[1][0][k] , R)
ValueError: could not broadcast input array from shape (392) into shape (784)

また、

data[1][0][k] = np.dot(np.transpose(data[1][0][k]) , R)

をしてみたところ、

ValueError: operands could not be broadcast together with shapes (1,784) (784,392)

と出てしまいます