Матричное умножение равно строка за столбцом :
X
XXXXX X .
..... * X = .
..... X .
X
Итак:
In [6]: a=np.array([[1, 5.1, 3.5, 1.4, 0.2],
...: [1, 4.9, 3, 1.4, 0.2],
...: [1, 4.7, 3.2, 1.3, 0.2],
...: [1, 4.6, 3.1, 1.5, 0.2],
...: [1, 5, 3.6, 1.4, 0.2],
...: [1, 5.4, 3.9, 1.7, 0.4],
...: [1, 4.6, 3.4, 1.4, 0.3],
...: [1, 5, 3.4, 1.5, 0.2],
...: [1, 4.4, 2.9, 1.4, 0.2],
...: [1, 4.9, 3.1, 1.5, 0.1],
...: [1, 5.4, 3.7, 1.5, 0.2]])
In [8]: b=np.array([[1.],
...: [2.],
...: [3.],
...: [4.],
...: [5.]])
In [25]: np.dot(a,b)
Out[25]:
array([[28.3],
[26.4],
[26.2],
[26.5],
[28.4],
[32.3],
[27.5],
[28.2],
[25.1],
[26.6],
[29.9]])