在任意精度浮点上评估 sympy 函数
evaluating a sympy function at an arbitrary-precision floating point
给定一个sympy符号函数,例如
x=symbols("x")
h=sin(x)
当有人打电话时
h.subs(x, mpf('1.0000000000000000000000000000000000000000000001'))
sympy returns 一个浮点数。 return 值不是 mpf。
是否有方便的方法让 sympy 使用任意精度计算符号标准函数(如指数函数和三角函数)?
要计算表达式,请使用 expr.evalf()
,它将精度作为第一个参数(默认值为 15)。您可以使用 expr.evalf(prec, subs=subs_dict)
.
替换表达式
>>> sin(x).evalf(50, subs={x: Float('1.0')})
0.84147098480789650665250232163029899962256306079837
给定一个sympy符号函数,例如
x=symbols("x")
h=sin(x)
当有人打电话时
h.subs(x, mpf('1.0000000000000000000000000000000000000000000001'))
sympy returns 一个浮点数。 return 值不是 mpf。
是否有方便的方法让 sympy 使用任意精度计算符号标准函数(如指数函数和三角函数)?
要计算表达式,请使用 expr.evalf()
,它将精度作为第一个参数(默认值为 15)。您可以使用 expr.evalf(prec, subs=subs_dict)
.
>>> sin(x).evalf(50, subs={x: Float('1.0')})
0.84147098480789650665250232163029899962256306079837