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

Detailed Description

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

Definition at line 84 of file csr.h.

Inheritance diagram for csr_rep< T, sequential >:

Public Types

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

Public Attributes

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

◆ size_type

template<class T>
typedef std::vector<T>::size_type size_type

Definition at line 86 of file csr.h.

◆ element_type

template<class T>
typedef T element_type

Definition at line 87 of file csr.h.

◆ memory_type

template<class T>
typedef sequential memory_type

Definition at line 88 of file csr.h.

◆ pair_type

template<class T>
typedef std::pair<size_type,T> pair_type

Definition at line 89 of file csr.h.

◆ iterator

template<class T>
typedef vector_of_iterator<pair_type>::iterator iterator

Definition at line 90 of file csr.h.

◆ const_iterator

template<class T>
typedef vector_of_iterator<pair_type>::const_iterator const_iterator

Definition at line 91 of file csr.h.

◆ difference_type

template<class T>
typedef vector_of_iterator<pair_type>::difference_type difference_type

Definition at line 92 of file csr.h.

◆ data_iterator

Definition at line 93 of file csr.h.

◆ const_data_iterator

Definition at line 94 of file csr.h.

Constructor & Destructor Documentation

◆ csr_rep() [1/4]

template<class T>
csr_rep ( size_type loc_nrow1 = 0,
size_type loc_ncol1 = 0,
size_type loc_nnz1 = 0 )

Definition at line 57 of file csr_seq.cc.

◆ csr_rep() [2/4]

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

Definition at line 35 of file csr_seq.cc.

◆ csr_rep() [3/4]

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

Definition at line 79 of file csr_seq.cc.

◆ csr_rep() [4/4]

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

Definition at line 160 of file csr.h.

Member Function Documentation

◆ resize() [1/2]

template<class T>
void resize ( size_type loc_nrow1 = 0,
size_type loc_ncol1 = 0,
size_type loc_nnz1 = 0 )

Definition at line 69 of file csr_seq.cc.

◆ resize() [2/2]

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

Definition at line 47 of file csr_seq.cc.

◆ build_from_asr()

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

Definition at line 99 of file csr_seq.cc.

◆ build_from_diag()

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

Definition at line 30 of file csr.cc.

◆ row_ownership()

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

Definition at line 105 of file csr.h.

◆ col_ownership()

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

Definition at line 106 of file csr.h.

◆ begin() [1/2]

template<class T>
const_iterator begin ( ) const

Definition at line 107 of file csr.h.

◆ end() [1/2]

template<class T>
const_iterator end ( ) const

Definition at line 108 of file csr.h.

◆ begin() [2/2]

template<class T>
iterator begin ( )

Definition at line 109 of file csr.h.

◆ end() [2/2]

template<class T>
iterator end ( )

Definition at line 110 of file csr.h.

◆ nrow()

template<class T>
size_type nrow ( ) const

Definition at line 111 of file csr.h.

◆ ncol()

template<class T>
size_type ncol ( ) const

Definition at line 112 of file csr.h.

◆ nnz()

template<class T>
size_type nnz ( ) const

Definition at line 113 of file csr.h.

◆ dis_nrow()

template<class T>
size_type dis_nrow ( ) const

Definition at line 114 of file csr.h.

◆ dis_ncol()

template<class T>
size_type dis_ncol ( ) const

Definition at line 115 of file csr.h.

◆ dis_nnz()

template<class T>
size_type dis_nnz ( ) const

Definition at line 116 of file csr.h.

◆ max_abs()

template<class T>
T max_abs ( ) const

Definition at line 714 of file csr.h.

◆ is_symmetric()

template<class T>
bool is_symmetric ( ) const

Definition at line 118 of file csr.h.

◆ set_symmetry()

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

Definition at line 119 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 387 of file csr_seq.cc.

◆ is_definite_positive()

template<class T>
bool is_definite_positive ( ) const

Definition at line 121 of file csr.h.

◆ set_definite_positive()

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

Definition at line 122 of file csr.h.

◆ pattern_dimension()

template<class T>
size_type pattern_dimension ( ) const

Definition at line 123 of file csr.h.

◆ set_pattern_dimension()

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

Definition at line 124 of file csr.h.

◆ row_first_index()

template<class T>
size_type row_first_index ( ) const

Definition at line 125 of file csr.h.

◆ row_last_index()

template<class T>
size_type row_last_index ( ) const

Definition at line 126 of file csr.h.

◆ col_first_index()

template<class T>
size_type col_first_index ( ) const

Definition at line 127 of file csr.h.

◆ col_last_index()

template<class T>
size_type col_last_index ( ) const

Definition at line 128 of file csr.h.

◆ get()

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

Definition at line 174 of file csr.h.

◆ put()

template<class T>
odiststream & put ( odiststream & ods,
size_type istart = 0 ) const

Definition at line 153 of file csr_seq.cc.

◆ put_matrix_market()

template<class T>
odiststream & put_matrix_market ( odiststream & ods,
size_type istart = 0 ) const

Definition at line 115 of file csr_seq.cc.

◆ put_sparse_matlab()

template<class T>
odiststream & put_sparse_matlab ( odiststream & ods,
size_type istart = 0 ) const

Definition at line 134 of file csr_seq.cc.

◆ dump()

template<class T>
void dump ( const std::string & name,
size_type istart = 0 ) const

Definition at line 163 of file csr_seq.cc.

◆ mult()

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

Definition at line 176 of file csr_seq.cc.

◆ trans_mult()

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

Definition at line 191 of file csr_seq.cc.

◆ operator*=()

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

Definition at line 208 of file csr_seq.cc.

◆ assign_add()

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

Definition at line 222 of file csr_seq.cc.

◆ build_transpose()

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

Definition at line 344 of file csr_seq.cc.

◆ assign_mult()

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

Definition at line 471 of file csr_seq.cc.

◆ ext_nnz()

template<class T>
size_type ext_nnz ( ) const

Definition at line 143 of file csr.h.

◆ dis_ext_nnz()

template<class T>
size_type dis_ext_nnz ( ) const

Definition at line 144 of file csr.h.

◆ ext_begin()

template<class T>
const_iterator ext_begin ( ) const

Definition at line 145 of file csr.h.

◆ ext_end()

template<class T>
const_iterator ext_end ( ) const

Definition at line 146 of file csr.h.

◆ jext2dis_j()

template<class T>
size_type jext2dis_j ( size_type jext) const

Definition at line 147 of file csr.h.

Member Data Documentation

◆ _row_ownership

template<class T>
distributor _row_ownership

Definition at line 150 of file csr.h.

◆ _col_ownership

template<class T>
distributor _col_ownership

Definition at line 151 of file csr.h.

◆ _data

template<class T>
std::vector<std::pair<typename std::vector<T>::size_type,T> > _data

Definition at line 152 of file csr.h.

◆ _is_symmetric

template<class T>
bool _is_symmetric
mutable

Definition at line 153 of file csr.h.

◆ _is_definite_positive

template<class T>
bool _is_definite_positive
mutable

Definition at line 154 of file csr.h.

◆ _pattern_dimension

template<class T>
size_type _pattern_dimension
mutable

Definition at line 155 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_seq.cc