cr.sparse.opt.prox_owl1¶
- cr.sparse.opt.prox_owl1(lambda_=1.0)[source]¶
Returns a prox-capable wrapper for the ordered and weighted l1-norm function
f(x) = sum(lambda * sort(abs(x), 'descend'))
- Parameters
lambda (jax.numpy.ndarray) – A strictly positive vector which is sorted in decreasing order
- Returns
A prox-capable function
- Return type
Let \(x \in \RR^n\). Let \(|x|\) represent a vector of absolute values of entries in \(x\). Let \(|x|_{\downarrow}\) represent a vector consisting of entries in \(|x|\) sorted in descending order. Let \(|x|_{(1)} \geq |x|_{(2)} \geq |x|_{(3)} \geq \dots \geq |x|_{(n)}\) represent the order statistic of \(x\), i.e. entries in \(x\) arranged in descending order by magnitude.
Let \(\lambda \in \RR^n_{+}\) be a weight vector such that \(\lambda_1 \geq \lambda_2 \geq \dots \geq \lambda_n\) and \(\lambda \neq 0\) i.e. not all entries in \(\lambda\) are zero.
Then the ordered weighted \(\ell_1\) norm of \(x\) w.r.t. the weight vector \(\lambda\) is defined as:
(1)¶\[J_{\lambda} (x) = \sum_{1}^n \lambda_i | x |_{(i)}\]The function is computed in following steps:
Take absolute values of entries in x
Sort the entries of x in descending order
Multiply the sorted entries with entries in lambda (component wise)
Compute the sum of the entries
For the derivation of the proximal operator for the ordered and weighted l1 norm, see [lBvdBSC13].