5 #ifndef BPP_NUMERIC_FUNCTION_REPARAMETRIZATIONFUNCTIONWRAPPER_H 6 #define BPP_NUMERIC_FUNCTION_REPARAMETRIZATIONFUNCTIONWRAPPER_H 9 #include "../AbstractParametrizable.h" 10 #include "../TransformedParameter.h" 63 function_(rfw.function_),
64 functionParameters_(rfw.functionParameters_) {}
68 AbstractParametrizable::operator=(rfw),
79 void init_(
bool verbose);
101 return function_->getValue();
146 void init_(
bool verbose);
200 void init_(
bool verbose);
210 * std::pow(dynamic_cast<const TransformedParameter&>(
parameter(variable)).getFirstOrderDerivative(), 2)
223 #endif // BPP_NUMERIC_FUNCTION_REPARAMETRIZATIONFUNCTIONWRAPPER_H ReparametrizationFunctionWrapper(const ReparametrizationFunctionWrapper &rfw)
This is the abstract class for first order derivable functions.
double getSecondOrderDerivative(const std::string &variable1, const std::string &variable2) const
Get the value of the cross derivative of the function according to a given set of parameters...
bool enableSecondOrderDerivatives() const
Tell if derivatives must be computed.
std::string getNamespace() const override
ReparametrizationFunctionWrapper & operator=(const ReparametrizationFunctionWrapper &rfw)
ParameterList functionParameters_
virtual ParameterList createSubList(const std::vector< std::string > &names) const
Get given parameters as a sublist.
ReparametrizationFunctionWrapper(std::shared_ptr< FunctionInterface > function, bool verbose=true)
Build a new reparametrization wrapper for the given function, using all available parameters...
void fireParameterChanged(const ParameterList ¶meters)
Notify the class when one or several parameters have changed.
A partial implementation of the Parametrizable interface.
std::shared_ptr< FunctionInterface > function_
ReparametrizationDerivableSecondOrderWrapper(std::shared_ptr< SecondOrderDerivable > function, bool verbose=true)
Build a new reparametrization wrapper for the given function, using all available parameters...
double getFirstOrderDerivative(const std::string &variable) const
Get the derivative of the function at the current point.
virtual ~ReparametrizationDerivableFirstOrderWrapper()
This is the function abstract class.
ReparametrizationDerivableFirstOrderWrapper(std::shared_ptr< FirstOrderDerivable > function, bool verbose=true)
Build a new reparametrization wrapper for the given function, using all available parameters...
void enableFirstOrderDerivatives(bool yn)
Tell if derivatives must be computed.
The parameter list object.
virtual const FunctionInterface & function() const
virtual std::shared_ptr< const FunctionInterface > getFunction() const
double getValue() const
Get the value of the function at the current point.
Function wrapper that remove simple constraints on parameters. Also transform first and second order ...
ReparametrizationDerivableSecondOrderWrapper(std::shared_ptr< SecondOrderDerivable > function, const ParameterList ¶meters, bool verbose=true)
Build a new reparametrization wrapper for the given function, using only the specified parameters...
double getSecondOrderDerivative(const std::string &variable) const
Get the second order derivative of the function at the current point.
bool matchParametersValues(const ParameterList ¶meters) override
Update the parameters from parameters.
virtual std::vector< std::string > getParameterNames() const
Get all parameter names in the list.
bool enableFirstOrderDerivatives() const
Tell if derivatives must be computed.
ReparametrizationDerivableSecondOrderWrapper * clone() const
Create a copy of this object and send a pointer to it.
ReparametrizationDerivableFirstOrderWrapper * clone() const
Create a copy of this object and send a pointer to it.
virtual ~ReparametrizationFunctionWrapper()
void enableSecondOrderDerivatives(bool yn)
Tell if derivatives must be computed.
virtual std::shared_ptr< FunctionInterface > getFunction()
ReparametrizationFunctionWrapper(std::shared_ptr< FunctionInterface > function, const ParameterList ¶meters, bool verbose=true)
Build a new reparametrization wrapper for the given function, using only the specified parameters...
Function wrapper that remove simple constraints on parameters.
Function wrapper that remove simple constraints on parameters. Also transform first order derivatives...
ReparametrizationFunctionWrapper * clone() const
Create a copy of this object and send a pointer to it.
void setParameters(const ParameterList ¶meters)
Set the point where the function must be computed.
virtual ~ReparametrizationDerivableSecondOrderWrapper()
ReparametrizationDerivableFirstOrderWrapper(std::shared_ptr< FirstOrderDerivable > function, const ParameterList ¶meters, bool verbose=true)
Build a new reparametrization wrapper for the given function, using only the specified parameters...
const Parameter & parameter(const std::string &name) const override
Get the parameter with specified name.
const ParameterList & getParameters() const override
Get all parameters available.
This is the abstract class for second order derivable functions.