Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
csr_rep< T, distributed >

Detailed Description

template<class T>
class rheolef::csr_rep< T, distributed >

Definition at line 187 of file csr.h.

+ Inheritance diagram for csr_rep< T, distributed >:

Public Types

typedef csr_rep< T, sequentialbase
 
typedef distributed memory_type
 
typedef base::size_type size_type
 
typedef base::element_type element_type
 
typedef base::iterator iterator
 
typedef base::const_iterator const_iterator
 
typedef base::data_iterator data_iterator
 
typedef base::const_data_iterator const_data_iterator
 
- Public Types inherited from csr_rep< T, sequential >
typedef std::vector< T >::size_type size_type
 
typedef T element_type
 
typedef sequential memory_type
 
typedef std::pair< size_type, Tpair_type
 
typedef vector_of_iterator< pair_type >::iterator iterator
 
typedef vector_of_iterator< pair_type >::const_iterator const_iterator
 
typedef vector_of_iterator< pair_type >::difference_type difference_type
 
typedef vector_of_iterator< pair_type >::value_type data_iterator
 
typedef vector_of_iterator< pair_type >::const_value_type const_data_iterator
 
- Public Types inherited from vector_of_iterator< std::pair< std::vector< T >::size_type, T > >
typedef std::vector< std::pair< std::vector< T >::size_type, T > * > V
 
typedef std::vector< const std::pair< std::vector< T >::size_type, T > * > CONST_V
 
typedef std::pair< std::vector< T >::size_type, T > * value_type
 
typedef const std::pair< std::vector< T >::size_type, T > * const_value_type
 
typedef value_typeiterator
 
typedef const_value_type *const const_iterator
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef V::size_type size_type
 
typedef V::difference_type difference_type
 

Public Member Functions

 csr_rep ()
 
 csr_rep (const csr_rep< T, distributed > &a)
 
template<class A >
 csr_rep (const asr< T, distributed, A > &a)
 
template<class A >
void build_from_asr (const asr< T, distributed, A > &a)
 
void resize (const distributor &row_ownership, const distributor &col_ownership, size_type nnz1=0)
 
template<class A >
void build_from_diag (const disarray_rep< T, distributed, A > &d)
 
const distributorrow_ownership () const
 
const distributorcol_ownership () const
 
const communicatorcomm () const
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 
size_type ext_nnz () const
 
const_iterator ext_begin () const
 
const_iterator ext_end () const
 
iterator ext_begin ()
 
iterator ext_end ()
 
size_type nrow () const
 
size_type ncol () const
 
size_type nnz () const
 
size_type dis_nrow () const
 
size_type dis_ncol () const
 
size_type dis_nnz () const
 
size_type dis_ext_nnz () const
 
T max_abs () const
 
bool is_symmetric () const
 
void set_symmetry (bool is_symm) const
 
void set_symmetry_by_check (const T &tol=std::numeric_limits< T >::epsilon()) const
 
bool is_definite_positive () const
 
void set_definite_positive (bool is_defpos) const
 
size_type pattern_dimension () const
 
void set_pattern_dimension (size_type dim) const
 
size_type row_first_index () const
 
size_type row_last_index () const
 
size_type col_first_index () const
 
size_type col_last_index () const
 
size_type jext2dis_j (size_type jext) const
 
idiststreamget (idiststream &)
 
odiststreamput (odiststream &) const
 
void dump (const std::string &name) const
 
void mult (const vec< T, distributed > &x, vec< T, distributed > &y) const
 
void trans_mult (const vec< T, distributed > &x, vec< T, distributed > &y) const
 
csr_rep< T, distributed > & operator*= (const T &lambda)
 
template<class BinaryOp >
void assign_add (const csr_rep< T, distributed > &a, const csr_rep< T, distributed > &b, BinaryOp binop)
 
void build_transpose (csr_rep< T, distributed > &b) const
 
void assign_mult (const csr_rep< T, distributed > &a, const csr_rep< T, distributed > &b)
 
- Public Member Functions inherited from csr_rep< T, sequential >
 csr_rep (size_type loc_nrow1=0, size_type loc_ncol1=0, size_type loc_nnz1=0)
 
