TBCI::F_BandMatrix< T > Class Template Reference

C++ class for banded matrices using band storage in a one-dimensional array. More...

#include <f_bandmatrix.h>

Inheritance diagram for TBCI::F_BandMatrix< T >:

Inheritance graph
[legend]
Collaboration diagram for TBCI::F_BandMatrix< T >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef T value_type
typedef T element_type
typedef T aligned_value_type

Public Member Functions

 F_BandMatrix ()
 F_BandMatrix (unsigned int dimension, unsigned int superDiags=0, unsigned int subDiags=0)
 F_BandMatrix (const F_BandMatrix< T > &m)
 F_BandMatrix (const Matrix< T > &m)
 ~F_BandMatrix ()
void clear ()
operator() (unsigned int row, unsigned int column) const
T & operator() (unsigned int row, unsigned int column)
void setval (const T z, unsigned int row, unsigned int column)
T & setval (unsigned r, unsigned c)
TVector< T > get_col (unsigned int column) const
void set_col (const Vector< T > &v, unsigned int column)
void set_col (const TVector< T > &tv, unsigned int column)
void set_col (const TSVector< T > &tsv, unsigned int column)
unsigned int rows () const
unsigned int columns () const
unsigned int size () const
unsigned int numSuper () const
unsigned int numSub () const
unsigned int ldab () const
void resize (unsigned int newDim, unsigned int newSuper, unsigned int newSub)
F_BandMatrix< T > & operator= (const F_BandMatrix< T > &m)
TVector< T > transMult (const Vector< T > &v) const
TVector< T > transMult (const TVector< T > &tv) const
TVector< T > transMult (const TSVector< T > &tsv) const
F_BandMatrix< T > & operator*= (const T z)
F_BandMatrix< T > & operator/= (const T z)
F_BandMatrix< T > transposed_copy () const
F_BandMatrix< T > & transpose ()
 transpose() does change the object!
T *const & get_fortran_matrix () const
F_BandMatrix< T > & swap (F_BandMatrix< T > &m)

Protected Member Functions

void allocate (unsigned int dimension, unsigned int superDiags, unsigned int subDiags)
void destroy ()
void copy (const F_BandMatrix< T > &m)
void find_super (const Matrix< T > &m)
 Find number of super diagonals.
void find_sub (const Matrix< T > &m)
 Find number of sub diagonals.

Protected Attributes

unsigned int dim
unsigned int super
unsigned int sub
T * comp
dummy

Friends

bool operator== (const F_BandMatrix< T > &, const F_BandMatrix< T > &)
bool operator!= (const F_BandMatrix< T > &, const F_BandMatrix< T > &)
F_BandMatrix< T > operator- (const F_BandMatrix< T > &m)
TVector< T > do_fbdmat_vec_mul (const F_BandMatrix< T > &m, const Vector< T > &v)
F_BandMatrix< T > do_fbdmat_scale (const F_BandMatrix< T > &m, const T z)
F_BandMatrix< T > do_fbdmat_scale (const T z, const F_BandMatrix< T > &m)
F_BandMatrix< T > operator/ (const F_BandMatrix< T > &m, T const z)
F_BandMatrix< T > operator+ (const F_BandMatrix< T > &, const F_BandMatrix< T > &)
F_BandMatrix< T > operator- (const F_BandMatrix< T > &, const F_BandMatrix< T > &)
std::ostream & operator<< (std::ostream &stream, const F_BandMatrix< T > &m)


Detailed Description

template<typename T>
class TBCI::F_BandMatrix< T >

C++ class for banded matrices using band storage in a one-dimensional array.

Definition at line 59 of file f_bandmatrix.h.


Member Typedef Documentation

template<typename T>
typedef T TBCI::F_BandMatrix< T >::value_type

Definition at line 62 of file f_bandmatrix.h.

template<typename T>
typedef T TBCI::F_BandMatrix< T >::element_type

Definition at line 63 of file f_bandmatrix.h.

template<typename T>
typedef T TBCI::F_BandMatrix< T >::aligned_value_type

Definition at line 64 of file f_bandmatrix.h.


Constructor & Destructor Documentation

template<typename T>
TBCI::F_BandMatrix< T >::F_BandMatrix (  )  [inline]

Definition at line 66 of file f_bandmatrix.h.

template<typename T>
TBCI::F_BandMatrix< T >::F_BandMatrix ( unsigned int  dimension,
unsigned int  superDiags = 0,
unsigned int  subDiags = 0 
) [inline]

Definition at line 68 of file f_bandmatrix.h.

template<typename T>
TBCI::F_BandMatrix< T >::F_BandMatrix ( const F_BandMatrix< T > &  m  )  [inline]

Definition at line 73 of file f_bandmatrix.h.

