问题标签 [lambdify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1982 浏览

python - 如何使 Sympy lambdify(ed) 函数接受数组输入?

我正在尝试在 Python 2.7 中创建一个函数,该函数接受函数句柄和函数中的变量数作为输入,并返回一个计算输入函数梯度的新函数。这就是我到目前为止所拥有的。

假设我使用gradFunc以下代码:

如果我使用两个单独的参数调用它,它会起作用,例如:

但是,如果我使用单个参数(例如 Numpy 数组)调用它,

我收到以下错误:

TypeError: () 正好有 2 个参数(1 个给定)

我怎样才能lambdify接受输入参数作为单个值内的单个数组?是否有更好的(内置)Sympy 方法来为接受数组作为输入的函数的梯度生成符号表达式?

0 投票
2 回答
408 浏览

python - Lambdify 与 Python 一起工作,但在 Cython 中抛出异常

我的网站运行这个 Python 脚本,如果使用 Cython,它会更加优化。最近我需要添加Sympy 和 Lambdify,这与 Cython 不兼容。

因此,我将问题简化为一个最小的工作示例。在代码中,我有一个带有字符串键的字典,其中的值是列表。我想将这些键用作变量。在下面的简化示例中,只有 1 个变量,但通常我需要更多。请检查以下示例:

让我们称之为test.py. 这很好用。现在我想对此进行cythonize,所以我使用以下脚本:

现在,如果我执行./test.exe,它会引发异常!这是一个例外:

所以问题是:我怎样才能让lambdify 与Cython 一起工作?

注意:我想指出我有 Debian Jessie,这就是我使用 Python 3.4 的原因。另外我想指出,我在不使用 Cython 时没有任何问题lambdify。另外我想指出,Cython 已更新到带有pip3 install cython --upgrade.

0 投票
1 回答
112 浏览

python - Python 3:Sympy:包含列表信息以优化lambdify

lambdify用来编译一个表达式,它是某些参数的函数。每个参数都N有点。所以我需要评估表达N时间。下面显示了一个关于如何完成此操作的简化示例。

有没有办法进一步优化这个调用?具体来说,我的意思是有一种方法可以lambdify包含我正在计算的点列表,以便可以优化循环评估?

0 投票
3 回答
1137 浏览

python - 使用lambdify将硬积分转换为lambda函数

我想对函数进行羔羊化Integral(t**t,(t,0,x))。它可以工作,但是我的新函数由 . 返回lambdify,它不返回数字,而只返回sympy.integrals.integrals.Integral类。但我不希望这样,我希望它返回一个浮点数。

这是我的代码:

0 投票
1 回答
1057 浏览

sympy - Sympy 复杂表达式到 Python 函数

我在 sympy 网站上找到了 lambdify 的文档:http: //docs.sympy.org/dev/modules/utilities/lambdify.html

尝试使用复数的示例似乎分崩离析:

我做了什么愚蠢的事情还是这是一个错误?

0 投票
1 回答
273 浏览

python - Python Sympy用符号矩阵替换(成)符号

-或者-

但这些都不起作用。当我评估以下内容时:

我得到:

而不是在我为符号矩阵中的符号变量提供的值中进行替换(然后得到一个实际的 m=numerical 结果)。

0 投票
1 回答
836 浏览

numpy - 分段函数和 numpy 模块的 sympy.lambdify 错误

在 sympy 0.7.6 中,对于 modules='sympy' 和 modules='numpy' 选项,我对以下代码没有任何问题。现在使用 sympy v0.1,使用 modules='numpy' 的评估会引发 ZeroDivisionError:

似乎分段函数在模块 ='numpy' 的条件之前评估。

我的问题是:

这种行为正常吗?

如果是这样,为什么以及如何定义分段表达式并在没有 sympy.lambdify 过程的情况下像使用 numpy 模块一样快速评估它?

编辑:

发现在我的情况下,解决方案是theano:

0 投票
1 回答
54 浏览

python - sympy lambdify:如何使更多功能(NCDF、NPDF 等)可用

如何让 sympylambdify接受更多的函数名称,例如 Normal 函数?要使这样的工作:

我不介意使用Normalsympystatistics模块中的函数,只要它不会在每次调用 lambda 时创建一个新的Normal()分布对象。

0 投票
1 回答
234 浏览

scipy - 使用 Sum Indexed 和 Lambdify,以及 scipy 来最小化大表达式

我有一个大约 231 个术语的巨大表达式,每个表达式都有一些 cos(e) 或 sin(e) 的力量,它们也可以混合,每个术语在分母中也有一个 r(distance) 项,提高到一些权力也是如此。

这是表达式的一小部分 方程图像

我想做的是对所有角度 e 的表达式求和,然后对所有 r 求和,并使用 lambdify 和 scipy 来最小化方程中存在的其他 4 个参数的表达式。

我尝试过的事情

  • 我曾尝试使用在 scipy 中索引的 sum 进行求和,但无法使其工作,一旦我拥有 sum 索引表达式并扩展它,功率位也很棘手,我如何传递角度值列表计算表达式

  • 此外,由于表达式非常大,我想在循环中进行总和索引等,而无需单独解析每个幂的表达式。

(如果我的问题不清楚,请告诉我。)

0 投票
1 回答
10524 浏览

python-3.x - Sympy to numpy 导致 AttributeError: 'Symbol' object has no attribute 'cos'

我正在尝试使用 sympy 进行偏导数,并且我想将其转换为一个函数,以便我可以替换值并估计 t_1、t_2 的某些值的导数。我正在使用的代码如下:

当我尝试使用 t_1 替换一个值时,

我收到以下错误:

我参考了以下链接:

是什么导致 Python 中出现此错误(AttributeError: 'Mul' object has no attribute 'cos')?

Python 属性错误:cos

但我认为我的 numpy 和 sympy 导入并没有与这些链接中提到的案例发生冲突。任何帮助表示赞赏。