BFGS.h
Go to the documentation of this file.
1 //===========================================================================
2 /*!
3  *
4  *
5  * \brief BFGS
6  *
7  * The Broyden, Fletcher, Goldfarb, Shannon (BFGS) algorithm is a
8  * quasi-Newton method for unconstrained real-valued optimization.
9  *
10  *
11  *
12  * \author O. Krause
13  * \date 2010
14  *
15  *
16  * \par Copyright 1995-2017 Shark Development Team
17  *
18  * <BR><HR>
19  * This file is part of Shark.
20  * <http://shark-ml.org/>
21  *
22  * Shark is free software: you can redistribute it and/or modify
23  * it under the terms of the GNU Lesser General Public License as published
24  * by the Free Software Foundation, either version 3 of the License, or
25  * (at your option) any later version.
26  *
27  * Shark is distributed in the hope that it will be useful,
28  * but WITHOUT ANY WARRANTY; without even the implied warranty of
29  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30  * GNU Lesser General Public License for more details.
31  *
32  * You should have received a copy of the GNU Lesser General Public License
33  * along with Shark. If not, see <http://www.gnu.org/licenses/>.
34  *
35  */
36 //===========================================================================
37 
38 
39 #ifndef SHARK_ALGORITHMS_GRADIENTDESCENT_BFGS_H
40 #define SHARK_ALGORITHMS_GRADIENTDESCENT_BFGS_H
41 
42 #include <shark/Core/DLLSupport.h>
44 
45 namespace shark {
46 
47 //! \brief Broyden, Fletcher, Goldfarb, Shannon algorithm for unconstraint optimization
49 {
50 protected:
53 public:
54  std::string name() const
55  { return "BFGS"; }
56 
57  //from ISerializable
58  SHARK_EXPORT_SYMBOL void read( InArchive & archive );
59  SHARK_EXPORT_SYMBOL void write( OutArchive & archive ) const;
60 protected:
61  RealMatrix m_hessian;
62 };
63 
64 }
65 #endif