gpt4 book ai didi

Python:用于 NumPy 的 SymPy lambdify abs

转载 作者:太空宇宙 更新时间:2023-11-04 01:11:05 24 4
gpt4 key购买 nike

我正在使用 SymPy 对表达式进行符号操作,它是使用 NumPy 对大量数据进行评估的。为了加快速度,我使用 sympy.lambdify,但我无法让 abs 工作。

import sympy
import numpy as np

x = sympy.symbols('x',real=True)

def f(x):
return 1-sympy.Abs(x)

def g(x):
return 1-sympy.sqrt(x)


fl = sympy.lambdify(x,f(x),'numpy')
gl = sympy.lambdify(x,g(x),'numpy')
gl(1) # success
gl(np.array([1,2,3]))
fl(2) # NameError: global name 'Abs' is not defined
fl(np.array([1,2,3])) # Same error

一个选项是对 lambdify 调用使用“sympy”参数,但我不能使用数组。我尝试过使用 sympy.abs 和 numpy.abs,但没有成功。

我在一个程序中使用它来使用逆代换和一些表格积分来求解繁琐的积分,但是如果选择使用 abs 函数而不是显式处理不同的区域,它会非常方便。

sympy.Abs 确实定义

提前致谢

最佳答案

这看起来像是在最新版本的 SymPy 中修复的错误: https://code.google.com/p/sympy/issues/detail?id=2654它适用于 Python 2.7.9、SymPy 0.7.3 和 Python 3.3.5、SymPy 0.7.5。

关于Python:用于 NumPy 的 SymPy lambdify abs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27610844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com