template<typename T>
TBCI::F_BandMatrix< T >::F_BandMatrix ( const Matrix< T > &  m  )  [inline]

template<typename T>
TBCI::F_BandMatrix< T >::~F_BandMatrix (  )  [inline]

Definition at line 76 of file f_bandmatrix.h.


Member Function Documentation

template<typename T>
void TBCI::F_BandMatrix< T >::clear (  )  [inline]

template<typename T>
T TBCI::F_BandMatrix< T >::operator() ( unsigned int  row,
unsigned int  column 
) const [inline]

template<typename T>
T & TBCI::F_BandMatrix< T >::operator() ( unsigned int  row,
unsigned int  column 
) [inline]

template<typename T>
void TBCI::F_BandMatrix< T >::setval ( const T  z,
unsigned int  row,
unsigned int  column 
) [inline]

template<typename T>
T& TBCI::F_BandMatrix< T >::setval ( unsigned  r,
unsigned  c 
) [inline]

Definition at line 85 of file f_bandmatrix.h.

template<typename T>
TVector< T > TBCI::F_BandMatrix< T >::get_col ( unsigned int  column  )  const [inline]

Definition at line 212 of file f_bandmatrix.h.

References BCHK, TBCI::F_BandMatrix< T >::dim, and TBCI::TVector< T >::set().

template<typename T>
void TBCI::F_BandMatrix< T >::set_col ( const Vector< T > &  v,
unsigned int  column 
) [inline]

template<typename T>
void TBCI::F_BandMatrix< T >::set_col ( const TVector< T > &  tv,
unsigned int  column 
) [inline]

Definition at line 238 of file f_bandmatrix.h.

References TBCI::F_BandMatrix< T >::set_col().

template<typename T>
void TBCI::F_BandMatrix< T >::set_col ( const TSVector< T > &  tsv,
unsigned int  column 
) [inline]

Definition at line 245 of file f_bandmatrix.h.

References TBCI::F_BandMatrix< T >::set_col().

template<typename T>
unsigned int TBCI::F_BandMatrix< T >::rows (  )  const [inline]

Reimplemented from TBCI::Matrix_Sig< T >.

Definition at line 94 of file f_bandmatrix.h.

template<typename T>
unsigned int TBCI::F_BandMatrix< T >::columns (  )  const [inline]

Reimplemented from TBCI::Matrix_Sig< T >.

Definition at line 95 of file f_bandmatrix.h.

Referenced by TBCI::eig(), TBCI::lu_solve(), and TBCI::lu_solve_expert().

template<typename T>
unsigned int TBCI::F_BandMatrix< T >::size (  )  const [inline]

Definition at line 96 of file f_bandmatrix.h.

Referenced by TBCI::operator+(), and TBCI::operator-().

template<typename T>
unsigned int TBCI::F_BandMatrix< T >::numSuper (  )  const [inline]

template<typename T>
unsigned int TBCI::F_BandMatrix< T >::numSub (  )  const [inline]

template<typename T>
unsigned int TBCI::F_BandMatrix< T >::ldab (  )  const [inline]

Definition at line 99 of file f_bandmatrix.h.

Referenced by TBCI::lu_solve(), and TBCI::lu_solve_expert().

template<typename T>
void TBCI::F_BandMatrix< T >::resize ( unsigned int  newDim,
unsigned int  newSuper,
unsigned int  newSub 
) [inline]

template<typename T>
F_BandMatrix< T > & TBCI::F_BandMatrix< T >::operator= ( const F_BandMatrix< T > &  m  )  [inline]

template<typename T>
TVector< T > TBCI::F_BandMatrix< T >::transMult ( const Vector< T > &  v  )  const [inline]

template<typename T>
TVector< T > TBCI::F_BandMatrix< T >::transMult ( const TVector< T > &  tv  )  const [inline]

Definition at line 364 of file f_bandmatrix.h.

References TBCI::F_BandMatrix< T >::transMult().

template<typename T>
TVector< T > TBCI::F_BandMatrix< T >::transMult ( const TSVector< T > &  tsv  )  const [inline]

Definition at line 372 of file f_bandmatrix.h.

References TBCI::F_BandMatrix< T >::transMult().

template<typename T>
F_BandMatrix< T > & TBCI::F_BandMatrix< T >::operator*= ( const T  z  )  [inline]

template<typename T>
F_BandMatrix< T > & TBCI::F_BandMatrix< T >::operator/= ( const T  z  )  [inline]

template<typename T>
F_BandMatrix< T > TBCI::F_BandMatrix< T >::transposed_copy (  )  const [inline]

template<typename T>
F_BandMatrix< T > & TBCI::F_BandMatrix< T >::transpose (  )  [inline]

