чтобы понять, как это работает.

у векторизовать функциюf(a, b) так что, когда я ввожу a и b как два вектора, тензор комбинаций возвращается. Вот иллюстративный пример:

import numpy as np
def tester(a, b):
   mysumm = 0.
   for ii in range(a):
       for jj in range(b):
           mysumm += a * b
   return mysumm
tester = np.vectorize(tester)
x, y = [2, 4], [3, 5, 8] 
print(tester(x, 3)) # [ 36. 144.]
print(tester(x, 5)) # [100. 400.]
print(tester(x, 8)) # [ 256. 1024.]
print(tester(2, y)) # [ 36. 100. 256.]
print(tester(4, y)) # [ 144.  400. 1024.]
print(tester(x, y)) # ValueError: operands could not be broadcast together with shapes (2,) (3,) 

Я ожидалtester(x, y) вызов, чтобы вернуть матрицу 2x3, что-то вроде[[ 36. 100. 256.], [ 144. 400. 1024.]] и я был удивлен, что это не поведение по умолчанию.

Как я могу заставить vecotirzed функцию возвращать тензор возможных комбинаций входных векторов?

Ответы на вопрос(1)

Ваш ответ на вопрос