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

#include <fista.h>

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

Detailed Description

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

Definition at line 359 of file fista.h.

Public Member Functions

void add_mult_design_matrix (const Vector< T > &prim, Vector< T > &out, const T fact) const
 
void compute_new_prim (Vector< T > &prim, const Vector< T > &prim_var, const Vector< T > &dual_var, const T gamma, const T delta) const
 
eval (const Vector< T > &alpha) const
 
eval_split (const Matrix< T > &input) const
 
virtual T fenchel (const Vector< T > &input) const
 
void grad (const Vector< T > &alpha, Vector< T > &grad) const
 
void init (const Vector< T > &x)
 
void init_prim_var (Vector< T > &prim_var) const
 
void init_split_variables (Matrix< T > &splitted_w) const
 
int num_components () const
 
virtual void prox_prim_var (Vector< T > &out, const Vector< T > &dual_var, const Vector< T > &prim_var, const T c) const
 
void prox_split (Matrix< T > &splitted_w, const T lambda) const
 
 SqLoss (const AbstractMatrixB< T > &D)
 
 SqLoss (const AbstractMatrixB< T > &D, const Matrix< T > &G)
 
virtual bool test_backtracking (const Vector< T > &y, const Vector< T > &grad, const Vector< T > &prox, const T L) const
 
virtual void var_fenchel (const Vector< T > &x, Vector< T > &grad1, Vector< T > &grad2, const bool intercept) const
 
virtual ~SqLoss ()
 
- Public Member Functions inherited from spams::FISTA::Loss< T >
virtual bool is_fenchel () const
 
 Loss ()
 
virtual ~Loss ()
 
- Public Member Functions inherited from spams::FISTA::SplittingFunction< T >
virtual T eval_weighted (const Vector< T > &input, const Matrix< T > &input_struct, const T *weights) const
 
virtual void reset ()
 
 SplittingFunction ()
 
virtual ~SplittingFunction ()
 

Private Member Functions

SqLoss< T > & operator= (const SqLoss< T > &dict)
 
 SqLoss (const SqLoss< T > &dict)
 

Private Attributes

bool _compute_gram
 
const AbstractMatrixB< T > * _D
 
Vector< T > _DtX
 
const Matrix< T > * _G
 
Vector< T > _x
 

Constructor & Destructor Documentation

template<typename T>
spams::FISTA::SqLoss< T >::SqLoss ( const AbstractMatrixB< T > &  D)
inline

Definition at line 361 of file fista.h.

template<typename T>
spams::FISTA::SqLoss< T >::SqLoss ( const AbstractMatrixB< T > &  D,
const Matrix< T > &  G 
)
inline

Definition at line 362 of file fista.h.

template<typename T>
virtual spams::FISTA::SqLoss< T >::~SqLoss ( )
inlinevirtual

Definition at line 363 of file fista.h.

template<typename T>
spams::FISTA::SqLoss< T >::SqLoss ( const SqLoss< T > &  dict)
explicitprivate

Member Function Documentation

template<typename T>
void spams::FISTA::SqLoss< T >::add_mult_design_matrix ( const Vector< T > &  prim,
Vector< T > &  out,
const T  fact 
) const
inlinevirtual

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

Definition at line 480 of file fista.h.

template<typename T>
void spams::FISTA::SqLoss< T >::compute_new_prim ( Vector< T > &  prim,
const Vector< T > &  prim_var,
const Vector< T > &  dual_var,
const T  gamma,
const T  delta 
) const
inlinevirtual

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

Definition at line 471 of file fista.h.

References spams::Vector< T >::add(), spams::Vector< T >::mult(), and spams::Vector< T >::scal().

+ Here is the call graph for this function:

template<typename T>
T spams::FISTA::SqLoss< T >::eval ( const Vector< T > &  alpha) const
inlinevirtual

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

Definition at line 372 of file fista.h.

References spams::Vector< T >::copy(), spams::Vector< T >::n(), spams::Vector< T >::nrm2sq(), and spams::Vector< T >::toSparse().

+ Here is the call graph for this function:

template<typename T>
T spams::FISTA::SqLoss< T >::eval_split ( const Matrix< T > &  input) const
inlinevirtual

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

Definition at line 441 of file fista.h.

References spams::Matrix< T >::refCol().

+ Here is the call graph for this function:

template<typename T>
virtual T spams::FISTA::SqLoss< T >::fenchel ( const Vector< T > &  input) const
inlinevirtual

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

Definition at line 413 of file fista.h.

References spams::Vector< T >::dot(), and spams::Vector< T >::nrm2sq().

+ Here is the call graph for this function:

template<typename T>
void spams::FISTA::SqLoss< T >::grad ( const Vector< T > &  alpha,
Vector< T > &  grad 
) const
inlinevirtual

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

Definition at line 384 of file fista.h.

References spams::Vector< T >::copy(), spams::Vector< T >::n(), and spams::Vector< T >::toSparse().

+ Here is the call graph for this function:

template<typename T>
void spams::FISTA::SqLoss< T >::init ( const Vector< T > &  x)
inlinevirtual

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

Definition at line 365 of file fista.h.

template<typename T>
void spams::FISTA::SqLoss< T >::init_prim_var ( Vector< T > &  prim_var) const
inlinevirtual

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

Definition at line 458 of file fista.h.

References spams::Vector< T >::resize(), and spams::Vector< T >::setZeros().

+ Here is the call graph for this function:

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

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

Definition at line 454 of file fista.h.

References spams::Matrix< T >::resize(), and spams::Matrix< T >::setZeros().

+ Here is the call graph for this function:

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

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

Definition at line 427 of file fista.h.

template<typename T>
SqLoss<T>& spams::FISTA::SqLoss< T >::operator= ( const SqLoss< T > &  dict)
private
template<typename T>
virtual void spams::FISTA::SqLoss< T >::prox_prim_var ( Vector< T > &  out,
const Vector< T > &  dual_var,
const Vector< T > &  prim_var,
const T  c 
) const
inlinevirtual
template<typename T>
void spams::FISTA::SqLoss< T >::prox_split ( Matrix< T > &  splitted_w,
const T  lambda 
) const
inlinevirtual

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

Definition at line 429 of file fista.h.

References spams::Vector< T >::add(), and spams::Matrix< T >::refCol().

+ Here is the call graph for this function:

template<typename T>
virtual bool spams::FISTA::SqLoss< T >::test_backtracking ( const Vector< T > &  y,
const Vector< T > &  grad,
const Vector< T > &  prox,
const T  L 
) const
inlinevirtual

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

Definition at line 399 of file fista.h.

References spams::Vector< T >::copy(), spams::Vector< T >::mult(), spams::Vector< T >::n(), spams::Vector< T >::sub(), and spams::Vector< T >::toSparse().

+ Here is the call graph for this function:

template<typename T>
virtual void spams::FISTA::SqLoss< T >::var_fenchel ( const Vector< T > &  x,
Vector< T > &  grad1,
Vector< T > &  grad2,
const bool  intercept 
) const
inlinevirtual

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

Definition at line 416 of file fista.h.

References spams::Vector< T >::copy(), spams::Vector< T >::n(), spams::Vector< T >::toSparse(), and spams::Vector< T >::whiten().

+ Here is the call graph for this function:

Member Data Documentation

template<typename T>
bool spams::FISTA::SqLoss< T >::_compute_gram
private

Definition at line 490 of file fista.h.

template<typename T>
const AbstractMatrixB<T>* spams::FISTA::SqLoss< T >::_D
private

Definition at line 488 of file fista.h.

template<typename T>
Vector<T> spams::FISTA::SqLoss< T >::_DtX
private

Definition at line 492 of file fista.h.

template<typename T>
const Matrix<T>* spams::FISTA::SqLoss< T >::_G
private

Definition at line 491 of file fista.h.

template<typename T>
Vector<T> spams::FISTA::SqLoss< T >::_x
private

Definition at line 489 of file fista.h.


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