TBCI Numerical high perf. C++ Library  2.8.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
BdMatrix< T > Class Template Reference

The class BdMatrix is an implementation to store and do operations on sparse Matrices with a band structure. More...

#include <band_matrix.h>

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

Public Types

typedef T value_type
 
typedef T element_type
 
typedef T aligned_value_type TALIGN (MIN_ALIGN2)
 

Public Member Functions

 BdMatrix (const unsigned int=0)
 c'tor tridiagonal More...
 
 BdMatrix (const unsigned int, const unsigned int)
 c'tor with rows and columns (which need to be identical) More...
 
 BdMatrix (const unsigned int, const BVector< unsigned int > &)
 c'tor with config Vector More...
 
 BdMatrix (const BdMatrix< T > &)
 copy c'tor More...
 
 BdMatrix (const T &, const unsigned int)
 c'tor variants with initial value on diag (tridiag, with config) More...
 
 BdMatrix (const T &, const unsigned int, const BVector< unsigned int > &)
 
 BdMatrix (const T &, const unsigned int, unsigned int)
 c'tor with # of offdiags (band Matrix) More...
 
 BdMatrix (const Matrix< T > &)
 c'tor to copy Matrix and self-determine sparseness More...
 
 ~BdMatrix () THROWEXCEPT
 
void destroy ()
 destroy object explicitly More...
 
template<typename U >
 BdMatrix (const BdMatrix< U > &bm)
 
 operator TMatrix< T > () const
 cast More...
 
Toperator() (const unsigned int, const unsigned int) HOT
 rw member access More...
 
tbci_traits< T >::const_refval_type operator() (const unsigned int, const unsigned int) const HOT
 ro member access More...
 
tbci_traits< T >::const_refval_type get (const unsigned int, const unsigned int) const HOT
 
BdMatrix< T > & setval (const T &v, const unsigned int r, const unsigned int c)
 autoinsert, sparse class compatible More...
 
Tsetval (const unsigned int r, const unsigned int c)
 
BdMatrix< T > & transpose ()
 transpose() does change the object! More...
 
BdMatrix< T > & resize (const unsigned int)
 
BdMatrix< T > & resize (const T &, const unsigned int)
 
BdMatrix< T > & resize (const unsigned int, const BVector< unsigned int > &)
 
BdMatrix< T > & resize (const T &, const unsigned int, const BVector< unsigned int > &)
 
BdMatrix< T > & resize (const BdMatrix< T > &bdm)
 Resizing assignment. More...
 
BdMatrix< T > & reconfig (const BVector< unsigned int > &) COLD
 
BdMatrix< T > & setunit (const T &=1)
 
BdMatrix< T > & fill (const T &=0)
 
BdMatrix< T > & clear ()
 
BdMatrix< T > & adddiag (const unsigned)
 
BdMatrix< T > & removediag (const unsigned)
 
BdMatrix< T > & autoinsert (const T &, const unsigned, const unsigned)
 
BdMatrix< T > & expand (unsigned=0)
 
BdMatrix< T > & set_row (const Vector< T > &val, const unsigned, const unsigned=0)
 Overwrite row with Vector. More...
 
TVector< Tget_row (const unsigned int) const
 Construct Vector from row. More...
 
TVector< Tget_col (const unsigned int) const
 Construct Vector from column. More...
 
unsigned int size () const
 size: incompatibility to Matrix (!) More...
 
unsigned int noelem () const
 Number of elements that are actually stored. More...
 
unsigned int rows () const
 number of rows More...
 
unsigned int columns () const
 number of columns More...
 
const BVector< unsigned int > & getcfg () const
 ro access to config BVector More...
 
unsigned int getmaxoff () const
 max distance from main diagonal More...
 
T trace () const
 
BdMatrix< T > & operator= (const BdMatrix< T > &)
 The assignment operators in TBCI are NOT resizing. More...
 
BdMatrix< T > & operator= (const T &)
 
BdMatrix< T > & operator+= (const BdMatrix< T > &)
 
BdMatrix< T > & operator-= (const BdMatrix< T > &)
 
