ReFRACtor
cost_minimizer_gsl.h
Go to the documentation of this file.
1 #ifndef COST_MINIMIZER_GSL_H
2 #define COST_MINIMIZER_GSL_H
3 #include <gsl/gsl_multimin.h>
4 #include <cost_minimizer.h>
5 
6 
7 namespace FullPhysics {
8 /******************************************************************
9  This class is the base class for cost function minimizers
10  based on the GSL library.
11 *******************************************************************/
13  public CostMinimizer {
14 
15 public:
16 
17 //-----------------------------------------------------------------------
25 //-----------------------------------------------------------------------
26 
28  int max_cost_function_calls, double size_tol=0.001,
29  const blitz::Array<double,1>& init_step_size=blitz::Array<double,1>(),
30  bool vrbs=false);
31 
32  virtual ~CostMinimizerGSL() {}
33 
34  virtual void solve();
35 
36 //-----------------------------------------------------------------------
38 //-----------------------------------------------------------------------
39 
40  virtual void print(std::ostream& Os) const
41  { Os << "CostMinimizerGSL"; }
42 
43 protected:
44 
45  virtual const gsl_multimin_fminimizer_type* get_gsl_multimin_fminimizer()
46  { return gsl_multimin_fminimizer_nmsimplex2; /*default*/ }
47 
48  double Size_tol;
49  blitz::Array<double, 1> Initial_step_size;
50 
51 };
52 }
53 #endif
virtual void print(std::ostream &Os) const
Print description of object.
blitz::Array< double, 1 > Initial_step_size
virtual void solve()
The method that solves the optimization problem.
CostMinimizerGSL(const boost::shared_ptr< CostFunc > &p, int max_cost_function_calls, double size_tol=0.001, const blitz::Array< double, 1 > &init_step_size=blitz::Array< double, 1 >(), bool vrbs=false)
Initializes the minimizer.
The base class for all iterative cost minimizers that do not require derivatives of any order...
virtual const gsl_multimin_fminimizer_type * get_gsl_multimin_fminimizer()
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1

Copyright © 2017, California Institute of Technology.
ALL RIGHTS RESERVED.
U.S. Government Sponsorship acknowledged.
Generated Fri Aug 24 2018 15:44:08