Parameterizes a Function by one or more Scalar ordinates. More...

#include <ChainRule.h>

Public Types

typedef T::Result Result

Public Member Functions

 ChainRule ()
 Default constructor.
 ChainRule (const ChainRule &rule)
 Copy constructor.
ChainRuleoperator= (const ChainRule &rule)
 Assignment operator.
void set_model (T *model)
 Set the Function to be constrained by Scalar ordinates.
T * get_model ()
void set_constraint (unsigned iparam, Scalar *scalar)
 Set the Scalar instance used to constrain the specified parameter.
bool has_constraint (unsigned iparam)
Scalarget_constraint (unsigned iparam)
std::string get_name () const
 Return the name of the class.

Protected Member Functions

void calculate (Result &result, std::vector< Result > *gradient)
 Return the Result and its gradient.
ConstrainedParameterfind_constraint (unsigned iparam)
 Find the matching constraint.

Protected Attributes

std::vector< ConstrainedParameterconstraints
 Scalars used to constrain the parameters.
Project< T > model
 The Function to be constrained by Scalar ordinates.

Detailed Description

template<class T>
class MEAL::ChainRule< T >

Parameterizes a Function by one or more Scalar ordinates.

Given any Function, $ M({\bf a}) $, one or more parameters may be constrained by a Scalar, $ f({\bf b}) $. That is, $a_i=f({\bf b})$. The fit flag for $a_i$ is set to false, and the partial derivatives of $ M $ with respect to the Scalar parameters, $\bf b$, are given by the chain rule, ${\partial M\over\partial b_k} = {\partial M\over\partial
a_i}{\partial f\over\partial b_k}$.


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

Generated using doxygen 1.14.0