11template <Config Conf = DefaultConfig>
35 void eval_augmented_lagrangian_hessian_product(
crvec x,
crvec y,
crvec Σ,
real_t scale,
crvec v,
rvec Hv)
const {
ScopedMallocAllower ma;
hess_ψ_prod(x, y, Σ, scale, v, Hv); }
39 jac_g(x, J_values.reshaped(this->num_constraints, this->num_variables));
43 hess_L(x, y, scale, H_values.reshaped(this->num_variables, this->num_variables));
46 rvec H_values)
const {
48 hess_ψ(x, y, Σ, scale, H_values.reshaped(this->num_variables, this->num_variables));
69 [[nodiscard]] std::string
get_name()
const {
return "FunctionalProblem"; }
BoxConstrProblem(length_t num_variables, length_t num_constraints)
void eval_constraints(crvec x, rvec gx) const
std::string get_name() const
bool provides_eval_constraints_jacobian() const
std::function< void(crvec, crvec, real_t, rmat)> hess_L
std::function< real_t(crvec)> f
void eval_lagrangian_hessian_product(crvec x, crvec y, real_t scale, crvec v, rvec Hv) const
void eval_lagrangian_hessian(crvec x, crvec y, real_t scale, rvec H_values) const
std::function< void(crvec, crvec, real_t, crvec, rvec)> hess_L_prod
std::function< void(crvec, index_t, rvec)> grad_gi
std::function< void(crvec, crvec, crvec, real_t, crvec, rvec)> hess_ψ_prod
std::function< void(crvec, crvec, crvec, real_t, rmat)> hess_ψ
std::function< void(crvec, crvec, rvec)> grad_g_prod
void eval_constraints_jacobian(crvec x, rvec J_values) const
std::function< void(crvec, rvec)> g
FunctionalProblem & operator=(const FunctionalProblem &)=default
void eval_augmented_lagrangian_hessian_product(crvec x, crvec y, crvec Σ, real_t scale, crvec v, rvec Hv) const
std::function< void(crvec, rmat)> jac_g
bool provides_eval_lagrangian_hessian_product() const
std::function< void(crvec, rvec)> grad_f
void eval_augmented_lagrangian_hessian(crvec x, crvec y, crvec Σ, real_t scale, rvec H_values) const
bool provides_eval_augmented_lagrangian_hessian() const
FunctionalProblem(const FunctionalProblem &)=default
bool provides_eval_grad_gi() const
void eval_objective_gradient(crvec x, rvec grad_fx) const
bool provides_eval_augmented_lagrangian_hessian_product() const
FunctionalProblem(FunctionalProblem &&) noexcept=default
real_t eval_objective(crvec x) const
bool provides_eval_lagrangian_hessian() const
void eval_constraints_gradient_product(crvec x, crvec y, rvec grad_gxy) const
void eval_grad_gi(crvec x, index_t i, rvec grad_gix) const
#define USING_ALPAQA_CONFIG(Conf)
typename Conf::real_t real_t
typename Conf::index_t index_t
typename Conf::crvec crvec