“TypeError: objeto 'function' não suporta designação de item”

Eu tenho duas matrizes

fi = [[f1],           Nij = [[N11 N12 .......N1n],
      [f2],                  [N21 N22 .......N2n],
       .                            ...
       .                            ...
      [fn]]                  [Nn1 Nn2 .......Nnn]]

Eu quero multiplicar:

f1 to each element of the 1st row,
f2 to each element of the 2nd row,

e assim por diante.

Ou seja eu queroXij = fi*Nij onde fi é uma matriz de colunas e Xij & Nij é uma matriz nxn.

Eu tentei usar

import numpy as np

fi = np.linspace(1,5, num =5)
fi = np.asmatrix(fi)

def Xij(ai):
    Nij = np.ones((5,5))
    for i in range(len(fi)):
    for j in range(len(fi)):
        Xij[i,j] = ai[i] * Nij[i,j]
return Xij

Zij = Xij(fi)

Isso me dá esse erroTypeError: 'function' object does not support item assignment

Por quê? e como resolvo isso?

questionAnswers(1)

yourAnswerToTheQuestion