SOPT
Sparse OPTimisation
Classes | Namespaces | Functions
proximal.h File Reference
#include "sopt/config.h"
#include <type_traits>
#include <Eigen/Core>
#include "sopt/maths.h"
#include "sopt/proximal_expression.h"
+ Include dependency graph for proximal.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sopt::proximal::EuclidianNorm
 Proximal of euclidian norm. More...
 
class  sopt::proximal::L2Norm< T >
 Proximal for the L2 norm. More...
 
class  sopt::proximal::L2Ball< T >
 Proximal for indicator function of L2 ball. More...
 
class  sopt::proximal::WeightedL2Ball< T >
 
class  sopt::proximal::Translation< FUNCTION, VECTOR >
 Translation over proximal function. More...
 

Namespaces

 sopt
 
 sopt::proximal
 Holds some standard proximals.
 

Functions

template<typename T0 >
auto sopt::proximal::euclidian_norm (typename real_type< typename T0::Scalar >::type const &t, Eigen::MatrixBase< T0 > const &x) -> decltype(EuclidianNorm(), t, x)
 Proximal of the euclidian norm. More...
 
template<typename T0 , typename T1 >
void sopt::proximal::l1_norm (Eigen::DenseBase< T0 > &out, typename real_type< typename T0::Scalar >::type gamma, Eigen::DenseBase< T1 > const &x)
 Proximal of the l1 norm. More...
 
template<typename T0 , typename T1 , typename T2 >
void sopt::proximal::l1_norm (Eigen::DenseBase< T0 > &out, Eigen::DenseBase< T2 > const &gamma, Eigen::DenseBase< T1 > const &x)
 Proxmal of the weighted l1 norm. More...
 
template<typename S >
void sopt::proximal::l1_norm (Vector< S > &out, typename real_type< S >::type gamma, Vector< S > const &x)
 Proximal of the l1 norm \detail This specialization makes it easier to use in algorithms, e.g. within SDMM::append. More...
 
template<typename T0 , typename T1 >
void sopt::proximal::l2_norm (Eigen::DenseBase< T0 > &out, typename real_type< typename T0::Scalar >::type gamma, Eigen::DenseBase< T1 > const &x)
 Proximal of the l2 norm (note this is different from the l2 ball indicator function) More...
 
template<typename T0 , typename T1 , typename T2 >
void sopt::proximal::l2_norm (Eigen::DenseBase< T0 > &out, Eigen::DenseBase< T2 > const &gamma, Eigen::DenseBase< T1 > const &x)
 
template<typename T0 , typename T1 >
void sopt::proximal::tv_norm (Eigen::DenseBase< T0 > &out, typename real_type< typename T0::Scalar >::type gamma, Eigen::DenseBase< T1 > const &x)
 Proximal of the l1,2 norm that is used in the TV norm. More...
 
template<typename T0 , typename T1 , typename T2 >
void sopt::proximal::tv_norm (Eigen::DenseBase< T0 > &out, Eigen::DenseBase< T2 > const &gamma, Eigen::DenseBase< T1 > const &x)
 
template<typename T0 , typename T1 >
void sopt::proximal::id (Eigen::DenseBase< T0 > &out, typename real_type< typename T0::Scalar >::type gamma, Eigen::DenseBase< T1 > const &x)
 Proximal of a function that is always zero, the identity. More...
 
template<typename T >
auto sopt::proximal::l1_norm (typename real_type< typename T::Scalar >::type gamma, Eigen::DenseBase< T > const &x) -> decltype(sopt::soft_threshhold(x, gamma))
 Proximal of l1 norm. More...
 
template<typename T >
void sopt::proximal::positive_quadrant (Vector< T > &out, typename real_type< T >::type, Vector< T > const &x)
 Proximal for projection on the positive quadrant. More...
 
template<typename FUNCTION , typename VECTOR >
Translation< FUNCTION, VECTOR > sopt::proximal::translate (FUNCTION const &func, VECTOR const &translation)
 Translates given proximal by given vector. More...