el0ps.penalty.Bounds

class el0ps.penalty.Bounds(x_lb, x_ub)

Bound-constraint BasePenalty penalty function.

The splitting terms are expressed as

\[\begin{split}h_i(x_i) = \begin{cases} 0 & \text{if } x^{\text{lb}}_i \leq x_i \leq x^{\text{ub}}_i \\ +\infty & \text{otherwise} \end{cases}\end{split}\]

for some \(x^{\text{lb}}_i < 0\) and \(x^{\text{ub}}_i > 0\).

Parameters:
x_lb: NDArray

Vector or lower bounds.

x_ub: NDArray

Vector of upper bounds.

__init__(x_lb, x_ub)

Methods

__init__(x_lb, x_ub)

bind_model(model)

Impose an constraint associated with the penalty function in a pyomo model.

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.

get_spec()

Specify the numba types of the class attributes.

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}.

params_to_dict()

Returns the parameters name and value used to initialize the class instance.

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.