Более быстрые альтернативы mpmath в Python для вычислений? ⇐ Python
-
Anonymous
Более быстрые альтернативы mpmath в Python для вычислений?
Я выполняю вычисления на Python, которые включают поэлементное использование функции sinh на паре двумерных массивов Numpy.
Поскольку я получил ошибки переполнения при реализации sinh NumPy для пары массивов, я переключился на реализацию mpmath для частей вычислений, которые, к сожалению, не поддерживают векторизацию, поэтому мне приходится перебирать каждый элемент массива, что, как я думаю, делает вычисления намного медленнее, чем раньше, потому что части, которые по-прежнему используют NumPy, работают намного быстрее, но при этом «эффективно» выполняют тот же объем вычислений (несколько минут с NumPy против часов с mpmath).
В настоящее время я использую следующий цикл для поэлементного применения функции mpmath sinh к двумерному массиву numpy:
импортировать numpy как np импортировать mpmath как mp y1=np.linspace(0,h,250,False) y2=np.linspace(h,b,800) y=np.concatenate((y1,y2)) chi_1n=np.arange(1,N+1)*np.pi/(a) y_zone1=np.reshape(y[y
Я выполняю вычисления на Python, которые включают поэлементное использование функции sinh на паре двумерных массивов Numpy.
Поскольку я получил ошибки переполнения при реализации sinh NumPy для пары массивов, я переключился на реализацию mpmath для частей вычислений, которые, к сожалению, не поддерживают векторизацию, поэтому мне приходится перебирать каждый элемент массива, что, как я думаю, делает вычисления намного медленнее, чем раньше, потому что части, которые по-прежнему используют NumPy, работают намного быстрее, но при этом «эффективно» выполняют тот же объем вычислений (несколько минут с NumPy против часов с mpmath).
В настоящее время я использую следующий цикл для поэлементного применения функции mpmath sinh к двумерному массиву numpy:
импортировать numpy как np импортировать mpmath как mp y1=np.linspace(0,h,250,False) y2=np.linspace(h,b,800) y=np.concatenate((y1,y2)) chi_1n=np.arange(1,N+1)*np.pi/(a) y_zone1=np.reshape(y[y
Мобильная версия