从值数组评估sympy表达式

从值数组评估sympy表达式,第1张

从值数组评估sympy表达式

首先,目前SymPy不保证支持numpy数组,在这种情况下,这就是您想要的。检查此错误报告http://pre.google.com/p/sympy/issues/detail?id=537

其次,如果您想对 许多 值进行数值评估,SymPy并不是最佳选择(毕竟它是一个符号库)。使用numpy和scipy。

但是,要进行数字评估的一个有效理由是,要推导要评估的表达式很困难,因此您可以在SymPy中将其派生,然后在NumPy / SciPy / C /
Fortran中对其进行评估。要将表达式转换为numpy,只需使用

from sympy.utilities.lambdify import lambdifyfunc = lambdify(x, big_expression_containing_x,'numpy') # returns a numpy-ready functionnumpy_array_of_results = func(numpy_array_of_arguments)

检查lambdify的文档字符串以获取更多详细信息。请注意,lambdify仍然存在一些问题,可能需要重写。

而且,正如一个侧面说明,如果你想计算表达式 真的 很多次,你可以使用代码生成/
autowrap模块从以创建一个包,并从Python中调用FORTRAN语言或C语言sympy。

编辑:可以在Wiki https://github.com/sympy/sympy/wiki/Philosophy-of-Numerics-and-
Code-Generation-in-SymPy中
找到SymPy中做数字方法的更新列表。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5623838.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存