以任意精度浮点计算 sympy 函数

Rya*_*ney 4 python sympy mpmath

给定一个 sympy 符号函数,例如

x=symbols("x")
h=sin(x) 
Run Code Online (Sandbox Code Playgroud)

当一个人打电话

h.subs(x, mpf('1.0000000000000000000000000000000000000000000001')) 
Run Code Online (Sandbox Code Playgroud)

sympy 返回一个浮点数。返回值不是 mpf。

是否有一种方便的方法可以让 sympy 使用任意精度来评估符号标准函数(如指数和三角函数)?

asm*_*rer 5

要计算表达式,请使用expr.evalf(),它将精度作为第一个参数(默认值为 15)。您可以使用 替换表达式expr.evalf(prec, subs=subs_dict)

>>> sin(x).evalf(50, subs={x: Float('1.0')})
0.84147098480789650665250232163029899962256306079837
Run Code Online (Sandbox Code Playgroud)