BdMatrix< T > & operator*= (const T &)
 
BdMatrix< T > & operator/= (const T &)
 
bool operator== (const BdMatrix< T > &) const
 
bool operator!= (const BdMatrix< T > &ma) const
 
BdMatrix< Toperator+ (const BdMatrix< T > &) const
 
BdMatrix< Toperator- (const BdMatrix< T > &) const
 
BdMatrix< Toperator* (const BdMatrix< T > &) const
 
BdMatrix< Toperator* (const T &) const
 
BdMatrix< Toperator/ (const T &) const
 
BdMatrix< Toperator- () const
 
TVector< Toperator* (const Vector< T > &) const HOT
 Matrix-Vector multiplication. More...
 
TVector< TtransMult (const Vector< T > &) const HOT
 Transposed Matrix-Vector multiplication. More...
 
TVector< TdotMult (const Vector< T > &) const
 
TMatrix< Toperator* (const Matrix< T > &) const
 
BdMatrix< T > & mult_rows (const Vector< T > &)
 Linewise multiplication. More...
 
BdMatrix< T > & div_rows (const Vector< T > &)
 
BdMatrix< T > & mult_row (const T &, const unsigned)
 
BdMatrix< T > & div_row (const T &, const unsigned)
 
const BdMatrix< T > & setoutopts (int w=5, int p=4, char f= ' ') const
 
BdMatrix< Tinverse () const
 
template<>
BdMatrix< int > & operator/= (const int &div)
 
template<>
BdMatrix< unsigned int > & operator/= (const unsigned int &div)
 
- Public Member Functions inherited from Matrix_Sig< T >
 Matrix_Sig ()
 
 ~Matrix_Sig ()
 
tbci_traits< T >::const_refval_type operator() (const unsigned, const unsigned) const
 ro access More...
 
Toperator() (const unsigned, const unsigned)
 rw access More...
 
Matrix_Sig< T > & fill (const T &)
 
Matrix_Sig< T > & setunit (const T &=(T) 1)
 
Matrix_Sig< T > & clear ()
 
TVector< Toperator* (const Vector_Sig< T > &) const
 
TVector< TtransMult (const Vector_Sig< T > &) const
 
unsigned int rows () const
 
unsigned int columns () const
 

Static Public Member Functions

static const char * mat_info ()
 
- Static Public Member Functions inherited from Matrix_Sig< T >
static const char * mat_info ()
 

Protected Member Functions

void constructor (const unsigned int, const bool=true)
 
Tcheck (const unsigned r, const unsigned c) const HOT
 
Tcheck_internal (const unsigned r, const unsigned c) const HOT
 
void free_diags (const unsigned)
 Implementation alternative: All memory is allocated in one big chunk (default) More...
 
void do_copy (const BdMatrix< T > &)
 

Protected Attributes

unsigned int dim
 
unsigned int maxoff
 size, max offset from diag More...
 
unsigned long arsz
 

of saved elems,

More...
 
BVector< unsigned > diagconf
 configuration More...
 
BVector< T * > adiag
 
BVector< T * > bdiag
 pointers to upper and lower diagonals More...
 
Tdiag
 

Friends

class ILU0_BdMatrixPreconditioner< T >
 
class DILU_BdMatrixPreconditioner< T >
 
template<typename U >
class BdMatrix
 
STD__ istream & operator>> FGD (STD__ istream &, BdMatrix< T > &)
 
STD__ ostream & operator<< FGD (STD__ ostream &, const BdMatrix< T > &)
 
NOINST void gaussj FGDT (const BdMatrix< T > &, const Matrix< T > &)
 
NOINST int lu_decomp FGDT (BdMatrix< T > &) HOT
 
void FRIEND_TBCI2__
do_bdmat_vec_mult_lnw 
FGDT (const unsigned, const unsigned, TVector< T > *, const BdMatrix< T > *, const Vector< T > *)
 
void FRIEND_TBCI2__
do_bdmat_vec_mult_lnw_opt 
FGDT (const unsigned, const unsigned, TVector< T > *, const BdMatrix< T > *, const Vector< T > *)
 
