template<Config Conf>
struct alpaqa::ProblemVTable< Conf >
Struct containing function pointers to all problem functions (like the objective and constraint functions, with their derivatives, and more).
Some default implementations are available. Internal struct, it is used by TypeErasedProblem.
Definition at line 24 of file type-erased-problem.hpp.
|
static real_t | calc_ŷ_dᵀŷ (const void *self, rvec g_ŷ, crvec y, crvec Σ, const ProblemVTable &vtable) |
|
static index_t | default_eval_inactive_indices_res_lna (const void *, real_t, crvec, crvec, rindexvec, const ProblemVTable &) |
|
static void | default_eval_jac_g (const void *, crvec, rvec, const ProblemVTable &) |
|
static Sparsity | default_get_jac_g_sparsity (const void *, const ProblemVTable &) |
|
static void | default_eval_grad_gi (const void *, crvec, index_t, rvec, const ProblemVTable &) |
|
static void | default_eval_hess_L_prod (const void *, crvec, crvec, real_t, crvec, rvec, const ProblemVTable &) |
|
static void | default_eval_hess_L (const void *, crvec, crvec, real_t, rvec, const ProblemVTable &) |
|
static Sparsity | default_get_hess_L_sparsity (const void *, const ProblemVTable &) |
|
static void | default_eval_hess_ψ_prod (const void *self, crvec x, crvec y, crvec, real_t scale, crvec v, rvec Hv, const ProblemVTable &vtable) |
|
static void | default_eval_hess_ψ (const void *self, crvec x, crvec y, crvec, real_t scale, rvec H_values, const ProblemVTable &vtable) |
|
static Sparsity | default_get_hess_ψ_sparsity (const void *, const ProblemVTable &) |
|
static real_t | default_eval_f_grad_f (const void *self, crvec x, rvec grad_fx, const ProblemVTable &vtable) |
|
static real_t | default_eval_f_g (const void *self, crvec x, rvec g, const ProblemVTable &vtable) |
|
static void | default_eval_grad_f_grad_g_prod (const void *self, crvec x, crvec y, rvec grad_f, rvec grad_gxy, const ProblemVTable &vtable) |
|
static void | default_eval_grad_L (const void *self, crvec x, crvec y, rvec grad_L, rvec work_n, const ProblemVTable &vtable) |
|
static real_t | default_eval_ψ (const void *self, crvec x, crvec y, crvec Σ, rvec ŷ, const ProblemVTable &vtable) |
|
static void | default_eval_grad_ψ (const void *self, crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m, const ProblemVTable &vtable) |
|
static real_t | default_eval_ψ_grad_ψ (const void *self, crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m, const ProblemVTable &vtable) |
|
static const Box & | default_get_box_C (const void *, const ProblemVTable &) |
|
static const Box & | default_get_box_D (const void *, const ProblemVTable &) |
|
static void | default_check (const void *, const ProblemVTable &) |
|
static std::string | default_get_name (const void *, const ProblemVTable &) |
|
|
required_function_t< void(crvec z, rvec e) const > | eval_proj_diff_g |
|
required_function_t< void(rvec y, real_t M) const > | eval_proj_multipliers |
|
required_function_t< real_t(real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) const > | eval_prox_grad_step |
|
required_function_t< real_t(crvec x) const > | eval_f |
|
required_function_t< void(crvec x, rvec grad_fx) const > | eval_grad_f |
|
required_function_t< void(crvec x, rvec gx) const > | eval_g |
|
required_function_t< void(crvec x, crvec y, rvec grad_gxy) const > | eval_grad_g_prod |
|
optional_function_t< index_t(real_t γ, crvec x, crvec grad_ψ, rindexvec J) const > | eval_inactive_indices_res_lna = default_eval_inactive_indices_res_lna |
|
optional_function_t< void(crvec x, rvec J_values) const > | eval_jac_g = default_eval_jac_g |
|
optional_function_t< Sparsity() const > | get_jac_g_sparsity = default_get_jac_g_sparsity |
|
optional_function_t< void(crvec x, index_t i, rvec grad_gi) const > | eval_grad_gi = default_eval_grad_gi |
|
optional_function_t< void(crvec x, crvec y, real_t scale, crvec v, rvec Hv) const > | eval_hess_L_prod = default_eval_hess_L_prod |
|
optional_function_t< void(crvec x, crvec y, real_t scale, rvec H_values) const > | eval_hess_L = default_eval_hess_L |
|
optional_function_t< Sparsity() const > | get_hess_L_sparsity = default_get_hess_L_sparsity |
|
optional_function_t< void(crvec x, crvec y, crvec Σ, real_t scale, crvec v, rvec Hv) const > | eval_hess_ψ_prod = default_eval_hess_ψ_prod |
|
optional_function_t< void(crvec x, crvec y, crvec Σ, real_t scale, rvec H_values) const > | eval_hess_ψ = default_eval_hess_ψ |
|
optional_function_t< Sparsity() const > | get_hess_ψ_sparsity = default_get_hess_ψ_sparsity |
|
optional_function_t< real_t(crvec x, rvec grad_fx) const > | eval_f_grad_f = default_eval_f_grad_f |
|
optional_function_t< real_t(crvec x, rvec g) const > | eval_f_g = default_eval_f_g |
|
optional_function_t< void(crvec x, crvec y, rvec grad_f, rvec grad_gxy) const > | eval_grad_f_grad_g_prod = default_eval_grad_f_grad_g_prod |
|
optional_function_t< void(crvec x, crvec y, rvec grad_L, rvec work_n) const > | eval_grad_L = default_eval_grad_L |
|
optional_function_t< real_t(crvec x, crvec y, crvec Σ, rvec ŷ) const > | eval_ψ = default_eval_ψ |
|
optional_function_t< void(crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m) const > | eval_grad_ψ = default_eval_grad_ψ |
|
optional_function_t< real_t(crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m) const > | eval_ψ_grad_ψ = default_eval_ψ_grad_ψ |
|
optional_function_t< const Box &() const > | get_box_C = default_get_box_C |
|
optional_function_t< const Box &() const > | get_box_D = default_get_box_D |
|
optional_function_t< void() const > | check = default_check |
|
optional_function_t< std::string() const > | get_name = default_get_name |
|
length_t | n |
|
length_t | m |
|
required_function_t< void(void *storage) const > | copy = nullptr |
| Copy-construct a new instance into storage.
|
|
required_function_t< void(void *storage)> | move = nullptr |
| Move-construct a new instance into storage.
|
|
required_function_t< void()> | destroy = nullptr |
| Destruct the given instance.
|
|
const std::type_info * | type = &typeid(void) |
| The original type of the stored object.
|
|