Это должно быть так же просто, как использовать numpy.outer() : один вызов функции, который будет реализован в C для высокой производительности.
numpy.outer()