void FRIEND_TBCI2__
do_bdmat_vec_mult_diagw_exact 
FGDT (const unsigned, const unsigned, TVector< T > *, const BdMatrix< T > *, const Vector< T > *)
 
void FRIEND_TBCI2__
do_bdmat_vec_mult 
FGDT (const unsigned, const unsigned, TVector< T > *, const BdMatrix< T > *, const Vector< T > *)
 
void FRIEND_TBCI2__
do_bdmat_vec_transmult_lnw 
FGDT (const unsigned, const unsigned, TVector< T > *, const BdMatrix< T > *, const Vector< T > *)
 
void FRIEND_TBCI2__
do_bdmat_vec_transmult_lnw_opt 
FGDT (const unsigned, const unsigned, TVector< T > *, const BdMatrix< T > *, const Vector< T > *)
 
void FRIEND_TBCI2__
do_bdmat_vec_transmult_diagw_exact 
FGDT (const unsigned, const unsigned, TVector< T > *, const BdMatrix< T > *, const Vector< T > *)
 
void FRIEND_TBCI2__
do_bdmat_vec_transmult 
FGDT (const unsigned, const unsigned, TVector< T > *, const BdMatrix< T > *, const Vector< T > *)
 
void FRIEND_TBCI2__
do_bdmat_vec_dotmult 
FGDT (const unsigned, const unsigned, TVector< T > *, const BdMatrix< T > *, const Vector< T > *)
 

Detailed Description

template<typename T>
class BdMatrix< T >

The class BdMatrix is an implementation to store and do operations on sparse Matrices with a band structure.

It stores the main diagonal and additional diagonals of your Matrix as arrays.

This is an efficient way to handle matrices that have only a few diagonals, such as e.g. the typical pentadiagonal systems from solving discretized partial differential equations in 2 dimensions.

Default shape is tridiagonal, additional diagonals to be stored can be given by a BVector argument to the constructor, or by using autoinsert(), which allocates diagonals as needed.

Alternatives: CSCMatrix is a good choice for sparse matrices as well.

Layout:
... d ad1 ad2 ...
bd1. . . .
bd2..00 01 02 03 04 .... 0N
... .10 11 12 13 14 .... 1N
..... 20 21 22 23 24 .... 2N
..... .. .. .. .. .. .... ..
..... .. .. .. .. .. .... ..
..... N0 N1 N2 N3 N4 .... NN

Thus, an element a(i,j) is
diag[i] if i==j
adiag(j-i)[i] if j>i
bdiag(i-j)[j] if i>j
adiag(j-i)[i] with j >= N <=> i + j-i >= N do not exist
bdiag(i-j)[j] with i >= N <=> j + i-j >= N do not exist

Definition at line 103 of file band_matrix.h.

Member Typedef Documentation

template<typename T>
typedef T BdMatrix< T >::element_type

Definition at line 133 of file band_matrix.h.

template<typename T>
typedef T aligned_value_type BdMatrix< T >::TALIGN(MIN_ALIGN2)

Definition at line 134 of file band_matrix.h.

template<typename T>
typedef T BdMatrix< T >::value_type

Definition at line 132 of file band_matrix.h.

Constructor & Destructor Documentation

template<typename T >
BdMatrix< T >::BdMatrix ( const unsigned int  d = 0)
inlineexplicit
template<typename T >
BdMatrix< T >::BdMatrix ( const unsigned int  d,
const unsigned int  e 
)
inlineexplicit

c'tor with rows and columns (which need to be identical)

Definition at line 515 of file band_matrix.h.

References BCHKNR, BdMatrix< T >::clear(), BdMatrix< T >::constructor(), BdMatrix< T >::diagconf, BVector< T >::resize(), and UNLIKELY.

template<typename T >
BdMatrix< T >::BdMatrix ( const unsigned int  d,
const BVector< unsigned int > &  conf 
)
inlineexplicit

c'tor with config Vector

Definition at line 525 of file band_matrix.h.

References BdMatrix< T >::clear(), and BdMatrix< T >::constructor().

