问题标签 [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.
python - 如何使 Sympy lambdify(ed) 函数接受数组输入?
我正在尝试在 Python 2.7 中创建一个函数,该函数接受函数句柄和函数中的变量数作为输入,并返回一个计算输入函数梯度的新函数。这就是我到目前为止所拥有的。
假设我使用gradFunc
以下代码:
如果我使用两个单独的参数调用它,它会起作用,例如:
但是,如果我使用单个参数(例如 Numpy 数组)调用它,
我收到以下错误:
TypeError: () 正好有 2 个参数(1 个给定)
我怎样才能lambdify
接受输入参数作为单个值内的单个数组?是否有更好的(内置)Sympy 方法来为接受数组作为输入的函数的梯度生成符号表达式?
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
.
python - Python 3:Sympy:包含列表信息以优化lambdify
我lambdify
用来编译一个表达式,它是某些参数的函数。每个参数都N
有点。所以我需要评估表达N
时间。下面显示了一个关于如何完成此操作的简化示例。
有没有办法进一步优化这个调用?具体来说,我的意思是有一种方法可以lambdify
包含我正在计算的点列表,以便可以优化循环评估?
python - 使用lambdify将硬积分转换为lambda函数
我想对函数进行羔羊化Integral(t**t,(t,0,x))
。它可以工作,但是我的新函数由 . 返回lambdify
,它不返回数字,而只返回sympy.integrals.integrals.Integral
类。但我不希望这样,我希望它返回一个浮点数。
这是我的代码:
sympy - Sympy 复杂表达式到 Python 函数
我在 sympy 网站上找到了 lambdify 的文档:http: //docs.sympy.org/dev/modules/utilities/lambdify.html
尝试使用复数的示例似乎分崩离析:
我做了什么愚蠢的事情还是这是一个错误?
python - Python Sympy用符号矩阵替换(成)符号
-或者-
但这些都不起作用。当我评估以下内容时:
我得到:
而不是在我为符号矩阵中的符号变量提供的值中进行替换(然后得到一个实际的 m=numerical 结果)。
numpy - 分段函数和 numpy 模块的 sympy.lambdify 错误
在 sympy 0.7.6 中,对于 modules='sympy' 和 modules='numpy' 选项,我对以下代码没有任何问题。现在使用 sympy v0.1,使用 modules='numpy' 的评估会引发 ZeroDivisionError:
似乎分段函数在模块 ='numpy' 的条件之前评估。
我的问题是:
这种行为正常吗?
如果是这样,为什么以及如何定义分段表达式并在没有 sympy.lambdify 过程的情况下像使用 numpy 模块一样快速评估它?
编辑:
发现在我的情况下,解决方案是theano:
python - sympy lambdify:如何使更多功能(NCDF、NPDF 等)可用
如何让 sympylambdify
接受更多的函数名称,例如 Normal 函数?要使这样的工作:
我不介意使用Normal
sympystatistics
模块中的函数,只要它不会在每次调用 lambda 时创建一个新的Normal()
分布对象。
scipy - 使用 Sum Indexed 和 Lambdify,以及 scipy 来最小化大表达式
我有一个大约 231 个术语的巨大表达式,每个表达式都有一些 cos(e) 或 sin(e) 的力量,它们也可以混合,每个术语在分母中也有一个 r(distance) 项,提高到一些权力也是如此。
这是表达式的一小部分
我想做的是对所有角度 e 的表达式求和,然后对所有 r 求和,并使用 lambdify 和 scipy 来最小化方程中存在的其他 4 个参数的表达式。
我尝试过的事情
我曾尝试使用在 scipy 中索引的 sum 进行求和,但无法使其工作,一旦我拥有 sum 索引表达式并扩展它,功率位也很棘手,我如何传递角度值列表计算表达式
此外,由于表达式非常大,我想在循环中进行总和索引等,而无需单独解析每个幂的表达式。
(如果我的问题不清楚,请告诉我。)
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')?
但我认为我的 numpy 和 sympy 导入并没有与这些链接中提到的案例发生冲突。任何帮助表示赞赏。