类 DerivativeStructure

java.lang.Object
org.hipparchus.analysis.differentiation.DerivativeStructure
所有已实现的接口:
Serializable, Derivative<DerivativeStructure>, CalculusFieldElement<DerivativeStructure>, FieldElement<DerivativeStructure>

public class DerivativeStructure extends Object implements Derivative<DerivativeStructure>, Serializable
表示函数值和导数的类。

这个类是微分包的主力军。

这个类是对Dan Kalman的论文《Doubly Recursive Multivariate Automatic Differentiation》中描述的Rall数的扩展的实现,该论文发表于2002年6月的《数学杂志》第75卷第3期。Rall数是在数学表达式中使用的实数的扩展;它们将导数与函数值一起保存。Dan Kalman的导数结构保存了关于任意数量的自由参数的所有偏导数,直到任意指定的阶数。因此,Rall数可以被看作是一阶导数和一个自由参数的导数结构,实数可以被看作是零阶导数和没有自由参数的导数结构。

DerivativeStructure实例可以直接使用,因为这个类提供了算术运算符和数学函数作为方法(+、-、*、/、%、sin、cos等)。

手动使用这些类实现复杂表达式是一项繁琐且容易出错的任务,但它具有不需要用户自己计算导数的优点,尽管没有对导数阶数的限制。也可以通过使用标准基本double值开发计算代码并使用differentiators来创建基于DerivativeStructure的实例来实现复杂表达式。这种方法更简单,但可能在准确性和导数阶数方面受到限制,并且可能计算量大(这通常是有限差分微分器的情况)。

这个类的实例是不可变的。

另请参阅: