DeJongFunction.h

Go to the documentation of this file.
00001 /******************************************************************************/
00002 /*                                                                            */
00003 /*   D E   J O N G   F U N C T I O N   C L A S S   H E A D E R                */
00004 /*                                                                            */
00005 /*   Roberto Lopez                                                            */
00006 /*   International Center for Numerical Methods in Engineering (CIMNE)        */
00007 /*   Technical University of Catalonia (UPC)                                  */
00008 /*   Barcelona, Spain                                                         */
00009 /*   E-mail: rlopez@cimne.upc.edu                                             */
00010 /*                                                                            */
00011 /******************************************************************************/
00012 
00013 
00014 #ifndef __DEJONGFUNCTION_H__
00015 #define __DEJONGFUNCTION_H__
00016 
00017 #include "ObjectiveFunction.h"
00018 
00019 namespace Purple
00020 {
00021 
00022 /// This class represents the De Jong's objective function.
00023 ///
00024 /// @see ObjectiveFunction.
00025 
00026 class DeJongFunction : public ObjectiveFunction
00027 {
00028 
00029 public:
00030 
00031    // GENERAL CONSTRUCTOR
00032 
00033    DeJongFunction(void);
00034 
00035 
00036    // DESTRUCTOR
00037 
00038    virtual ~DeJongFunction(void);
00039 
00040 
00041    // METHODS
00042 
00043    // Objective function methods
00044 
00045    double getEvaluation(Vector<double>);
00046 
00047    // Objective function gradient methods
00048 
00049    Vector<double> getGradient(Vector<double>);
00050 
00051    // Objective function Hessian methods
00052 
00053    Matrix<double> getHessian(Vector<double>);
00054 
00055    Matrix<double> getInverseHessian(Vector<double>);
00056 
00057 };
00058 
00059 }
00060 
00061 #endif
00062 
00063 
00064 // Purple: An Open Source Numerical Optimization C++ Library.
00065 // Copyright (C) 2006 Roberto Lopez
00066 //
00067 // This library is free software; you can redistribute it and/or
00068 // modify it under the terms of the GNU Lesser General Public
00069 // License as published by the Free Software Foundation; either
00070 // version 2.1 of the License, or any later version.
00071 //
00072 // This library is distributed in the hope that it will be useful,
00073 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00074 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00075 // Lesser General Public License for more details.
00076 
00077 // You should have received a copy of the GNU Lesser General Public
00078 // License along with this library; if not, write to the Free Software
00079 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

Generated on Wed Jun 21 13:10:37 2006 for Purple by  doxygen 1.4.7