#include <graphcsr.hpp>
Graph representation of the Compressed Sparse Row format.
Public Types | |
Typedefs | |
typedef GraphCSR | self_type |
typedef boost::shared_ptr < self_type > | self_ptrtype |
typedef std::vector< size_type > | nz_type |
typedef boost::shared_ptr < nz_type > | nz_ptrtype |
typedef boost::tuple < size_type, size_type, std::set< size_type > > | row_type |
typedef std::map< size_type, row_type > | storage_type |
typedef boost::shared_ptr < storage_type > | storage_ptrtype |
typedef storage_type::iterator | iterator |
typedef storage_type::const_iterator | const_iterator |
Public Member Functions | |
Constructors, destructor | |
GraphCSR (size_type n=0, size_type first_row_entry_on_proc=0, size_type last_row_entry_on_proc=0, size_type first_col_entry_on_proc=0, size_type last_col_entry_on_proc=0, WorldComm const &worldcomm=Environment::worldComm()) | |
GraphCSR (boost::shared_ptr< DataMap > const &mapRow, boost::shared_ptr< DataMap > const &mapCol) | |
GraphCSR (DataMap const &mapRow, DataMap const &mapCol) | |
GraphCSR (vf::BlocksBase< self_ptrtype > const &blockSet, bool diagIsNonZero=true, bool close=true) | |
GraphCSR (GraphCSR const &g) | |
~GraphCSR () | |
Operator overloads | |
GraphCSR & | operator= (GraphCSR const &g) |
Accessors | |
size_type | nRows () const |
size_type | nCols () const |
size_type | firstRowEntryOnProc () const |
size_type | lastRowEntryOnProc () const |
size_type | firstColEntryOnProc () const |
size_type | lastColEntryOnProc () const |
size_type | size () const |
bool | empty () const |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
row_type & | row (size_type i) |
row_type const & | row (size_type i) const |
storage_type const & | storage () const |
size_type | maxNnz () const |
std::vector< size_type > const & | nNz () const |
std::vector< size_type > const & | nNzOnProc () const |
std::vector< size_type > const & | nNzOffProc () const |
WorldComm const & | worldComm () const |
nz_type const & | ia () const |
nz_type const & | ja () const |
std::vector< double > const & | a () const |
std::vector< double > & | a () |
Mutators | |
void | setFirstRowEntryOnProc (size_type entry) |
void | setFirstColEntryOnProc (size_type entry) |
void | setLastRowEntryOnProc (size_type entry) |
void | setLastColEntryOnProc (size_type entry) |
DataMap const & | mapRow () const |
DataMap const & | mapCol () const |
boost::shared_ptr< DataMap > const & | mapRowPtr () const |
boost::shared_ptr< DataMap > const & | mapColPtr () const |
boost::shared_ptr< DataMap > | mapRowPtr () |
boost::shared_ptr< DataMap > | mapColPtr () |
Methods | |
void | zero () |
void | close () |
self_ptrtype | transpose (bool doClose=true) |
void | addMissingZeroEntriesDiagonal () |
void | showMe (std::ostream &__out=std::cout) const |
void | printPython (std::string const &nameFile) const |
Feel::GraphCSR::GraphCSR | ( | GraphCSR const & | g | ) |
copy constructor
Feel::GraphCSR::~GraphCSR | ( | ) |
destructor
void Feel::GraphCSR::addMissingZeroEntriesDiagonal | ( | ) |
add missing zero entries diagonal
References end(), firstColEntryOnProc(), firstRowEntryOnProc(), row(), size(), storage(), worldComm(), and Feel::DataMap::worldComm().
|
inline |
|
inline |
void Feel::GraphCSR::close | ( | ) |
close the graph: compute some information per row (ie number of non-zero entries per row )
References begin(), end(), firstColEntryOnProc(), firstRowEntryOnProc(), lastColEntryOnProc(), lastRowEntryOnProc(), row(), size(), storage(), and worldComm().
|
inline |
|
inline |
|
inline |
|
inline |
References worldComm().
|
inline |
References worldComm().
|
inline |
References worldComm().
|
inline |
References worldComm().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
get the i-th row
|
inline |
get the i-th row (const)
void Feel::GraphCSR::showMe | ( | std::ostream & | __out = std::cout | ) | const |
showMe
References end(), firstColEntryOnProc(), firstRowEntryOnProc(), lastColEntryOnProc(), lastRowEntryOnProc(), and worldComm().
|
inline |
|
inline |
return storage
GraphCSR::self_ptrtype Feel::GraphCSR::transpose | ( | bool | doClose = true | ) |
transpose graph
References end().
|
inline |
void Feel::GraphCSR::zero | ( | ) |
graph has not entries
References close(), empty(), end(), firstRowEntryOnProc(), row(), storage(), and worldComm().