|
bpp-core3
3.0.0
|
This is the abstract class for first order derivable functions. More...
#include <Bpp/Numeric/Function/Functions.h>
Inheritance diagram for bpp::FirstOrderDerivable:
Collaboration diagram for bpp::FirstOrderDerivable:Public Member Functions | |
| FirstOrderDerivable () | |
| virtual | ~FirstOrderDerivable () |
| FirstOrderDerivable * | clone () const =0 |
| Create a copy of this object and send a pointer to it. More... | |
| virtual void | enableFirstOrderDerivatives (bool yn)=0 |
| Tell if derivatives must be computed. More... | |
| virtual bool | enableFirstOrderDerivatives () const =0 |
| Tell if derivatives must be computed. More... | |
| virtual double | getFirstOrderDerivative (const std::string &variable) const =0 |
| Get the derivative of the function at the current point. More... | |
| virtual double | df (const std::string &variable, const ParameterList ¶meters) |
| Get the value of the first derivative of the function according to a given set of parameters. More... | |
| virtual void | setParameters (const ParameterList ¶meters)=0 |
| Set the point where the function must be computed. More... | |
| virtual double | getValue () const =0 |
| Get the value of the function at the current point. More... | |
| virtual double | f (const ParameterList ¶meters) |
| Get the value of the function according to a given set of parameters. More... | |
| virtual bool | hasParameter (const std::string &name) const =0 |
| Tell if there is a parameter with specified name. More... | |
| virtual const ParameterList & | getParameters () const =0 |
| Get all parameters available. More... | |
| virtual const Parameter & | parameter (const std::string &name) const =0 |
| Get the parameter with specified name. More... | |
| virtual double | getParameterValue (const std::string &name) const =0 |
| Get the value for parameter of name 'name'. More... | |
| virtual void | setAllParametersValues (const ParameterList ¶meters)=0 |
| Set the parameters values to be equals to those of parameters. More... | |
| virtual void | setParameterValue (const std::string &name, double value)=0 |
| Set the value of parameter with name name to be equal to value. More... | |
| virtual void | setParametersValues (const ParameterList ¶meters)=0 |
| Update the parameters from parameters. More... | |
| virtual bool | matchParametersValues (const ParameterList ¶meters)=0 |
| Update the parameters from parameters. More... | |
| virtual void | removeConstraint (const std::string &name)=0 |
| Remove the constraint associated with one parameter, if any. More... | |
| virtual void | setConstraint (const std::string &name, std::shared_ptr< ConstraintInterface > constraint)=0 |
| Set/Change the constraint associated with one parameter. More... | |
| virtual size_t | getNumberOfParameters () const =0 |
| Get the number of parameters. More... | |
| virtual void | setNamespace (const std::string &prefix)=0 |
| Set the namespace for the parameter names. More... | |
| virtual std::string | getNamespace () const =0 |
| virtual std::string | getParameterNameWithoutNamespace (const std::string &name) const =0 |
| Resolves a parameter name according to the current namespace. More... | |
Protected Member Functions | |
| virtual ParameterList & | getParameters_ ()=0 |
| Get all parameters available. More... | |
This is the abstract class for first order derivable functions.
This class adds the getFirstOrderDerivative() and df() shortcut functions.
Definition at line 96 of file Functions.h.
|
inline |
Definition at line 100 of file Functions.h.
|
inlinevirtual |
Definition at line 101 of file Functions.h.
References bpp::Clonable::clone().
|
pure virtual |
Create a copy of this object and send a pointer to it.
Implements bpp::Clonable.
Implemented in bpp::ReparametrizationDerivableSecondOrderWrapper, bpp::SecondOrderDerivable, bpp::LogsumHmmLikelihood, bpp::RescaledHmmLikelihood, bpp::ReparametrizationDerivableFirstOrderWrapper, bpp::LowMemoryRescaledHmmLikelihood, bpp::AbstractNumericalDerivative, bpp::ThreePointsNumericalDerivative, bpp::FivePointsNumericalDerivative, bpp::TwoPointsNumericalDerivative, and bpp::HmmLikelihood.
|
inlinevirtual |
Get the value of the first derivative of the function according to a given set of parameters.
| variable | The name of the variable in . |
| parameters | The parameter set to pass to the function. |
| Exception | If an error occured. |
Definition at line 138 of file Functions.h.
References bpp::FunctionInterface::setParameters().
|
pure virtual |
Tell if derivatives must be computed.
| yn | yes/no |
Implemented in bpp::FirstOrderDerivableWrapper, bpp::ReparametrizationDerivableFirstOrderWrapper, bpp::AbstractNumericalDerivative, and bpp::AbstractHmmLikelihood.
Referenced by bpp::ConjugateGradientMultiDimensions::doInit(), bpp::BfgsMultiDimensions::doInit(), bpp::ConjugateGradientMultiDimensions::doStep(), and bpp::BfgsMultiDimensions::doStep().
|
pure virtual |
Tell if derivatives must be computed.
Implemented in bpp::FirstOrderDerivableWrapper, bpp::ReparametrizationDerivableFirstOrderWrapper, bpp::AbstractNumericalDerivative, and bpp::AbstractHmmLikelihood.
|
inlinevirtualinherited |
Get the value of the function according to a given set of parameters.
| parameters | The parameter set to pass to the function. |
| Exception | If an error occured. |
Reimplemented in bpp::InfinityFunctionWrapper, bpp::FunctionWrapper, and bpp::AbstractNumericalDerivative.
Definition at line 82 of file Functions.h.
References bpp::FunctionInterface::getValue(), and bpp::FunctionInterface::setParameters().
Referenced by bpp::NumTools::uniRoot().
|
pure virtual |
Get the derivative of the function at the current point.
| variable | The name of the variable in . |
| Exception | If no point is specified or if an error occured. |
Implemented in bpp::FirstOrderDerivableWrapper, bpp::ReparametrizationDerivableFirstOrderWrapper, bpp::AbstractNumericalDerivative, and bpp::AbstractHmmLikelihood.
Referenced by bpp::NewtonOneDimension::doStep(), bpp::AbstractHmmLikelihood::enableFirstOrderDerivatives(), bpp::ConjugateGradientMultiDimensions::getGradient(), and bpp::BfgsMultiDimensions::getGradient().
|
pure virtualinherited |
Implemented in bpp::FunctionWrapper, bpp::ParametrizableAdapter, and bpp::AbstractParametrizable.
Referenced by bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Get the number of parameters.
Implemented in bpp::FunctionWrapper, bpp::ParametrizableAdapter, bpp::AbstractParametrizable, and bpp::DirectionFunction.
Referenced by bpp::BppODiscreteDistributionFormat::writeDiscreteDistribution(), and bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Resolves a parameter name according to the current namespace.
Implemented in bpp::FunctionWrapper, bpp::ParametrizableAdapter, and bpp::AbstractParametrizable.
Referenced by bpp::BppODiscreteDistributionFormat::readDiscreteDistribution(), bpp::BppOParametrizableFormat::write(), and bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Get all parameters available.
Implemented in bpp::FunctionWrapper, bpp::ParametrizableAdapter, bpp::DirectionFunction, and bpp::AbstractParametrizable.
Referenced by bpp::ParameterAliasableAdapter::getIndependentParameters(), bpp::BppODiscreteDistributionFormat::readDiscreteDistribution(), bpp::BppOParametrizableFormat::write(), and bpp::Parametrizable::~Parametrizable().
|
protectedpure virtualinherited |
Get all parameters available.
Implemented in bpp::FunctionWrapper, bpp::AbstractParametrizable, and bpp::DirectionFunction.
Referenced by bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Get the value for parameter of name 'name'.
| name | The name of the parameter. |
Implemented in bpp::FunctionWrapper, bpp::ParametrizableAdapter, and bpp::AbstractParametrizable.
Referenced by bpp::BppODiscreteDistributionFormat::readDiscreteDistribution(), and bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Get the value of the function at the current point.
| Exception | If no point is specified or if an error occured. |
Implemented in bpp::TestFunction, bpp::InfinityFunctionWrapper, bpp::FunctionWrapper, bpp::LogsumHmmLikelihood, bpp::RescaledHmmLikelihood, bpp::LowMemoryRescaledHmmLikelihood, bpp::ReparametrizationFunctionWrapper, bpp::ThreePointsNumericalDerivative, bpp::FivePointsNumericalDerivative, bpp::TwoPointsNumericalDerivative, and bpp::DirectionFunction.
Referenced by bpp::FunctionInterface::f(), bpp::AbstractNumericalDerivative::f(), bpp::InfinityFunctionWrapper::f(), and bpp::FunctionInterface::~FunctionInterface().
|
pure virtualinherited |
Tell if there is a parameter with specified name.
| name | The name of the parameter to look for. |
Implemented in bpp::FunctionWrapper, bpp::ParametrizableAdapter, and bpp::AbstractParametrizable.
Referenced by bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Update the parameters from parameters.
Only common parameters with parameters will be updated.
| parameters | A list of parameters. |
| ConstraintException | If a value in parameters does not match the constraint in the corresponding parameter in the list. |
Implemented in bpp::InfinityFunctionWrapper, bpp::FunctionWrapper, bpp::AbstractNumericalDerivative, bpp::ParametrizableAdapter, and bpp::AbstractParametrizable.
Referenced by bpp::BppODiscreteDistributionFormat::initialize_(), bpp::TestFunction::setParameters(), and bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Get the parameter with specified name.
| name | The name of the parameter to look for. |
| ParameterNotFoundException | if no parameter with this name is found. |
Implemented in bpp::FunctionWrapper, bpp::ParametrizableAdapter, and bpp::AbstractParametrizable.
Referenced by bpp::TestFunction::getValue(), and bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Remove the constraint associated with one parameter, if any.
| name | The name of the parameter to look for. |
| ParameterNotFoundException | if no parameter with this name is found. |
Implemented in bpp::FunctionWrapper, bpp::ParametrizableAdapter, and bpp::AbstractParametrizable.
Referenced by bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Set the parameters values to be equals to those of parameters.
The list must contain exactly the same parameters (ie same names) than the parameters available.
| parameters | A list with all parameters. |
| ParameterNotFoundException | If a some parameter in the list is not in params. |
| ConstraintException | If a value in parameters does not match the constraint in the corresponding parameter in the list. |
Implemented in bpp::InfinityFunctionWrapper, bpp::FunctionWrapper, bpp::AbstractNumericalDerivative, bpp::ParametrizableAdapter, and bpp::AbstractParametrizable.
Referenced by bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Set/Change the constraint associated with one parameter.
| name | The name of the parameter to look for. |
| constraint | A pointer to the constraint (may be null) |
| ParameterNotFoundException | if no parameter with this name is found. |
Implemented in bpp::FunctionWrapper, bpp::ParametrizableAdapter, and bpp::AbstractParametrizable.
Referenced by bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Set the namespace for the parameter names.
| prefix | The 'namespace', that is a prefix to add to all parameter names. If parameter names are already prefixed, the new prefix will be used instead. |
Implemented in bpp::FunctionWrapper, bpp::ParametrizableAdapter, bpp::LogsumHmmLikelihood, bpp::RescaledHmmLikelihood, bpp::LowMemoryRescaledHmmLikelihood, bpp::AbstractParameterAliasable, bpp::MixtureOfDiscreteDistributions, bpp::AbstractParametrizable, and bpp::InvariantMixedDiscreteDistribution.
Referenced by bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Set the point where the function must be computed.
| parameters | The parameter set to pass to the function. |
Implemented in bpp::TestFunction, bpp::InfinityFunctionWrapper, bpp::FunctionWrapper, bpp::AbstractNumericalDerivative, bpp::LogsumHmmLikelihood, bpp::RescaledHmmLikelihood, bpp::LowMemoryRescaledHmmLikelihood, bpp::ReparametrizationFunctionWrapper, and bpp::DirectionFunction.
Referenced by bpp::SecondOrderDerivable::d2f(), bpp::InfinityDerivableSecondOrderWrapper::d2f(), df(), bpp::InfinityDerivableFirstOrderWrapper::df(), bpp::FunctionInterface::f(), bpp::AbstractNumericalDerivative::f(), bpp::InfinityFunctionWrapper::f(), and bpp::FunctionInterface::~FunctionInterface().
|
pure virtualinherited |
Update the parameters from parameters.
parameters must be a subset of all parameters available.
| parameters | A list containing all parameters to update. |
| ParameterNotFoundException | If a some parameter in params is not in the list. |
| ConstraintException | If a value in parameters does not match the constraint in the corresponding parameter in the list. |
Implemented in bpp::InfinityFunctionWrapper, bpp::FunctionWrapper, bpp::AbstractNumericalDerivative, bpp::ParametrizableAdapter, and bpp::AbstractParametrizable.
Referenced by bpp::Parametrizable::~Parametrizable().
|
pure virtualinherited |
Set the value of parameter with name name to be equal to value.
| name | the name of the parameter to set. |
| value | The value of the parameter. |
| ParameterNotFoundException | If no parameter in the list has the name name. |
| ConstraintException | If value does not match the constraint associated to parameter name. |
Implemented in bpp::InfinityFunctionWrapper, bpp::FunctionWrapper, bpp::AbstractNumericalDerivative, bpp::ParametrizableAdapter, and bpp::AbstractParametrizable.
Referenced by bpp::Parametrizable::~Parametrizable().