MEAL::ProductRule< T > Class Template Reference

Represents a product of models. More...

#include <ProductRule.h>

Inheritance diagram for MEAL::ProductRule< T >:
MEAL::GroupRule< T >

Public Types

typedef T::Result Result
Public Types inherited from MEAL::GroupRule< T >
typedef T::Result Result

Public Member Functions

void operator*= (T *model)
 Add the model to the product.
std::string get_name () const
 Return the name of the class.
Public Member Functions inherited from MEAL::GroupRule< T >
 GroupRule ()
 Default constructor.
 GroupRule (const GroupRule &meta)
 Copy constructor.
GroupRuleoperator= (const GroupRule &meta)
 Assignment operator.
 ~GroupRule ()
 Destructor.
void add_model (T *model)
 Add an element to the result.
void remove_model (T *model)
 Remove an element from the result.
T * get_model (unsigned i)
 Get the specified component.
const T * get_model (unsigned i) const
unsigned get_nmodel () const
 Get the number of components.
void clear ()
 Clear all models.
void parse (const std::string &text)
 Parse the values of model parameters and fit flags from a string.
std::string class_name () const

Protected Member Functions

const Result get_identity () const
 Return the identity of the multiplication group (one)
void operate (Result &total, const Result &element)
 Multiply the total by the element.
const Result partial (const Result &element) const
 Neighbouring terms stay in each other's partial derivatives.
Protected Member Functions inherited from MEAL::GroupRule< T >
void print_parameters (std::string &text, const std::string &sep) const
 Prints the values of model parameters and fit flags to a string.
void calculate (Result &result, std::vector< Result > *grad)
 Return the result and its gradient.

Detailed Description

template<class T>
class MEAL::ProductRule< T >

Represents a product of models.

Member Function Documentation

◆ get_identity()

template<class T>
const Result MEAL::ProductRule< T >::get_identity ( ) const
inlineprotectedvirtual

Return the identity of the multiplication group (one)

Implements MEAL::GroupRule< T >.

◆ operate()

template<class T>
void MEAL::ProductRule< T >::operate ( Result & total,
const Result & element )
inlineprotectedvirtual

Multiply the total by the element.

Implements MEAL::GroupRule< T >.

◆ partial()

template<class T>
const Result MEAL::ProductRule< T >::partial ( const Result & element) const
inlineprotectedvirtual

Neighbouring terms stay in each other's partial derivatives.

Implements MEAL::GroupRule< T >.


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

Generated using doxygen 1.14.0