我一直在寻找一个可以进行多项式符号微分和积分的 C/C++ 库,但还没有找到适合我需求的库。 恐怕问题是我没有使用正确的术语。 问题是这样的:
给定一个多项式 p,我想看看这个函数
f(p) = (p')^2 从 a 到 b 的积分
并生成 f 关于 p 系数的偏导数。
理论上,这里应该没有问题,因为我们正在处理多项式,但我还没有找到可以保持原始系数和修改多项式之间的联系的东西。
有谁知道是否有库可以做这样的事情,或者我最好创建自己的库?
您尝试过使用FADBAD吗?蛮有用的。
我会编写自己的衍生类。同时有一些书籍记录了如何做到这一点。但假设你知道数学规则,这是相当微不足道的。 使用这样的导数类,您可以编写一个模板函数来生成多项式、导数、平方和积分,同时跟踪导数与系数。问题是你可能携带大量始终为零的导数。要避免这种情况相当复杂。 普通的派生类将包含一个值和一个派生值数组。 可能有一个构造函数通过值和索引创建一个自变量——通过传递的值和所有导数将值初始化为零,除了与索引匹配的那个之外。 然后你为你需要的一切编写运算符和函数——假设你只处理多项式,这并不算多。