00001 #ifndef OptQNewton_h 00002 #define OptQNewton_h 00003 00004 #ifndef OptNewtonLike_h 00005 #include "OptNewtonLike.h" 00006 #endif 00007 00008 00009 namespace OPTPP { 00010 00022 class OptQNewton: public OptNewton1Deriv { 00023 public: 00030 OptQNewton(){strcpy(method,"Quasi-Newton");} 00034 OptQNewton(NLP1* p): OptNewton1Deriv(p) 00035 {strcpy(method,"Quasi-Newton");} 00040 OptQNewton(NLP1* p, UPDATEFCN u): OptNewton1Deriv(p, u) 00041 {strcpy(method,"Quasi-Newton"); } 00046 OptQNewton(NLP1* p, TOLS t): OptNewton1Deriv(p, t) 00047 {strcpy(method,"Quasi-Newton"); } 00048 00052 virtual ~OptQNewton(){} 00053 00054 //------------------------------------------------ 00055 // These are defined elsewhere 00056 //------------------------------------------------ 00057 00059 NEWMAT::SymmetricMatrix updateH(NEWMAT::SymmetricMatrix& H, int k); 00060 00062 int checkDeriv(); 00063 00064 // virtual double initTrustRegionSize() const; 00065 }; 00066 00067 } // namespace OPTPP 00068 #endif