KrisLibrary  1.0.0
differentiation.h
Go to the documentation of this file.
1 #ifndef MATH_DIFFERENTIATION_H
2 #define MATH_DIFFERENTIATION_H
3 
4 #include "function.h"
5 
11 namespace Math {
14 
17 Real dfCenteredDifference(RealFunction& f, Real x, Real h);
18 void dfCenteredDifference(VectorFunction& f, Real x, Real h, Vector& df);
19 
22 Real dfCenteredDifferenceAdaptive(RealFunction& f, Real x, Real h0, Real tol);
23 void dfCenteredDifferenceAdaptive(VectorFunction& f, Real x, Real h0, Real tol, Vector& df);
24 
27 Real ddfCenteredDifference(RealFunction& f, Real x, Real h);
28 void ddfCenteredDifference(VectorFunction& f, Real x, Real h, Vector& ddf);
29 
31 void GradientForwardDifference(ScalarFieldFunction& f,Vector& x,Real h,Vector& g);
32 void JacobianForwardDifference(VectorFieldFunction& f,Vector& x,Real h,Matrix& J);
33 void HessianForwardDifference(ScalarFieldFunction& f,Vector& x,Real h,Matrix& H);
34 void HessianForwardDifference_Grad(ScalarFieldFunction& f,Vector& x,Real h,Matrix& H);
35 
36 void GradientCenteredDifference(ScalarFieldFunction& f,Vector& x,Real h,Vector& g);
37 void JacobianCenteredDifference(VectorFieldFunction& f,Vector& x,Real h,Matrix& J);
38 void HessianCenteredDifference(ScalarFieldFunction& f,Vector& x,Real h,Matrix& H);
39 void HessianCenteredDifference_Grad(ScalarFieldFunction& f,Vector& x,Real h,Matrix& H);
40 
43 void GradientCenteredDifferenceAdaptive(ScalarFieldFunction& f,Vector& x,Real h0,Real tol,Vector& g);
44 
46 void GradientForwardDifference(ScalarFieldFunction& f,Vector& x,const Vector& h,Vector& g);
47 void JacobianForwardDifference(VectorFieldFunction& f,Vector& x,const Vector& h,Matrix& J);
48 void HessianForwardDifference(ScalarFieldFunction& f,Vector& x,const Vector& h,Matrix& H);
49 void HessianForwardDifference_Grad(ScalarFieldFunction& f,Vector& x,const Vector& h,Matrix& H);
50 
51 void GradientCenteredDifference(ScalarFieldFunction& f,Vector& x,const Vector& h,Vector& g);
52 void JacobianCenteredDifference(VectorFieldFunction& f,Vector& x,const Vector& h,Matrix& J);
53 void HessianCenteredDifference(ScalarFieldFunction& f,Vector& x,const Vector& h,Matrix& H);
54 void HessianCenteredDifference_Grad(ScalarFieldFunction& f,Vector& x,const Vector& h,Matrix& H);
55 
57 } //namespace Math
58 
59 #endif
Abstract base classes for function interfaces.
Real dfCenteredDifference(RealFunction &f, Real x, Real h)
Definition: differentiation.cpp:26
Real ddfCenteredDifference(RealFunction &f, Real x, Real h)
Definition: differentiation.cpp:76
Real dfCenteredDifferenceAdaptive(RealFunction &f, Real x, Real h0, Real tol)
Definition: differentiation.cpp:41
Contains all definitions in the Math package.
Definition: WorkspaceBound.h:12
void GradientForwardDifference(ScalarFieldFunction &f, Vector &x, Real h, Vector &g)
x is provided as a temporary, it's restored to its original value later
Definition: differentiation.cpp:94
void GradientCenteredDifferenceAdaptive(ScalarFieldFunction &f, Vector &x, Real h0, Real tol, Vector &g)
Definition: differentiation.cpp:189