00001 #ifndef OptConstrNewton_h 00002 #define OptConstrNewton_h 00003 00004 /*---------------------------------------------------------------------- 00005 Copyright (c) 2001, Sandia Corporation. 00006 J.C. Meza, Sandia National Laboratories, meza@ca.sandia.gov 00007 ----------------------------------------------------------------------*/ 00008 00009 #ifndef OptConstrNewtonLike_h 00010 #include "OptConstrNewtonLike.h" 00011 #endif 00012 00013 namespace OPTPP { 00014 00026 class OptConstrNewton: public OptConstrNewton2Deriv { 00027 public: 00034 OptConstrNewton() {strcpy(method,"Constrained Newton");} 00035 00041 OptConstrNewton(NLP2* p): OptConstrNewton2Deriv(p) 00042 {strcpy(method,"Constrained Newton");} 00043 00050 OptConstrNewton(NLP2* p, UPDATEFCN u): OptConstrNewton2Deriv(p,u) 00051 {strcpy(method,"Constrained Newton");} 00058 OptConstrNewton(NLP2* p, TOLS t): OptConstrNewton2Deriv(p,t) 00059 {strcpy(method,"Constrained Newton");} 00060 00064 virtual ~OptConstrNewton(){} 00065 00066 // These are defined elsewhere 00067 00069 void initHessian(); 00070 00072 NEWMAT::SymmetricMatrix updateH(NEWMAT::SymmetricMatrix& H, int k); 00073 00075 int checkDeriv(); 00076 00078 void printStatus(char *); 00079 00081 real stepTolNorm() const; 00082 }; 00083 00084 } // namespace OPTPP 00085 #endif