NonLinearEquation.h

00001 #ifndef NonLinearEquation_h 
00002 #define NonLinearEquation_h
00003 
00004 #include "NonLinearConstraint.h"
00005 
00015 namespace OPTPP {
00016 //----------------------------------------------------------------------
00017 // NonLinear Constraint
00018 //----------------------------------------------------------------------
00019 class NonLinearEquation: public NonLinearConstraint{
00020 
00021 protected:
00023   NEWMAT::ColumnVector b_;      
00025   NEWMAT::ColumnVector ctype_;  
00026 
00027 public:
00034   NonLinearEquation();
00041   NonLinearEquation(NLP* nlprob, int numconstraints = 1);
00049   NonLinearEquation(NLP* nlprob, const NEWMAT::ColumnVector& rhs, 
00050                          int numconstraints = 1);
00051 
00055   virtual ~NonLinearEquation(){}
00056 
00060   NEWMAT::ColumnVector getConstraintType() const { return ctype_;};
00061 
00065   NEWMAT::ColumnVector getB() const { return b_;};
00066 
00072   NEWMAT::ColumnVector evalResidual(const NEWMAT::ColumnVector& xc) const;
00073   void evalCFGH(const NEWMAT::ColumnVector& xc) const;
00074 
00080   NEWMAT::Matrix evalGradient(const NEWMAT::ColumnVector& xc) const ;
00081 
00087   NEWMAT::SymmetricMatrix evalHessian(NEWMAT::ColumnVector& xc) const;
00088 
00095   OptppArray<NEWMAT::SymmetricMatrix> evalHessian(NEWMAT::ColumnVector& xc, int darg) const;
00096 
00103   bool amIFeasible(const NEWMAT::ColumnVector& xc, double epsilon) const;
00104 
00105 };
00106 
00107 } // namespace OPTPP
00108 #endif
Generated on Mon Jan 24 12:04:37 2011 for FASTlib by  doxygen 1.6.3