transpose() does change the object!

Definition at line 619 of file f_bandmatrix.h.

References TBCI::F_BandMatrix< T >::swap(), and TBCI::F_BandMatrix< T >::transposed_copy().

template<typename T>
T* const& TBCI::F_BandMatrix< T >::get_fortran_matrix (  )  const [inline]

Definition at line 141 of file f_bandmatrix.h.

Referenced by TBCI::eig(), TBCI::lu_solve(), and TBCI::lu_solve_expert().

template<typename T>
F_BandMatrix< T > & TBCI::F_BandMatrix< T >::swap ( F_BandMatrix< T > &  m  )  [inline]

template<typename T>
void TBCI::F_BandMatrix< T >::allocate ( unsigned int  dimension,
unsigned int  superDiags,
unsigned int  subDiags 
) [inline, protected]

template<typename T>
void TBCI::F_BandMatrix< T >::destroy (  )  [inline, protected]

template<typename T>
void TBCI::F_BandMatrix< T >::copy ( const F_BandMatrix< T > &  m  )  [inline, protected]

template<typename T>
void TBCI::F_BandMatrix< T >::find_super ( const Matrix< T > &  m  )  [inline, protected]

Find number of super diagonals.

Definition at line 443 of file f_bandmatrix.h.

References TBCI::F_BandMatrix< T >::dim, TBCI::F_BandMatrix< T >::super, and T.

Referenced by TBCI::F_BandMatrix< T >::F_BandMatrix().

template<typename T>
void TBCI::F_BandMatrix< T >::find_sub ( const Matrix< T > &  m  )  [inline, protected]

Find number of sub diagonals.

Definition at line 453 of file f_bandmatrix.h.

References TBCI::F_BandMatrix< T >::dim, TBCI::F_BandMatrix< T >::sub, and T.

Referenced by TBCI::F_BandMatrix< T >::F_BandMatrix().


Friends And Related Function Documentation

template<typename T>
bool operator== ( const F_BandMatrix< T > &  m1,
const F_BandMatrix< T > &  m2 
) [friend]

Definition at line 270 of file f_bandmatrix.h.

template<typename T>
bool operator!= ( const F_BandMatrix< T > &  m1,
const F_BandMatrix< T > &  m2 
) [friend]

Definition at line 282 of file f_bandmatrix.h.

template<typename T>
F_BandMatrix<T> operator- ( const F_BandMatrix< T > &  m  )  [friend]

Definition at line 293 of file f_bandmatrix.h.

template<typename T>
TVector<T> do_fbdmat_vec_mul ( const F_BandMatrix< T > &  m,
const Vector< T > &  v 
) [friend]

Definition at line 303 of file f_bandmatrix.h.

Referenced by TBCI::operator*().

template<typename T>
F_BandMatrix<T> do_fbdmat_scale ( const F_BandMatrix< T > &  m,
const T  z 
) [friend]

Definition at line 380 of file f_bandmatrix.h.

Referenced by TBCI::operator*().

template<typename T>
F_BandMatrix<T> do_fbdmat_scale ( const T  z,
const F_BandMatrix< T > &  m 
) [friend]

Definition at line 391 of file f_bandmatrix.h.

template<typename T>
F_BandMatrix<T> operator/ ( const F_BandMatrix< T > &  m,
T const  z 
) [friend]

Definition at line 423 of file f_bandmatrix.h.

template<typename T>
F_BandMatrix<T> operator+ ( const F_BandMatrix< T > &  A,
const F_BandMatrix< T > &  B 
) [friend]

Definition at line 522 of file f_bandmatrix.h.

template<typename T>
F_BandMatrix<T> operator- ( const F_BandMatrix< T > &  A,
const F_BandMatrix< T > &  B 
) [friend]

Definition at line 555 of file f_bandmatrix.h.

template<typename T>
std:: ostream& operator<< ( std::ostream &  stream,
const F_BandMatrix< T > &  m 
) [friend]

Definition at line 587 of file f_bandmatrix.h.


Member Data Documentation

template<typename T>
unsigned int TBCI::F_BandMatrix< T >::dim [protected]

template<typename T>
unsigned int TBCI::F_BandMatrix< T >::super [protected]

template<typename T>
unsigned int TBCI::F_BandMatrix< T >::sub [protected]

template<typename T>
T* TBCI::F_BandMatrix< T >::comp [protected]

template<typename T>
T TBCI::F_BandMatrix< T >::dummy [mutable, protected]

Definition at line 148 of file f_bandmatrix.h.

Referenced by TBCI::F_BandMatrix< T >::operator()().


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

Generated on Wed Nov 20 09:29:24 2013 for TBCI Numerical high perf. C++ Library by  doxygen 1.5.6