void resize (size_type loc_nrow1=0, size_type loc_ncol1=0, size_type loc_nnz1=0)
 
 csr_rep (const distributor &row_ownership, const distributor &col_ownership, size_type nnz1=0)
 
void resize (const distributor &row_ownership, const distributor &col_ownership, size_type nnz1=0)
 
 csr_rep (const csr_rep< T, sequential > &a)
 
template<class A >
void build_from_asr (const asr< T, sequential, A > &a)
 
template<class A >
 csr_rep (const asr< T, sequential, A > &a)
 
template<class A >
void build_from_diag (const disarray_rep< T, sequential, A > &d)
 
const distributorrow_ownership () const
 
const distributorcol_ownership () const
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 
size_type nrow () const
 
size_type ncol () const
 
size_type nnz () const
 
size_type dis_nrow () const
 
size_type dis_ncol () const
 
size_type dis_nnz () const
 
T max_abs () const
 
bool is_symmetric () const
 
void set_symmetry (bool is_symm) const
 
void set_symmetry_by_check (const T &tol=std::numeric_limits< T >::epsilon()) const
 
bool is_definite_positive () const
 
void set_definite_positive (bool is_defpos) const
 
size_type pattern_dimension () const
 
void set_pattern_dimension (size_type dim) const
 
size_type row_first_index () const
 
size_type row_last_index () const
 
size_type col_first_index () const
 
size_type col_last_index () const
 
idiststreamget (idiststream &)
 
odiststreamput (odiststream &, size_type istart=0) const
 
odiststreamput_matrix_market (odiststream &, size_type istart=0) const
 
odiststreamput_sparse_matlab (odiststream &, size_type istart=0) const
 
void dump (const std::string &name, size_type istart=0) const
 
void mult (const vec< T, sequential > &x, vec< T, sequential > &y) const
 
void trans_mult (const vec< T, sequential > &x, vec< T, sequential > &y) const
 
csr_rep< T, sequential > & operator*= (const T &lambda)
 
template<class BinaryOp >
void assign_add (const csr_rep< T, sequential > &a, const csr_rep< T, sequential > &b, BinaryOp binop)
 
void build_transpose (csr_rep< T, sequential > &b) const
 
void assign_mult (const csr_rep< T, sequential > &a, const csr_rep< T, sequential > &b)
 
size_type ext_nnz () const
 
size_type dis_ext_nnz () const
 
const_iterator ext_begin () const
 
const_iterator ext_end () const
 
size_type jext2dis_j (size_type jext) const
 
- Public Member Functions inherited from vector_of_iterator< std::pair< std::vector< T >::size_type, T > >
 vector_of_iterator (size_type n=0, const value_type &value=value_type())
 
size_type size () const
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator end () const
 
iterator end ()
 
const_reference operator[] (size_type i) const
 
reference operator[] (size_type i)
 

Protected Member Functions

void _scatter_init () const
 
void _scatter_init_guard () const
 

Protected Attributes

csr_rep< T, sequential_ext
 
std::vector< size_type_jext2dis_j
 
size_type _dis_nnz
 
size_type _dis_ext_nnz
 
bool _scatter_initialized
 
scatter_message< std::vector< T > > _from
 
scatter_message< std::vector< T > > _to
 
std::vector< T_buffer
 

Additional Inherited Members

- Public Attributes inherited from csr_rep< T, sequential >
distributor _row_ownership
 
distributor _col_ownership
 
std::vector< std::pair< typename std::vector< T >::size_type, T > > _data
 
bool _is_symmetric
 
bool _is_definite_positive
 
size_type _pattern_dimension
 

Member Typedef Documentation

◆ base

template<class T >
typedef csr_rep<T,sequential> base

Definition at line 189 of file csr.h.

◆ memory_type

template<class T >
typedef distributed memory_type

Definition at line 190 of file csr.h.

◆ size_type

template<class T >
typedef base::size_type size_type

Definition at line 191 of file csr.h.

◆ element_type

template<class T >
typedef base::element_type element_type

Definition at line 192 of file csr.h.

◆ iterator

