KrisLibrary
1.0.0
|
A function from R^n to R^m. More...
#include <function.h>
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) |
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.