multiplicação de vetores de matriz numpy

| | | | | | | | | |

Quando multiplico duas matrizes numpy de tamanhos (nxn)*(nx 1), obtenho uma matriz de tamanho (nxn). Seguindo as regras normais de multiplicação de matrizes, um vetor (nx 1) é esperado, mas simplesmente não consigo encontrar nenhuma informação sobre como isso é feito no módulo Numpy do Python.

A coisa é que eu não quero para implementá-lo manualmente para preservar a velocidade do programa.

Exemplo de código é mostrado abaixo:

a = np.array([[ 5, 1 ,3], [ 1, 1 ,1], [ 1, 2 ,1]]) b = np.array([1, 2, 3]) print a*b >> [[5 2 9] [1 2 3] [1 4 3]] 

O que eu quero é:

print a*b >> ; [16 6 8]