template<class T >
typedef base::iterator iterator

Definition at line 193 of file csr.h.

◆ const_iterator

template<class T >
typedef base::const_iterator const_iterator

Definition at line 194 of file csr.h.

◆ data_iterator

template<class T >
typedef base::data_iterator data_iterator

Definition at line 195 of file csr.h.

◆ const_data_iterator

Definition at line 196 of file csr.h.

Constructor & Destructor Documentation

◆ csr_rep() [1/3]

template<class T >
csr_rep ( )

Definition at line 69 of file csr_mpi.cc.

◆ csr_rep() [2/3]

template<class T >
csr_rep ( const csr_rep< T, distributed > &  a)

Definition at line 82 of file csr_mpi.cc.

◆ csr_rep() [3/3]

template<class T >
template<class A >
csr_rep ( const asr< T, distributed, A > &  a)
explicit

Definition at line 280 of file csr.h.

Member Function Documentation

◆ build_from_asr()

template<class T >
template<class A >
void build_from_asr ( const asr< T, distributed, A > &  a)

Definition at line 106 of file csr_mpi.cc.

◆ resize()

template<class T >
void resize ( const distributor row_ownership,
const distributor col_ownership,
size_type  nnz1 = 0 
)

Definition at line 97 of file csr_mpi.cc.

◆ build_from_diag()

template<class T >
template<class A >
void build_from_diag ( const disarray_rep< T, distributed, A > &  d)

Definition at line 45 of file csr.cc.

◆ row_ownership()

template<class T >
const distributor & row_ownership ( ) const

Definition at line 205 of file csr.h.

◆ col_ownership()

template<class T >
const distributor & col_ownership ( ) const

Definition at line 206 of file csr.h.

◆ comm()

template<class T >
const communicator & comm ( ) const

Definition at line 207 of file csr.h.

◆ begin() [1/2]

template<class T >
const_iterator begin ( ) const

Definition at line 208 of file csr.h.

◆ end() [1/2]

template<class T >
const_iterator end ( ) const

Definition at line 209 of file csr.h.

◆ begin() [2/2]

template<class T >
iterator begin ( )

Definition at line 210 of file csr.h.

◆ end() [2/2]

template<class T >
iterator end ( )

Definition at line 211 of file csr.h.

◆ ext_nnz()

template<class T >
size_type ext_nnz ( ) const

Definition at line 212 of file csr.h.

◆ ext_begin() [1/2]

template<class T >
const_iterator ext_begin ( ) const

Definition at line 213 of file csr.h.

◆ ext_end() [1/2]

template<class T >
const_iterator ext_end ( ) const

Definition at line 214 of file csr.h.

◆ ext_begin() [2/2]

template<class T >
iterator ext_begin ( )

Definition at line 215 of file csr.h.

◆ ext_end() [2/2]

template<class T >
iterator ext_end ( )

Definition at line 216 of file csr.h.

◆ nrow()

template<class T >
size_type nrow ( ) const

Definition at line 217 of file csr.h.

◆ ncol()

template<class T >
size_type ncol ( ) const

Definition at line 218 of file csr.h.

◆ nnz()

template<class T >
size_type nnz ( ) const

Definition at line 219 of file csr.h.

◆ dis_nrow()

template<class T >
size_type dis_nrow ( ) const

Definition at line 220 of file csr.h.

◆ dis_ncol()

template<class T >
size_type dis_ncol ( ) const

Definition at line 221 of file csr.h.

◆ dis_nnz()

template<class T >
size_type dis_nnz ( ) const

Definition at line 222 of file csr.h.

◆ dis_ext_nnz()

template<class T >
size_type dis_ext_nnz ( ) const

Definition at line 223 of file csr.h.

◆ max_abs()

template<class T >
T max_abs ( ) const

Definition at line 727 of file csr.h.

◆ is_symmetric()

template<class T >
bool is_symmetric ( ) const

Definition at line 225 of file csr.h.

◆ set_symmetry()

template<class T >
void set_symmetry ( bool  is_symm) const

Definition at line 226 of file csr.h.

◆ set_symmetry_by_check()

