42 #ifndef CALC_FINITE_DIFF_FIRST_DERIVATIVE_PRODUCT_H
43 #define CALC_FINITE_DIFF_FIRST_DERIVATIVE_PRODUCT_H
45 #include "NLPInterfacePack_Types.hpp"
48 namespace NLPInterfacePack {
166 ,value_type fd_step_size = -1.0
167 ,value_type fd_step_size_min = -1.0
168 ,value_type fd_step_size_f = -1.0
169 ,value_type fd_step_size_c = -1.0
229 ,
const value_type *fo
234 ,VectorMutable *Gc_prod
237 ,
bool dump_all =
false
244 #endif // CALC_FINITE_DIFF_FIRST_DERIVATIVE_PRODUCT_H
Use FD_ORDER_FOUR_CENTRAL when not limited by bounds, otherwise use FD_ORDER_FOUR.
CalcFiniteDiffProd(EFDMethodOrder fd_method_order=FD_ORDER_FOUR_AUTO, EFDStepSelect fd_step_select=FD_STEP_ABSOLUTE, value_type fd_step_size=-1.0, value_type fd_step_size_min=-1.0, value_type fd_step_size_f=-1.0, value_type fd_step_size_c=-1.0)
Use absolute step size fd_step_size
virtual ~CalcFiniteDiffProd()
Use O(eps^4) two sided central finite differences.
Use O(eps^2) one sided finite differences (cramped bounds)
Strategy interface for computing the product of the derivatives of the functions of an NLP along give...
Use O(eps^2) two sided central finite differences.
STANDARD_MEMBER_COMPOSITION_MEMBERS(EFDMethodOrder, fd_method_order)
NLP interface class {abstract}.
Use relative step size fd_step_size * ||xo||inf
virtual bool calc_deriv_product(const Vector &xo, const Vector *xl, const Vector *xu, const Vector &v, const value_type *fo, const Vector *co, bool check_nan_inf, NLP *nlp, value_type *Gf_prod, VectorMutable *Gc_prod, std::ostream *out, bool trace=false, bool dump_all=false) const
Compute the directional derivatives by finite differences.
Use FD_ORDER_TWO_CENTRAL when not limited by bounds, otherwise use FD_ORDER_TWO.
Use O(eps^4) one sided finite differences (cramped bounds)
Use O(eps) one sided finite differences (cramped bounds)