KrisLibrary  1.0.0
Public Member Functions | List of all members
Math::VectorFieldFunction Class Referenceabstract

A function from R^n to R^m. More...

#include <function.h>

Inheritance diagram for Math::VectorFieldFunction:
Math::ComponentVectorFieldFunction Math::CompositeVectorFieldFunction Math::IndexedVectorFieldFunction Math::InequalityConstraint Math::LinearVectorFieldFunction Math::SliceVectorFieldFunction Math::SparseVectorFunction Math::Vector3FieldFunction NegativeVectorFieldFunction Optimization::LPOptimizerFunction PathDynamicEqualityFunction SimulateFunction SimulateFunctionX

Public Member Functions

virtual std::string Label () const
 
virtual std::string Label (int i) const
 
virtual std::string VariableLabel (int i) const
 
virtual int NumDimensions () const
 
virtual void operator() (const Vector &x, Vector &v)
 
virtual void PreEval (const Vector &x)
 
virtual void Eval (const Vector &x, Vector &v)=0
 
virtual Real Eval_i (const Vector &x, int i)
 
virtual Real Jacobian_ij (const Vector &x, int i, int j)
 
virtual void Jacobian_i (const Vector &x, int i, Vector &Ji)
 
virtual void Jacobian_j (const Vector &x, int j, Vector &Jj)
 
virtual void Jacobian (const Vector &x, Matrix &J)
 
virtual void DirectionalDeriv (const Vector &x, const Vector &h, Vector &v)
 
virtual Real Divergence (const Vector &x)
 
virtual void Hessian_i (const Vector &x, int i, Matrix &Hi)
 
virtual Real Hessian_ijk (const Vector &x, int i, int j, int k)
 

Detailed Description

A function from R^n to R^m.

Takes a vector as input and returns a vector value. Subclasses will overload NumDimensions() (which should return m), Eval(), and optionally the derivative evaluation methods.

Follows the same calling methodology as RealFunction, that is, PreEval(x) must be called before Eval(x) or any derivative functions.

Eval_i() returns the ith component of Eval(x) Jacobian() returns the Jacobian matrix, where Jij = dfi / dxj. Jacobian_i() returns the ith row of the Jacobian matrix. Jacobian_j() returns the jth column of the Jacobian matrix. Jacobian_ij() returns the (i,j)th component of the Jacobian matrix. DirectionalDeriv() returns the derivative in the direction h (i.e. J*h). Divergence() returns the trace of the Jacobian. Only valid for m=n. Hessian_i() returns the Hessian matrix of the ith component function. Hessian_ijk() returns the (j,k)th entry of the ith Hessian matrix.


The documentation for this class was generated from the following files: