В numpy мы можем выполнить «внешнее сложение» между двумя векторами a
и b
следующим образом:
a=np.c_[1,2,3]
b=np.c_[4,5,6]
result=a+b.T # alternatively this can be a.T+b
Можно ли использовать einsum
для того же вычисления? Есть ли другие быстрые альтернативы? А если a
равно b
?
einsum
может это сделать (по крайней мере, без использования дополнительных массивов). Я не могу придумать более быстрый способ сделать это, чем простая сумма с использованием широковещательной передачи, которую вы написали, это слишком медленно? Поскольку результат симметричен, вы можете написать расширение, которое вычисляет минимально возможное количество сумм. - person jorgeca   schedule 12.07.2013a.T@I + [email protected]
- person linello   schedule 01.04.2019