дана SymPy символической функцией, напримероценка SymPy функции в произвольной точности с плавающей точкой
x=symbols("x")
h=sin(x)
когда один называет
h.subs(x, mpf('1.0000000000000000000000000000000000000000000001'))
SymPy возвращает число с плавающей точкой. Возвращаемое значение не является mpf.
Есть ли удобный способ получить sympy для оценки символических стандартных функций (например, экспоненциальных и тригонных функций) с использованием произвольной точности?
Спасибо, с небольшим изменением ваш ответ делает то, что я ищу. Мне нужно в целом изменить ваше создание Float ('') на создание mpf (''), но оно также компилируется. –
Второй комментарий: кажется, что симпатичный Float есть? тип mpf. Поэтому мой первый комментарий не был ни здесь, ни там. –
Да, Float - это оболочка вокруг mpf, которая необходима для правильной работы функций SymPy. Если вы хотите работать с функциями и типами mpmath напрямую, другой вариант заключается в использовании 'lambdify (x, sin (x)," mpmath ")', который преобразует выражение SymPy в функцию mpmath, которая затем может быть вызвана с помощью mpf , – asmeurer