Functions and operators#
- group grp_Functions
(Proximable) functions and operators.
Variables
-
struct alpaqa::prox_fn prox#
Compute the proximal mapping.
\[ \begin{aligned} \mathrm{out} &\leftarrow \prox_{\gamma\, \mathrm{func}} \left( \mathrm{in} \right). \end{aligned} \]- Param func:
The proximable function \( h : \Rn \to \Rn \) to apply the proximal mapping of.
- Param in:
[in] Input vector or matrix \( x \), e.g. current iterate.
- Param out:
[out] Proximal mapping of \( (\gamma\, h) \) at \( x \). \( \hat x \leftarrow \prox_{\gamma\, h}\left( x \right) \)
- Param γ:
[in] Proximal step size \( \gamma \).
- Return:
The value of the function evaluated in the output, \( h(\hat x) \).
-
struct alpaqa::prox_step_fn prox_step#
Compute a generalized forward-backward step.
\[\begin{split} \begin{aligned} \mathrm{out} &\leftarrow \prox_{\gamma\, \mathrm{func}} \left( \mathrm{in} + \gamma_\mathrm{fwd}\, \mathrm{fwd\_step} \right) \\ \mathrm{fb\_step} &\leftarrow \mathrm{out} - \mathrm{in}. \end{aligned} \end{split}\]- Param func:
The proximable function \( h : \Rn \to \Rn \) to apply the proximal mapping of.
- Param in:
[in] Input vector or matrix \( x \), e.g. current iterate.
- Param fwd_step:
[in] Step \( d \) to add to \( x \) before computing the proximal mapping. Scaled by \( \gamma_\text{fwd} \).
- Param out:
[out] Proximal mapping of \( (\gamma\, h) \) at \( x + \gamma_\text{fwd}\, d \). \( \hat x \leftarrow \prox_{\gamma\, h}\left( x + \gamma_\text{fwd}\, d \right) \)
- Param fb_step:
[out] Forward-backward step \( p \). \( p = \hat x - \hat x \)
- Param γ:
[in] Proximal step size \( \gamma \).
- Param γ_fwd:
[in] Forward step size \( \gamma_\mathrm{fwd} \).
- Return:
The value of the function evaluated in the output, \( h(\hat x) \).
-
template<Config Conf, class Weight = typename Conf::real_t>
struct L1Norm# - #include <alpaqa/functions/l1-norm.hpp>
ℓ₁-norm.
- Template Parameters:
Weight – Type of weighting factors. Either scalar or vector.
-
template<Config Conf, class SVD = DefaultSVD<Conf>>
struct NuclearNorm# - #include <alpaqa/functions/nuclear-norm.hpp>
Nuclear norm (ℓ₁-norm of singular values).
Public Functions
-
struct alpaqa::prox_fn prox#