#include <alpaqa/functions/prox.hpp>
Proximal mapping customization point for forward-backward steps.
- See also
- https://wg21.link/P1895R0
Definition at line 63 of file prox.hpp.
|
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.
|
|
◆ operator()() [1/2]
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 |
◆ operator()() [2/2]
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 119 of file prox.hpp.
The documentation for this struct was generated from the following file:
- src/alpaqa/include/alpaqa/functions/prox.hpp