Package edu.pitt.csb.mgm
Class ConvexProximal
java.lang.Object
edu.pitt.csb.mgm.ConvexProximal
- Direct Known Subclasses:
- Mgm
This interface should be used for non-differentiable convex functions that are decomposable such that f(x) = g(x) +
 h(x) where g(x) is a differentiable convex function (i.e. smooth) and h(x) is a convex but not necessarily
 differentiable (i.e. non-smooth) and has a proximal operator prox_t(x) = argmin_z 1/(2t) norm2(x-z)^2 + h(z) has a
 solution for any t > 0. Typically g(x) will be a likelihood, and h(x) is a penalty term (as in l_1 in the lasso)
- Version:
- $Id: $Id
- Author:
- asedgewick 8/4/15
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptiondoublenonSmooth(double t, cern.colt.matrix.DoubleMatrix1D X, cern.colt.matrix.DoubleMatrix1D Xout) Calculate value of h(X) and proxOperator of h(X) at the same time for efficiency reasons.doublesmooth(cern.colt.matrix.DoubleMatrix1D X, cern.colt.matrix.DoubleMatrix1D Xout) Calculate value of g(X) and gradient of g(X) at the same time for efficiency reasons.
- 
Constructor Details- 
ConvexProximalpublic ConvexProximal()Constructor for ConvexProximal. 
 
- 
- 
Method Details- 
smoothpublic double smooth(cern.colt.matrix.DoubleMatrix1D X, cern.colt.matrix.DoubleMatrix1D Xout) Calculate value of g(X) and gradient of g(X) at the same time for efficiency reasons.- Parameters:
- X- input Vector
- Xout- gradient of g(X)
- Returns:
- value of g(X)
 
- 
nonSmoothpublic double nonSmooth(double t, cern.colt.matrix.DoubleMatrix1D X, cern.colt.matrix.DoubleMatrix1D Xout) Calculate value of h(X) and proxOperator of h(X) at the same time for efficiency reasons.- Parameters:
- t- positive parameter for prox operator
- X- input vector
- Xout- vector solution to prox_t(X)
- Returns:
- value of h(X)
 
 
-