template<typename T >
BdMatrix< T >::BdMatrix ( const BdMatrix< T > &  mat)
inline

copy c'tor

Definition at line 533 of file band_matrix.h.

References BdMatrix< T >::constructor(), BdMatrix< T >::dim, BdMatrix< T >::do_copy(), and UNLIKELY.

template<typename T >
BdMatrix< T >::BdMatrix ( const T val,
const unsigned int  d 
)
inline

c'tor variants with initial value on diag (tridiag, with config)

Definition at line 545 of file band_matrix.h.

References BdMatrix< T >::constructor(), BdMatrix< T >::diagconf, BVector< T >::resize(), BdMatrix< T >::setunit(), and UNLIKELY.

template<typename T >
BdMatrix< T >::BdMatrix ( const T val,
const unsigned int  d,
const BVector< unsigned int > &  conf 
)
inline

Definition at line 570 of file band_matrix.h.

References BdMatrix< T >::constructor(), and BdMatrix< T >::setunit().

template<typename T >
BdMatrix< T >::BdMatrix ( const T val,
const unsigned int  d,
unsigned int  mo 
)
inline
template<typename T >
BdMatrix< T >::BdMatrix ( const Matrix< T > &  mat)
template<typename T >
BdMatrix< T >::~BdMatrix ( )
inline
template<typename T>
template<typename U >
BdMatrix< T >::BdMatrix ( const BdMatrix< U > &  bm)
inlineexplicit

Member Function Documentation

template<typename T >
BdMatrix< T > & BdMatrix< T >::adddiag ( const unsigned  ndg)
template<typename T >
BdMatrix< T > & BdMatrix< T >::autoinsert ( const T val,
const unsigned  r,
const unsigned  c 
)
template<typename T >
T * BdMatrix< T >::check ( const unsigned  r,
const unsigned  c 
) const
inlineprotected
template<typename T >
T * BdMatrix< T >::check_internal ( const unsigned  r,
const unsigned  c 
) const
inlineprotected
template<typename T >
BdMatrix< T > & BdMatrix< T >::clear ( )
inline
template<typename T>
unsigned int BdMatrix< T >::columns ( ) const
inline

number of columns

Definition at line 249 of file band_matrix.h.

References BdMatrix< T >::dim.

Referenced by CSCMatrix< T >::CSCMatrix(), and LU_invert().

template<typename T >
void BdMatrix< T >::constructor ( const unsigned int  d,
const bool  delout = true 
)
protected
template<typename T>
void BdMatrix< T >::destroy ( )
inline
template<typename T >
BdMatrix< T > & BdMatrix< T >::div_row ( const T d,
const unsigned  i 
)
template<typename T >
BdMatrix< T > & BdMatrix< T >::div_rows ( const Vector< T > &  v)
template<typename T >
void BdMatrix< T >::do_copy ( const BdMatrix< T > &  bdm)
inlineprotected
template<typename T >
TVector< T > BdMatrix< T >::dotMult ( const Vector< T > &  vec) const

Definition at line 2592 of file band_matrix.h.

References BCHK, BdMatrix< T >::dim, and TVector< T >::size().

template<typename T >
BdMatrix< T > & BdMatrix< T >::expand ( unsigned  m = 0)
template<typename T >
BdMatrix< T > & BdMatrix< T >::fill ( const T val = 0)
inline

Definition at line 1055 of file band_matrix.h.

References BdMatrix< T >::arsz, BdMatrix< T >::diag, and TBCIFILL.

template<typename T >
void BdMatrix< T >::free_diags ( const unsigned  dummy)
inlineprotected

Implementation alternative: All memory is allocated in one big chunk (default)

Definition at line 358 of file band_matrix.h.

References BdMatrix< T >::arsz, BDMATDBG, BdMatrix< T >::diag, BdMatrix< T >::dim, STD__, and TBCIDELETE.

Referenced by BdMatrix< T >::destroy(), BdMatrix< T >::operator=(), BdMatrix< T >::resize(), and BdMatrix< T >::~BdMatrix().

