Forma vetorizada de calcular duas matrizes de produto de ponto em linha com Scipy

Eu quero calcular o produto de ponto em linha de duas matrizes da mesma dimensão o mais rápido possível. É assim que estou fazendo:

import numpy as np
a = np.array([[1,2,3], [3,4,5]])
b = np.array([[1,2,3], [1,2,3]])
result = np.array([])
for row1, row2 in a, b:
    result = np.append(result, np.dot(row1, row2))
print result

e, claro, a saída é:

[ 26.  14.]

questionAnswers(5)

yourAnswerToTheQuestion