Мне интересно создать функцию с использованием sympy.utilities.autowrap.ufuncify и использовать ее для комплексных чисел.Однако по умолчанию это не работает:
x = sympy.Symbol('x')
f = sympy.utilities.autowrap.ufuncify([x], x**2)
f(arange(5)+1j)
приводит к
TypeError: ufunc 'wrapper_module_0' не поддерживается для типов ввода, и входы не могут быть безопасноприведено к любым поддерживаемым типам в соответствии с правилом приведения «safe».
Это неудивительно, поскольку f.types
равно ['d->d']
.
. Есть ли способсказать ufuncify для поддержки определенных типов данных (особенно сложных)?У ufuncify есть различные опции , но я не уверен, что кто-то делает то, что я хочу.