BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
TestMinimizer Class Reference

A trivial minimizer that calls the objective function once. Used to test the whole chain. More...

Inheritance diagram for TestMinimizer:
[legend]
Collaboration diagram for TestMinimizer:
[legend]

Public Member Functions

 TestMinimizer ()
 
 ~TestMinimizer () override
 
std::string algorithmName () const final
 return name of the minimization algorithm More...
 
virtual void clear ()
 clear resources (parameters) for consecutives minimizations More...
 
virtual mumufit::MinimizerResult minimize_residual (fcn_residual_t, mumufit::Parameters)
 
mumufit::MinimizerResult minimize_scalar (fcn_scalar_t fcn, mumufit::Parameters parameters) override
 run minimization More...
 
std::string minimizerName () const final
 return name of the minimizer More...
 
virtual double minValue () const
 Returns minimum function value. More...
 
virtual bool requiresResiduals ()
 Returns true if minimizer computations are residual-based, false otherwise. More...
 
virtual void setOptions (const std::string &options)
 Sets option string to the minimizer. More...
 

Private Attributes

scalar_function_t m_fcn
 
std::vector< double > m_parameter_values
 

Detailed Description

A trivial minimizer that calls the objective function once. Used to test the whole chain.

Definition at line 27 of file TestMinimizer.h.

Constructor & Destructor Documentation

◆ TestMinimizer()

TestMinimizer::TestMinimizer ( )
default

◆ ~TestMinimizer()

TestMinimizer::~TestMinimizer ( )
overridedefault

Member Function Documentation

◆ algorithmName()

std::string TestMinimizer::algorithmName ( ) const
inlinefinalvirtual

return name of the minimization algorithm

Implements IMinimizer.

Definition at line 33 of file TestMinimizer.h.

33 { return ""; }

◆ clear()

virtual void IMinimizer::clear ( )
inlinevirtualinherited

clear resources (parameters) for consecutives minimizations

Definition at line 49 of file IMinimizer.h.

49 {}

◆ minimize_residual()

mumufit::MinimizerResult IMinimizer::minimize_residual ( fcn_residual_t  ,
mumufit::Parameters   
)
virtualinherited

Reimplemented in MinimizerAdapter.

Definition at line 26 of file IMinimizer.cpp.

27 {
28  throw std::runtime_error("IMinimizer::minimize_residual() -> Not implemented.");
29 }

◆ minimize_scalar()

MinimizerResult TestMinimizer::minimize_scalar ( fcn_scalar_t  ,
mumufit::Parameters   
)
overridevirtual

run minimization

Reimplemented from IMinimizer.

Definition at line 29 of file TestMinimizer.cpp.

30 {
31  // calling user function once
32  auto min_value = fcn(parameters);
33 
34  MinimizerResult result;
35  result.setParameters(parameters);
36  result.setMinValue(min_value);
37 
38  std::ostringstream report;
39  report << "TestMinimizer::printOutcome() -> Done. Objective function value = " << min_value
40  << std::endl;
41 
42  result.setReport(report.str());
43  result.setNumberOfCalls(1);
44 
45  return result;
46 }
Result of minimization round.
void setReport(const std::string &value)
void setMinValue(double value)
void setNumberOfCalls(int value)
void setParameters(const Parameters &parameters)
double min_value(const Iterator &begin, const Iterator &end, const Evaluator &evaluate)
Returns the minimum value of function evaluate as applied to the elements of an iterator range.
Definition: Algorithms.h:58

References algo::min_value(), mumufit::MinimizerResult::setMinValue(), mumufit::MinimizerResult::setNumberOfCalls(), mumufit::MinimizerResult::setParameters(), and mumufit::MinimizerResult::setReport().

Here is the call graph for this function:

◆ minimizerName()

std::string TestMinimizer::minimizerName ( ) const
finalvirtual

return name of the minimizer

Implements IMinimizer.

Definition at line 24 of file TestMinimizer.cpp.

25 {
26  return "Test";
27 }

◆ minValue()

double IMinimizer::minValue ( ) const
virtualinherited

Returns minimum function value.

Reimplemented in MinimizerAdapter.

Definition at line 31 of file IMinimizer.cpp.

32 {
33  throw std::runtime_error("IMinimizer::minValue() -> Not implemented.");
34 }

◆ requiresResiduals()

virtual bool IMinimizer::requiresResiduals ( )
inlinevirtualinherited

Returns true if minimizer computations are residual-based, false otherwise.

Reimplemented in Minuit2Minimizer, and GSLLevenbergMarquardtMinimizer.

Definition at line 59 of file IMinimizer.h.

59 { return false; }

◆ setOptions()

void IMinimizer::setOptions ( const std::string &  options)
virtualinherited

Sets option string to the minimizer.

Reimplemented in MinimizerAdapter.

Definition at line 36 of file IMinimizer.cpp.

37 {
38  throw std::runtime_error("IMinimizer::setOptions() -> Not implemented.");
39 }

Referenced by MinimizerFactory::createMinimizer().

Member Data Documentation

◆ m_fcn

scalar_function_t TestMinimizer::m_fcn
private

Definition at line 40 of file TestMinimizer.h.

◆ m_parameter_values

std::vector<double> TestMinimizer::m_parameter_values
private

Definition at line 39 of file TestMinimizer.h.


The documentation for this class was generated from the following files: