Поэлементное умножение между всеми элементами вектора - PullRequest
1 голос
/ 16 января 2020

Каков эффективный способ сделать поэлементную мультипликацию между всеми элементами массива numpy.

Если A - это вектор из 100 элементов, то A2 - это вектор из 100 ^ 2 элементов.

Пример

Ввод:

a = [5,2,3,4]

вывод

a2=[5*5,5*2,5*3,5*4,2*5,2*2,2*3,2*4,3*5,3*2,3*3,3*4,4*5,4*2,4*3,4*4]

Спасибо

1 Ответ

3 голосов
/ 16 января 2020
>>> import numpy as np
>>> np.outer(a,a).reshape(-1)

array([25, 10, 15, 20, 10,  4,  6,  8, 15,  6,  9, 12, 20,  8, 12, 16])

Используйте numpy .outer - для вычисления внешнего произведения двух векторов, а затем numpy .reshape - для получения массива в ожидаемой форме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...