I'm currently implementing coordinate descent for the LASSO with complex-valued data. For this, one needs a complex version of the soft-thresholding operator, which seems hardly available on the net.
For real-valued data, the definition of the soft-thresholding operator is given in the famous paper of Friedmann, Hastie und Tibshirani, Regularization Paths for Generalized Linear Models via Coordinate Descent, as \begin{aligned} S(z, \lambda) \ = \ \text{sign}(z)\, (|z|-\gamma)_+ \qquad \text{for } z, \, \gamma\in \mathbb R. \end{aligned}
From this, I think it is straightforward to extend it to the complex domain as \begin{aligned} S(z, \lambda) \ = \ e^{i\,\text{arg}(z)} \,(|z|-\gamma)_+ \qquad \text{for } z\in \mathbb C, \, \gamma \in \mathbb R.\\ \end{aligned}
Is this complex-version of the soft-thresholding operator correct?
From a geometric view, this extension seems obvious: all one does is to rotate the real soft-thresholding curve into the complex domain, as visualized in the following picture, which shows the penalization of the radial part for $S(z,5)$: