python - Sympy - ufuncify 向量函数

标签 python numpy sympy numpy-ufunc

我有 lambdify-ied 一个修改后的向量函数 FitzHugh–Nagumo model (没有扩散项):

from sympy import symbols, Matrix, solve, Eq
from sympy import diff, simplify, lambdify
from sympy.utilities.autowrap import ufuncify


u, v , e, a0, a1 = symbols('u v e a0 a1')

dudt = u - u**3 -v
dvdt = e*(u - a1*v - a0)

eqs = Matrix([dudt,dvdt])
print eqs

numerical_eqs = eqs.subs([(e,1.0),(a0,0.5),(a1,1.0)])
print numerical_eqs
lambdify_eqs = lambdify([u,v], numerical_eqs)
print lambdify_eqs(1.0,0.5)

但是尝试以相同的方式生成 ufunc 会导致错误:

ufuncify_eqs = ufuncify([u,v], numerical_eqs)

我收到的错误消息以:

结尾
CodeGenArgumentListError: ('out_817415551552344190', [<sympy.utilities.codegen.OutputArgument object at 0x7f8da54dccd0>])

有人知道什么是ufuncify的正确方法向量函数?

最佳答案

我认为 ufuncify 还不支持 SymPy 矩阵作为表达式。您可以单独执行矩阵中的每个表达式。

关于python - Sympy - ufuncify 向量函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35537882/

相关文章:

python - USB : usb_device_handle_win. cc:1020 在 Windows10 上使用 Selenium 的 ChromeDriver v87/Chrome v87 无法从节点连接错误中读取描述符

python - 如何在 Python numpy 中的二维数组上应用一维掩码?

python - 如何在 scipy.optimize 函数上强制执行更大的步骤?

python - 当数据框 B 中的列值不相似时,从数据框 A 中删除行

python - 使用 SciPy/NumPy 循环有限概率权重

python - 如何使用更新函数在 Matplotlib 2.0.0 中为 NetworkX 图形设置动画?

python - 配置 Sympy 启动显示输出

python - 如何在numpy中返回所有最小索引

python - sympy lambdify 与 numexpr 和 sqrt

python - Sympy 返回 log 而不是 ln