template<typename T >
tbci_traits< T >::const_refval_type BdMatrix< T >::get ( const unsigned int  r,
const unsigned int  c 
) const
inline
template<typename T >
TVector< T > BdMatrix< T >::get_col ( const unsigned int  c) const
template<typename T >
TVector< T > BdMatrix< T >::get_row ( const unsigned int  r) const
template<typename T>
const BVector<unsigned int>& BdMatrix< T >::getcfg ( ) const
inline

ro access to config BVector

Definition at line 252 of file band_matrix.h.

References BdMatrix< T >::diagconf.

template<typename T>
unsigned int BdMatrix< T >::getmaxoff ( ) const
inline

max distance from main diagonal

Definition at line 254 of file band_matrix.h.

References BdMatrix< T >::maxoff.

Referenced by LU_bkw_subst(), lu_decomp(), and LU_fwd_subst().

template<typename T>
BdMatrix<T> BdMatrix< T >::inverse ( ) const
template<typename T>
static const char* BdMatrix< T >::mat_info ( )
inlinestatic

Definition at line 164 of file band_matrix.h.

template<typename T >
BdMatrix< T > & BdMatrix< T >::mult_row ( const T f,
const unsigned  i 
)
template<typename T >
BdMatrix< T > & BdMatrix< T >::mult_rows ( const Vector< T > &  v)
template<typename T>
unsigned int BdMatrix< T >::noelem ( ) const
inline

Number of elements that are actually stored.

Definition at line 245 of file band_matrix.h.

References BdMatrix< T >::arsz.

template<typename T >
BdMatrix< T >::operator TMatrix< T > ( ) const
template<typename T>
bool BdMatrix< T >::operator!= ( const BdMatrix< T > &  ma) const
inline

Definition at line 282 of file band_matrix.h.

template<typename T >
T & BdMatrix< T >::operator() ( const unsigned int  r,
const unsigned int  c 
)
inline

rw member access

Definition at line 668 of file band_matrix.h.

References BdMatrix< T >::check(), LIKELY, and REGISTER.

template<typename T >
tbci_traits< T >::const_refval_type BdMatrix< T >::operator() ( const unsigned int  r,
const unsigned int  c 
) const
inline

ro member access

Definition at line 681 of file band_matrix.h.

References BdMatrix< T >::check(), LIKELY, and REGISTER.

template<typename T >
BdMatrix< T > BdMatrix< T >::operator* ( const BdMatrix< T > &  mat2) const

Definition at line 1422 of file band_matrix.h.

References ALIGN, BCHK, i, MAX, BdMatrix< T >::maxoff, MIN, MIN_ALIGN, REGISTER, BdMatrix< T >::size(), and T.

template<typename T >
BdMatrix< T > BdMatrix< T >::operator* ( const T val) const
inline

Definition at line 1406 of file band_matrix.h.

template<typename T >
TVector< T > BdMatrix< T >::operator* ( const Vector< T > &  vec) const
template<typename T>
TMatrix<T> BdMatrix< T >::operator* ( const Matrix< T > &  ) const
template<typename T >
BdMatrix< T > & BdMatrix< T >::operator*= ( const T mult)

Definition at line 1334 of file band_matrix.h.

Referenced by TVector< T >::operator/=().

template<typename T >
BdMatrix< T > BdMatrix< T >::operator+ ( const BdMatrix< T > &  m2) const

Definition at line 1417 of file band_matrix.h.

template<typename T >
BdMatrix< T > & BdMatrix< T >::operator+= ( const BdMatrix< T > &  mat)

Definition at line 1314 of file band_matrix.h.

Referenced by TVector< T >::operator+().

template<typename T >
BdMatrix< T > BdMatrix< T >::operator- ( const BdMatrix< T > &  m2) const

Definition at line 1418 of file band_matrix.h.

template<typename T >
BdMatrix< T > BdMatrix< T >::operator- ( ) const
template<typename T >
BdMatrix< T > & BdMatrix< T >::operator-= ( const BdMatrix< T > &  mat)

