alpaqa
develop
Nonconvex constrained optimization
|
#include <alpaqa/functions/prox.hpp>
Proximal mapping customization point for forward-backward steps.
Public Member Functions | |
template<class T > requires requires { typename T::config_t; requires is_config_v<typename T::config_t>; requires alpaqa::tag_invocable< prox_step_fn, T &, typename T::config_t::crmat, typename T::config_t::crmat, typename T::config_t::rmat, typename T::config_t::rmat, typename T::config_t::real_t, typename T::config_t::real_t>; requires std::is_same_v< tag_invoke_result_t< prox_step_fn, T &, typename T::config_t::crmat, typename T::config_t::crmat, typename T::config_t::rmat, typename T::config_t::rmat, typename T::config_t::real_t, typename T::config_t::real_t>, typename T::config_t::real_t>; } | |
auto | operator() (T &func, typename T::config_t::crmat in, typename T::config_t::crmat fwd_step, typename T::config_t::rmat out, typename T::config_t::rmat fb_step, typename T::config_t::real_t γ=1, typename T::config_t::real_t γ_fwd=-1) const noexcept(alpaqa::is_nothrow_tag_invocable_v< prox_step_fn, T &, typename T::config_t::crmat, typename T::config_t::crmat, typename T::config_t::rmat, typename T::config_t::rmat, typename T::config_t::real_t, typename T::config_t::real_t >) -> typename T::config_t::real_t |
template<class T > requires requires { typename T::config_t; requires is_config_v<typename T::config_t>; requires !alpaqa::tag_invocable< prox_step_fn, T &, typename T::config_t::crmat, typename T::config_t::crmat, typename T::config_t::rmat, typename T::config_t::rmat, typename T::config_t::real_t, typename T::config_t::real_t>; requires std::invocable<prox_fn, T &, typename T::config_t::crmat, typename T::config_t::rmat, typename T::config_t::real_t>; } | |
auto | operator() (T &func, typename T::config_t::crmat in, typename T::config_t::crmat fwd_step, typename T::config_t::rmat out, typename T::config_t::rmat fb_step, typename T::config_t::real_t γ=1, typename T::config_t::real_t γ_fwd=-1) const noexcept(std::is_nothrow_invocable_v< prox_fn, T &, typename T::config_t::crmat, typename T::config_t::rmat, typename T::config_t::real_t >) -> typename T::config_t::real_t |
Default implementation for prox_step if only prox is provided. | |
|
inlinenoexcept |
|
inlinenoexcept |