KrisLibrary  1.0.0
Public Member Functions | Public Attributes | List of all members
Math::InequalityConstraintAdaptor Struct Reference

A class that makes it easier to construct "plugin" classes to alter constraint behavior. More...

#include <InequalityConstraint.h>

Inheritance diagram for Math::InequalityConstraintAdaptor:
Math::InequalityConstraint Math::VectorFieldFunction Math::ScaledOffsetConstraint Math::UniformScaledOffsetConstraint

Public Member Functions

 InequalityConstraintAdaptor (InequalityConstraint &_f)
 
virtual std::string Label () const
 
virtual std::string Label (int i) const
 
virtual int NumDimensions () const
 
virtual void PreEval (const Vector &x)
 
virtual void Eval (const Vector &x, Vector &v)
 
virtual Real Eval_i (const Vector &x, int i)
 
virtual void Jacobian (const Vector &x, Matrix &J)
 
virtual void Jacobian_i (const Vector &x, int i, Vector &Ji)
 
virtual void Hessian_i (const Vector &x, int i, Matrix &Hi)
 
virtual void DirectionalDeriv (const Vector &x, const Vector &h, Vector &v)
 
virtual Real Margin (const Vector &x, int &minConstraint)
 
virtual bool Satisfies (const Vector &x, Real d=Zero)
 
virtual bool Satisfies_i (const Vector &x, int i, Real d=Zero)
 
virtual void LineSearch (const Vector &x0, const Vector &dx, Real &u)
 
virtual void LineSearch_i (const Vector &x0, const Vector &dx, Real &u, int i)
 
virtual void LineSearch_j (const Vector &x0, int j, Real &u)
 
virtual bool Push (Vector &x, Real d)
 
virtual bool Push_i (Vector &x, int i, Real d)
 
- Public Member Functions inherited from Math::VectorFieldFunction
virtual std::string VariableLabel (int i) const
 
virtual void operator() (const Vector &x, Vector &v)
 
virtual Real Jacobian_ij (const Vector &x, int i, int j)
 
virtual void Jacobian_j (const Vector &x, int j, Vector &Jj)
 
virtual Real Divergence (const Vector &x)
 
virtual Real Hessian_ijk (const Vector &x, int i, int j, int k)
 

Public Attributes

InequalityConstraintf
 

Detailed Description

A class that makes it easier to construct "plugin" classes to alter constraint behavior.

Member Function Documentation

virtual void Math::InequalityConstraintAdaptor::LineSearch ( const Vector x0,
const Vector dx,
Real &  u 
)
inlinevirtual

Given x0 feasible, finds a maximal value u<=u0 s.t. x=x0+u*dx satisfies the constraint. i version: only satisfy the i'th constraint. j version: move in the direction ej. (default uses secant method)

Reimplemented from Math::InequalityConstraint.

Reimplemented in Math::UniformScaledOffsetConstraint, and Math::ScaledOffsetConstraint.

virtual bool Math::InequalityConstraintAdaptor::Push ( Vector x,
Real  d 
)
inlinevirtual

Sets x to satisfy the constraint by a margin of d. Returns true on success.

Reimplemented from Math::InequalityConstraint.

Reimplemented in Math::UniformScaledOffsetConstraint, and Math::ScaledOffsetConstraint.


The documentation for this struct was generated from the following file: