我有一个源文件,类似于(不失通用性(仅用于映射可能的语法)):

function a()
    return g // global variable without any internal structure exactly
end

function b(x, y)
    local z = x * y
    return z + 1
end

function c(z, t)
    return b(z * z, a())
end

// ...etc

我想将任何函数与某个变量相区别。
所有的形式参数在导出时都可以看作是一个内部结构未知的函数。
如果我进一步正确,那么下面是真的(对于依赖符号'是符号的一部分,对于全局变量是替换时间阶段的运算符(def:g{g}是一个,但是g{y}是零)):
function a'()
    return g';
end

function b'(x, y, x', y')
    local z' = x' * y + x * y'
    return z' + 0
end

但最后一个函数怎么办?也就是说,用实际参数代替函数?
有没有准备好使用通用算法的实现来处理上述问题如何处理高阶导数(特别有趣的是,如何处理形式参数)还有其他不清楚的案子吗?

最佳答案

我建议将参数设置为知道如何响应导数的符号表达式,并让所有操作都接受函数和返回函数。然后您将得到一个知道如何表示为导数的最终表达式此外,你可以在以后做一些类似偏导数的事情,因为你有符号表达式。
关于我的意思的一个真正的例子,请参见http://www.elem.com/~btilly/kelly-criterion/js/advanced-math.js以获取我为解决JavaScript中的微积分问题而编写的库,并在http://www.elem.com/~btilly/kelly-criterion/betting-returns2.html的源代码中搜索“Optimize if requested”以了解我是如何使用它的请参见http://www.elem.com/~btilly/kelly-criterion/以了解我编写该代码的原因。
当然,在那个例子中,我不是从中缀符号开始工作的但这是一个标准的解析问题,我认为你知道如何解决。

10-07 13:48