我想问一下是否有人可以向我解释语法定向切线线性代码和伴随代码的区别。

它与使用编译器派生代码有关。

我知道它们是在程序中推导数学方程式的不同方法,但是,我不知道该如何解释它们。

提前致谢。

问候。

最佳答案

据我了解,只有两种方法可以自动创建派生代码:


前向分化
向后分化


根据我的理解,向后区分只是学术上的,因为它需要记住数组中执行的操作,最后回溯此数组
并解释该数组的内容。
结果(由于解释),这样的代码非常慢。

据我所知,向后方法与链式规则有关。

也可以将两种方法混合使用:
如果您有一段代码:

    a=f(b);


而且函数f()并非微不足道,并且b包含许多导数,
那么对计算很有帮助

    a=f(b);
    da_db=df(b);
    da_dc=da_db*db_dc;
    da_dd=da_db*db_dd;

关于compiler-construction - 派生代码编译器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3549784/

10-10 03:26