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< T * > V
typedef std::vector< const T * > CONST_V
typedef Tvalue_type
typedef const Tconst_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 end () const
const_reference operator[] (size_type i) const

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:
  • /build/rheolef-L67pNR/rheolef-7.2/linalg/lib/csr.h
  • /build/rheolef-L67pNR/rheolef-7.2/linalg/lib/csr.cc
  • /build/rheolef-L67pNR/rheolef-7.2/linalg/lib/csr_mpi.cc