/ / Comment multiplier deux vecteurs et obtenir une matrice? - python, numpy, matrice, vecteur

Comment multiplier deux vecteurs et obtenir une matrice? - python, numpy, matrice, vecteur

En opération numpy, j’ai deux vecteurs, disons que le vecteur A est 4X1, le vecteur B est 1X5, si je fais AXB, il devrait en résulter une matrice de taille 4X5.

Mais j'ai essayé beaucoup de fois, en effectuant de nombreux types de remodelage et de transposition, soit en générant une erreur en disant non aligné, soit en renvoyant une valeur unique.

Comment dois-je obtenir le produit de sortie de la matrice que je veux?

Réponses:

13 pour la réponse № 1

La multiplication de matrice normale fonctionne aussi longtemps que les vecteurs ont la bonne forme. Rappelez-vous que * dans Numpy est multiplication élémentaire, et la multiplication matricielle est disponible avec numpy.dot() (ou avec le @ opérateur, en Python 3.5)

>>> numpy.dot(numpy.array([[1], [2]]), numpy.array([[3, 4]]))
array([[3, 4],
[6, 8]])

Cela s'appelle un "produit extérieur". Vous pouvez l'obtenir en utilisant des vecteurs simples en utilisant numpy.outer():

>>> numpy.outer(numpy.array([1, 2]), numpy.array([3, 4]))
array([[3, 4],
[6, 8]])