Это может быть ситуация, когда использование Cython может уменьшить использование памяти.Вы можете генерировать случайные числа на лету и накапливать результат на ходу.У меня нет времени, чтобы написать и протестировать полную функцию, но вы определенно захотите использовать randomkit
(библиотека, которую numpy использует под капотом) на уровне c.
Вы можете взятьПосмотрите на пример кода, который я написал для другого приложения, чтобы увидеть, как обернуть randomkit:
https://github.com/synapticarbors/pylangevin-integrator/blob/master/cIntegrator.pyx
А также посмотрите, как умножение матриц реализовано в следующей статье на Cython:1009 *
http://conference.scipy.org/proceedings/SciPy2009/paper_2/full_text.pdf
Вместо того, чтобы использовать оба массива в качестве входных данных, просто укажите input_array
как один, а затем в методе генерируйте небольшие куски случайного массива по ходу работы.
Извините, если это просто набросок, а не реальный код, но, надеюсь, этого достаточно, чтобы вы начали.