template<class T >
void set_symmetry_by_check ( const T tol = std::numeric_limits<T>::epsilon()) const

Definition at line 529 of file csr_mpi.cc.

◆ is_definite_positive()

template<class T >
bool is_definite_positive ( ) const

Definition at line 228 of file csr.h.

◆ set_definite_positive()

template<class T >
void set_definite_positive ( bool  is_defpos) const

Definition at line 229 of file csr.h.

◆ pattern_dimension()

template<class T >
size_type pattern_dimension ( ) const

Definition at line 230 of file csr.h.

◆ set_pattern_dimension()

template<class T >
void set_pattern_dimension ( size_type  dim) const

Definition at line 231 of file csr.h.

◆ row_first_index()

template<class T >
size_type row_first_index ( ) const

Definition at line 232 of file csr.h.

◆ row_last_index()

template<class T >
size_type row_last_index ( ) const

Definition at line 233 of file csr.h.

◆ col_first_index()

template<class T >
size_type col_first_index ( ) const

Definition at line 234 of file csr.h.

◆ col_last_index()

template<class T >
size_type col_last_index ( ) const

Definition at line 235 of file csr.h.

◆ jext2dis_j()

template<class T >
csr_rep< T, distributed >::size_type jext2dis_j ( size_type  jext) const

Definition at line 272 of file csr.h.

◆ get()

template<class T >
idiststream & get ( idiststream ips)

Definition at line 296 of file csr.h.

◆ put()

template<class T >
odiststream & put ( odiststream ops) const

Definition at line 197 of file csr_mpi.cc.

◆ dump()

template<class T >
void dump ( const std::string &  name) const

Definition at line 236 of file csr_mpi.cc.

◆ mult()

template<class T >
void mult ( const vec< T, distributed > &  x,
vec< T, distributed > &  y 
) const

Definition at line 251 of file csr_mpi.cc.

◆ trans_mult()

template<class T >
void trans_mult ( const vec< T, distributed > &  x,
vec< T, distributed > &  y 
) const

Definition at line 297 of file csr_mpi.cc.

◆ operator*=()

template<class T >
csr_rep< T, distributed > & operator*= ( const T lambda)

Definition at line 353 of file csr_mpi.cc.

◆ assign_add()

template<class T >
template<class BinaryOp >
void assign_add ( const csr_rep< T, distributed > &  a,
const csr_rep< T, distributed > &  b,
BinaryOp  binop 
)

Definition at line 444 of file csr_mpi.cc.

◆ build_transpose()

template<class T >
void build_transpose ( csr_rep< T, distributed > &  b) const

Definition at line 495 of file csr_mpi.cc.

◆ assign_mult()

template<class T >
void assign_mult ( const csr_rep< T, distributed > &  a,
const csr_rep< T, distributed > &  b 
)

Definition at line 546 of file csr_mpi.cc.

◆ _scatter_init()

template<class T >
void _scatter_init ( ) const
protected

Definition at line 171 of file csr_mpi.cc.

◆ _scatter_init_guard()

template<class T >
void _scatter_init_guard ( ) const
protected

Definition at line 263 of file csr.h.

Member Data Documentation

◆ _ext

template<class T >
csr_rep<T,sequential> _ext
protected

Definition at line 251 of file csr.h.

◆ _jext2dis_j

template<class T >
std::vector<size_type> _jext2dis_j
protected

Definition at line 252 of file csr.h.

◆ _dis_nnz

template<class T >
size_type _dis_nnz
protected

Definition at line 253 of file csr.h.

◆ _dis_ext_nnz

template<class T >
size_type _dis_ext_nnz
protected

Definition at line 254 of file csr.h.

◆ _scatter_initialized

template<class T >
bool _scatter_initialized
mutableprotected

Definition at line 257 of file csr.h.

◆ _from

template<class T >
scatter_message<std::vector<T> > _from
mutableprotected

Definition at line 258 of file csr.h.

◆ _to

template<class T >
scatter_message<std::vector<T> > _to
mutableprotected

Definition at line 259 of file csr.h.

◆ _buffer

template<class T >
std::vector<T> _buffer
mutableprotected

Definition at line 260 of file csr.h.


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