OpenFPM  5.2.0
Project that contain the implementation of distributed structures
SparseMatrix< T, id_t, EIGEN_BASE > Class Template Reference

Public Types

typedef boost::mpl::int_< EIGEN_BASE > triplet_impl
 Triplet implementation id.
 
typedef triplet< T, EIGEN_BASE > triplet_type
 Triplet type.
 

Public Member Functions

 SparseMatrix (size_t N1, size_t N2)
 Create an empty Matrix. More...
 
 SparseMatrix ()
 Create an empty Matrix.
 
openfpm::vector< triplet_type > & getMatrixTriplets ()
 Get the Matrix triplets bugger. More...
 
const Eigen::SparseMatrix< T, 0, id_t > & getMat () const
 Get the Eigen Matrix object. More...
 
Eigen::SparseMatrix< T, 0, id_t > & getMat ()
 Get the Eigen Matrix object. More...
 
void resize (size_t row, size_t col, size_t l_row, size_t l_col)
 Resize the Sparse Matrix. More...
 
operator() (id_t i, id_t j)
 Get the row i and the colum j of the Matrix. More...
 
bool save (const std::string &file) const
 Save this object into file. More...
 
bool load (const std::string &file)
 Load this object from file. More...
 
getValue (size_t r, size_t c)
 Get the value from triplet. More...
 
bool isMatrixFilled ()
 Return the state of matrix. More...
 

Private Member Functions

void assemble ()
 Assemble the matrix.
 
void collect ()
 Here we collect the full matrix on master.
 

Private Attributes

Eigen::SparseMatrix< T, 0, id_t > mat
 
openfpm::vector< triplet_typetrpl
 
openfpm::vector< triplet_typetrpl_recv
 
bool m_created = false
 indicate if the matrix has been created
 

Detailed Description

template<typename T, typename id_t>
class SparseMatrix< T, id_t, EIGEN_BASE >

Definition at line 77 of file SparseMatrix_Eigen.hpp.

Constructor & Destructor Documentation

◆ SparseMatrix()

template<typename T , typename id_t >
SparseMatrix< T, id_t, EIGEN_BASE >::SparseMatrix ( size_t  N1,
size_t  N2 
)
inline

Create an empty Matrix.

Parameters
N1number of row
N2number of colums

Definition at line 143 of file SparseMatrix_Eigen.hpp.

Member Function Documentation

◆ getMat() [1/2]

template<typename T , typename id_t >
Eigen::SparseMatrix<T,0,id_t>& SparseMatrix< T, id_t, EIGEN_BASE >::getMat ( )
inline

Get the Eigen Matrix object.

Returns
the Eigen Matrix

Definition at line 184 of file SparseMatrix_Eigen.hpp.

◆ getMat() [2/2]

template<typename T , typename id_t >
const Eigen::SparseMatrix<T,0,id_t>& SparseMatrix< T, id_t, EIGEN_BASE >::getMat ( ) const
inline

Get the Eigen Matrix object.

Returns
the Eigen Matrix

Definition at line 171 of file SparseMatrix_Eigen.hpp.

◆ getMatrixTriplets()

template<typename T , typename id_t >
openfpm::vector<triplet_type>& SparseMatrix< T, id_t, EIGEN_BASE >::getMatrixTriplets ( )
inline

Get the Matrix triplets bugger.

It return a buffer that can be filled with triplets

Returns
triplet buffer

Definition at line 161 of file SparseMatrix_Eigen.hpp.

◆ getValue()

template<typename T , typename id_t >
T SparseMatrix< T, id_t, EIGEN_BASE >::getValue ( size_t  r,
size_t  c 
)
inline

Get the value from triplet.

Warning
It is extremly slow because it do a full search across the triplets elements
Parameters
rrow
ccolum

Definition at line 294 of file SparseMatrix_Eigen.hpp.

◆ isMatrixFilled()

template<typename T , typename id_t >
bool SparseMatrix< T, id_t, EIGEN_BASE >::isMatrixFilled ( )
inline

Return the state of matrix.

Returns a bool flag that indicated whether the matrix has already been filled via MatSetValues

Definition at line 311 of file SparseMatrix_Eigen.hpp.

◆ load()

template<typename T , typename id_t >
bool SparseMatrix< T, id_t, EIGEN_BASE >::load ( const std::string &  file)
inline

Load this object from file.

Parameters
filefilename
Returns
true if succed

Definition at line 251 of file SparseMatrix_Eigen.hpp.

◆ operator()()

template<typename T , typename id_t >
T SparseMatrix< T, id_t, EIGEN_BASE >::operator() ( id_t  i,
id_t  j 
)
inline

Get the row i and the colum j of the Matrix.

Returns
the value of the matrix at row i colum j

Definition at line 207 of file SparseMatrix_Eigen.hpp.

◆ resize()

template<typename T , typename id_t >
void SparseMatrix< T, id_t, EIGEN_BASE >::resize ( size_t  row,
size_t  col,
size_t  l_row,
size_t  l_col 
)
inline

Resize the Sparse Matrix.

Parameters
rownumber for row
colnumber of colums

Definition at line 197 of file SparseMatrix_Eigen.hpp.

◆ save()

template<typename T , typename id_t >
bool SparseMatrix< T, id_t, EIGEN_BASE >::save ( const std::string &  file) const
inline

Save this object into file.

Parameters
filefilename
Returns
true if succed

Definition at line 219 of file SparseMatrix_Eigen.hpp.


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