同态乘积的Lambdify导数

2024-05-23 18:25:43 发布

您现在位置:Python中文网/ 问答频道 /正文

这个问题与@unutbu hereSymPy cannot lambdify Product给出的答案有关

我想对一个产品的导数进行lambdizing。例外是global name 'Derivative' is not defined,我假设与Product的情况类似,即没有为此定义打印机函数。所以我开始尝试插入一个自定义函数: 你知道吗

import sympy.printing.lambdarepr as SPL

def _print_Derivative(self, expr):
    # implementation

SPL.NumPyPrinter._print_Derivative = _print_Derivative

但是我立即陷入困境,因为expr参数看起来像Derivative(Product(x*z[i], (i, 0, _Dummy_4019)), x),也就是说Product(即使计算正确并且打印得很漂亮)似乎没有lambda表示。我以为导数是由SymPy计算的,我只需要注意乘积的展开(有一个循环),但我不确定。由于我对SymPy实现了解不够,我很难弄清楚如何正确地实现它。你知道吗


Tags: 函数答案产品productsplprint导数sympy