DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Public Member Functions | Private Attributes | List of all members
spams::FISTA::GraphLasso< T > Class Template Reference

#include <fista.h>

+ Inheritance diagram for spams::FISTA::GraphLasso< T >:
+ Collaboration diagram for spams::FISTA::GraphLasso< T >:

Detailed Description

template<typename T>
class spams::FISTA::GraphLasso< T >

Definition at line 1379 of file fista.h.

Public Member Functions

eval (const Vector< T > &x) const
 
eval_split (const SpMatrix< T > &input) const
 
eval_weighted (const Vector< T > &input, const SpMatrix< T > &input_struct, const T *inner_weight) const
 
void fenchel (const Vector< T > &input, T &val, T &scal) const
 
 GraphLasso (const ParamReg< T > &param)
 
virtual void init (const Vector< T > &y)
 
void init_split_variables (SpMatrix< T > &splitted_w) const
 
virtual bool is_fenchel () const
 
int num_components () const
 
void prox (const Vector< T > &x, Vector< T > &y, const T lambda)
 
void prox_split (SpMatrix< T > &splitted_w, const T lambda) const
 
void reset ()
 
virtual ~GraphLasso ()
 
- Public Member Functions inherited from spams::FISTA::Regularizer< T >
virtual T eval_dual_norm (const Vector< T > &x) const
 
virtual T eval_dual_norm_paths (const Vector< T > &x, SpMatrix< T > &path) const
 
virtual T eval_paths (const Vector< T > &x, SpMatrix< T > &paths_mat) const
 
virtual bool is_intercept () const
 
virtual bool is_subgrad () const
 
 Regularizer ()
 
 Regularizer (const ParamReg< T > &param)
 
virtual void sub_grad (const Vector< T > &input, Vector< T > &output) const
 
virtual ~Regularizer ()
 
- Public Member Functions inherited from spams::FISTA::SplittingFunction< T, SpMatrix< T > >
virtual void add_mult_design_matrix (const Vector< T > &prim, Vector< T > &out, const T fact) const
 
virtual void compute_new_prim (Vector< T > &prim, const Vector< T > &prim_var, const Vector< T > &dual_var, const T gamma, const T delta) const
 
virtual void init_prim_var (Vector< T > &prim_var) const
 
virtual void prox_prim_var (Vector< T > &out, const Vector< T > &dual_var, const Vector< T > &prim_var, const T gamma) const
 
 SplittingFunction ()
 
virtual ~SplittingFunction ()
 

Private Attributes

bool _clever
 
Graph< T > _graph
 
bool _linf
 
_old_lambda
 
bool _resetflow
 
Vector< T > _weights
 
Vector< T > _work
 

Additional Inherited Members

- Protected Attributes inherited from spams::FISTA::Regularizer< T >
bool _intercept
 
bool _pos
 

Constructor & Destructor Documentation

template<typename T>
spams::FISTA::GraphLasso< T >::GraphLasso ( const ParamReg< T > &  param)
inline
template<typename T>
virtual spams::FISTA::GraphLasso< T >::~GraphLasso ( )
inlinevirtual

Definition at line 1397 of file fista.h.

Member Function Documentation

template<typename T>
T spams::FISTA::GraphLasso< T >::eval ( const Vector< T > &  x) const
inlinevirtual

Implements spams::FISTA::SplittingFunction< T, SpMatrix< T > >.

Definition at line 1430 of file fista.h.

References spams::Graph< T >::norm(), spams::Vector< T >::rawX(), and spams::Graph< T >::restore_capacities().

Referenced by spams::FISTA::dualityGraph().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T>
T spams::FISTA::GraphLasso< T >::eval_split ( const SpMatrix< T > &  input) const
inlinevirtual
template<typename T>
T spams::FISTA::GraphLasso< T >::eval_weighted ( const Vector< T > &  input,
const SpMatrix< T > &  input_struct,
const T *  inner_weight 
) const
inlinevirtual
template<typename T>
void spams::FISTA::GraphLasso< T >::fenchel ( const Vector< T > &  input,
T &  val,
T &  scal 
) const
inlinevirtual

returns phi^star( input ) and ouput=input if the fenchel is unconstrained returns 0 and scale input such that phi^star(output)=0 otherwise

Implements spams::FISTA::Regularizer< T >.

Definition at line 1438 of file fista.h.

References spams::Vector< T >::copy(), spams::Graph< T >::dual_norm_inf(), EPSILON, INFINITY, spams::Vector< T >::n(), spams::Graph< T >::reset_flow(), spams::Graph< T >::restore_capacities(), spams::Graph< T >::restore_flow(), spams::Graph< T >::save_flow(), and spams::Vector< T >::thrsPos().

+ Here is the call graph for this function:

template<typename T>
virtual void spams::FISTA::GraphLasso< T >::init ( const Vector< T > &  y)
inlinevirtual

Reimplemented from spams::FISTA::SplittingFunction< T, SpMatrix< T > >.

Definition at line 1456 of file fista.h.

Referenced by spams::FISTA::dualityGraph().

+ Here is the caller graph for this function:

template<typename T>
void spams::FISTA::GraphLasso< T >::init_split_variables ( SpMatrix< T > &  splitted_w) const
inlinevirtual

Implements spams::FISTA::SplittingFunction< T, SpMatrix< T > >.

Definition at line 1484 of file fista.h.

References spams::Graph< T >::init_split_variables().

+ Here is the call graph for this function:

template<typename T>
virtual bool spams::FISTA::GraphLasso< T >::is_fenchel ( ) const
inlinevirtual

Reimplemented from spams::FISTA::Regularizer< T >.

Definition at line 1435 of file fista.h.

template<typename T>
int spams::FISTA::GraphLasso< T >::num_components ( ) const
inlinevirtual

Implements spams::FISTA::SplittingFunction< T, SpMatrix< T > >.

Definition at line 1457 of file fista.h.

template<typename T>
void spams::FISTA::GraphLasso< T >::prox ( const Vector< T > &  x,
Vector< T > &  y,
const T  lambda 
)
inlinevirtual
template<typename T>
void spams::FISTA::GraphLasso< T >::prox_split ( SpMatrix< T > &  splitted_w,
const T  lambda 
) const
inlinevirtual
template<typename T>
void spams::FISTA::GraphLasso< T >::reset ( )
inlinevirtual

Reimplemented from spams::FISTA::SplittingFunction< T, SpMatrix< T > >.

Definition at line 1399 of file fista.h.

Member Data Documentation

template<typename T>
bool spams::FISTA::GraphLasso< T >::_clever
private

Definition at line 1514 of file fista.h.

template<typename T>
Graph<T> spams::FISTA::GraphLasso< T >::_graph
private

Definition at line 1515 of file fista.h.

template<typename T>
bool spams::FISTA::GraphLasso< T >::_linf
private

Definition at line 1520 of file fista.h.

template<typename T>
T spams::FISTA::GraphLasso< T >::_old_lambda
private

Definition at line 1519 of file fista.h.

template<typename T>
bool spams::FISTA::GraphLasso< T >::_resetflow
private

Definition at line 1516 of file fista.h.

template<typename T>
Vector<T> spams::FISTA::GraphLasso< T >::_weights
private

Definition at line 1518 of file fista.h.

template<typename T>
Vector<T> spams::FISTA::GraphLasso< T >::_work
private

Definition at line 1517 of file fista.h.


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