el0ps.penalty.BasePenalty

class el0ps.penalty.BasePenalty

Base class for penalty defined as separable functions.

This class represent separable mathematical functions expressed as

\[\begin{split}\begin{align*} h : \mathbb{R}^n &\rightarrow \mathbb{R} \cup \{+\infty\} \\ \mathbf{x} &\mapsto h(\mathbf{x}) = \textstyle\sum_{i=1}^n h_i(x_i) \end{align*}\end{split}\]

where each splitting term \(h_i\) is proper, lower-semicontinuous, convex, coercive, non-negative, and minimized at \(x_i = 0\).

__init__(*args, **kwargs)

Methods

__init__(*args, **kwargs)

conjugate(i, x)

Value of the convex conjugate of the i-th splitting term of the penalty function at x.

conjugate_subdiff(i, x)

Subdifferential of the conjugate of the i-th splitting term of the penalty function at x, returned as an interval.

param_bndry_neg(i, lmbd)

Infimum of the set self.subdiff(i, tau) where tau = self.param_limit_neg(i, lmbd).

param_bndry_pos(i, lmbd)

Supremum of the set self.subdiff(i, tau) where tau = self.param_limit_pos(i, lmbd).

param_limit_neg(i, lmbd)

Infimum of the set self.conjugate_subdiff(i, tau) where tau = self.param_slope_neg(i, lmbd).

param_limit_pos(i, lmbd)

Supremum of the set self.conjugate_subdiff(i, tau) where tau = self.param_slope_pos(i, lmbd).

param_slope_neg(i, lmbd)

Infimum of the set {x in R | self.conjugate(i, x) <= lmbd}.

param_slope_pos(i, lmbd)

Supremum of the set {x in R | self.conjugate(i, x) <= lmbd}.

prox(i, x, eta)

Proximity operator of the i-th splitting term of the penalty function weighted by eta at x.

subdiff(i, x)

Subdifferential of the i-th splitting term of the penalty function at x, returned as an interval.

value(i, x)

Value of the i-th splitting term of the penalty function at x.