jml.optimization
Class ShrinkageOperator

java.lang.Object
  extended by jml.optimization.ShrinkageOperator

public class ShrinkageOperator
extends java.lang.Object

Soft-thresholding (shrinkage) operator, which is defined as S_{t}[x] = argmin_u 1/2 * || u - x ||^2 + t||x||_1
which is actually prox_{t||.||_1}(x). The analytical form is
S_{t}[x] =
| x - t, if x > t
| x + t, if x < -t
| 0, otherwise

Version:
1.0, Nov. 19th, 2013
Author:
Mingjie Qian

Constructor Summary
ShrinkageOperator()
           
 
Method Summary
static org.apache.commons.math.linear.RealMatrix shrinkage(org.apache.commons.math.linear.RealMatrix X, double t)
          Soft-thresholding (shrinkage) operator, which is defined as S_{t}[x] = argmin_u 1/2 * || u - x ||^2 + t||x||_1
which is actually prox_{t||.||_1}(x).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ShrinkageOperator

public ShrinkageOperator()
Method Detail

shrinkage

public static org.apache.commons.math.linear.RealMatrix shrinkage(org.apache.commons.math.linear.RealMatrix X,
                                                                  double t)
Soft-thresholding (shrinkage) operator, which is defined as S_{t}[x] = argmin_u 1/2 * || u - x ||^2 + t||x||_1
which is actually prox_{t||.||_1}(x). The analytical form is
S_{t}[x] =
| x - t, if x > t
| x + t, if x < -t
| 0, otherwise

Parameters:
X - a real matrix
t - threshold
Returns:
argmin_u 1/2 * || u - x ||^2 + t||x||_1