Implementation of the proximal operator of a composite term $||Ax+b||_1$. This is different from other operators of this library in the fact that shifts are no longer simply $\psi(x+s)$ for some non-differentiable function $\psi$.
Hence, some abstract types are added in ShiftedProximalOperators.jl.
In practice, such proximal operators are useful when we want to make a model of a penalty term $x \xrightarrow{} ||c(x)||_1$. The first-order model of the penalty term is then $s \xrightarrow{} ||c(x) + J(x)s||_1$.
As mentionned above, the shift is no longer simply $\psi(x+s)$. Hence, we add a CompositeNormL1 struct which mimics the unshifted function and implements $x\xrightarrow{} ||c(x)||_1$. On shifts, this transforms to a ShiftedCompositeNormL1 struct which implements $s\xrightarrow{} ||c(x)+J(x)s||_1$.
Implementation of the proximal operator of a composite term $||Ax+b||_1$. This is different from other operators of this library in the fact that shifts are no longer simply $\psi(x+s)$ for some non-differentiable function $\psi$. Hence, some abstract types are added in ShiftedProximalOperators.jl.
In practice, such proximal operators are useful when we want to make a model of a penalty term $x \xrightarrow{} ||c(x)||_1$. The first-order model of the penalty term is then $s \xrightarrow{} ||c(x) + J(x)s||_1$.
As mentionned above, the shift is no longer simply $\psi(x+s)$. Hence, we add a CompositeNormL1 struct which mimics the unshifted function and implements $x\xrightarrow{} ||c(x)||_1$. On shifts, this transforms to a ShiftedCompositeNormL1 struct which implements $s\xrightarrow{} ||c(x)+J(x)s||_1$.