|
| roboptim |
| defined(EIGEN_RUNTIME_NO_MALLOC) && !defined(ROBOPTIM_DO_NOT_CHECK_ALLOCATION)
|
|
void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: selection.hxx:65
GenericTwiceDifferentiableFunction(size_type inputSize, size_type outputSize=1, std::string name=std::string())
Concrete class constructor should call this constructor.
Definition: twice-differentiable-function.hxx:29
ROBOPTIM_CORE_DECLARE_AUTOPROMOTE(GenericNumericQuadraticFunction< EigenMatrixDense >, GenericQuadraticFunction< EigenMatrixDense >)
jacobian_t jacobian(const_argument_ref argument, size_type order=0) const
Computes the jacobian.
Definition: derivable-parametrized-function.hh:107
virtual std::ostream & print(std::ostream &o) const
Display the function on the specified output stream.
Definition: constant.hh:71
static Gnuplot make_interactive_gnuplot(bool with_header=true)
Instanciate a Gnuplot suitable for interactive use.
Definition: gnuplot.hh:68
Function::discreteInterval_t discreteInterval_t
Import discrete interval type from function.
Definition: matplotlib-function.hh:38
Gnuplot & operator<<(gnuplot::Command)
Definition: gnuplot.cc:59
virtual std::ostream & print(std::ostream &o) const
Display the function on the specified output stream.
Definition: n-times-derivable-function.hh:158
static size_type listOutputSize(const functionList_t &functions)
Get the output size from the function list.
Definition: function-pool.hxx:278
F result_t
Import result type.
Definition: parametrized-function.hh:65
void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Definition: bind.hxx:102
V & right()
Definition: minus.hh:62
void operator()(const T &val) const
Definition: solver-state.hxx:61
Command plot_jac(const GenericDifferentiableFunction< T > &f, typename GenericDifferentiableFunction< T >::const_argument_ref arg)
Plot the Jacobian structure with Gnuplot.
Definition: gnuplot-differentiable-function.hh:69
GenericConstantFunction(size_type input_size, const_vector_ref offset)
Build a constant function.
Definition: constant.hh:56
std::ostream & green(std::ostream &o)
Definition: terminal-color.hh:63
DummySolver(const problem_t &problem)
Build a solver from a problem.
Definition: dummy.cc:28
std::string sparse_matrix_to_gnuplot(GenericFunctionTraits< EigenMatrixSparse >::const_matrix_ref mat)
Definition: gnuplot-matrix.cc:87
Matplotlib & operator<<(matplotlib::Command)
Definition: matplotlib.cc:142
virtual ~Result()
Definition: result.cc:45
const T & getMinimum()
Get real result.
Definition: generic-solver.hh:134
differentiableFunction_t::jacobian_ref JacBlock
return type of the getJacobianBlock() method
Definition: structured-input.hh:60
vector_ref b()
Definition: numeric-linear-function.hh:75
#define ROBOPTIM_DEBUG_ONLY(X)
Definition: include/roboptim/core/debug.hh:45
virtual std::ostream & print(std::ostream &) const
Display the problem on the specified output stream.
Definition: solver-warning.cc:30
bool checkJacobian(const GenericDifferentiableFunction< T > &function, typename GenericDifferentiableFunction< T >::const_argument_ref x, typename GenericDifferentiableFunction< T >::value_type threshold=finiteDifferenceThreshold)
Check if a Jacobian is valid.
Definition: finite-difference-gradient.hxx:300
ROBOPTIM_DLLAPI Command figure()
argument_t xEps_
Definition: decorator/finite-difference-gradient.hh:335
const_iterator cend() const
Iterator to the end of the cache.
Definition: cache.hxx:161
~GenericConstantFunction()
Definition: constant.hh:64
void impl_jacobian(jacobian_ref jacobian, const_argument_ref) const
Definition: constant.hh:89
std::vector< name_t > names_t
Type of a vector of function argument names.
Definition: function.hh:216
boost::shared_ptr< Plus< U, V > > operator+(boost::shared_ptr< U > left, boost::shared_ptr< V > right)
Definition: plus.hh:95
U::rowVector_ref rowVectorU_ref
Definition: product.hxx:53
void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Definition: product.hxx:272
double normalize(double x)
Apply normalize to a scalar.
Definition: util.hxx:141
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericDifferentiableFunction< T >)
std::vector< interval_t > intervals_t
Vector of intervals.
Definition: function.hh:243
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericDifferentiableFunction< T >)
static value_type getLowerBound(const discreteInterval_t &interval)
Get the lower bound of a discrete interval.
Definition: function.hh:337
T::traits_t traits_t
Import traits type.
Definition: cached-function.hh:63
virtual void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0, size_type order=0) const =0
Gradient evaluation.
boost::unordered_map< mapKey_t, typename valuePool_t::iterator > map_t
Map from map's key to iterator in the value pool.
Definition: cache.hh:75
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericDifferentiableFunction< typename U::traits_t >)
V::vector_t vectorV_t
Definition: product.hxx:47
ROBOPTIM_DLLAPI bool is_malloc_allowed_update(bool update=false, bool new_value=false)
Update the static variable used for Eigen::set_is_malloc_allowed.
Definition: alloc.cc:22
ROBOPTIM_DLLAPI std::ostream & incendl(std::ostream &o)
Increment the indentation, print an end of line, and set the indentation.
Definition: indent.cc:64
P::size_type size_type
Definition: optimization-logger.hxx:73
void setZero(hessian_ref symmetric) const
Set a symmetric matrix to zero.
Definition: twice-differentiable-function.hh:176
value_type uniformNorm() const
Definition: optimization-logger.hxx:94
std::ostream & yellow(std::ostream &o)
Definition: terminal-color.hh:70
std::string description
Parameter description (for humans).
Definition: solver.hh:63
solver_t::callback_t callback_t
Definition: optimization-logger.hh:50
ROBOPTIM_DLLAPI Command clear()
Make a Gnuplot clear command.
const constraints_t & constraints() const
Retrieve constraints.
Definition: problem.hxx:316
const GenericFunction< T > & adaptee_
Wrapped function.
Definition: decorator/finite-difference-gradient.hh:182
F::size_type size_type
Import size type.
Definition: derivable-parametrized-function.hh:44
U::gradient_t gradientU_t
Definition: product.hxx:56
virtual std::ostream & print(std::ostream &o) const
Display the function on the specified output stream.
Definition: differentiable-function.hxx:80
void attach()
Register the multiplexer with the solver.
Definition: multiplexer.hxx:98
detail::shared_ptr_variant< functionTypeList_t >::type function_t
Type of the functions in the pool.
Definition: function-pool.hh:72
virtual ~Polynomial()
Definition: polynomial.hh:50
roboptim::GenericDifferentiableFunction< typename FuncType::traits_t > differentiableFunction_t
Differentiable function type.
Definition: structured-input.hh:57
GenericDifferentiableFunction< traits_t >::interval_t interval_t
Import interval type.
Definition: cached-function.hh:70
void impl_hessian(hessian_ref hessian, const_argument_ref x, size_type) const
Hessian evaluation.
Definition: sin.hh:105
bool isValidJacobian(const_jacobian_ref jacobian) const
Check if the jacobian is valid (check sizes).
Definition: derivable-parametrized-function.hh:96
void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Definition: selection.hxx:75
Plus< U, V >::parent_t T_type
Definition: autopromote.hh:88
virtual std::ostream & print(std::ostream &o) const
Display the exception on the specified output stream.
Definition: finite-difference-gradient.hxx:95
virtual std::ostream & print(std::ostream &o) const
Display the function on the specified output stream.
Definition: cos.hh:52
GenericFunction< T >::size_type inputSize() const
Return the input size (i.e.
Definition: function.hh:436
SolverState< problem_t > solverState_t
Type of the state of the solver.
Definition: multiplexer.hh:51
size_type maxDeltaCol_
Definition: decorator/finite-difference-gradient.hh:122
F::value_type value_type
Definition: solver-state.hh:46
virtual ~GenericSolver()
Definition: generic-solver.cc:41
GenericFunction< EigenMatrixSparse > SparseFunction
Sparse function.
Definition: fwd.hh:69
boost::shared_ptr< U > & origin()
Definition: scalar.hh:55
static value_type getLowerBound(const interval_t &interval)
Get the lower bound of an interval.
Definition: function.hh:281
F::const_argument_ref const_argument_ref
Definition: parametrized-function.hh:68
static const int StorageOrder
Default matrix storage order.
Definition: function.hh:125
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(parentType_t)
void hessian(hessian_ref hessian, const_argument_ref argument, size_type functionId=0) const
Compute the hessian at a given point.
Definition: twice-differentiable-function.hh:121
hash_t mapKey_t
Key type for the underlying map.
Definition: cache.hh:70
Tag type for functions using Eigen sparse matrices.
Definition: fwd.hh:61
void jacobian_from_gradients(DifferentiableFunction::matrix_ref jac, const std::vector< const T * > &c, DifferentiableFunction::const_vector_ref x)
Definition: util.hxx:28
bool isValidHessian(const_hessian_ref hessian) const
Check if the hessian is valid (check sizes).
Definition: twice-differentiable-function.hh:93
Checks whether the function type derives from DifferentiableFunction or DifferentiableSparseFunction.
Definition: utility.hh:242
void StateParameterPrint(std::ostream &o, const T &val)
Print the value of a state parameter.
Definition: solver-state.hxx:32
GenericSolver()
Definition: generic-solver.cc:29
Definition: autopromote.hh:73
ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericLinearFunction< T >)
jacobianCache_t jacobianCache_
Definition: cached-function.hh:171
std::ostream & warn(std::ostream &o)
Definition: terminal-color.hh:104
DerivativeParent< U >::result_t parentType_t
Definition: derivative.hh:60
ROBOPTIM_DLLEXPORT void destroy(solver_t *p)
Definition: dummy-td.cc:85
virtual ~DummySolverTd()
Definition: dummy-td.cc:48
Gnuplot script.
Definition: gnuplot.hh:49
P::function_t::const_argument_ref const_argument_ref
Definition: optimization-logger.hxx:42
ROBOPTIM_DLLAPI Command show(const char *var)
Make a Gnuplot show command.
Definition: gnuplot-commands.cc:118
Some useful types for product differentiation.
Definition: product.hxx:36
V value_t
Type of values.
Definition: cache.hh:51
function_t::vector_t vector_t
Vector type.
Definition: problem.hh:298
vector_t constraints
Constraints final values.
Definition: result.hh:71
V::vector_ref vectorV_ref
Definition: product.hxx:49
Function::discreteInterval_t discreteInterval_t
Import discrete interval type from function.
Definition: gnuplot-function.hh:37
void computeJacobian(value_type epsilon, jacobian_ref jacobian, const_argument_ref argument, argument_ref xEps) const
Definition: finite-difference-gradient.hxx:709
argument_t x_
Jacobian has been computed for this point.
Definition: decorator/finite-difference-gradient.hh:109
ROBOPTIM_DLLAPI Command replot()
Make a Gnuplot replot command.
void impl_compute(result_ref result, const_argument_ref x) const
Definition: cos.hh:58
GenericConstantFunction(const_vector_ref offset)
Build a constant function.
Definition: constant.hh:44
DifferentiableFunction DerivableFunction
Legacy name of TwiceDifferentiableFunction.
Definition: derivable-function.hh:26
virtual std::ostream & print(std::ostream &) const
Display the solver state on the specified output stream.
Definition: solver-state.hxx:175
virtual void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Definition: function-pool.hxx:227
solver_t::problem_t problem_t
Definition: optimization-logger.hh:45
BadGradient(const_argument_ref x, const_gradient_ref analyticalGradient, const_gradient_ref finiteDifferenceGradient, const value_type &threshold)
Default constructor.
Definition: finite-difference-gradient.hxx:60
std::pair< size_type, size_type > jacobianSize_t
Jacobian size type (pair of values).
Definition: differentiable-function.hh:90
Map(boost::shared_ptr< U > origin, size_type repeat)
Map operator constructor.
Definition: map.hxx:26
ResultWithWarnings(const Function::size_type inputSize, const Function::size_type outputSize=1)
Instantiate the class from an input/output size.
Definition: result-with-warnings.cc:31
Bind(boost::shared_ptr< U > origin, const boundValues_t &selector)
Definition: bind.hxx:27
virtual void impl_derivative(gradient_ref derivative, value_type argument, size_type order=1) const
Definition: split.hxx:146
std::ostream & blue(std::ostream &o)
Definition: terminal-color.hh:77
parent_t::problem_t problem_t
Problem type.
Definition: dummy-laststate.hh:49
size_type inputSize
Input size (i.e. argument size).
Definition: result.hh:63
GenericDifferentiableFunction< EigenMatrixSparse > DifferentiableSparseFunction
Sparse differentiable function.
Definition: fwd.hh:77
virtual ~StateParameter()
Virtual destructor.
Definition: solver-state.hh:64
~GenericNumericQuadraticFunction()
Definition: numeric-quadratic-function.hxx:56
F::jacobian_t jacobian_t
Import jacobian type.
Definition: derivable-parametrized-function.hh:59
CachedFunction(boost::shared_ptr< T > fct, size_t size=10)
Cache a RobOptim function.
Definition: cached-function.hxx:82
boost::shared_ptr< Product< U, V > > operator*(boost::shared_ptr< U > left, boost::shared_ptr< V > right)
Definition: product.hh:100
GenericFunction(size_type inputSize, size_type outputSize=1, std::string name=std::string())
Concrete class constructor should call this constructor.
Definition: function.hh:550
Product< U, V >::gradient_t gradient_t
Definition: product.hxx:58
Multiply by a constant scalar value.
Definition: fwd.hh:86
Check that CLIST_ is a subset of CLIST (i.e.
Definition: utility.hh:286
boost::shared_ptr< Selection< U > > selection(boost::shared_ptr< U > origin, typename Selection< U >::size_type start=0, typename Selection< U >::size_type size=1)
Definition: selection.hh:86
F function_t
Function type.
Definition: problem.hh:81
PrintSolverParameter(std::ostream &o)
Definition: solver.cc:28
GenericDummySolverLastState(const problem_t &problem)
Build a solver from a problem.
Definition: dummy-laststate.hxx:24
void impl_compute(result_ref, const_argument_ref) const
Definition: numeric-linear-function.hxx:67
size_t getNumBlocks() const
Returns the number of blocks defined by the function.
Definition: structured-input.hxx:51
derivative_t derivative(value_type argument, size_type order=1) const
Compute the derivative of the function.
Definition: n-times-derivable-function.hh:129
OptimizationLogger(solver_t &solver, const boost::filesystem::path &path, bool selfRegister=true)
Constructor.
Definition: optimization-logger.hxx:195
virtual size_type derivabilityOrderMax() const
Returns the maximum derivability order (relevant for N>2 only)
Definition: n-times-derivable-function.hh:70
matplotlib script
Definition: matplotlib.hh:50
ConstSegment getInputBlock(typename FuncType::const_argument_ref input, size_t blockInd) const
Reads a specified block of data from an input argument.
Definition: structured-input.hxx:57
Log the optimization process (values, Jacobians, time taken etc.).
Definition: optimization-logger.hh:41
std::map< std::string, Parameter > parameters_t
Map of parameters.
Definition: solver.hh:97
virtual ~GenericFunction()
Trivial destructor.
Definition: function.hh:562
virtual size_type derivabilityOrderMax() const
Returns the maximum derivability order.
Definition: n-times-derivable-function.hh:292
ROBOPTIM_DLLAPI Command show()
const_matrix_ref A() const
Definition: numeric-linear-function.hh:60
Concatenate(boost::shared_ptr< U > left, boost::shared_ptr< U > right)
Definition: concatenate.hxx:47
friend class Problem
Definition: problem.hh:273
ROBOPTIM_DLLAPI Command reset()
Make a Gnuplot reset command.
void gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0, size_type order=0) const
Computes the gradient.
Definition: derivable-parametrized-function.hh:157
~Minus()
Definition: minus.hxx:49
void clear()
Clear the vector of commands.
Definition: gnuplot.cc:72
void insert(const_key_ref key, const_value_ref value)
Insert a value into the cache.
Definition: cache.hxx:71
std::vector< hessianCache_t > hessianCache_
Definition: cached-function.hh:172
void impl_gradient(gradient_ref gradient, const_argument_ref x, size_type functionId=0) const
Definition: derivative.hh:113
H hasher_t
Hasher type.
Definition: cache.hh:57
result_t result_
Optimization result.
Definition: generic-solver.hh:141
F::matrix_t matrix_t
Import matrix type.
Definition: derivable-parametrized-function.hh:48
F::gradient_t gradient_t
Import gradient type.
Definition: derivable-parametrized-function.hh:55
void copySparseBlock(U &matrix, const U &block, Function::size_type startRow, Function::size_type startCol, bool compress=false)
Copy a sparse block into a sparse matrix.
Definition: util.hxx:111
virtual void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Definition: cached-function.hxx:251
ROBOPTIM_DLLAPI Command comment(const char *)
Make a matplotlib comment.
Definition: matplotlib-commands.cc:100
F::jacobian_ref jacobian_ref
Definition: derivable-parametrized-function.hh:60
boost::shared_ptr< U > & origin()
Definition: selection.hh:58
const boost::shared_ptr< V > & right() const
Definition: plus.hh:57
DifferentiableSparseFunction DerivableSparseFunction
Legacy name of TwiceDifferentiableSparseFunction.
Definition: derivable-function.hh:29
ROBOPTIM_DLLAPI std::ostream & decindent(std::ostream &o)
Decrement the indentation.
Definition: indent.cc:41
virtual ~Policy()
Virtual destructor.
Definition: decorator/finite-difference-gradient.hh:158
virtual void impl_hessian(hessian_ref hessian, const_argument_ref argument, size_type functionId=0) const =0
Hessian evaluation.
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(parentType_t)
void impl_gradient(gradient_ref gradient, const_argument_ref, size_type idFunction) const
Definition: identity.hh:100
boost::shared_ptr< Bind< U > > bind(boost::shared_ptr< U > origin, const typename Bind< U >::boundValues_t &boundValues)
Definition: bind.hh:85
ROBOPTIM_DLLAPI long int & indent(std::ostream &o)
The current indentation level for o.
Definition: indent.cc:28
ROBOPTIM_DLLEXPORT void destroy(solver_t *p)
Definition: dummy-d-sparse-laststate.cc:53
Define an abstract mathematical function ( ).
Definition: function.hh:160
scalingVect_t scalesVect_t ROBOPTIM_CORE_DEPRECATED
Vector of scaling vectors (deprecated typedef).
Definition: problem.hh:344
Whether a sequence of types contains a base of a given type.
Definition: utility.hh:171
std::ostream & impl_print(std::ostream &o, const T &t)
Definition: problem.hxx:549
GenericTwiceDifferentiableFunction< EigenMatrixDense > TwiceDifferentiableFunction
Definition: fwd.hh:123
boost::variant< NoSolution, Result, ResultWithWarnings, SolverError > result_t
Result type.
Definition: generic-solver.hh:73
iterator begin()
Iterator to the beginning of the cache.
Definition: cache.hxx:140
boost::disable_if< boost::is_same< traits_t, EigenMatrixDense > > isNotDense_t
Definition: concatenate.hxx:41
virtual void solve()
Implement the solve algorithm.
Definition: dummy-laststate.hxx:52
P::constraint_t operator()(const U &c) const
Definition: utility.hh:335
Visitor used to print state parameters (variant).
Definition: solver-state.hxx:52
virtual void impl_compute(result_ref result, const_argument_ref argument) const =0
Function evaluation.
V & right()
Definition: chain.hh:78
Concatenate the output of two functions.
Definition: concatenate.hh:45
Multiplexer(solver_t &solver)
Default constructor containing no callback.
Definition: multiplexer.hxx:29
const ROBOPTIM_DLLEXPORT char * getTypeIdOfConstraintsList()
Definition: dummy.cc:75
unsigned callbackCallId() const
Return the callback iteration index.
Definition: optimization-logger.hxx:581
std::string dense_matrix_to_matplotlib(GenericFunctionTraits< EigenMatrixDense >::const_matrix_ref mat, MatrixPlotType::Type type)
Definition: matplotlib-matrix.cc:62
V::jacobian_ref jacobianV_ref
Definition: product.hxx:67
T2 T_promote
Definition: autopromote.hh:163
Sum two RobOptim functions.
Definition: fwd.hh:82
boost::optional< value_type > constraintViolation_
Current constraint violation.
Definition: solver-state.hh:163
void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: map.hxx:69
Checks whether the function type derives from NTimesDerivableFunction.
Definition: utility.hh:262
std::vector< functionCache_t > cache_
Definition: cached-function.hh:169
matplotlib command.
Definition: matplotlib-commands.hh:78
Select a block of a function's output.
Definition: selection.hh:37
Simple(const GenericFunction< T > &adaptee)
Definition: decorator/finite-difference-gradient.hh:203
F::gradient_ref const_gradient_ref
Definition: derivable-parametrized-function.hh:57
Cos()
Build a cosinus function.
Definition: cos.hh:40
Return the type of a const reference to an Eigen matrix, using Eigen's Ref.
Definition: utility.hh:106
void reset()
Force to restart the optimization.
Definition: generic-solver.cc:46
Fast finite difference gradient computation.
Definition: decorator/finite-difference-gradient.hh:195
SolverError(const std::string &arg)
Instantiate an error from an error message.
Definition: solver-error.cc:25
U::vector_t vectorU_t
Definition: product.hxx:46
Tag type for functions using Eigen dense matrices.
Definition: fwd.hh:59
value_type maxDelta_
Maximum error.
Definition: decorator/finite-difference-gradient.hh:118
Checks whether the function types derives from Function or SparseFunction.
Definition: utility.hh:232
Represents the solution of an optimization problem.
Definition: result.hh:39
#define ROBOPTIM_CORE_VERSION
Definition: config.hh:20
Definition: autopromote.hh:28
boost::mpl::fold< CLIST, void, boost::mpl::if_< boost::is_base_of< boost::mpl::_2, C >, boost::mpl::if_< boost::is_void< boost::mpl::_1 >, boost::mpl::_2, detail::get_descendant< boost::mpl::_1, boost::mpl::_2 > >, boost::mpl::_1 > >::type type
Definition: utility.hh:223
F::size_type size_type
Import size type.
Definition: parametrized-function.hh:59
function_t::argument_t argument_t
Argument type.
Definition: problem.hh:90
Eigen::Ref< const typename FuncType::argument_t >::ConstSegmentReturnType ConstSegment
return type of the getInputBlock() method
Definition: structured-input.hh:132
boost::shared_ptr< Derivative< U > > derivative(boost::shared_ptr< U > origin, typename Derivative< U >::size_type variableId=0)
Definition: derivative.hh:132
Gnuplot command.
Definition: gnuplot-commands.hh:41
const boost::shared_ptr< V > & right() const
Definition: product.hh:57
LRUCache< cacheKey_t, vector_t, Hasher > functionCache_t
Definition: cached-function.hh:75
Utility structure used for product differentiation.
Definition: product.hxx:30
void impl_compute(result_ref result, const_argument_ref x) const
Definition: map.hxx:55
void computeGradient(value_type epsilon, gradient_ref gradient, const_argument_ref argument, size_type idFunction, argument_ref xEps) const
Definition: finite-difference-gradient.hxx:612
A pool of functions that will be processed together.
Definition: function-pool.hh:57
static interval_t makeUpperInterval(value_type u)
Construct an interval from an upper bound.
Definition: function.hh:273
ROBOPTIM_DLLEXPORT std::size_t getSizeOfProblem()
Definition: dummy-d-sparse-laststate.cc:37
CachedFunction< T > cachedFunction_t
Definition: cached-function.hxx:50
Transform a types list into a types list of shared pointers.
Definition: utility.hh:56
std::list< hash_t > keyTracker_t
List used to track key usage.
Definition: cache.hh:67
T traits_t
Traits type.
Definition: function.hh:167
Exception thrown when a gradient check fails.
Definition: decorator/finite-difference-gradient.hh:38
solver_t::callback_t callback_t
Callback function type.
Definition: multiplexer.hh:54
F::jacobianSize_t jacobianSize_t
Import jacobian size type (pair of values).
Definition: derivable-parametrized-function.hh:64
ROBOPTIM_DLLAPI Command cd(const char *dir)
Make a Gnuplot cd command.
static interval_t makeInfiniteInterval()
Construct an infinite interval.
Definition: function.hh:257
boost::shared_ptr< Map > MapShPtr_t
Definition: map.hh:48
GenericDifferentiableFunction< EigenMatrixDense > DifferentiableFunction
Dense differentiable function.
Definition: fwd.hh:73
iterator end()
Iterator to the end of the cache.
Definition: cache.hxx:147
SolverWarning(const std::string &arg)
Instantiate the class with a message.
Definition: solver-warning.cc:24
virtual std::ostream & print(std::ostream &) const
Display the cache on the specified output stream.
Definition: cache.hxx:215
Define a function, derivable n times ( ).
Definition: fwd.hh:142
const_iterator find(const_key_ref key) const
Find an element in the cache.
Definition: cache.hxx:168
Split(boost::shared_ptr< const T > fct, size_type functionId)
Split operator constructor.
Definition: split.hxx:42
std::string set_red_yellow_blue_cmap()
Definition: matplotlib-matrix.cc:48
T::traits_t traits_t
Import traits type.
Definition: split.hh:37
@ Structure
Definition: matplotlib-matrix.hh:44
void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Definition: concatenate.hxx:134
Solver< TwiceDifferentiableFunction, boost::mpl::vector< TwiceDifferentiableFunction > > parent_t
Define parent's type.
Definition: dummy-td.hh:40
virtual void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const =0
Gradient evaluation.
const boost::shared_ptr< U > & origin() const
Definition: scalar.hh:50
void checkJacobianAndThrow(const GenericDifferentiableFunction< T > &function, typename GenericDifferentiableFunction< T >::const_argument_ref x, typename GenericDifferentiableFunction< T >::value_type threshold=finiteDifferenceThreshold)
Definition: finite-difference-gradient.hxx:316
boost::enable_if< boost::is_same< traits_t, EigenMatrixDense > > isDense_t
Definition: concatenate.hxx:37
F function_t
Function type.
Definition: problem.hh:285
void impl_gradient(gradient_ref gradient, const_argument_ref x, size_type) const
Definition: sin.hh:82
boost::shared_ptr< Map< U > > map(boost::shared_ptr< U > origin, typename U::size_type repeat)
Definition: map.hh:88
Scalar(boost::shared_ptr< U > fct, value_type scalar)
Create a scalar operator.
Definition: scalar.hxx:26
ROBOPTIM_DLLAPI std::ostream & decendl(std::ostream &o)
Decrement the indentation, print an end of line, and set the indentation.
Definition: indent.cc:69
Solver< F, boost::mpl::vector< F > > parent_t
Define parent's type.
Definition: dummy-laststate.hh:46
virtual std::ostream & print(std::ostream &o) const
Display the result on the specified output stream.
Definition: result.cc:50
const scalingVect_t & scalingVector() const
Retrieve constraints scaling vector.
Definition: problem.hxx:477
virtual void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg, size_type order=0) const
Jacobian evaluation.
Definition: derivable-parametrized-function.hh:200
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericDifferentiableFunction< T >)
std::ostream & reset(std::ostream &o)
Definition: terminal-color.hh:49
T T_type
Definition: autopromote.hh:75
GenericFunction< T >::size_type outputSize() const
Return the output size (i.e.
Definition: function.hh:444
static value_type epsilon()
Get the value of the machine epsilon, useful for floating types comparison.
Definition: function.hh:222
bool isValidGradient(const_gradient_ref gradient) const
Check if the gradient is valid (check size).
Definition: derivable-parametrized-function.hh:87
const bool & isPlot() const
Definition: matplotlib-commands.cc:65
const ROBOPTIM_DLLEXPORT char * getTypeIdOfConstraintsList()
Definition: dummy-laststate.cc:42
boost::shared_ptr< Bind > BindShPtr_t
Definition: bind.hh:48
GenericDifferentiableFunction< traits_t > differentiableFunction_t
Definition: optimization-logger.hh:57
ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericQuadraticFunction< T >)
boost::optional< argument_t > startingPoint_t
Optional vector defines a starting point.
Definition: problem.hh:310
void jacobian(jacobian_ref jacobian, const_argument_ref argument, size_type order=0) const
Computes the jacobian.
Definition: derivable-parametrized-function.hh:123
size_type derivativeSize() const
Return the size of the derivative vector.
Definition: n-times-derivable-function.hh:80
~Chain()
Definition: chain.hxx:55
void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: selection-by-id.hxx:80
ROBOPTIM_CORE_DECLARE_PRECISION(GenericFunction< EigenMatrixDense >, 1)
GenericIdentityFunction< EigenMatrixDense > IdentityFunction
Definition: fwd.hh:107
Checks whether C is a valid constraint type in CLIST.
Definition: utility.hh:199
#define ROBOPTIM_DLLAPI
Definition: portability.hh:63
const boost::shared_ptr< U > & left() const
Definition: chain.hh:63
void impl_hessian(hessian_ref hessian, const_argument_ref argument, size_type functionId=0) const
Hessian evaluation.
Definition: n-times-derivable-function.hh:254
boost::shared_ptr< Minus< U, V > > operator-(boost::shared_ptr< U > left, boost::shared_ptr< V > right)
Definition: minus.hh:95
bool isValidGradient(const_gradient_ref gradient) const
Check if the gradient is valid (check size).
Definition: differentiable-function.hh:112
matrix_t::Index size_type
Definition: function.hh:672
virtual ~BadJacobian()
Definition: finite-difference-gradient.hxx:202
std::vector< value_t > valuePool_t
Definition: cache.hh:62
Solver parameter type.
Definition: solver.hh:45
Policy< T > policy_t
Definition: decorator/finite-difference-gradient.hh:201
Polynomial function.
Definition: polynomial.hh:37
virtual ~NTimesDerivableFunction()
Definition: n-times-derivable-function.hh:75
ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericQuadraticFunction< T >)
void impl_compute(result_ref result, const_argument_ref x) const
Definition: scalar.hxx:45
virtual std::ostream & print(std::ostream &) const
Display the function on the specified output stream.
Definition: quadratic-function.hxx:32
boost::function< void(const problem_t &problem, solverState_t &state)> callback_t
Per-iteration callback type.
Definition: solver.hh:111
Definition: cached-function.hh:44
virtual void impl_compute(result_ref, const_argument_ref) const
Function evaluation.
Definition: finite-difference-gradient.hxx:236
virtual ~GenericDummySolverLastState()
Definition: dummy-laststate.hxx:47
std::size_t operator()(roboptim::Function::const_argument_ref x) const
Definition: cached-function.hh:35
const value_type epsilon_
Definition: decorator/finite-difference-gradient.hh:333
GenericFunction traits.
Definition: function.hh:139
std::ostream & operator<<(std::ostream &o, const LRUCache< K, V, H > &cache)
Definition: cache.hxx:232
SelectionById(boost::shared_ptr< U > origin, std::vector< bool > selector)
Definition: selection-by-id.hxx:26
std::vector< intervals_t > intervalsVect_t
Vector of interval vectors.
Definition: problem.hh:333
Converts CLIST to a boost::mpl::vector to ensure a similar behavior for codes using different random ...
Definition: utility.hh:161
Dummy solver which always fails.
Definition: dummy-td.hh:34
Parametrized function with parameter derivative available.
Definition: derivable-parametrized-function.hh:38
void impl_compute(result_ref result, const_argument_ref x) const
Definition: selection.hxx:56
Solver for a specific problem class.
Definition: fwd.hh:140
boost::shared_ptr< Concatenate > ConcatenateShPtr_t
Definition: concatenate.hh:54
ROBOPTIM_DLLEXPORT std::size_t getSizeOfProblem()
Definition: dummy-td.cc:70
bool isValidResult(const_result_ref result) const
Check the given result size is valid.
Definition: function.hh:428
~SelectionById()
Definition: selection-by-id.hxx:56
virtual std::ostream & print(std::ostream &) const
Display the function on the specified output stream.
Definition: twice-differentiable-function.hxx:38
virtual std::ostream & print(std::ostream &) const
Display the solver on the specified output stream.
Definition: solver.hxx:93
virtual ~BadGradient()
Definition: finite-difference-gradient.hxx:90
const boost::shared_ptr< U > & origin() const
Definition: selection-by-id.hh:48
Definition: concatenate.hh:36
Constant function.
Definition: constant.hh:35
detail::const_ref< key_t >::type const_key_ref
Type of const reference to key.
Definition: cache.hh:48
Gives access to a std::vector of std::pair<size_t, size_t> representing blocks of input Those blocks ...
Definition: structured-input.hh:36
static log4cxx::LoggerPtr logger
Pointer to function logger (see log4cxx documentation).
Definition: generic-solver.hh:144
boost::shared_ptr< Product > ProductShPtr_t
Definition: product.hh:42
LRU (Least Recently Used) cache.
Definition: cache.hh:41
boost::shared_ptr< SelectionById > SelectionByIdShPtr_t
Definition: selection-by-id.hh:42
intervals_t & argumentBounds()
Retrieve arguments bounds.
Definition: problem.hxx:463
~Concatenate()
Definition: concatenate.hxx:75
ROBOPTIM_DLLAPI Command set(const char *var, const char *val)
Make a matplotlib set command.
Definition: matplotlib-commands.cc:116
Result(const size_type inputSize, const size_type outputSize=1)
Instantiate a result and fix input/output sizes.
Definition: result.cc:30
Definition: optimization-logger.hxx:123
DummySolverTd::parent_t solver_t
Definition: dummy-td.cc:63
vector_ref b()
Definition: numeric-quadratic-function.hh:97
std::ostream & o_
Definition: solver-state.hxx:66
Define an abstract linear function.
Definition: fwd.hh:130
ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericTwiceDifferentiableFunction< traits_t >)
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(parentType_t)
Eigen::Block< Derived > getBlock(Eigen::SparseMatrixBase< Derived > &m, int colStart, int colLength)
Definition: structured-input.hxx:31
virtual ~OptimizationLogger()
Destructor.
Definition: optimization-logger.hxx:228
const std::string & command() const
Retrieve the command as a string.
Definition: matplotlib-commands.cc:71
virtual std::ostream & print(std::ostream &o) const
Display the function on the specified output stream.
Definition: derivable-parametrized-function.hh:172
LRUCache< cacheKey_t, jacobian_t, Hasher > jacobianCache_t
Definition: cached-function.hh:77
detail::shared_ptr_variant< constraintsList_t >::type constraint_t
Constraint's type.
Definition: problem.hh:292
Chain(boost::shared_ptr< U > left, boost::shared_ptr< V > right)
Chain operator constructor.
Definition: chain.hxx:26
virtual std::ostream & print(std::ostream &) const
Display the function on the specified output stream.
Definition: numeric-linear-function.hxx:108
~GenericFiniteDifferenceGradient()
Definition: finite-difference-gradient.hxx:229
ROBOPTIM_DLLAPI Command title(const char *argument)
const boost::filesystem::path & path() const
Return the path of the log directory.
Definition: optimization-logger.hxx:554
virtual void perIterationCallbackUnsafe(const problem_t &pb, solverState_t &state)
Meta-callback calling multiple callbacks.
Definition: multiplexer.hxx:85
P::function_t function_t
Import function type from problem.
Definition: solver-state.hh:91
value_type threshold_
Allowed threshold.
Definition: decorator/finite-difference-gradient.hh:125
ROBOPTIM_DLLEXPORT std::size_t getSizeOfProblem()
Definition: dummy-laststate.cc:37
GenericIdentityFunction(const_vector_ref offset)
Build an identity function.
Definition: identity.hh:43
size_type inputSize() const
Return the input size (i.e.
Definition: parametrized-function.hxx:44
ROBOPTIM_DLLAPI void vector_to_array(Function::value_type *dst, Function::const_vector_ref src)
Definition: util.cc:30
void impl_compute(result_ref result, const_argument_ref x) const
Definition: product.hxx:239
U & left()
Definition: product.hh:52
virtual void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: function-pool.hxx:216
virtual ~DummySolver()
Definition: dummy.cc:48
ROBOPTIM_DLLAPI GenericFunctionTraits< EigenMatrixDense >::matrix_t sparse_to_dense(GenericFunctionTraits< EigenMatrixSparse >::const_matrix_ref m)
Convert a sparse matrix into a dense matrix.
Definition: util.cc:61
function_t::names_t names_t
Vector of names (e.g. for arguments).
Definition: problem.hh:325
GenericDifferentiableFunction< traits_t > differentiableFunction_t
Type of differentiable functions.
Definition: optimization-logger.hxx:132
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(parentType_t)
const boost::shared_ptr< const parent_t > & baseFunction() const
Get base function Base function is the vector valued function given at construction of this class.
Definition: sum-of-c1-squares.hxx:56
Problem< F, boost::mpl::vector< F > > problem_t
Solver problem type.
Definition: solver.hh:91
V::gradient_ref gradientV_ref
Definition: product.hxx:60
virtual std::ostream & print(std::ostream &) const
Display the function on the specified output stream.
Definition: linear-function.hxx:43
std::ostream & ok(std::ostream &o)
Definition: terminal-color.hh:92
static discreteInterval_t makeDiscreteInterval(interval_t interval, value_type step)
Construct a discrete interval.
Definition: function.hh:325
LRUCache< cacheKey_t, hessian_t, Hasher > hessianCache_t
Definition: cached-function.hh:78
detail::PromoteTrait< U, V >::T_promote parentType_t
Definition: product.hh:39
boost::variant< value_type, vector_t, int, std::string, bool > parameterValues_t
Allowed types for solver parameters:
Definition: solver.hh:57
Solver< Function, boost::mpl::vector< Function > > parent_t
Define parent's type.
Definition: dummy.hh:38
boost::shared_ptr< Product< U, V > > product(boost::shared_ptr< U > left, boost::shared_ptr< V > right)
Definition: product.hh:93
std::map< std::string, StateParameter< function_t > > parameters_t
Map of parameters.
Definition: solver-state.hh:94
GenericLinearFunction(size_type inputSize, size_type outputSize=1, std::string name=std::string())
Concrete class constructor should call this constructor.
Definition: linear-function.hxx:26
virtual void setIterationCallback(callback_t)
Set the per-iteration callback.
Definition: solver.hh:169
Eigen::InnerStride<(SO==Eigen::RowMajor)? 1:-1 > type
Definition: utility.hh:146
GenericTwiceDifferentiableFunction< EigenMatrixSparse > TwiceDifferentiableSparseFunction
Definition: fwd.hh:127
void impl_hessian(hessian_ref hessian, const_argument_ref argument, size_type functionId=0) const
Definition: linear-function.hxx:34
std::ostream & orange(std::ostream &o)
Definition: terminal-color.hh:84
GenericFunctionTraits< T >::size_type size_type
Size type.
Definition: function.hh:204
boost::shared_ptr< Plus > PlusShPtr_t
Definition: plus.hh:42
Command plot(const GenericFunction< T > &f, discreteInterval_t interval)
Plot a 1D function with Gnuplot.
Definition: gnuplot-function.hh:62
detail::const_ref< mapKey_t >::type const_mapKey_ref
Definition: cache.hh:71
Policy(const GenericFunction< T > &adaptee)
Definition: decorator/finite-difference-gradient.hh:151
GenericDummySolverLastState< Function > DummySolverLastState
Definition: dummy-laststate.hh:86
void set_matrix_header(std::string &str, typename GenericFunctionTraits< T >::const_matrix_ref mat)
Definition: gnuplot-matrix.cc:36
std::vector< scaling_t > scalingVect_t
Vector of scaling vectors.
Definition: problem.hh:341
const boost::shared_ptr< U > & origin() const
Definition: selection.hh:53
AutopromoteTrait< T1_orig >::T_type T1
Definition: autopromote.hh:170
GenericSumOfC1Squares< EigenMatrixDense > SumOfC1Squares
Sum of the squares of dense differentiable functions.
Definition: sum-of-c1-squares.hh:90
Convert a constraint from a Boost.Variant to an adequate constraint type depending on the problem's c...
Definition: utility.hh:331
F::vector_t vector_t
Import vector type.
Definition: parametrized-function.hh:61
Product(boost::shared_ptr< U > left, boost::shared_ptr< V > right)
Definition: product.hxx:203
void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: product.hxx:249
virtual void perIterationCallbackUnsafe(const typename solver_t::problem_t &pb, const typename solver_t::solverState_t &state)
Definition: optimization-logger.hxx:482
DifferentiableFunction::interval_t interval_t
Import interval type.
Definition: split.hh:43
void StateParameterPrint< bool >(std::ostream &o, const bool &val)
Definition: solver-state.hxx:38
virtual std::ostream & print(std::ostream &o) const
Display the function on the specified output stream.
Definition: sin.hh:52
void impl_jacobian(jacobian_ref jacobian, const_argument_ref x) const
Definition: cos.hh:99
boost::shared_ptr< callback_t > callback_ptr
Definition: function-pool.hh:79
matrix_t symmetric_t
Symmetric matrix type.
Definition: numeric-quadratic-function.hh:45
boost::enable_if< boost::is_base_of< differentiableFunction_t, U > >::type operator()(const boost::shared_ptr< U > &constraint) const
Definition: optimization-logger.hxx:154
Definition: optimization-logger.hxx:59
ROBOPTIM_DLLAPI std::ostream & iendl(std::ostream &o)
Print an end of line, then set the indentation.
Definition: indent.cc:54
Build a quadratic function from a matrix and a vector.
Definition: fwd.hh:98
callback_t callback_
Intermediate callback (called at each end of iteration).
Definition: dummy-laststate.hh:80
const parameters_t & parameters() const
Definition: solver-state.hxx:139
virtual std::ostream & print(std::ostream &) const
Display the function on the specified output stream.
Definition: numeric-quadratic-function.hxx:142
static value_type getUpperBound(const interval_t &interval)
Get the upper bound of an interval.
Definition: function.hh:289
Selection(boost::shared_ptr< U > fct, size_type start, size_type size)
Create a selection given an input function and a block.
Definition: selection.hxx:26
double value_type
Value type.
Definition: function.hh:599
void impl_jacobian(jacobian_ref, const_argument_ref) const
Definition: numeric-linear-function.hxx:79
virtual void impl_gradient(gradient_ref gradient, const_argument_ref x, size_type row=0) const
Gradient.
Definition: sum-of-c1-squares.hxx:76
Minus< U, V >::parent_t T_type
Definition: autopromote.hh:94
S solver_t
Type of the solver.
Definition: multiplexer.hh:45
AutopromoteTrait< T2_orig >::T_type T2
Definition: autopromote.hh:171
~Command()
Definition: matplotlib-commands.cc:61
detail::list_converter< FLIST >::type functionTypeList_t
Definition: function-pool.hh:68
~SolverFactory()
Unload the plug-in and free the instantiated solver.
Definition: solver-factory.hxx:201
GenericLinearFunction< EigenMatrixDense > LinearFunction
Definition: fwd.hh:130
#define ROBOPTIM_GENERATE_TRAITS_REFS_T(NAME, TRAITS)
Definition: function.hh:83
~Import()
Import destructor.
Definition: matplotlib-commands.cc:41
boost::mpl::vector constraintsList_t
Definition: problem.hh:75
U & left()
Definition: chain.hh:68
std::string dense_jacobian_to_gnuplot(DifferentiableFunction::const_jacobian_ref jac, const std::string &name)
Definition: gnuplot-differentiable-function.cc:36
size_type maxDeltaRow_
Components containing the maximum error.
Definition: decorator/finite-difference-gradient.hh:121
map_t::const_iterator const_iterator
Definition: cache.hh:77
boost::shared_ptr< U > & origin()
Definition: derivative.hh:99
hessian_t hessian(const_argument_ref argument, size_type functionId=0) const
Compute the hessian at a given point.
Definition: twice-differentiable-function.hh:106
const boost::shared_ptr< V > & right() const
Definition: chain.hh:73
void impl_gradient(gradient_ref gradient, const_argument_ref x, size_type) const
Definition: cos.hh:83
void clear()
Clear the cache.
Definition: cache.hxx:64
F::const_argument_ref const_argument_ref
Definition: derivable-parametrized-function.hh:53
~Derivative()
Definition: derivative.hh:91
~Map()
Definition: map.hxx:49
EvaluateConstraint(const_argument_ref x)
Definition: optimization-logger.hxx:44
std::vector< SolverWarning > warnings
Vector of warnings.
Definition: result-with-warnings.hh:57
detail::PromoteTrait< U, V >::T_promote parentType_t
Definition: chain.hh:51
virtual void impl_jacobian(jacobian_ref jacobian, const_argument_ref argument) const
Jacobian evaluation.
Definition: finite-difference-gradient.hxx:255
const T & getParameter(const std::string &key) const
Definition: solver.hxx:71
void gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Computes the gradient.
Definition: differentiable-function.hh:190
void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Definition: map.hxx:88
boost::disable_if< detail::derives_from_differentiable_function< T > > isNotDifferentiable_t
Definition: cached-function.hxx:61
bool isValidDerivative(const_derivative_ref derivative) const
Check if a derivative is valid (check sizes).
Definition: n-times-derivable-function.hh:88
std::vector< function_t > functionList_t
List of functions that will populate the pool.
Definition: function-pool.hh:75
function_t::names_t names_t
Vector of names (e.g. for arguments).
Definition: problem.hh:108
F::vector_t vector_t
Import vector type.
Definition: derivable-parametrized-function.hh:46
Command(std::string cmd)
Make a command from a string.
Definition: gnuplot-commands.cc:32
std::string name_t
Type of a function argument name.
Definition: function.hh:213
function_t::vector_t vector_t
Vector type.
Definition: problem.hh:87
boost::disable_if< detail::derives_from_ntimes_derivable_function< T > > isNotNTimesDerivable_t
Definition: cached-function.hxx:77
virtual void computeJacobian(value_type epsilon, jacobian_ref jacobian, const_argument_ref argument, argument_ref xEps) const
Definition: finite-difference-gradient.hxx:444
map_t::iterator iterator
Definition: cache.hh:78
stateParameterValues_t value
Value.
Definition: solver-state.hh:70
std::string set_red_white_blue_cmap()
Definition: matplotlib-matrix.cc:35
Command plot(const GenericFunction< T > &f, discreteInterval_t interval)
Plot a 1D function with matplotlib.
Definition: matplotlib-function.hh:52
GenericSumOfC1Squares(const boost::shared_ptr< parent_t > &function, const std::string &name)
Constructor by vector valued functions The value of this scalar valued function is the sum of the squ...
Definition: sum-of-c1-squares.hxx:27
jacobianSize_t jacobianSize() const
Return the jacobian size as a pair.
Definition: derivable-parametrized-function.hh:78
V::gradient_t gradientV_t
Definition: product.hxx:57
boost::enable_if< detail::derives_from_twice_differentiable_function< T > > isTwiceDifferentiable_t
Definition: cached-function.hxx:65
boost::mpl::fold< CLIST_, boost::mpl::bool_< true >, boost::mpl::if_< contains_base_of< CLIST, boost::mpl::_2 >, boost::mpl::_1, boost::mpl::bool_< false > > >::type type
Definition: utility.hh:306
GenericLinearFunction< EigenMatrixSparse > LinearSparseFunction
Definition: fwd.hh:132
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericDifferentiableFunction< T >)
@ Values
Definition: matplotlib-matrix.hh:42
const ROBOPTIM_DLLEXPORT char * getTypeIdOfConstraintsList()
Definition: dummy-d-sparse-laststate.cc:42
void impl_compute(result_ref, const_argument_ref) const
Definition: numeric-quadratic-function.hxx:63
boost::shared_ptr< Plus< U, V > > plus(boost::shared_ptr< U > left, boost::shared_ptr< V > right)
Definition: plus.hh:88
virtual ~Solver()
Definition: solver.hxx:43
scaling_t scales_t ROBOPTIM_CORE_DEPRECATED
Scaling vector (deprecated typedef).
Definition: problem.hh:105
value_type computeViolation(const value_type &x, const interval_t &x_ul) const
Definition: optimization-logger.hxx:84
ROBOPTIM_DLLEXPORT solver_t * create(const DummyDifferentiableSparseSolverLastState::problem_t &pb)
Definition: dummy-d-sparse-laststate.cc:48
differentiableFunction_t::jacobian_t jacobian_t
Jacobian type.
Definition: optimization-logger.hxx:141
parameters_t parameters_
Solver parameters (run-time configuration).
Definition: solver.hh:186
~Plus()
Definition: plus.hxx:49
static value_type getStep(const discreteInterval_t &interval)
Get the upper step of a discrete interval.
Definition: function.hh:355
GenericNumericLinearFunction(const_matrix_ref A, const_vector_ref b)
Build a linear function from a matrix and a vector.
Definition: numeric-linear-function.hxx:31
@ precisionRank
Definition: autopromote.hh:32
P problem_t
Problem type.
Definition: solver-state.hh:82
argument_t x_
Gradient has been computed for this point.
Definition: decorator/finite-difference-gradient.hh:59
Product< U, V >::size_type size_type
Definition: product.hxx:43
void perIterationCallback(const problem_t &pb, solverState_t &state)
Meta-callback calling multiple callbacks.
Definition: multiplexer.hxx:66
gradient_t gradient(const_argument_ref argument, size_type functionId=0) const
Computes the gradient.
Definition: differentiable-function.hh:172
const boost::filesystem::path & logPath() const
Return the path of the log directory.
Definition: optimization-logger.hxx:547
std::string command_
Store Gnuplot command.
Definition: gnuplot-commands.hh:53
boost::shared_ptr< Concatenate< typename detail::PromoteTrait< U, V >::T_promote > > concatenate(boost::shared_ptr< U > left, boost::shared_ptr< V > right)
Definition: concatenate.hh:118
bool isValidJacobian(const_jacobian_ref jacobian) const
Check if the jacobian is valid (check sizes).
Definition: differentiable-function.hh:121
std::string operator()(const U &constraint) const
Definition: optimization-logger.hxx:62
parent_t::size_type size_type
Definition: quadratic-function.hh:39
virtual std::ostream & print(std::ostream &) const
Overriden print function for pools.
Definition: function-pool.hxx:253
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(parentType_t)
const std::string demangle(const char *name)
Definition: solver-factory.hxx:64
GenericDifferentiableFunction(size_type inputSize, size_type outputSize=1, std::string name=std::string())
Concrete class constructor should call this constructor.
Definition: differentiable-function.hxx:29
P problem_t
Type of the problem.
Definition: optimization-logger.hxx:126
vector_ref c()
Definition: numeric-quadratic-function.hh:102
bool set_is_malloc_allowed(bool allow)
Manage the calls to Eigen::set_is_malloc_allowed.
Definition: alloc.hh:40
detail::const_ref< value_t >::type const_value_ref
Type of const reference to key.
Definition: cache.hh:54
Product< U, V >::parent_t T_type
Definition: autopromote.hh:100
std::size_t hash_t
Hash type used by the Boost map.
Definition: cache.hh:60
~SolverError()
Trivial destructor.
Definition: solver-error.cc:43
detail::AutopromoteTrait< U >::T_type parentType_t
Definition: bind.hh:45
boost::mpl::if_< is_eigen_type< T >, const_eigen_ref< T >, boost::add_reference< typename boost::add_const< T >::type > >::type::type type
Definition: utility.hh:132
DerivableParametrizedFunction(size_type inputSize, size_type functionInputSize, size_type functionOutputSize)
Concrete class constructor should call this constructor.
Definition: derivable-parametrized-function.hh:183
P::interval_t interval_t
Definition: optimization-logger.hxx:75
~GenericNumericLinearFunction()
Definition: numeric-linear-function.hxx:60
void impl_compute(result_ref result, const_argument_ref argument) const
Function evaluation.
Definition: n-times-derivable-function.hh:186
ROBOPTIM_DLLAPI Command pwd()
Make a Gnuplot pwdcommand.
Check whether the type provided is an Eigen type.
Definition: utility.hh:94
F::value_type value_type
Import value type.
Definition: derivable-parametrized-function.hh:42
void impl_compute(result_ref result, const_argument_ref) const
Definition: constant.hh:78
Interface for the finite difference gradient policies.
Definition: decorator/finite-difference-gradient.hh:145
T * unionCast(void *ptr)
Definition: solver-factory.hxx:38
const problem_t problem_
Problem that will be solved.
Definition: solver.hh:183
FunctionPool(const callback_ptr callback, const functionList_t &functions, const std::string &name="")
FunctionPool constructor.
Definition: function-pool.hxx:174
@ SOLVER_NO_SOLUTION
Solution has yet to be found.
Definition: generic-solver.hh:54
void impl_hessian(hessian_ref hessian, const_argument_ref argument, size_type functionId=0) const
Definition: numeric-quadratic-function.hxx:135
P::vector_t operator()(const U &constraint) const
Definition: optimization-logger.hxx:49
SolverState< problem_t > solverState_t
State of the solver.
Definition: solver.hh:100
callbacks_t & callbacks()
Return the vector of callbacks.
Definition: multiplexer.hxx:52
std::ostream & red(std::ostream &o)
Definition: terminal-color.hh:56
Represents the solution of an optimization problem when errors occurred during the solving process.
Definition: result-with-warnings.hh:42
F::argument_t argument_t
Import argument types.
Definition: derivable-parametrized-function.hh:52
Abstract interface satisfied by all solvers.
Definition: generic-solver.hh:48
function_t::const_argument_ref const_argument_ref
Definition: optimization-logger.hh:55
virtual std::ostream & print(std::ostream &) const
Display the solver on the specified output stream.
Definition: generic-solver.cc:64
std::vector< callback_t > callbacks_t
Type of a vector of callbacks.
Definition: multiplexer.hh:57
gradient_t analyticalJacobian_
Analytical Jacobian.
Definition: decorator/finite-difference-gradient.hh:112
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericDifferentiableFunction< T >)
std::pair< int, int > & multiplot()
Plots layout.
Definition: matplotlib.cc:52
boost::variant< value_type, vector_t, int, std::string, bool > stateParameterValues_t
Allowed types for parameters:
Definition: solver-state.hh:56
SolverState< problem_t > solverState_t
Type of the state of the solver.
Definition: dummy-laststate.hh:55
GenericNumericLinearFunction< EigenMatrixDense > NumericLinearFunction
Definition: fwd.hh:93
virtual void impl_compute(result_ref result, const_argument_ref argument) const
Definition: cached-function.hxx:131
virtual void impl_derivative(gradient_ref derivative, value_type argument, size_type order=1) const
Definition: cached-function.hxx:353
detail::AutopromoteTrait< U >::T_type parentType_t
Definition: concatenate.hh:48
boost::mpl::and_< boost::is_same< typename U::traits_t, EigenMatrixDense >, boost::is_same< typename V::traits_t, EigenMatrixDense > > fullDense_t
Definition: product.hxx:41
Product< U, V >::value_type value_type
Definition: product.hxx:44
V::rowVector_t rowVectorV_t
Definition: product.hxx:52
gradient_t analyticalGradient_
Analytical gradient.
Definition: decorator/finite-difference-gradient.hh:62
boost::shared_ptr< U > & origin()
Definition: bind.hh:60
solver_t::problem_t problem_t
Type of the problem.
Definition: multiplexer.hh:48
Command(const std::string &cmd, bool isPlot=false)
Make a command from a string.
Definition: matplotlib-commands.cc:56
void cachedFunctionGradient(gradient_ref gradient, const_argument_ref argument, size_type functionId, typename detail::CachedFunctionTypes< U >::isDifferentiable_t::type *=0) const
Definition: cached-function.hxx:158
const_vector_ref b() const
Definition: numeric-quadratic-function.hh:82
ROBOPTIM_DLLAPI std::ostream & incindent(std::ostream &o)
Increment the indentation.
Definition: indent.cc:35
void push_command(gnuplot::Command cmd)
Add a new Gnuplot command to the script.
Definition: gnuplot.cc:43
std::vector< boost::optional< value_type > > boundValues_t
Definition: bind.hh:49
result_t operator()(const_argument_ref argument) const
Evaluate the function at a specified point.
Definition: parametrized-function.hxx:35
~Bind()
Definition: bind.hxx:60
function_t::interval_t interval_t
Interval type (e.g. for bounds).
Definition: problem.hh:313
Gnuplot(bool with_header=true)
Default constructor can not be called directly.
Definition: gnuplot.cc:31
defined(EIGEN_RUNTIME_NO_MALLOC) && !defined(ROBOPTIM_DO_NOT_CHECK_ALLOCATION)
Definition: alloc.hh:32
function_t::value_type value_type
Definition: problem.hh:84
ROBOPTIM_DLLEXPORT std::size_t getSizeOfProblem()
Definition: dummy.cc:70
void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Gradient evaluation.
Definition: n-times-derivable-function.hh:211
hessianSize_t hessianSize() const
Return the size of a hessian.
Definition: twice-differentiable-function.hh:84
void cachedFunctionDerivative(gradient_ref derivative, value_type argument, size_type order, typename detail::CachedFunctionTypes< U >::isNTimesDerivable_t::type *=0) const
Definition: cached-function.hxx:318
Product< U, V >::gradient_ref gradient_ref
Definition: product.hxx:61
~Sin()
Definition: sin.hh:45
void computeColumn(value_type epsilon, gradient_ref column, const_argument_ref argument, size_type colIdx, argument_ref xEps) const
Definition: finite-difference-gradient.hxx:741
solutions minimumType()
Determine real minimum type.
Definition: generic-solver.hh:107
const std::string & getName() const
Get function name.
Definition: function.hh:497
std::string dense_matrix_to_gnuplot(GenericFunctionTraits< EigenMatrixDense >::const_matrix_ref mat)
Definition: gnuplot-matrix.cc:60
bool & withHeader()
Whether to print the header (imports).
Definition: matplotlib.cc:42
T::traits_t traits_t
Definition: cached-function.hxx:49
void impl_hessian(hessian_ref hessian, const_argument_ref x, size_type) const
Hessian evaluation.
Definition: polynomial.hxx:159
void addBlock(size_t size)
Adds a new block of input to the function.
Definition: structured-input.hxx:37
#define MATPLOTLIB_UNARY_COMMAND_ARG(NAME, ARG)
Definition: matplotlib-commands.cc:91
matrix_t::Index size_type
Definition: function.hh:628
ROBOPTIM_DLLAPI Command help(const char *topic="")
Make a Gnuplot help command.
GenericQuadraticFunction(size_type inputSize, size_type outputSize=1, std::string name=std::string())
Concrete class constructor should call this constructor.
Definition: quadratic-function.hxx:24
size_t size() const
Size of the cache.
Definition: cache.hxx:40
BOOST_STATIC_ASSERT_MSG(Eigen::ROBOPTIM_STORAGE_ORDER==Eigen::ColMajor||Eigen::ROBOPTIM_STORAGE_ORDER==Eigen::RowMajor, "Wrong storage order provided by ROBOPTIM_STORAGE_ORDER.")
ROBOPTIM_STORAGE_ORDER.
vector_t column_
Vector storing temporary Jacobian column.
Definition: decorator/finite-difference-gradient.hh:185
#define ROBOPTIM_GENERATE_TYPEDEFS_EIGEN_REF_VEC(NAME, TYPE)
Definition: function.hh:58
~GenericIdentityFunction()
Definition: identity.hh:49
ROBOPTIM_DLLAPI Command unset(const char *var)
Make a Gnuplot unset command.
Definition: gnuplot-commands.cc:106
#define MATPLOTLIB_UNARY_COMMAND(NAME)
Definition: matplotlib-commands.cc:77
virtual std::ostream & print(std::ostream &o) const
Display the function on the specified output stream.
Definition: polynomial.hxx:73
void impl_gradient(gradient_ref, const_argument_ref, size_type=0) const
Definition: numeric-quadratic-function.hxx:124
Polynomial(const_vector_ref coefficients)
Build a polynomial function.
Definition: polynomial.hxx:31
gradient_t gradient_
Vector storing temporary Jacobian row.
Definition: decorator/finite-difference-gradient.hh:188
static const double finiteDifferenceThreshold
Default threshold for checkGradient.
Definition: decorator/finite-difference-gradient.hh:32
detail::list_converter< CLIST >::type constraintsList_t
Constraints types list.
Definition: problem.hh:279
ROBOPTIM_DLLEXPORT void destroy(solver_t *p)
Definition: dummy-laststate.cc:53
bool isTtyStream(const std::ostream &o)
Definition: terminal-color.hh:38
ROBOPTIM_DLLEXPORT solver_t * create(const DummySolver::problem_t &pb)
Definition: dummy.cc:80
double value_type
Value type.
Definition: function.hh:646
U & left()
Definition: plus.hh:52
TwiceDifferentiableFunction TwiceDerivableFunction
Legacy name of DifferentiableFunction.
Definition: twice-derivable-function.hh:26
function_t::value_type value_type
Import function's value_type type.
Definition: problem.hh:295
differentiableFunction_t::const_argument_ref const_argument_ref
Argument type.
Definition: optimization-logger.hxx:135
std::pair< size_type, size_type > jacobianSize_t
Jacobian size type (pair of values).
Definition: derivative.hh:68
const std::string & command() const
Retrieve the command as a string.
Definition: gnuplot-commands.cc:40
Identity function.
Definition: identity.hh:34
F::matrix_t matrix_t
Import matrix type.
Definition: parametrized-function.hh:63
bool checkGradient(const GenericDifferentiableFunction< T > &function, typename GenericDifferentiableFunction< T >::size_type functionId, typename GenericDifferentiableFunction< T >::const_argument_ref x, typename GenericDifferentiableFunction< T >::value_type threshold=finiteDifferenceThreshold)
Check if a gradient is valid.
Definition: finite-difference-gradient.hxx:264
void resize(size_t size)
Change the size of the cache.
Definition: cache.hxx:46
boost::enable_if< detail::derives_from_differentiable_function< T > > isDifferentiable_t
Definition: cached-function.hxx:57
ROBOPTIM_GENERATE_TRAITS_REFS_(gradient)
Gradient type.
static Gnuplot make_gnuplot(bool with_header=true)
Instanciate a Gnuplot without setting a term.
Definition: gnuplot.hh:57
NTimesDerivableFunction(size_type outputSize=1, std::string name=std::string())
Concrete class constructor should call this constructor.
Definition: n-times-derivable-function.hh:310
Hash generator for argument vector.
Definition: cached-function.hh:33
boost::shared_ptr< Selection > SelectionShPtr_t
Definition: selection.hh:43
virtual ~SolverState()
Definition: solver-state.hxx:91
SolverFactory(std::string solver, const problem_t &problem)
Instantiate a factory and load the plug-in.
Definition: solver-factory.hxx:72
scales_t & argumentScales() ROBOPTIM_CORE_DEPRECATED
Retrieve arguments scaling (deprecated version).
Definition: problem.hxx:505
#define GNUPLOT_UNARY_COMMAND(NAME)
Definition: gnuplot-commands.cc:46
detail::AutopromoteTrait< U >::T_type parentType_t
Definition: map.hh:45
Dummy solver which always fails, but returns the last state of the solver.
Definition: dummy-laststate.hh:41
ROBOPTIM_DLLAPI Command comment(const char *)
Make a Gnuplot comment.
Definition: gnuplot-commands.cc:68
size_type functionOutputSize() const
Return the function's output size (i.e.
Definition: parametrized-function.hxx:59
@ promoteToT1
Definition: autopromote.hh:191
ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericTwiceDifferentiableFunction< T >)
virtual void impl_compute(result_ref result, const_argument_ref x) const
Compute value of function Value is sum of squares of coordinates of vector valued base function.
Definition: sum-of-c1-squares.hxx:63
callback_t callback()
Return the callback function.
Definition: optimization-logger.hxx:339
Function::vector_t vector_t
Import vector type from Function class.
Definition: result.hh:45
value_type maxDelta_
Maximum error.
Definition: decorator/finite-difference-gradient.hh:68
boost::shared_ptr< U > & origin()
Definition: selection-by-id.hh:53
virtual std::ostream & print(std::ostream &) const
Display the error on the specified output stream.
Definition: solver-error.cc:48
function_t::size_type size_type
Size type.
Definition: problem.hh:93
Return the proper const reference type of a given type.
Definition: utility.hh:126
Precise finite difference gradient computation.
Definition: decorator/finite-difference-gradient.hh:239
static void jacobian(typename Types< U, V >::jacobian_ref jac_uv, const typename Types< U, V >::vectorU_ref u, const typename Types< U, V >::vectorV_ref v, const typename Types< U, V >::jacobianU_ref jac_u, const typename Types< U, V >::jacobianV_ref jac_v, typename boost::enable_if< typename Types< U, V >::fullDense_t >::type *=0)
Full dense version of Jacobian computation.
Definition: product.hxx:124
virtual void impl_gradient(gradient_ref, const_argument_ref argument, size_type=0) const
Gradient evaluation.
Definition: finite-difference-gradient.hxx:244
static size_type listInputSize(const functionList_t &functions)
Get the input size from the function list.
Definition: function-pool.hxx:271
ParametrizedFunction(size_type inputSize, size_type functionInputSize, size_type functionOutputSize)
Concrete class constructor should call this constructor.
Definition: parametrized-function.hxx:24
virtual std::ostream & print(std::ostream &o) const
Display the exception on the specified output stream.
Definition: finite-difference-gradient.hxx:207
DummyDifferentiableSparseSolverLastState::parent_t solver_t
Definition: dummy-d-sparse-laststate.cc:29
void impl_gradient(gradient_ref gradient, const_argument_ref, size_type=0) const
Definition: constant.hh:83
Command plot_xy(const GenericFunction< T > &f, discreteInterval_t interval)
Plot a 2D function with Gnuplot.
Definition: gnuplot-function.hh:122
startingPoint_t & startingPoint()
Set the initial guess.
Definition: problem.hxx:436
virtual void solve()
Implement the solve algorithm.
Definition: dummy.cc:53
Base exception class for solving errors.
Definition: solver-error.hh:37
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericDifferentiableFunction< T >)
problem_t::size_type size_type
Size type.
Definition: optimization-logger.hxx:138
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(pool_t)
Bind some function input to a constant value.
Definition: bind.hh:42
const parameters_t & parameters() const
Definition: solver.hxx:56
ROBOPTIM_GENERATE_TRAITS_REFS_(vector)
Basic (column) vector type.
detail::AutopromoteTrait< U >::T_type parentType_t
Definition: scalar.hh:38
static Matplotlib make_matplotlib(std::pair< int, int > multiplot=std::make_pair(1, 1), bool with_header=true)
Instanciate a matplotlib without setting a term.
Definition: matplotlib.hh:58
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(parentType_t)
const argument_t & x() const
Retrieve the current optimization parameters.
Definition: solver-state.hxx:97
const std::string & pluginName() const
Definition: solver.hxx:79
std::vector< std::pair< size_t, size_t > > blocks
stores the blocks defined by the function as a pair of integers.
Definition: structured-input.hh:41
T solver_t
Solver type.
Definition: solver-factory.hh:60
const boost::shared_ptr< U > & origin() const
Definition: derivative.hh:94
void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: plus.hxx:66
void impl_compute(result_ref result, const_argument_ref x) const
Definition: concatenate.hxx:81
F callback_t
Type of the callback function (where the computation happens).
Definition: function-pool.hh:78
U::jacobian_ref jacobianU_ref
Definition: product.hxx:66
boost::tuple< value_type, value_type, value_type > discreteInterval_t
Types representing a discrete interval.
Definition: function.hh:306
matrix_ref A()
Definition: numeric-quadratic-function.hh:92
virtual void impl_compute(result_ref result, const_argument_ref argument) const
Definition: split.hxx:59
V & right()
Definition: plus.hh:62
parentType_t::traits_t traits_t
Traits type.
Definition: concatenate.hh:52
std::string description
Parameter description (for humans).
Definition: solver-state.hh:67
ROBOPTIM_DLLEXPORT solver_t * create(const DummySolverTd::problem_t &pb)
Definition: dummy-td.cc:80
Generate a Boost.Variant of shared pointers from the static constraints types list.
Definition: utility.hh:79
jacobianSize_t jacobianSize() const
Return the jacobian size as a pair.
Definition: differentiable-function.hh:104
@ Log
Definition: matplotlib-matrix.hh:43
Exception thrown when a Jacobian check fails.
Definition: decorator/finite-difference-gradient.hh:88
argument_t x_
Current optimization parameters.
Definition: solver-state.hh:153
names_t & argumentNames()
Retrieve arguments names.
Definition: problem.hxx:519
Eigen::Block< typename differentiableFunction_t::jacobian_t, Eigen::Dynamic, Eigen::Dynamic, false > JacBlock
return type of the getJacobianBlock() method
Definition: structured-input.hh:95
~Matplotlib()
Definition: matplotlib.cc:38
void push_import(const matplotlib::Import &import)
Add a new Python import to the script.
Definition: matplotlib.cc:78
promote2< T1, T2, promoteToT1 >::T_promote T_promote
Definition: autopromote.hh:194
Definition: problem.hxx:558
boost::shared_ptr< Scalar > ScalarShPtr_t
Definition: scalar.hh:41
vector_t lambda
Lagrange multipliers.
Definition: result.hh:73
void compute_deriv(typename GenericFunction< T >::size_type j, double h, double &result, double &round, double &trunc, typename GenericFunction< T >::const_argument_ref argument, typename GenericFunction< T >::size_type idFunction, typename GenericFunction< T >::argument_ref xEps) const
Algorithm from the Gnu Scientific Library.
Definition: finite-difference-gradient.hxx:337
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericDifferentiableFunction< T >)
static discreteInterval_t makeDiscreteInterval(value_type min, value_type max, value_type step)
Construct a discrete interval.
Definition: function.hh:314
void impl_compute(result_ref result, const_argument_ref x) const
Definition: derivative.hh:106
GenericNumericQuadraticFunction< EigenMatrixDense > NumericQuadraticFunction
Definition: fwd.hh:98
const intervalsVect_t & boundsVector() const
Retrieve constraints bounds vector.
Definition: problem.hxx:456
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(parentType_t)
virtual void solve()
Implement the solve algorithm.
Definition: dummy-td.cc:53
virtual std::ostream & print(std::ostream &o) const
Display the function on the specified output stream.
Definition: identity.hh:56
#define ROBOPTIM_CORE_FILTER_TTY()
Definition: terminal-color.hh:29
F::vector_t vector_t
Definition: solver-state.hh:47
DummySolver::parent_t solver_t
Definition: dummy.cc:63
static value_type infinity()
Get the value that symbolizes positive infinity.
Definition: function.hh:229
EvaluateConstraintViolation(const std::vector< vector_t > &constraints, const intervalsVect_t &bounds)
Definition: optimization-logger.hxx:78
const boost::optional< value_type > & cost() const
Retrieve the current cost.
Definition: solver-state.hxx:111
boost::shared_ptr< typename cast_constraint_type< C, CLIST >::type > operator()(const boost::shared_ptr< C > &c) const
Definition: utility.hh:317
std::ostream & print(std::ostream &) const
Display the Gnuplot script on the specified output stream.
Definition: gnuplot.cc:49
~Split()
Definition: split.hxx:53
#define MATPLOTLIB_UNARY_COMMAND_VAR(VAR, NAME)
Definition: matplotlib-commands.cc:84
solver_t::problem_t::vector_t vector_t
Definition: optimization-logger.hh:48
F::vector_t vector_t
Import vector type from cost function.
Definition: solver.hh:94
solver_t::problem_t::value_type value_type
Definition: optimization-logger.hh:46
parent_t::traits_t traits_t
Traits type.
Definition: n-times-derivable-function.hh:58
boost::optional< argument_t > startingPoint_t
Optional vector defines a starting point.
Definition: problem.hh:96
T::problem_t problem_t
Problem type.
Definition: solver-factory.hh:62
LogJacobianConstraint(const_argument_ref x, const boost::filesystem::path &constraintPath)
Definition: optimization-logger.hxx:144
GenericConstantFunction< EigenMatrixDense > ConstantFunction
Definition: fwd.hh:103
void cachedFunctionJacobian(jacobian_ref jacobian, const_argument_ref argument, typename detail::CachedFunctionTypes< U >::isDifferentiable_t::type *=0) const
Definition: cached-function.hxx:210
virtual ~GenericSumOfC1Squares()
Definition: sum-of-c1-squares.hxx:50
T1 T_promote
Definition: autopromote.hh:157
size_type functionInputSize() const
Return the function's input size (i.e.
Definition: parametrized-function.hxx:51
Import(const std::string &package)
Construct from a Python package.
Definition: matplotlib-commands.cc:33
std::vector< value_type > scaling_t
Scaling vector.
Definition: problem.hh:102
void impl_jacobian(jacobian_ref jacobian, const_argument_ref) const
Definition: identity.hh:73
Product< U, V >::jacobian_ref jacobian_ref
Definition: product.hxx:68
void impl_hessian(hessian_ref hessian, const_argument_ref x, size_type) const
Hessian evaluation.
Definition: cos.hh:106
void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Definition: scalar.hxx:65
gradient_t gradient(const_argument_ref argument, size_type functionId=0, size_type order=0) const
Computes the gradient.
Definition: derivable-parametrized-function.hh:138
function_t::argument_t argument_t
Argument type.
Definition: problem.hh:301
virtual std::ostream & print(std::ostream &) const
Display the function on the specified output stream.
Definition: function.hh:568
function_t::intervals_t intervals_t
Intervals type.
Definition: problem.hh:316
bool isPlot_
Whether the command is a plot or not.
Definition: matplotlib-commands.hh:95
Plus(boost::shared_ptr< U > left, boost::shared_ptr< V > right)
Definition: plus.hxx:26
BadJacobian(const_argument_ref x, const_jacobian_ref analyticalJacobian, const_jacobian_ref finiteDifferenceJacobian, const value_type &threshold)
Default constructor.
Definition: finite-difference-gradient.hxx:168
const T & getParameter(const std::string &key) const
Get a parameter.
Definition: solver-state.hxx:154
std::string command_
Store matplotlib command.
Definition: matplotlib-commands.hh:93
virtual void setIterationCallback(callback_t callback)
Set the per-iteration callback.
Definition: dummy-laststate.hh:69
static interval_t makeLowerInterval(value_type l)
Construct an interval from a lower bound.
Definition: function.hh:265
void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Definition: selection-by-id.hxx:95
differentiableFunction_t::jacobian_ref InputJacBlock
input type of the jacobian given by the user
Definition: structured-input.hh:97
void reset()
Reset the caches.
Definition: cached-function.hxx:99
virtual void computeColumn(value_type epsilon, gradient_ref column, const_argument_ref argument, size_type colIdx, argument_ref xEps) const =0
boost::disable_if< detail::derives_from_twice_differentiable_function< T > > isNotTwiceDifferentiable_t
Definition: cached-function.hxx:69
P::value_type value_type
Import value type from problem.
Definition: solver-state.hh:88
std::ostream & fail(std::ostream &o)
Definition: terminal-color.hh:98
void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: minus.hxx:66
std::vector< gradientCache_t > gradientCache_
Definition: cached-function.hh:170
void impl_gradient(gradient_ref gradient, const_argument_ref x, size_type) const
Definition: polynomial.hxx:142
std::string plugin_name_
Plugin name.
Definition: solver.hh:189
#define ROBOPTIM_DLLEXPORT
Definition: portability.hh:47
void impl_compute(result_ref result, const_argument_ref x) const
Definition: polynomial.hxx:122
GenericNumericQuadraticFunction(const_symmetric_ref A, const_vector_ref b)
Build a quadratic function from a matrix and a vector.
Definition: numeric-quadratic-function.hxx:29
virtual void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Jacobian evaluation.
Definition: differentiable-function.hxx:70
boost::shared_ptr< Chain< U, V > > chain(boost::shared_ptr< U > left, boost::shared_ptr< V > right)
Chain two RobOptim functions.
Definition: chain.hh:126
const std::string & command() const
Return the import command.
Definition: matplotlib-commands.hh:56
const boost::optional< value_type > & constraintViolation() const
Retrieve the current constraint violation.
Definition: solver-state.hxx:125
function_t::size_type size_type
Size type.
Definition: problem.hh:304
virtual result_t impl_compute(const_argument_ref argument) const =0
Function evaluation.
Product of two RobOptim functions.
Definition: fwd.hh:84
void impl_compute(result_ref result, const_argument_ref x) const
Definition: chain.hxx:61
std::pair< value_type, value_type > interval_t
Interval type (lower, upper).
Definition: function.hh:240
Checks whether all the constraints derive from Function or SparseFunction.
Definition: utility.hh:271
Function::size_type size_type
Import size type from function.
Definition: n-times-derivable-function.hh:287
std::pair< size_type, size_type > hessianSize_t
Hessian size type represented as a pair of values.
Definition: twice-differentiable-function.hh:77
gradient_t finiteDifferenceGradient_
Gradient computed through finite differences.
Definition: decorator/finite-difference-gradient.hh:65
BOOST_MPL_ASSERT((boost::mpl::bool_< knowBothRanks >))
function_t::intervals_t intervals_t
Definition: problem.hh:99
solver_t::solverState_t solverState_t
Definition: optimization-logger.hh:49
Sin function.
Definition: sin.hh:31
result_t operator()(const_argument_ref argument) const
Evaluate the function at a specified point.
Definition: function.hh:458
Provides utility methods to describe the input format of a function.
Definition: structured-input.hh:115
@ SOLVER_VALUE_WARNINGS
Solution has been found but some problems happened.
Definition: generic-solver.hh:58
boost::shared_ptr< U > & origin()
Definition: map.hh:61
ROBOPTIM_DLLAPI void array_to_vector(Function::vector_ref dst, const Function::value_type *src)
Definition: util.cc:45
Wrap enum for matrix plotting type.
Definition: matplotlib-matrix.hh:37
Store previous function computation.
Definition: cached-function.hh:59
const boost::shared_ptr< U > & left() const
Definition: plus.hh:47
Select an element of a function's output.
Definition: split.hh:33
const_vector_ref b() const
Definition: numeric-linear-function.hh:65
Dummy solver which always fails.
Definition: dummy.hh:34
solutions
Define the kind of solution which has been found.
Definition: generic-solver.hh:52
#define ROBOPTIM_STORAGE_ORDER
Definition: function.hh:112
Define a solver factory that instanciate the plug-ins.
Definition: fwd.hh:141
U::vector_ref vectorU_ref
Definition: product.hxx:48
void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Definition: plus.hxx:78
virtual ~LRUCache()
Destructor.
Definition: cache.hxx:36
bool is_malloc_allowed()
Whether dynamic allocation is allowed.
Definition: alloc.hh:52
static const double finiteDifferenceEpsilon
Default epsilon for finite difference class.
Definition: decorator/finite-difference-gradient.hh:34
const scalesVect_t & scalesVector() const ROBOPTIM_CORE_DEPRECATED
Retrieve constraints scaling vector (deprecated version).
Definition: problem.hxx:484
void impl_jacobian(jacobian_ref jacobian, const_argument_ref x) const
Definition: sin.hh:98
ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericLinearFunction< T >)
virtual std::ostream & print(std::ostream &) const
Display the function on the specified output stream.
Definition: n-times-derivable-function.hxx:30
virtual void computeGradient(value_type epsilon, gradient_ref gradient, const_argument_ref argument, size_type idFunction, argument_ref xEps) const =0
Cos function.
Definition: cos.hh:31
This class gives access to the getJacobianBlock() method, whose implementation is to be specialized a...
Definition: structured-input.hh:47
F::argument_t argument_t
Import argument types.
Definition: parametrized-function.hh:67
value_type threshold_
Allowed threshold.
Definition: decorator/finite-difference-gradient.hh:74
Callback multiplexer.
Definition: multiplexer.hh:40
ROBOPTIM_FUNCTION_FWD_TYPEDEFS_(GenericFunction< T >)
void impl_compute(result_ref result, const_argument_ref x) const
Definition: bind.hxx:66
const problem_t & problem() const
Retrieve the problem.
Definition: solver.hxx:49
static const size_type derivabilityOrder
Function derivability order.
Definition: n-times-derivable-function.hh:290
BOOST_MPL_ASSERT_MSG((boost::mpl::or_< boost::is_base_of< Type1, Type2 >, boost::is_base_of< Type2, Type1 > >::value), ONE_SHOULD_INHERIT_FROM_THE_OTHER,(Type1 &, Type2 &))
std::ostream & print(std::ostream &) const
Display the matplotlib script on the specified output stream.
Definition: matplotlib.cc:84
Define an abstract parametrized mathematical function ( ).
Definition: parametrized-function.hh:52
static interval_t makeInterval(value_type l, value_type u)
Construct an interval from a lower and upper bound.
Definition: function.hh:249
Define an abstract quadratic function.
Definition: fwd.hh:135
void impl_compute(result_ref result, const_argument_ref x) const
Definition: selection-by-id.hxx:62
#define ROBOPTIM_GENERATE_TYPEDEFS_REF(NAME, TYPE)
Definition: function.hh:63
std::vector< value_type > scaling_t
Scaling vector.
Definition: problem.hh:319
Product< U, V >::jacobian_t jacobian_t
Definition: product.hxx:65
U::gradient_ref gradientU_ref
Definition: product.hxx:59
void impl_compute(result_ref result, const_argument_ref x) const
Definition: plus.hxx:55
size_type outputSize
Output size (i.e. result size).
Definition: result.hh:65
gradient_t finiteDifferenceJacobian_
Jacobian computed through finite differences.
Definition: decorator/finite-difference-gradient.hh:115
const boost::optional< Result > & lastState() const
Retrieve the (optional) last state of the solver.
Definition: solver-error.cc:53
value_type applyPolynomial(const_vector_ref coeffs, const_argument_ref x) const
Implement Horner's method.
Definition: polynomial.hxx:129
size_type gradientSize() const
Return the gradient size.
Definition: derivable-parametrized-function.hh:70
P::value_type value_type
Definition: optimization-logger.hxx:72
V & right()
Definition: product.hh:62
Type
Plotting type for matrices.
Definition: matplotlib-matrix.hh:40
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericDifferentiableFunction< T >)
virtual void impl_compute(result_ref result, const_argument_ref x) const
Definition: function-pool.hxx:193
F pool_t
Function type of the pool.
Definition: function-pool.hh:66
StateParameterPrintVisitor(std::ostream &o)
Definition: solver-state.hxx:54
~CachedFunction()
Definition: cached-function.hxx:93
~Scalar()
Definition: scalar.hxx:39
const ROBOPTIM_DLLEXPORT char * getTypeIdOfConstraintsList()
Definition: dummy-td.cc:75
virtual std::ostream & print(std::ostream &o) const
Display the result on the specified output stream.
Definition: result-with-warnings.cc:39
Minus(boost::shared_ptr< U > left, boost::shared_ptr< V > right)
Definition: minus.hxx:26
ROBOPTIM_DLLAPI Parameter()
Default constructor.
Definition: solver.cc:49
ROBOPTIM_DLLAPI Command reread()
Make a Gnuplot reread command.
ROBOPTIM_DLLAPI std::ostream & resetindent(std::ostream &o)
Reset the indentation.
Definition: indent.cc:48
ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericLinearFunction< T >)
Subtract two RobOptim functions.
Definition: fwd.hh:80
size_type maxDeltaComponent_
Component containing the maximum error.
Definition: decorator/finite-difference-gradient.hh:71
void computeColumn(value_type epsilon, gradient_ref column, const_argument_ref argument, size_type colIdx, argument_ref xEps) const
Definition: finite-difference-gradient.hxx:524
Checks whether the function type derives from TwiceDifferentiableFunction or TwiceDifferentiableSpars...
Definition: utility.hh:252
const typedef Eigen::Ref< const T > & type
Definition: utility.hh:108
const boost::shared_ptr< U > & origin() const
Definition: bind.hh:55
void checkGradientAndThrow(const GenericDifferentiableFunction< T > &function, typename GenericDifferentiableFunction< T >::size_type functionId, typename GenericDifferentiableFunction< T >::const_argument_ref x, typename GenericDifferentiableFunction< T >::value_type threshold=finiteDifferenceThreshold)
Definition: finite-difference-gradient.hxx:281
Function::vector_t vector_t
Definition: solver.hh:48
const GenericFunction< T > & adaptee_
Reference to the wrapped function.
Definition: decorator/finite-difference-gradient.hh:330
V & operator[](const_key_ref key)
Access a cached element.
Definition: cache.hxx:174
matplotlib import.
Definition: matplotlib-commands.hh:39
boost::shared_ptr< Minus > MinusShPtr_t
Definition: minus.hh:42
Select part of a function.
Definition: selection-by-id.hh:36
parameters_t parameters_
Solver state extra parameters (solver-specific parameters etc.).
Definition: solver-state.hh:166
GenericFiniteDifferenceGradient(const GenericFunction< T > &f, value_type e=finiteDifferenceEpsilon)
Instantiate a finite differences gradient.
Definition: finite-difference-gradient.hxx:117
ROBOPTIM_DLLAPI Command plot_mat(GenericFunctionTraits< EigenMatrixDense >::const_matrix_ref mat, MatrixPlotType::Type type=MatrixPlotType::Values)
Plot the structure of a matrix with matplotlib.
Definition: matplotlib-matrix.cc:179
Sin()
Build an constant function.
Definition: sin.hh:40
ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericTwiceDifferentiableFunction< traits_t >)
void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Definition: chain.hxx:83
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(parentType_t)
Tag a result if no solution has been found.
Definition: fwd.hh:29
detail::PromoteTrait< U, V >::T_promote parentType_t
Definition: minus.hh:39
Get the constraint type of CLIST that best match C.
Definition: utility.hh:213
DummySolverTd(const problem_t &problem)
Build a solver from a problem.
Definition: dummy-td.cc:28
P::function_t::argument_t argument_t
Import argument types from problem.
Definition: solver-state.hh:85
void impl_gradient(gradient_ref, const_argument_ref, size_type=0) const
Definition: numeric-linear-function.hxx:98
GenericSumOfC1Squares< EigenMatrixSparse > SumOfC1SquaresSparse
Sum of the squares of sparse differentiable functions.
Definition: sum-of-c1-squares.hh:94
V::rowVector_ref rowVectorV_ref
Definition: product.hxx:54
V::jacobian_t jacobianV_t
Definition: product.hxx:64
Define an abstract derivable function ( ).
Definition: differentiable-function.hh:79
differentiableFunction_t::jacobian_ref InputJacBlock
input type of the jacobian given by the user
Definition: structured-input.hh:62
const_vector_ref c() const
Definition: numeric-quadratic-function.hh:87
const boost::shared_ptr< U > & right() const
Definition: concatenate.hh:70
Definition: autopromote.hh:167
U::jacobian_t jacobianU_t
Definition: product.hxx:63
Generic sum of the squares of differentiable functions.
Definition: sum-of-c1-squares.hh:44
Apply a function several times to an input vector.
Definition: map.hh:42
F::const_jacobian_ref const_jacobian_ref
Definition: derivable-parametrized-function.hh:61
ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericTwiceDifferentiableFunction< traits_t >)
T solver_t
Definition: optimization-logger.hh:44
std::string sparse_jacobian_to_gnuplot(DifferentiableSparseFunction::const_jacobian_ref jac, const std::string &name)
Definition: gnuplot-differentiable-function.cc:47
void computeGradient(value_type epsilon, gradient_ref gradient, const_argument_ref argument, size_type idFunction, argument_ref xEps) const
Definition: finite-difference-gradient.hxx:483
const_iterator cbegin() const
Iterator to the beginning of the cache.
Definition: cache.hxx:154
Definition: optimization-logger.hxx:69
parameterValues_t value
Value.
Definition: solver.hh:66
Define an abstract function which is twice-derivable ( ).
Definition: fwd.hh:123
GenericQuadraticFunction< EigenMatrixDense > QuadraticFunction
Definition: fwd.hh:135
GenericDummySolverLastState< DifferentiableSparseFunction > DummyDifferentiableSparseSolverLastState
Definition: dummy-laststate.hh:88
static void gradient(typename Types< U, V >::gradient_ref grad_uv, const typename Types< U, V >::rowVectorU_ref u, const typename Types< U, V >::rowVectorV_ref v, const typename Types< U, V >::gradientU_ref grad_u, const typename Types< U, V >::gradientV_ref grad_v, typename boost::enable_if< typename Types< U, V >::fullDense_t >::type *=0)
Full dense version of gradient computation.
Definition: product.hxx:75
virtual ~NTimesDerivableFunction()
Definition: n-times-derivable-function.hxx:24
std::ostream & operator()(const T &val)
Definition: solver.cc:32
static log4cxx::LoggerPtr logger
Pointer to function logger (see log4cxx documentation).
Definition: solver.hh:192
ROBOPTIM_DLLAPI Command set(const char *var, const char *val="")
Make a Gnuplot set command.
Definition: gnuplot-commands.cc:84
virtual void impl_hessian(hessian_ref hessian, const_argument_ref argument, size_type functionId=0) const
Definition: cached-function.hxx:307
void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: chain.hxx:70
boost::shared_ptr< Minus< U, V > > minus(boost::shared_ptr< U > left, boost::shared_ptr< V > right)
Definition: minus.hh:88
virtual ~FunctionPool()
Virtual destructor.
Definition: function-pool.hxx:188
U::rowVector_t rowVectorU_t
Definition: product.hxx:51
Gnuplot & operator<<(Gnuplot &gp, T t)
Override operator<< to handle Gnuplot command insertion.
Definition: gnuplot.hh:115
argument_t cacheKey_t
Key type for the cache.
Definition: cached-function.hh:73
void resetImports()
Reset imports to initial values.
Definition: matplotlib.cc:63
function_t::matrix_t jacobian_t
Definition: optimization-logger.hh:54
~Command()
Definition: gnuplot-commands.cc:36
const function_t & function() const
Retrieve cost function.
Definition: problem.hxx:309
std::ostream & print(std::ostream &o) const
Display the problem on the specified output stream.
Definition: problem.hxx:624
jacobian_t jacobian(const_argument_ref argument) const
Computes the jacobian.
Definition: differentiable-function.hh:131
Command plot_mat(typename GenericFunctionTraits< T >::const_matrix_ref)
Definition: gnuplot-matrix.hh:61
void addNonScalarConstraint(P &problem, boost::shared_ptr< C > constraint, std::vector< Function::interval_t > interval, std::vector< Function::value_type > scale=std::vector< Function::value_type >())
Definition: split.hxx:156
void impl_compute(result_ref result, const_argument_ref x) const
Definition: minus.hxx:55
virtual void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: split.hxx:78
#define ROBOPTIM_GENERATE_TYPEDEFS_EIGEN_REF(NAME, TYPE)
Definition: function.hh:51
~ResultWithWarnings()
Definition: result-with-warnings.cc:47
boost::mpl::transform< CLIST, typename boost::shared_ptr< boost::mpl::_1 > >::type type
Result.
Definition: utility.hh:60
const boost::shared_ptr< U > & left() const
Definition: minus.hh:47
ROBOPTIM_DLLEXPORT void destroy(solver_t *p)
Definition: dummy.cc:85
const boost::shared_ptr< V > & right() const
Definition: minus.hh:57
Solver(const problem_t &problem)
Instantiate a solver from a problem.
Definition: solver.hxx:26
void computeJacobian(value_type epsilon, jacobian_ref jacobian, const_argument_ref argument, argument_ref xEps) const
Definition: finite-difference-gradient.hxx:541
void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: scalar.hxx:54
boost::shared_ptr< T > function_
Definition: cached-function.hh:168
scaling_t & argumentScaling()
Retrieve arguments scaling.
Definition: problem.hxx:491
void unregister()
Unregister the multiplexer from the solver.
Definition: multiplexer.hxx:116
detail::AutopromoteTrait< U >::T_type parentType_t
Definition: selection-by-id.hh:39
@ SOLVER_VALUE
Solution has been found.
Definition: generic-solver.hh:56
virtual void solve()=0
Solve the problem.
vector_t value
Function value at the solver found point.
Definition: result.hh:69
ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericTwiceDifferentiableFunction< T >)
boost::shared_ptr< Derivative > DerivativeShPtr_t
Definition: derivative.hh:70
SolverState(const problem_t &problem)
Instantiate a solver from a problem.
Definition: solver-state.hxx:81
void jacobian(jacobian_ref jacobian, const_argument_ref argument) const
Computes the jacobian.
Definition: differentiable-function.hh:145
const boost::shared_ptr< U > & origin() const
Definition: map.hh:56
Get the descendant among two relatives.
Definition: utility.hh:186
P::vector_t vector_t
Definition: optimization-logger.hxx:71
const result_t & minimum()
Returns the function minimum This solves the problem automatically, if it has not yet been solved.
Definition: generic-solver.cc:53
Derivative(boost::shared_ptr< U > origin, size_type variableId)
Derivative operator constructor.
Definition: derivative.hh:75
scaling_t scales_t ROBOPTIM_CORE_DEPRECATED
Scaling vector (deprecated typedef)
Definition: problem.hh:322
solver_t::problem_t::function_t function_t
Definition: optimization-logger.hh:53
static value_type getUpperBound(const discreteInterval_t &interval)
Get the upper bound of a discrete interval.
Definition: function.hh:346
function_t::interval_t interval_t
Definition: problem.hh:98
boost::enable_if< detail::derives_from_twice_differentiable_function< T > > isNTimesDerivable_t
Definition: cached-function.hxx:73
~Gnuplot()
Definition: gnuplot.cc:38
void addConstraint(boost::shared_ptr< C > constraint, interval_t interval, value_type scale=1.)
Add a constraint to the problem.
Definition: problem.hxx:331
#define ASSERT_CONSTRAINT_TYPE(C, CLIST)
Definition: problem.hxx:322
virtual ~Problem()
Virtual destructor.
Definition: problem.hxx:254
Exception used for non-critical errors during optimization.
Definition: solver-warning.hh:34
Function::size_type size_type
Import size type from Function class.
Definition: result.hh:43
Return the derivative of a function w.r.t.
Definition: derivative.hh:34
#define GNUPLOT_STR_COMMAND(NAME, ARG)
Definition: gnuplot-commands.cc:53
virtual void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: cached-function.hxx:200
matrix_ref A()
Definition: numeric-linear-function.hh:70
void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: bind.hxx:80
NTimesDerivableFunction(size_type outputSize=1, std::string name=std::string())
Concrete class constructor should call this constructor.
Definition: n-times-derivable-function.hh:169
const solver_t & solver() const
Return the solver associated with the logger.
Definition: optimization-logger.hxx:568
@ knowPrecisionRank
Definition: autopromote.hh:33
Function::value_type value_type
Definition: solver.hh:47
const_matrix_ref const_symmetric_ref
Definition: numeric-quadratic-function.hh:46
Get the matrix stride type for a row vector, given a matrix storage order.
Definition: utility.hh:144
Compute automatically a gradient with finite differences.
Definition: decorator/finite-difference-gradient.hh:301
ROBOPTIM_TWICE_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(GenericTwiceDifferentiableFunction< T >)
hash_t hash_function(const_key_ref key) const
Hash function used in the cache.
Definition: cache.hxx:209
F::gradient_ref gradient_ref
Definition: derivable-parametrized-function.hh:56
solver_t::problem_t::size_type size_type
Definition: optimization-logger.hh:47
Solver state parameters type.
Definition: solver-state.hh:44
virtual ~Multiplexer()
Virtual destructor.
Definition: multiplexer.hxx:46
Chain two RobOptim functions.
Definition: chain.hh:48
void impl_gradient(gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const
Definition: concatenate.hxx:92
boost::shared_ptr< U > & right()
Definition: concatenate.hh:75
printConstraint(std::ostream &o, const P &problem, std::size_t i)
Definition: problem.hxx:560
void impl_compute(result_ref result, const_argument_ref x) const
Definition: sin.hh:58
ROBOPTIM_GENERATE_TRAITS_REFS_(hessian)
Hessian type.
detail::AutopromoteTrait< U >::T_type parentType_t
Definition: selection.hh:40
detail::PromoteTrait< U, V >::T_promote parentType_t
Definition: plus.hh:39
F result_t
Import result type.
Definition: derivable-parametrized-function.hh:50
solver_t & operator()()
Retrieve a reference on the solver.
Definition: solver-factory.hxx:239
vector_t x
Point found by the solver.
Definition: result.hh:67
void impl_jacobian(jacobian_ref jacobian, const_argument_ref x) const
Definition: polynomial.hxx:152
void derivative(derivative_ref derivative, value_type argument, size_type order=1) const
Compute the derivative of the function.
Definition: n-times-derivable-function.hh:143
GenericQuadraticFunction< EigenMatrixSparse > QuadraticSparseFunction
Definition: fwd.hh:137
Matplotlib(std::pair< int, int > multiplot=std::make_pair(1, 1), bool with_header=true)
Default constructor can not be called directly.
Definition: matplotlib.cc:31
boost::shared_ptr< SelectionById< U > > selectionById(boost::shared_ptr< U > origin, std::vector< bool > selector)
Definition: selection-by-id.hh:78
void push_command(const matplotlib::Command &cmd)
Add a new matplotlib command to the script.
Definition: matplotlib.cc:72
boost::shared_ptr< Scalar< U > > scalar(boost::shared_ptr< U > origin, typename Scalar< U >::size_type start=0, typename Scalar< U >::size_type size=1)
Definition: scalar.hh:78
ROBOPTIM_DLLAPI bool allclose(const Eigen::SparseMatrix< double > &a, const Eigen::SparseMatrix< double > &b, double rtol=Eigen::NumTraits< double >::dummy_precision(), double atol=Eigen::NumTraits< double >::epsilon())
Compare sparse vectors (matrices) using both relative and absolute tolerances.
Definition: util.cc:104
~Selection()
Definition: selection.hxx:50
void clear()
Clear the vectors of imports and commands.
Definition: matplotlib.cc:162
F::value_type value_type
Import value type.
Definition: parametrized-function.hh:57
solver_t::problem_t::function_t::traits_t traits_t
Definition: optimization-logger.hh:51
DummySolverLastState::parent_t solver_t
Definition: dummy-laststate.cc:29
void impl_jacobian(jacobian_ref jacobian, const_argument_ref arg) const
Definition: minus.hxx:78
void impl_compute(result_ref result, const_argument_ref argument) const
Definition: identity.hh:65
const callback_t & callback() const
Definition: dummy-laststate.hh:74
K key_t
Type of keys.
Definition: cache.hh:45
boost::optional< value_type > cost_
Current cost.
Definition: solver-state.hh:158
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(parentType_t)
virtual std::ostream & print(std::ostream &) const
Display the solver parameter on the specified output stream.
Definition: solver-state.hxx:72
const boost::shared_ptr< U > & left() const
Definition: concatenate.hh:60
virtual void impl_hessian(hessian_ref hessian, const_argument_ref argument, size_type functionId=0) const
Definition: split.hxx:110
ROBOPTIM_DLLAPI Command quit()
Make a Gnuplot quit command.
LRUCache(size_t size=10)
Constructor.
Definition: cache.hxx:26
boost::shared_ptr< Chain > ChainShPtr_t
Definition: chain.hh:54
void impl_jacobian(jacobian_ref, const_argument_ref) const
Definition: numeric-quadratic-function.hxx:101
boost::shared_ptr< U > & left()
Definition: concatenate.hh:65
roboptim::GenericDifferentiableFunction< typename FuncType::traits_t > differentiableFunction_t
Differentiable function type.
Definition: structured-input.hh:77
size_type gradientSize() const
Return the gradient size.
Definition: differentiable-function.hh:96
GenericFunction< EigenMatrixDense > Function
Dense function.
Definition: fwd.hh:65
std::vector< constraint_t > constraints_t
Constraints are represented as a vector of constraints.
Definition: problem.hh:307
~Cos()
Definition: cos.hh:45
parent_t::callback_t callback_t
Callback function type.
Definition: dummy-laststate.hh:52
void perIterationCallback(const problem_t &pb, const solverState_t &state)
Definition: optimization-logger.hxx:459
virtual ~ParametrizedFunction()
Definition: parametrized-function.hh:108
U & left()
Definition: minus.hh:52
solverState_t solverState_
Current state of the solver (used by the callback function).
Definition: dummy-laststate.hh:83
T::traits_t traits_t
Definition: concatenate.hxx:33
void cachedFunctionHessian(hessian_ref hessian, const_argument_ref argument, size_type functionId, typename detail::CachedFunctionTypes< U >::isTwiceDifferentiable_t::type *=0) const
Definition: cached-function.hxx:260
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_(parentType_t)
virtual std::ostream & print(std::ostream &) const
Display the function on the specified output stream.
Definition: parametrized-function.hxx:66
problem_t::function_t::traits_t traits_t
Function traits.
Definition: optimization-logger.hxx:129
void append(const std::string &text)
Append extra information to the log file.
Definition: optimization-logger.hxx:329
Build a linear function from a vector and a matrix.
Definition: fwd.hh:93
Convert a constraint to a proper type.
Definition: utility.hh:313
static log4cxx::LoggerPtr logger
Pointer to function logger (see log4cxx documentation).
Definition: function.hh:542
const_matrix_ref A() const
Definition: numeric-quadratic-function.hh:77
Definition: autopromote.hh:155
P::intervalsVect_t intervalsVect_t
Definition: optimization-logger.hxx:74
GenericFunctionTraits< T >::value_type value_type
Values type.
Definition: function.hh:173
GenericTwiceDifferentiableFunction< T > parent_t
Definition: quadratic-function.hh:38
~Product()
Definition: product.hxx:233
std::string sparse_matrix_to_matplotlib(GenericFunctionTraits< EigenMatrixSparse >::const_matrix_ref mat, MatrixPlotType::Type type)
Definition: matplotlib-matrix.cc:119
FivePointsRule(const GenericFunction< T > &adaptee)
Definition: decorator/finite-difference-gradient.hh:245
Definition: optimization-logger.hxx:40
ROBOPTIM_DLLEXPORT solver_t * create(const DummySolverLastState::problem_t &pb)
Definition: dummy-laststate.cc:48
TwiceDifferentiableFunction parent_t
Parent type.
Definition: n-times-derivable-function.hh:55
Scalar< U >::parent_t T_type
Definition: autopromote.hh:106
const boost::shared_ptr< U > & left() const
Definition: product.hh:47
LRUCache< cacheKey_t, gradient_t, Hasher > gradientCache_t
Definition: cached-function.hh:76