Definition at line 1315 of file band_matrix.h.

Referenced by TVector< T >::operator-().

template<typename T >
BdMatrix< T > BdMatrix< T >::operator/ ( const T val) const
inline

Definition at line 1405 of file band_matrix.h.

template<typename T >
BdMatrix< T > & BdMatrix< T >::operator/= ( const T div)
inline
template<>
BdMatrix< int > & BdMatrix< int >::operator/= ( const int &  div)
inline

Definition at line 1373 of file band_matrix.h.

template<>
BdMatrix< unsigned int > & BdMatrix< unsigned int >::operator/= ( const unsigned int &  div)
inline

Definition at line 1374 of file band_matrix.h.

template<typename T >
BdMatrix< T > & BdMatrix< T >::operator= ( const BdMatrix< T > &  mat)
template<typename T >
BdMatrix< T > & BdMatrix< T >::operator= ( const T val)
inline

Definition at line 1276 of file band_matrix.h.

References BdMatrix< T >::setunit().

template<typename T >
bool BdMatrix< T >::operator== ( const BdMatrix< T > &  ma) const
template<typename T >
BdMatrix< T > & BdMatrix< T >::reconfig ( const BVector< unsigned int > &  cfg)
template<typename T >
BdMatrix< T > & BdMatrix< T >::removediag ( const unsigned  dg)
template<typename T >
BdMatrix< T > & BdMatrix< T >::resize ( const unsigned int  nd)
template<typename T >
BdMatrix< T > & BdMatrix< T >::resize ( const T val,
const unsigned int  nd 
)
template<typename T >
BdMatrix< T > & BdMatrix< T >::resize ( const unsigned int  nd,
const BVector< unsigned int > &  cfg 
)
template<typename T >
BdMatrix< T > & BdMatrix< T >::resize ( const T val,
const unsigned int  nd,
const BVector< unsigned int > &  cfg 
)

Definition at line 832 of file band_matrix.h.

References BdMatrix< T >::diag, BdMatrix< T >::dim, i, and BdMatrix< T >::resize().

template<typename T>
BdMatrix<T>& BdMatrix< T >::resize ( const BdMatrix< T > &  bdm)
inline

Resizing assignment.

Definition at line 224 of file band_matrix.h.

References BdMatrix< T >::diagconf, BdMatrix< T >::dim, and BdMatrix< T >::resize().

template<typename T>
unsigned int BdMatrix< T >::rows ( ) const
inline

number of rows

Definition at line 247 of file band_matrix.h.

References BdMatrix< T >::dim.

Referenced by CSCMatrix< T >::CSCMatrix(), LU_bkw_subst(), lu_decomp(), LU_det(), LU_fwd_subst(), and LU_invert().

template<typename T >
BdMatrix< T > & BdMatrix< T >::set_row ( const Vector< T > &  val,
const unsigned  r,
const unsigned  s = 0 
)

Overwrite row with Vector.

Definition at line 1014 of file band_matrix.h.

References BdMatrix< T >::autoinsert(), i, and TVector< T >::size().

template<typename T>
const BdMatrix<T>& BdMatrix< T >::setoutopts ( int  w = 5,
int  p = 4,
char  f = ' ' 
) const
inline

Definition at line 321 of file band_matrix.h.

References p.

template<typename T >
BdMatrix< T > & BdMatrix< T >::setunit ( const T val = 1)
inline
template<typename T>
BdMatrix<T>& BdMatrix< T >::setval ( const T v,
const unsigned int  r,
const unsigned int  c 
)
inline

autoinsert, sparse class compatible

Definition at line 205 of file band_matrix.h.

References BdMatrix< T >::autoinsert().

Referenced by lu_decomp(), and operator>>().

template<typename T >
T & BdMatrix< T >::setval ( const unsigned int  r,
const unsigned int  c 
)
template<typename T>
unsigned int BdMatrix< T >::size ( ) const
inline
template<typename T>
T BdMatrix< T >::trace ( ) const
inline

Definition at line 256 of file band_matrix.h.

