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

#include <linalg.h>

+ Inheritance diagram for spams::AbstractMatrixB< T >:

Detailed Description

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

Abstract matrix class.

Definition at line 144 of file linalg.h.

Public Member Functions

virtual void copyRow (const int i, Vector< T > &x) const =0
 
virtual void copyTo (Matrix< T > &copy) const =0
 
virtual T dot (const Matrix< T > &x) const =0
 
virtual int m () const =0
 
virtual void mult (const SpVector< T > &x, Vector< T > &b, const T alpha=1.0, const T beta=0.0) const =0
 
virtual void mult (const Vector< T > &x, Vector< T > &b, const T alpha=1.0, const T beta=0.0) const =0
 
virtual void mult (const Matrix< T > &B, Matrix< T > &C, const bool transA=false, const bool transB=false, const T a=1.0, const T b=0.0) const =0
 
virtual void mult (const SpMatrix< T > &B, Matrix< T > &C, const bool transA=false, const bool transB=false, const T a=1.0, const T b=0.0) const =0
 
virtual void multSwitch (const Matrix< T > &B, Matrix< T > &C, const bool transA=false, const bool transB=false, const T a=1.0, const T b=0.0) const =0
 
virtual void multTrans (const Vector< T > &x, Vector< T > &b, const T alpha=1.0, const T beta=0.0) const =0
 
virtual int n () const =0
 
virtual void print (const string &name) const =0
 
virtual void XtX (Matrix< T > &XtX) const =0
 
virtual ~AbstractMatrixB ()
 

Constructor & Destructor Documentation

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

Definition at line 184 of file linalg.h.

Member Function Documentation

template<typename T>
virtual void spams::AbstractMatrixB< T >::copyRow ( const int  i,
Vector< T > &  x 
) const
pure virtual
template<typename T>
virtual void spams::AbstractMatrixB< T >::copyTo ( Matrix< T > &  copy) const
pure virtual
template<typename T>
virtual T spams::AbstractMatrixB< T >::dot ( const Matrix< T > &  x) const
pure virtual
template<typename T>
virtual int spams::AbstractMatrixB< T >::m ( ) const
pure virtual
template<typename T>
virtual void spams::AbstractMatrixB< T >::mult ( const SpVector< T > &  x,
Vector< T > &  b,
const T  alpha = 1.0,
const T  beta = 0.0 
) const
pure virtual

perform b = alpha*A*x + beta*b, when x is sparse

Implemented in spams::DoubleRowMatrix< T >, spams::ShiftMatrix< T >, spams::SpMatrix< T >, and spams::Matrix< T >.

template<typename T>
virtual void spams::AbstractMatrixB< T >::mult ( const Vector< T > &  x,
Vector< T > &  b,
const T  alpha = 1.0,
const T  beta = 0.0 
) const
pure virtual
template<typename T>
virtual void spams::AbstractMatrixB< T >::mult ( const Matrix< T > &  B,
Matrix< T > &  C,
const bool  transA = false,
const bool  transB = false,
const T  a = 1.0,
const T  b = 0.0 
) const
pure virtual

perform C = a*A*B + b*C, possibly transposing A or B.

Implemented in spams::DoubleRowMatrix< T >, spams::ShiftMatrix< T >, spams::SpMatrix< T >, and spams::Matrix< T >.

template<typename T>
virtual void spams::AbstractMatrixB< T >::mult ( const SpMatrix< T > &  B,
Matrix< T > &  C,
const bool  transA = false,
const bool  transB = false,
const T  a = 1.0,
const T  b = 0.0 
) const
pure virtual
template<typename T>
virtual void spams::AbstractMatrixB< T >::multSwitch ( const Matrix< T > &  B,
Matrix< T > &  C,
const bool  transA = false,
const bool  transB = false,
const T  a = 1.0,
const T  b = 0.0 
) const
pure virtual

perform C = a*B*A + b*C, possibly transposing A or B.

Implemented in spams::DoubleRowMatrix< T >, spams::ShiftMatrix< T >, spams::SpMatrix< T >, and spams::Matrix< T >.

template<typename T>
virtual void spams::AbstractMatrixB< T >::multTrans ( const Vector< T > &  x,
Vector< T > &  b,
const T  alpha = 1.0,
const T  beta = 0.0 
) const
pure virtual
template<typename T>
virtual int spams::AbstractMatrixB< T >::n ( ) const
pure virtual
template<typename T>
virtual void spams::AbstractMatrixB< T >::print ( const string &  name) const
pure virtual
template<typename T>
virtual void spams::AbstractMatrixB< T >::XtX ( Matrix< T > &  XtX) const
pure virtual

XtX = A'*A.

Implemented in spams::DoubleRowMatrix< T >, spams::ShiftMatrix< T >, spams::SpMatrix< T >, and spams::Matrix< T >.

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

+ Here is the caller graph for this function:


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