|
Mantid
|
An interface for function minimizers. More...
#include <IFuncMinimizer.h>
Public Member Functions | |
| virtual double | costFunctionVal ()=0 |
| Get value of cost function. More... | |
| virtual void | finalize () |
| Finalize minimization, eg store additional outputs. More... | |
| virtual std::string | getError () const |
| Get the error string. More... | |
| virtual void | initialize (API::ICostFunction_sptr function, size_t maxIterations=1000)=0 |
| Initialize minimizer. More... | |
| virtual bool | iterate (size_t iteration)=0 |
| Do one iteration. More... | |
| virtual bool | minimize (size_t maxIterations=1000) |
| Perform iteration with minimizer and return true if successful. More... | |
| virtual std::string | name () const =0 |
| Get name of minimizer. More... | |
Public Member Functions inherited from Mantid::Kernel::PropertyManager | |
| ::Json::Value | asJson (bool withDefaultValues=false) const override |
| Return the property manager serialized as a json object. More... | |
| std::string | asString (bool withDefaultValues=false) const override |
| Return the property manager serialized as a string. More... | |
| void | clear () override |
| Clears the whole property map. More... | |
| void | declareOrReplaceProperty (std::unique_ptr< Property > p, const std::string &doc="") override |
| Add or replace a property in the list of managed properties. More... | |
| void | declareProperty (const std::string &name, const char *value, const std::string &doc, IValidator_sptr validator=std::make_shared< NullValidator >(), const unsigned int direction=Direction::Input) |
| Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More... | |
| void | declareProperty (const std::string &name, const char *value, const unsigned int direction) |
| Add a property of string type to the list of managed properties. More... | |
| void | declareProperty (const std::string &name, const char *value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc=std::string(), const unsigned int direction=Direction::Input) |
| Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More... | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, const std::string &doc, const unsigned int direction=Direction::Input) |
| Add a property to the list of managed properties with no validator. More... | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, const unsigned int direction) |
| Add a property of the template type to the list of managed properties. More... | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc="", const unsigned int direction=Direction::Input) |
| Add a property of the template type to the list of managed properties. More... | |
| void | declareProperty (std::unique_ptr< Property > p, const std::string &doc="") override |
| Add a property to the list of managed properties. More... | |
| virtual void | declareProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
| Function to declare properties (i.e. store them) More... | |
| bool | existsProperty (const std::string &name) const override |
| Checks whether the named property is already in the list of managed property. More... | |
| void | filterByProperty (const TimeSeriesProperty< bool > &filter, const std::vector< std::string > &excludedFromFiltering=std::vector< std::string >()) override |
| Filter the managed properties by the given boolean property mask. More... | |
| void | filterByTime (const Types::Core::DateAndTime &start, const Types::Core::DateAndTime &stop) override |
| Filter out a run by time. More... | |
| std::vector< std::string > | getDeclaredPropertyNames () const noexcept override |
| Return the list of declared property names. More... | |
| Property * | getPointerToProperty (const std::string &name) const override |
| Get a property by name. More... | |
| const std::vector< Property * > & | getProperties () const override |
| Get the list of managed properties. More... | |
| TypedValue | getProperty (const std::string &name) const override |
| Get the value of a property. More... | |
| std::string | getPropertyValue (const std::string &name) const override |
| Get the value of a property as a string. More... | |
| bool | operator!= (const PropertyManager &other) const |
| PropertyManager & | operator+= (const PropertyManager &rhs) |
| Addition operator. More... | |
| PropertyManager & | operator= (const PropertyManager &) |
| Assignment operator - performs a deep copy. More... | |
| bool | operator== (const PropertyManager &other) const |
| size_t | propertyCount () const override |
| Count the number of properties under management. More... | |
| PropertyManager () | |
| Default constructor. More... | |
| PropertyManager (const PropertyManager &) | |
| copy constructor More... | |
| void | removeProperty (const std::string &name, const bool delproperty=true) override |
| removes the property from properties map More... | |
| void | resetProperties () override |
| Reset property values back to initial values (blank or default values) More... | |
| void | setProperties (const ::Json::Value &jsonValue, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false) override |
| Set the ordered list of properties by a json value collection. More... | |
| void | setProperties (const ::Json::Value &jsonValue, IPropertyManager *targetPropertyManager, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false) |
| Set the ordered list of properties by a json value collection. More... | |
| void | setProperties (const std::string &propertiesJson, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false) override |
| Set the ordered list of properties by one string of values, separated by semicolons. More... | |
| void | setProperties (const std::string &propertiesJson, IPropertyManager *targetPropertyManager, const std::unordered_set< std::string > &ignoreProperties, bool createMissing=false) |
| Set the ordered list of properties by one string of values, separated by semicolons. More... | |
| void | setPropertiesWithString (const std::string &propertiesString, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >()) override |
| Sets all the declared properties from a string. More... | |
| void | setPropertyOrdinal (const int &index, const std::string &value) override |
| Set the value of a property by an index N.B. More... | |
| void | setPropertyValue (const std::string &name, const std::string &value) override |
| Set the value of a property by string N.B. More... | |
| void | setPropertyValueFromJson (const std::string &name, const Json::Value &value) override |
| Set the value of a property by Json::Value. More... | |
| void | splitByTime (std::vector< SplittingInterval > &splitter, std::vector< PropertyManager * > outputs) const override |
| Split a run by time (splits the TimeSeriesProperties contained). More... | |
| std::unique_ptr< Property > | takeProperty (const size_t index) override |
| removes the property from the properties map and returns a pointer to it More... | |
| bool | validateProperties () const override |
| Validates all the properties in the collection. More... | |
| virtual | ~PropertyManager () override |
| Virtual destructor. More... | |
Public Member Functions inherited from Mantid::Kernel::IPropertyManager | |
| virtual ::Json::Value | asJson (bool withDefaultValues=false) const =0 |
| Return the property manager serialized as a json object. More... | |
| virtual std::string | asString (bool withDefaultValues=false) const =0 |
| Return the property manager serialized as a string. More... | |
| virtual void | declareOrReplaceProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
| Function to declare properties (i.e. store them) More... | |
| void | declareProperty (const std::string &name, const char *value, const std::string &doc, IValidator_sptr validator=std::make_shared< NullValidator >(), const unsigned int direction=Direction::Input) |
| Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More... | |
| void | declareProperty (const std::string &name, const char *value, const unsigned int direction) |
| Add a property of string type to the list of managed properties. More... | |
| void | declareProperty (const std::string &name, const char *value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc=std::string(), const unsigned int direction=Direction::Input) |
| Specialised version of declareProperty template method to prevent the creation of a PropertyWithValue of type const char* if an argument in quotes is passed (it will be converted to a string). More... | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, const std::string &doc, const unsigned int direction=Direction::Input) |
| Add a property to the list of managed properties with no validator. More... | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, const unsigned int direction) |
| Add a property of the template type to the list of managed properties. More... | |
| template<typename T > | |
| void | declareProperty (const std::string &name, T value, IValidator_sptr validator=std::make_shared< NullValidator >(), const std::string &doc="", const unsigned int direction=Direction::Input) |
| Add a property of the template type to the list of managed properties. More... | |
| virtual void | declareProperty (std::unique_ptr< Property > p, const std::string &doc="")=0 |
| Function to declare properties (i.e. store them) More... | |
| virtual bool | existsProperty (const std::string &name) const =0 |
| Checks whether the named property is already in the list of managed property. More... | |
| virtual void | filterByProperty (const TimeSeriesProperty< bool > &, const std::vector< std::string > &)=0 |
| virtual void | filterByTime (const Types::Core::DateAndTime &, const Types::Core::DateAndTime &)=0 |
| virtual std::vector< std::string > | getDeclaredPropertyNames () const noexcept=0 |
| Get the list of managed property names. More... | |
| virtual Property * | getPointerToProperty (const std::string &name) const =0 |
| Get a pointer to property by name. More... | |
| virtual const std::vector< Property * > & | getProperties () const =0 |
| Get the list of managed properties. More... | |
| std::vector< Property * > | getPropertiesInGroup (const std::string &group) const |
| Get the list of managed properties in a given group. More... | |
| virtual TypedValue | getProperty (const std::string &name) const =0 |
| Get the value of a property. More... | |
| virtual std::string | getPropertyValue (const std::string &name) const =0 |
| Get the value of a property as a string. More... | |
| virtual size_t | propertyCount () const =0 |
| Returns the number of properties under management. More... | |
| virtual void | removeProperty (const std::string &name, const bool delproperty=true)=0 |
| Removes the property from management. More... | |
| virtual void | resetProperties ()=0 |
| virtual void | setProperties (const ::Json::Value &jsonValue, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false)=0 |
| Sets all the properties from a json object. More... | |
| virtual void | setProperties (const std::string &propertiesJson, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >(), bool createMissing=false)=0 |
| Sets all properties from a string. More... | |
| virtual void | setPropertiesWithString (const std::string &propertiesString, const std::unordered_set< std::string > &ignoreProperties=std::unordered_set< std::string >())=0 |
| Sets all the declared properties from a string. More... | |
| IPropertyManager * | setProperty (const std::string &name, const char *value) |
| Specialised version of setProperty template method to handle const char *. More... | |
| IPropertyManager * | setProperty (const std::string &name, const std::string &value) |
| Specialised version of setProperty template method to handle std::string. More... | |
| template<typename T > | |
| IPropertyManager * | setProperty (const std::string &name, const T &value) |
| Templated method to set the value of a PropertyWithValue. More... | |
| template<typename T > | |
| IPropertyManager * | setProperty (const std::string &name, std::unique_ptr< T > value) |
| Templated method to set the value of a PropertyWithValue from a std::unique_ptr. More... | |
| void | setPropertyGroup (const std::string &name, const std::string &group) |
| Set the group for a given property. More... | |
| virtual void | setPropertyOrdinal (const int &index, const std::string &value)=0 |
| Set the value of a property by an index. More... | |
| void | setPropertySettings (const std::string &name, std::unique_ptr< IPropertySettings > settings) |
| virtual void | setPropertyValue (const std::string &name, const std::string &value)=0 |
| Sets property value from a string. More... | |
| virtual void | setPropertyValueFromJson (const std::string &name, const Json::Value &value)=0 |
| Sets property value from a Json::Value. More... | |
| virtual void | splitByTime (std::vector< SplittingInterval > &, std::vector< PropertyManager * >) const =0 |
| virtual std::unique_ptr< Property > | takeProperty (const size_t index)=0 |
| Removes the property from management and returns a pointer to it. More... | |
| void | updatePropertyValues (const IPropertyManager &other) |
| Update values of the existing properties. More... | |
| virtual bool | validateProperties () const =0 |
| Validates all the properties in the collection. More... | |
| virtual | ~IPropertyManager ()=default |
Protected Attributes | |
| std::string | m_errorString |
| Error string. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from Mantid::Kernel::PropertyManager | |
| static std::string | getInvalidValuesFilterLogName (const std::string &logName) |
| Gets the correct log name for the matching invalid values log for a given log name. More... | |
| static std::string | getLogNameFromInvalidValuesFilter (const std::string &logName) |
| static bool | isAnInvalidValuesFilterLog (const std::string &logName) |
Static Public Attributes inherited from Mantid::Kernel::PropertyManager | |
| static const std::string | INVALID_VALUES_SUFFIX = "_invalid_values" |
Protected Member Functions inherited from Mantid::Kernel::PropertyManager | |
| Property * | getPointerToPropertyOrdinal (const int &index) const override |
| Get a property by an index. More... | |
| Property * | getPointerToPropertyOrNull (const std::string &name) const |
| Get a property by name. More... | |
Protected Member Functions inherited from Mantid::Kernel::IPropertyManager | |
| virtual void | afterPropertySet (const std::string &) |
| Override this method to perform a custom action right after a property was set. More... | |
| virtual void | clear ()=0 |
| Clears all properties under management. More... | |
| virtual Property * | getPointerToPropertyOrdinal (const int &index) const =0 |
| Get a property by an index. More... | |
| template<typename T > | |
| T | getValue (const std::string &name) const |
| Templated method to get the value of a property. More... | |
| template<> | |
| MANTID_KERNEL_DLL PropertyManager_sptr | getValue (const std::string &name) const |
| template<> | |
| MANTID_KERNEL_DLL PropertyManager_const_sptr | getValue (const std::string &name) const |
An interface for function minimizers.
Minimizers minimize cost functions.
Definition at line 26 of file IFuncMinimizer.h.
|
pure virtual |
Get value of cost function.
Implemented in Mantid::CurveFitting::FuncMinimisers::DampedGaussNewtonMinimizer, Mantid::CurveFitting::FuncMinimisers::DerivMinimizer, Mantid::CurveFitting::FuncMinimisers::FABADAMinimizer, Mantid::CurveFitting::FuncMinimisers::LevenbergMarquardtMDMinimizer, Mantid::CurveFitting::FuncMinimisers::LevenbergMarquardtMinimizer, Mantid::CurveFitting::FuncMinimisers::SimplexMinimizer, and Mantid::CurveFitting::FuncMinimisers::TrustRegionMinimizer.
|
inlinevirtual |
Finalize minimization, eg store additional outputs.
Reimplemented in Mantid::CurveFitting::FuncMinimisers::FABADAMinimizer.
Definition at line 53 of file IFuncMinimizer.h.
|
inlinevirtual |
Get the error string.
Definition at line 47 of file IFuncMinimizer.h.
|
pure virtual |
Initialize minimizer.
| function | :: Function to minimize |
| maxIterations | :: Maximum number of iterations. |
Implemented in Mantid::CurveFitting::FuncMinimisers::LevenbergMarquardtMinimizer, Mantid::CurveFitting::FuncMinimisers::TrustRegionMinimizer, Mantid::CurveFitting::FuncMinimisers::FABADAMinimizer, Mantid::CurveFitting::FuncMinimisers::DampedGaussNewtonMinimizer, Mantid::CurveFitting::FuncMinimisers::DerivMinimizer, Mantid::CurveFitting::FuncMinimisers::LevenbergMarquardtMDMinimizer, and Mantid::CurveFitting::FuncMinimisers::SimplexMinimizer.
|
pure virtual |
Do one iteration.
| iteration | :: Current iteration number. 0 <= iteration < maxIterations |
Implemented in Mantid::CurveFitting::FuncMinimisers::FABADAMinimizer, Mantid::CurveFitting::FuncMinimisers::LevenbergMarquardtMDMinimizer, Mantid::CurveFitting::FuncMinimisers::DampedGaussNewtonMinimizer, Mantid::CurveFitting::FuncMinimisers::DerivMinimizer, Mantid::CurveFitting::FuncMinimisers::LevenbergMarquardtMinimizer, Mantid::CurveFitting::FuncMinimisers::SimplexMinimizer, and Mantid::CurveFitting::FuncMinimisers::TrustRegionMinimizer.
Referenced by minimize().
|
virtual |
Perform iteration with minimizer and return true if successful.
Do minimization of the set function.
| maxIterations | :: Maximum number of iterations. |
| maxIterations | :: Maximum number of iterations. |
Definition at line 20 of file IFuncMinimizer.cpp.
References iterate(), m_errorString, and std::to_string().
|
pure virtual |
Get name of minimizer.
Implemented in Mantid::CurveFitting::FuncMinimisers::BFGS_Minimizer, Mantid::CurveFitting::FuncMinimisers::DampedGaussNewtonMinimizer, Mantid::CurveFitting::FuncMinimisers::FABADAMinimizer, Mantid::CurveFitting::FuncMinimisers::FRConjugateGradientMinimizer, Mantid::CurveFitting::FuncMinimisers::LevenbergMarquardtMDMinimizer, Mantid::CurveFitting::FuncMinimisers::LevenbergMarquardtMinimizer, Mantid::CurveFitting::FuncMinimisers::PRConjugateGradientMinimizer, Mantid::CurveFitting::FuncMinimisers::SimplexMinimizer, Mantid::CurveFitting::FuncMinimisers::SteepestDescentMinimizer, and Mantid::CurveFitting::FuncMinimisers::TrustRegionMinimizer.
Referenced by Mantid::CurveFitting::FuncMinimisers::DerivMinimizer::iterate().
|
protected |
Error string.
Definition at line 57 of file IFuncMinimizer.h.
Referenced by Mantid::CurveFitting::FuncMinimisers::LevenbergMarquardtMDMinimizer::iterate(), Mantid::CurveFitting::FuncMinimisers::DampedGaussNewtonMinimizer::iterate(), Mantid::CurveFitting::FuncMinimisers::DerivMinimizer::iterate(), Mantid::CurveFitting::FuncMinimisers::LevenbergMarquardtMinimizer::iterate(), Mantid::CurveFitting::FuncMinimisers::SimplexMinimizer::iterate(), Mantid::CurveFitting::FuncMinimisers::TrustRegionMinimizer::iterate(), and minimize().