References BdMatrix< T >::diag, BdMatrix< T >::dim, i, MIN_ALIGN, REGISTER, and T.

template<typename T >
TVector< T > BdMatrix< T >::transMult ( const Vector< T > &  vec) const
template<typename T >
BdMatrix< T > & BdMatrix< T >::transpose ( )
inline

Friends And Related Function Documentation

template<typename T>
template<typename U >
friend class BdMatrix
friend

Definition at line 170 of file band_matrix.h.

template<typename T>
friend class DILU_BdMatrixPreconditioner< T >
friend

Definition at line 106 of file band_matrix.h.

template<typename T>
NOINST void gaussj FGDT ( const BdMatrix< T > &  ,
const Matrix< T > &   
)
friend
template<typename T>
NOINST int lu_decomp FGDT ( BdMatrix< T > &  )
friend
template<typename T>
void FRIEND_TBCI2__ do_bdmat_vec_mult_lnw FGDT ( const unsigned  ,
const unsigned  ,
TVector< T > *  ,
const BdMatrix< T > *  ,
const Vector< T > *   
)
friend
template<typename T>
void FRIEND_TBCI2__ do_bdmat_vec_mult_lnw_opt FGDT ( const unsigned  ,
const unsigned  ,
TVector< T > *  ,
const BdMatrix< T > *  ,
const Vector< T > *   
)
friend
template<typename T>
void FRIEND_TBCI2__ do_bdmat_vec_mult_diagw_exact FGDT ( const unsigned  ,
const unsigned  ,
TVector< T > *  ,
const BdMatrix< T > *  ,
const Vector< T > *   
)
friend
template<typename T>
void FRIEND_TBCI2__ do_bdmat_vec_mult FGDT ( const unsigned  ,
const unsigned  ,
TVector< T > *  ,
const BdMatrix< T > *  ,
const Vector< T > *   
)
friend
template<typename T>
void FRIEND_TBCI2__ do_bdmat_vec_transmult_lnw FGDT ( const unsigned  ,
const unsigned  ,
TVector< T > *  ,
const BdMatrix< T > *  ,
const Vector< T > *   
)
friend
template<typename T>
void FRIEND_TBCI2__ do_bdmat_vec_transmult_lnw_opt FGDT ( const unsigned  ,
const unsigned  ,
TVector< T > *  ,
const BdMatrix< T > *  ,
const Vector< T > *   
)
friend
template<typename T>
void FRIEND_TBCI2__ do_bdmat_vec_transmult_diagw_exact FGDT ( const unsigned  ,
const unsigned  ,
TVector< T > *  ,
const BdMatrix< T > *  ,
const Vector< T > *   
)
friend
template<typename T>
void FRIEND_TBCI2__ do_bdmat_vec_transmult FGDT ( const unsigned  ,
const unsigned  ,
TVector< T > *  ,
const BdMatrix< T > *  ,
const Vector< T > *   
)
friend
template<typename T>
void FRIEND_TBCI2__ do_bdmat_vec_dotmult FGDT ( const unsigned  ,
const unsigned  ,
TVector< T > *  ,
const BdMatrix< T > *  ,
const Vector< T > *   
)
friend
template<typename T>
friend class ILU0_BdMatrixPreconditioner< T >
friend

Definition at line 105 of file band_matrix.h.

template<typename T>
STD__ ostream& operator<< FGD ( STD__ ostream &  ,
const BdMatrix< T > &   
)
friend
template<typename T>
STD__ istream& operator>> FGD ( STD__ istream &  ,
BdMatrix< T > &   
)
friend

Member Data Documentation

template<typename T>
BVector<T*> BdMatrix< T >::adiag
protected
template<typename T>
unsigned long BdMatrix< T >::arsz
protected
template<typename T>
BVector<T*> BdMatrix< T >::bdiag
protected
template<typename T>
T* BdMatrix< T >::diag
protected
template<typename T>
BVector<unsigned> BdMatrix< T >::diagconf
protected
template<typename T>
unsigned int BdMatrix< T >::dim
protected
template<typename T>
unsigned int BdMatrix< T >::maxoff
protected

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