Rheolef  7.1
an efficient C++ finite element environment
csr_rep< T, distributed >
+ 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 communicator & comm () 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
 
idiststream & get (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
 
idiststream & get (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
 

Detailed Description

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

Definition at line 187 of file csr.h.

Member Typedef Documentation

◆ base

Definition at line 189 of file csr.h.

◆ memory_type

Definition at line 190 of file csr.h.

◆ size_type

Definition at line 191 of file csr.h.

◆ element_type

Definition at line 192 of file csr.h.

◆ iterator

Definition at line 193 of file csr.h.

◆ const_iterator

Definition at line 194 of file csr.h.

◆ 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]

Definition at line 69 of file csr_mpi.cc.

◆ csr_rep() [2/3]

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

Definition at line 82 of file csr_mpi.cc.

◆ csr_rep() [3/3]

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

Definition at line 280 of file csr.h.

Member Function Documentation

◆ build_from_asr()

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

Definition at line 106 of file csr_mpi.cc.

◆ resize()

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()

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

Definition at line 45 of file csr.cc.

◆ row_ownership()

const distributor& row_ownership ( ) const

Definition at line 205 of file csr.h.

◆ col_ownership()

const distributor& col_ownership ( ) const

Definition at line 206 of file csr.h.

◆ comm()

const communicator& comm ( ) const

Definition at line 207 of file csr.h.

◆ begin() [1/2]

const_iterator begin ( ) const

Definition at line 208 of file csr.h.

◆ end() [1/2]

const_iterator end ( ) const

Definition at line 209 of file csr.h.

◆ begin() [2/2]

iterator begin ( )

Definition at line 210 of file csr.h.

◆ end() [2/2]

iterator end ( )

Definition at line 211 of file csr.h.

◆ ext_nnz()

size_type ext_nnz ( ) const

Definition at line 212 of file csr.h.

◆ ext_begin() [1/2]

const_iterator ext_begin ( ) const

Definition at line 213 of file csr.h.

◆ ext_end() [1/2]

const_iterator ext_end ( ) const

Definition at line 214 of file csr.h.

◆ ext_begin() [2/2]

iterator ext_begin ( )

Definition at line 215 of file csr.h.

◆ ext_end() [2/2]

iterator ext_end ( )

Definition at line 216 of file csr.h.

◆ nrow()

size_type nrow ( ) const

Definition at line 217 of file csr.h.

◆ ncol()

size_type ncol ( ) const

Definition at line 218 of file csr.h.

◆ nnz()

size_type nnz ( ) const

Definition at line 219 of file csr.h.

◆ dis_nrow()

size_type dis_nrow ( ) const

Definition at line 220 of file csr.h.

◆ dis_ncol()

size_type dis_ncol ( ) const

Definition at line 221 of file csr.h.

◆ dis_nnz()

size_type dis_nnz ( ) const

Definition at line 222 of file csr.h.

◆ dis_ext_nnz()

size_type dis_ext_nnz ( ) const

Definition at line 223 of file csr.h.

◆ max_abs()

T max_abs

Definition at line 727 of file csr.h.

◆ is_symmetric()

bool is_symmetric ( ) const

Definition at line 225 of file csr.h.

◆ set_symmetry()

void set_symmetry ( bool  is_symm) const

Definition at line 226 of file csr.h.

◆ set_symmetry_by_check()

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()

bool is_definite_positive ( ) const

Definition at line 228 of file csr.h.

◆ set_definite_positive()

void set_definite_positive ( bool  is_defpos) const

Definition at line 229 of file csr.h.

◆ pattern_dimension()

size_type pattern_dimension ( ) const

Definition at line 230 of file csr.h.

◆ set_pattern_dimension()

void set_pattern_dimension ( size_type  dim) const

Definition at line 231 of file csr.h.

◆ row_first_index()

size_type row_first_index ( ) const

Definition at line 232 of file csr.h.

◆ row_last_index()

size_type row_last_index ( ) const

Definition at line 233 of file csr.h.

◆ col_first_index()

size_type col_first_index ( ) const

Definition at line 234 of file csr.h.

◆ col_last_index()

size_type col_last_index ( ) const

Definition at line 235 of file csr.h.

◆ jext2dis_j()

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

Definition at line 272 of file csr.h.

◆ get()

idiststream & get ( idiststream &  ips)

Definition at line 296 of file csr.h.

◆ put()

odiststream & put ( odiststream ops) const

Definition at line 197 of file csr_mpi.cc.

◆ dump()

void dump ( const std::string &  name) const

Definition at line 236 of file csr_mpi.cc.

◆ mult()

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

Definition at line 251 of file csr_mpi.cc.

◆ trans_mult()

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

Definition at line 297 of file csr_mpi.cc.

◆ operator*=()

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

Definition at line 353 of file csr_mpi.cc.

◆ assign_add()

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()

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

Definition at line 495 of file csr_mpi.cc.

◆ assign_mult()

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()

void _scatter_init
protected

Definition at line 171 of file csr_mpi.cc.

◆ _scatter_init_guard()

void _scatter_init_guard ( ) const
protected

Definition at line 263 of file csr.h.

Member Data Documentation

◆ _ext

csr_rep<T,sequential> _ext
protected

Definition at line 251 of file csr.h.

◆ _jext2dis_j

std::vector<size_type> _jext2dis_j
protected

Definition at line 252 of file csr.h.

◆ _dis_nnz

size_type _dis_nnz
protected

Definition at line 253 of file csr.h.

◆ _dis_ext_nnz

size_type _dis_ext_nnz
protected

Definition at line 254 of file csr.h.

◆ _scatter_initialized

bool _scatter_initialized
mutableprotected

Definition at line 257 of file csr.h.

◆ _from

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

Definition at line 258 of file csr.h.

◆ _to

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

Definition at line 259 of file csr.h.

◆ _buffer

std::vector<T> _buffer
mutableprotected

Definition at line 260 of file csr.h.


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