![]() |
SOPT
Sparse OPTimisation
|
Holds some standard proximals. More...
Namespaces | |
details | |
Classes | |
class | L1TightFrame |
L1 proximal, including linear transform. More... | |
class | L1 |
L1 proximal, including linear transform. More... | |
class | EuclidianNorm |
Proximal of euclidian norm. More... | |
class | L2Norm |
Proximal for the L2 norm. More... | |
class | L2Ball |
Proximal for indicator function of L2 ball. More... | |
class | WeightedL2Ball |
class | Translation |
Translation over proximal function. More... | |
Typedefs | |
template<typename FUNC , typename T0 > | |
using | ProximalExpression = details::DelayedProximalFunction< FUNC, Eigen::MatrixBase< T0 > > |
Eigen expression from proximal functions. More... | |
template<typename FUNC , typename T0 > | |
using | EnveloppeExpression = details::DelayedProximalEnveloppeFunction< FUNC, Eigen::MatrixBase< T0 > > |
Eigen expression from proximal enveloppe functions. More... | |
Functions | |
template<typename T0 > | |
auto | 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 | 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 | 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 | 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 | 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 | l2_norm (Eigen::DenseBase< T0 > &out, Eigen::DenseBase< T2 > const &gamma, Eigen::DenseBase< T1 > const &x) |
template<typename T0 , typename T1 > | |
void | 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 | tv_norm (Eigen::DenseBase< T0 > &out, Eigen::DenseBase< T2 > const &gamma, Eigen::DenseBase< T1 > const &x) |
template<typename T0 , typename T1 > | |
void | 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 | 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 | 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 > | translate (FUNCTION const &func, VECTOR const &translation) |
Translates given proximal by given vector. More... | |
Holds some standard proximals.
using sopt::proximal::EnveloppeExpression = typedef details::DelayedProximalEnveloppeFunction<FUNC, Eigen::MatrixBase<T0> > |
Eigen expression from proximal enveloppe functions.
Definition at line 87 of file proximal_expression.h.
using sopt::proximal::ProximalExpression = typedef details::DelayedProximalFunction<FUNC, Eigen::MatrixBase<T0> > |
Eigen expression from proximal functions.
Definition at line 84 of file proximal_expression.h.
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.
Definition at line 57 of file proximal.h.
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.
Definition at line 135 of file proximal.h.
Referenced by TEST_CASE().
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.
Definition at line 70 of file proximal.h.
void sopt::proximal::l1_norm | ( | Eigen::DenseBase< T0 > & | out, |
typename real_type< typename T0::Scalar >::type | gamma, | ||
Eigen::DenseBase< T1 > const & | x | ||
) |
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.
For more complex version involving linear transforms and weights, see L1TightFrame and L1 classes. In practice, this is an alias for soft_threshhold.
Definition at line 144 of file proximal.h.
References sopt::soft_threshhold().
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
.
Definition at line 78 of file proximal.h.
void sopt::proximal::l2_norm | ( | Eigen::DenseBase< T0 > & | out, |
Eigen::DenseBase< T2 > const & | gamma, | ||
Eigen::DenseBase< T1 > const & | x | ||
) |
Definition at line 90 of file proximal.h.
Referenced by sopt::proximal::L2Ball< T >::operator()(), sopt::proximal::WeightedL2Ball< T >::operator()(), and sopt::proximal::EuclidianNorm::operator()().
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)
Definition at line 84 of file proximal.h.
Referenced by sopt::algorithm::ImagingPrimalDual< SCALAR >::ImagingPrimalDual(), and sopt::proximal::L2Norm< T >::operator()().
void sopt::proximal::positive_quadrant | ( | Vector< T > & | out, |
typename real_type< T >::type | , | ||
Vector< T > const & | x | ||
) |
Proximal for projection on the positive quadrant.
Definition at line 151 of file proximal.h.
References sopt::positive_quadrant().
Translation<FUNCTION, VECTOR> sopt::proximal::translate | ( | FUNCTION const & | func, |
VECTOR const & | translation | ||
) |
Translates given proximal by given vector.
Definition at line 362 of file proximal.h.
Referenced by main(), SCENARIO(), and TEST_CASE().
void sopt::proximal::tv_norm | ( | Eigen::DenseBase< T0 > & | out, |
Eigen::DenseBase< T2 > const & | gamma, | ||
Eigen::DenseBase< T1 > const & | x | ||
) |
Definition at line 115 of file proximal.h.
void sopt::proximal::tv_norm | ( | Eigen::DenseBase< T0 > & | out, |
typename real_type< typename T0::Scalar >::type | gamma, | ||
Eigen::DenseBase< T1 > const & | x | ||
) |