alpaqa no-casadi-dep
Nonconvex constrained optimization
Loading...
Searching...
No Matches
Public Member Functions | List of all members
prox_step_fn Struct Reference

#include <alpaqa/functions/prox.hpp>

Detailed Description

Proximal mapping customization point for forward-backward steps.

See also
https://wg21.link/P1895R0

Definition at line 65 of file prox.hpp.

+ Collaboration diagram for prox_step_fn:

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.
 

Member Function Documentation

◆ operator()() [1/2]

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 -> typename T::config_t::real_t
inlinenoexcept

Definition at line 88 of file prox.hpp.

◆ operator()() [2/2]

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 -> typename T::config_t::real_t
inlinenoexcept

Default implementation for prox_step if only prox is provided.

Definition at line 121 of file prox.hpp.


The documentation for this struct was generated from the following file: