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

#include <linalg.h>

+ Inheritance diagram for spams::ProdMatrix< T >:
+ Collaboration diagram for spams::ProdMatrix< T >:

Detailed Description

template<typename T>
class spams::ProdMatrix< T >

Class representing the product of two matrices.

Definition at line 998 of file linalg.h.

Public Member Functions

virtual void add_rawCol (const int i, T *DtXi, const T a) const
 
void addDiag (const T diag)
 
void copyCol (const int i, Vector< T > &DtXi) const
 
void diag (Vector< T > &diag) const
 
void extract_rawCol (const int i, T *DtXi) const
 
int m () const
 
int n () const
 
operator() (const int index1, const int index2) const
 
operator[] (const int index) const
 
 ProdMatrix ()
 
 ProdMatrix (const Matrix< T > &D, const bool high_memory=true)
 
 ProdMatrix (const Matrix< T > &D, const Matrix< T > &X, const bool high_memory=true)
 
void setMatrices (const Matrix< T > &D, const bool high_memory=true)
 
void setMatrices (const Matrix< T > &D, const Matrix< T > &X, const bool high_memory=true)
 
 ~ProdMatrix ()
 
- Public Member Functions inherited from spams::AbstractMatrix< T >
virtual ~AbstractMatrix ()
 

Private Attributes

_addDiag
 
const Matrix< T > * _D
 
Matrix< T > * _DtX
 
bool _high_memory
 
int _m
 
int _n
 
const Matrix< T > * _X
 

Constructor & Destructor Documentation

template<typename T >
spams::ProdMatrix< T >::ProdMatrix ( )

Definition at line 5020 of file linalg.h.

template<typename T >
spams::ProdMatrix< T >::ProdMatrix ( const Matrix< T > &  D,
const bool  high_memory = true 
)

Constructor. Matrix D'*D is represented.

Constructor. Matrix D'*X is represented.

Definition at line 5031 of file linalg.h.

template<typename T >
spams::ProdMatrix< T >::ProdMatrix ( const Matrix< T > &  D,
const Matrix< T > &  X,
const bool  high_memory = true 
)

Constructor. Matrix D'*X is represented.

Definition at line 5038 of file linalg.h.

template<typename T>
spams::ProdMatrix< T >::~ProdMatrix ( )
inline

Constructor, D'*X is represented, with optional transpositions.

Destructor

Definition at line 1010 of file linalg.h.

Member Function Documentation

template<typename T >
void spams::ProdMatrix< T >::add_rawCol ( const int  i,
T *  DtXi,
const T  a 
) const
inlinevirtual

compute DtX(:,i)

Implements spams::AbstractMatrix< T >.

Definition at line 5099 of file linalg.h.

template<typename T >
void spams::ProdMatrix< T >::addDiag ( const T  diag)
inline

add something to the diagonal

Definition at line 5112 of file linalg.h.

Referenced by spams::lasso_mask(), spams::lassoReweighted(), spams::lassoWeight(), and spams::omp_mask().

+ Here is the caller graph for this function:

template<typename T >
void spams::ProdMatrix< T >::copyCol ( const int  i,
Vector< T > &  DtXi 
) const
inlinevirtual

compute DtX(:,i)

Implements spams::AbstractMatrix< T >.

Definition at line 5075 of file linalg.h.

Referenced by spams::ist().

+ Here is the caller graph for this function:

template<typename T >
void spams::ProdMatrix< T >::diag ( Vector< T > &  diag) const
inlinevirtual

add something to the diagonal

Implements spams::AbstractMatrix< T >.

Definition at line 5148 of file linalg.h.

References spams::Vector< T >::dot().

+ Here is the call graph for this function:

template<typename T >
void spams::ProdMatrix< T >::extract_rawCol ( const int  i,
T *  DtXi 
) const
inlinevirtual

compute DtX(:,i)

Implements spams::AbstractMatrix< T >.

Definition at line 5087 of file linalg.h.

template<typename T>
int spams::ProdMatrix< T >::m ( ) const
inlinevirtual

returns the number of rows

Implements spams::AbstractMatrix< T >.

Definition at line 1029 of file linalg.h.

References spams::Data< T >::operator[]().

+ Here is the call graph for this function:

template<typename T>
int spams::ProdMatrix< T >::n ( ) const
inlinevirtual

returns the number of columns

Implements spams::AbstractMatrix< T >.

Definition at line 1027 of file linalg.h.

template<typename T >
T spams::ProdMatrix< T >::operator() ( const int  index1,
const int  index2 
) const
inlinevirtual

returns the value of an index

Implements spams::AbstractMatrix< T >.

Definition at line 5136 of file linalg.h.

References spams::Vector< T >::dot().

+ Here is the call graph for this function:

template<typename T >
T spams::ProdMatrix< T >::operator[] ( const int  index) const
inline

returns the value of an index

Definition at line 5122 of file linalg.h.

References spams::Vector< T >::dot().

+ Here is the call graph for this function:

template<typename T >
void spams::ProdMatrix< T >::setMatrices ( const Matrix< T > &  D,
const bool  high_memory = true 
)
inline

set_matrices

Definition at line 5059 of file linalg.h.

References spams::Matrix< T >::n(), and spams::Matrix< T >::XtX().

Referenced by spams::lasso_mask(), and spams::omp_mask().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T >
void spams::ProdMatrix< T >::setMatrices ( const Matrix< T > &  D,
const Matrix< T > &  X,
const bool  high_memory = true 
)
inline

Definition at line 5044 of file linalg.h.

References spams::Matrix< T >::mult(), and spams::Matrix< T >::n().

+ Here is the call graph for this function:

Member Data Documentation

template<typename T>
T spams::ProdMatrix< T >::_addDiag
private

Definition at line 1043 of file linalg.h.

template<typename T>
const Matrix<T>* spams::ProdMatrix< T >::_D
private

Definition at line 1039 of file linalg.h.

template<typename T>
Matrix<T>* spams::ProdMatrix< T >::_DtX
private

Depending on the mode, DtX is a matrix, or two matrices.

Definition at line 1037 of file linalg.h.

template<typename T>
bool spams::ProdMatrix< T >::_high_memory
private

Definition at line 1040 of file linalg.h.

template<typename T>
int spams::ProdMatrix< T >::_m
private

Definition at line 1042 of file linalg.h.

template<typename T>
int spams::ProdMatrix< T >::_n
private

Definition at line 1041 of file linalg.h.

template<typename T>
const Matrix<T>* spams::ProdMatrix< T >::_X
private

Definition at line 1038 of file linalg.h.


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