DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Public Member Functions | Private Member Functions | List of all members
spams::FISTA::SplittingFunction< T, F, D, E > Class Template Referenceabstract

#include <fista.h>

+ Inheritance diagram for spams::FISTA::SplittingFunction< T, F, D, E >:

Detailed Description

template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
class spams::FISTA::SplittingFunction< T, F, D, E >

Definition at line 244 of file fista.h.

Public Member Functions

virtual void add_mult_design_matrix (const E &prim, E &out, const T fact) const
 
virtual void compute_new_prim (E &prim, const E &prim_var, const E &dual_var, const T gamma, const T delta) const
 
virtual T eval (const D &input) const =0
 
virtual T eval_split (const F &input) const =0
 
virtual T eval_weighted (const D &input, const F &input_struct, const T *weights) const
 
virtual void init (const E &y)
 
virtual void init_prim_var (E &prim_var) const
 
virtual void init_split_variables (F &splitted_w) const =0
 
virtual int num_components () const =0
 
virtual void prox_prim_var (E &out, const E &dual_var, const E &prim_var, const T gamma) const
 
virtual void prox_split (F &splitted_w, const T lambda) const =0
 
virtual void reset ()
 
 SplittingFunction ()
 
virtual ~SplittingFunction ()
 

Private Member Functions

SplittingFunction< T, F, D, E > & operator= (const SplittingFunction< T, F, D, E > &loss)
 
 SplittingFunction (const SplittingFunction< T, F, D, E > &loss)
 

Constructor & Destructor Documentation

template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
spams::FISTA::SplittingFunction< T, F, D, E >::SplittingFunction ( )
inline

Definition at line 246 of file fista.h.

template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual spams::FISTA::SplittingFunction< T, F, D, E >::~SplittingFunction ( )
inlinevirtual

Definition at line 247 of file fista.h.

template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
spams::FISTA::SplittingFunction< T, F, D, E >::SplittingFunction ( const SplittingFunction< T, F, D, E > &  loss)
explicitprivate

Member Function Documentation

template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual void spams::FISTA::SplittingFunction< T, F, D, E >::add_mult_design_matrix ( const E &  prim,
E &  out,
const T  fact 
) const
inlinevirtual

Reimplemented in spams::FISTA::HingeLoss< T >, and spams::FISTA::SqLoss< T >.

Definition at line 260 of file fista.h.

template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual void spams::FISTA::SplittingFunction< T, F, D, E >::compute_new_prim ( E &  prim,
const E &  prim_var,
const E &  dual_var,
const T  gamma,
const T  delta 
) const
inlinevirtual

Reimplemented in spams::FISTA::HingeLoss< T >, and spams::FISTA::SqLoss< T >.

Definition at line 259 of file fista.h.

template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual T spams::FISTA::SplittingFunction< T, F, D, E >::eval ( const D &  input) const
pure virtual
template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual T spams::FISTA::SplittingFunction< T, F, D, E >::eval_split ( const F &  input) const
pure virtual
template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual T spams::FISTA::SplittingFunction< T, F, D, E >::eval_weighted ( const D &  input,
const F &  input_struct,
const T *  weights 
) const
inlinevirtual

Reimplemented in spams::FISTA::GraphLasso< T >.

Definition at line 253 of file fista.h.

template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual void spams::FISTA::SplittingFunction< T, F, D, E >::init ( const E &  y)
inlinevirtual
template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual void spams::FISTA::SplittingFunction< T, F, D, E >::init_prim_var ( E &  prim_var) const
inlinevirtual

Reimplemented in spams::FISTA::HingeLoss< T >, and spams::FISTA::SqLoss< T >.

Definition at line 257 of file fista.h.

template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual void spams::FISTA::SplittingFunction< T, F, D, E >::init_split_variables ( F &  splitted_w) const
pure virtual
template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual int spams::FISTA::SplittingFunction< T, F, D, E >::num_components ( ) const
pure virtual
template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
SplittingFunction<T,F,D,E>& spams::FISTA::SplittingFunction< T, F, D, E >::operator= ( const SplittingFunction< T, F, D, E > &  loss)
private
template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual void spams::FISTA::SplittingFunction< T, F, D, E >::prox_prim_var ( E &  out,
const E &  dual_var,
const E &  prim_var,
const T  gamma 
) const
inlinevirtual

Reimplemented in spams::FISTA::SqLoss< T >.

Definition at line 258 of file fista.h.

template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual void spams::FISTA::SplittingFunction< T, F, D, E >::prox_split ( F &  splitted_w,
const T  lambda 
) const
pure virtual
template<typename T, typename F = Matrix<T>, typename D = Vector<T>, typename E = Vector<T>>
virtual void spams::FISTA::SplittingFunction< T, F, D, E >::reset ( )
inlinevirtual

Reimplemented in spams::FISTA::GraphLasso< T >, and spams::FISTA::None< T >.

Definition at line 251 of file fista.h.


The documentation for this class was generated from the following file: