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

#include <linalg.h>

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

Detailed Description

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

Matrix with shifts.

Definition at line 5433 of file linalg.h.

Public Member Functions

virtual void copyRow (const int i, Vector< T > &x) const
 
virtual void copyTo (Matrix< T > &copy) const
 
virtual T dot (const Matrix< T > &x) const
 
 DoubleRowMatrix (const AbstractMatrixB< T > &inputmatrix)
 
int m () const
 
virtual void mult (const SpVector< T > &x, Vector< T > &b, const T alpha=1.0, const T beta=0.0) const
 
virtual void mult (const Vector< T > &x, Vector< T > &b, const T alpha=1.0, const T beta=0.0) const
 
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
 
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
 
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
 
void multTrans (const Vector< T > &x, Vector< T > &b, const T alpha=1.0, const T beta=0.0) const
 
int n () const
 
virtual void print (const string &name) const
 
virtual void XtX (Matrix< T > &XtX) const
 
virtual ~DoubleRowMatrix ()
 
- Public Member Functions inherited from spams::AbstractMatrixB< T >
virtual ~AbstractMatrixB ()
 

Private Attributes

const AbstractMatrixB< T > * _inputmatrix
 
int _m
 
int _n
 

Constructor & Destructor Documentation

template<typename T >
spams::DoubleRowMatrix< T >::DoubleRowMatrix ( const AbstractMatrixB< T > &  inputmatrix)
inline

Definition at line 5435 of file linalg.h.

References spams::AbstractMatrixB< T >::m(), and spams::AbstractMatrixB< T >::n().

+ Here is the call graph for this function:

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

Definition at line 5477 of file linalg.h.

Member Function Documentation

template<typename T >
void spams::DoubleRowMatrix< T >::copyRow ( const int  i,
Vector< T > &  x 
) const
virtual

Implements spams::AbstractMatrixB< T >.

Definition at line 5559 of file linalg.h.

template<typename T >
void spams::DoubleRowMatrix< T >::copyTo ( Matrix< T > &  copy) const
virtual

Implements spams::AbstractMatrixB< T >.

Definition at line 5564 of file linalg.h.

References FLAG.

template<typename T >
T spams::DoubleRowMatrix< T >::dot ( const Matrix< T > &  x) const
virtual

Implements spams::AbstractMatrixB< T >.

Definition at line 5570 of file linalg.h.

References FLAG.

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

Implements spams::AbstractMatrixB< T >.

Definition at line 5440 of file linalg.h.

References spams::SpVector< T >::dot(), and spams::SpVector< T >::print().

+ Here is the call graph for this function:

template<typename T >
void spams::DoubleRowMatrix< T >::mult ( const SpVector< T > &  x,
Vector< T > &  b,
const T  alpha = 1.0,
const T  beta = 0.0 
) const
virtual

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

Implements spams::AbstractMatrixB< T >.

Definition at line 5497 of file linalg.h.

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

+ Here is the call graph for this function:

template<typename T >
void spams::DoubleRowMatrix< T >::mult ( const Vector< T > &  x,
Vector< T > &  b,
const T  alpha = 1.0,
const T  beta = 0.0 
) const
virtual

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

Implements spams::AbstractMatrixB< T >.

Definition at line 5515 of file linalg.h.

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

+ Here is the call graph for this function:

template<typename T >
void spams::DoubleRowMatrix< 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
virtual

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

Implements spams::AbstractMatrixB< T >.

Definition at line 5533 of file linalg.h.

References FLAG.

template<typename T >
void spams::DoubleRowMatrix< 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
virtual

Implements spams::AbstractMatrixB< T >.

Definition at line 5540 of file linalg.h.

References FLAG.

template<typename T >
void spams::DoubleRowMatrix< 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
virtual

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

Implements spams::AbstractMatrixB< T >.

Definition at line 5547 of file linalg.h.

References FLAG.

template<typename T >
void spams::DoubleRowMatrix< T >::multTrans ( const Vector< T > &  x,
Vector< T > &  b,
const T  alpha = 1.0,
const T  beta = 0.0 
) const
virtual

b <- alpha A'x + beta b

Implements spams::AbstractMatrixB< T >.

Definition at line 5486 of file linalg.h.

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

Implements spams::AbstractMatrixB< T >.

Definition at line 5439 of file linalg.h.

template<typename T >
void spams::DoubleRowMatrix< T >::print ( const string &  name) const
virtual

Implements spams::AbstractMatrixB< T >.

Definition at line 5576 of file linalg.h.

template<typename T >
void spams::DoubleRowMatrix< T >::XtX ( Matrix< T > &  XtX) const
virtual

XtX = A'*A.

Implements spams::AbstractMatrixB< T >.

Definition at line 5554 of file linalg.h.

References FLAG.

Member Data Documentation

template<typename T >
const AbstractMatrixB<T>* spams::DoubleRowMatrix< T >::_inputmatrix
private

Definition at line 5482 of file linalg.h.

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

Definition at line 5477 of file linalg.h.

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

Definition at line 5481 of file linalg.h.


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