cr.sparse.opt.ProxCapable¶
- class cr.sparse.opt.ProxCapable(func: Callable[[jax.Array], float], prox_op: Callable[[jax.Array, float], jax.Array], prox_vec_val: Callable[[jax.Array, float], Tuple[float, jax.Array]])[source]¶
Represents a function which is prox capable
The proximal operator for a function \(f\) is defined as
(1)¶\[p_f(x, t) = \text{arg} \min_{z \in \RR^n} f(x) + \frac{1}{2t} \| z - x \|_2^2\]Let op be a variable of type ProxCapable which represents some prox-capable function \(f\). Then:
op.func(x) returns the function value \(f(x)\).
op.prox_op(x) returns the proximal vector for a step size: \(z = p_f(x, t)\).
op.prox_vec_val(x) returns the pair \(z,v = p_f(x, t), f(z)\).
Attributes
func
Definition of a prox capable function
prox_op
Proximal operator for the function
prox_vec_val
A wrapper function to evaluate the proximal vector and the function value at the vector