Functions and operators#
- group grp_Functions
(Proximable) functions and operators.
Variables
-
struct alpaqa::prox_fn prox#
Compute the proximal mapping.
- Param func:
The proximable function
to apply the proximal mapping of.- Param in:
[in] Input vector or matrix
, e.g. current iterate.- Param out:
[out] Proximal mapping of
at .- Param γ:
[in] Proximal step size
.- Return:
The value of the function evaluated in the output,
.
-
struct alpaqa::prox_step_fn prox_step#
Compute a generalized forward-backward step.
Note the negative sign for the forward step size.struct Problem { alpaqa::functions::NuclearNorm<config_t> h{λ, rows, cols}; real_t eval_prox_grad_step(real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) const { return alpaqa::prox_step(h, x, grad_ψ, x̂, p, γ, -γ); } };
- Param func:
The proximable function
to apply the proximal mapping of.- Param in:
[in] Input vector or matrix
, e.g. current iterate.- Param fwd_step:
[in] Step
to add to before computing the proximal mapping. Scaled by .- Param out:
[out] Proximal mapping of
at .- Param fb_step:
[out] Forward-backward step
.- Param γ:
[in] Proximal step size
.- Param γ_fwd:
[in] Forward step size
.- Return:
The value of the function evaluated in the output,
.
-
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.
Public Types
-
using weight_t = Weight
Public Members
-
weight_t λ
-
template<Config Conf, class Weight = typename Conf::real_t>
struct L1NormComplex - #include <alpaqa/functions/l1-norm.hpp>
ℓ₁-norm of complex numbers.
- Template Parameters:
Weight – Type of weighting factors. Either scalar or vector.
Public Types
-
using weight_t = Weight
Public Members
-
weight_t λ
-
template<Config Conf, class SVD = DefaultSVD<Conf>>
struct NuclearNorm - #include <alpaqa/functions/nuclear-norm.hpp>
Nuclear norm (ℓ₁-norm of singular values).
Public Functions
-
inline NuclearNorm(real_t λ = 1)
Construct without pre-allocation.
-
inline NuclearNorm(real_t λ = 1)
-
struct alpaqa::prox_fn prox#