KrisLibrary  1.0.0
Public Member Functions | Public Attributes | List of all members
Math::LinearConstraint Class Reference

constraint represented as A*x >= b i.e. constraint value is A*x-b More...

#include <InequalityConstraint.h>

Inheritance diagram for Math::LinearConstraint:
Math::InequalityConstraint Math::VectorFieldFunction

Public Member Functions

 LinearConstraint (const Matrix &A, const Vector &b)
 
virtual std::string Label () const
 
virtual int NumDimensions () const
 
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 Real Jacobian_ij (const Vector &x, int i, int j)
 
virtual void Hessian_i (const Vector &x, int i, Matrix &Hi)
 
virtual void DirectionalDeriv (const Vector &x, const Vector &h, Vector &v)
 
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 bool Push (Vector &x, Real d=Zero)
 
- Public Member Functions inherited from Math::InequalityConstraint
virtual Real Margin (const Vector &x, int &minConstraint)
 
virtual bool Satisfies (const Vector &x, Real d=Zero)
 
virtual void LineSearch_j (const Vector &x0, int j, Real &u)
 
virtual bool Push_i (Vector &, int i, Real d)
 
- Public Member Functions inherited from Math::VectorFieldFunction
virtual std::string Label (int i) const
 
virtual std::string VariableLabel (int i) const
 
virtual void operator() (const Vector &x, Vector &v)
 
virtual void PreEval (const Vector &x)
 
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

const MatrixA
 
const Vectorb
 

Detailed Description

constraint represented as A*x >= b i.e. constraint value is A*x-b

Member Function Documentation

void LinearConstraint::LineSearch ( const Vector x0,
const Vector dx,
Real &  u 
)
virtual

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.

bool LinearConstraint::Push ( Vector x,
Real  d = Zero 
)
virtual

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

Reimplemented from Math::InequalityConstraint.


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