OpenMEEG
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
OpenMEEG::SparseMatrix Class Reference

#include <sparse_matrix.h>

Inheritance diagram for OpenMEEG::SparseMatrix:
Inheritance graph
[legend]
Collaboration diagram for OpenMEEG::SparseMatrix:
Collaboration graph
[legend]

Public Types

typedef std::map< std::pair< size_t, size_t >, double > Tank
 
typedef Tank::const_iterator const_iterator
 
typedef Tank::iterator iterator
 
- Public Types inherited from OpenMEEG::LinOpInfo
enum  StorageType {
  FULL , SYMMETRIC , BLOCK , BLOCK_SYMMETRIC ,
  SPARSE
}
 
typedef maths::MathsIO * IO
 

Public Member Functions

 SparseMatrix ()
 
 SparseMatrix (const char *fname)
 
 SparseMatrix (const size_t N, const size_t M)
 
 ~SparseMatrix ()
 
double operator() (const size_t i, const size_t j) const
 
double & operator() (size_t i, size_t j)
 
size_t size () const
 
const_iterator begin () const
 
const_iterator end () const
 
SparseMatrix transpose () const
 
const Tanktank () const
 
void set (const double d)
 
Vector getlin (const size_t i) const
 
void setlin (const Vector &v, const size_t i)
 
void save (const char *filename) const
 
void load (const char *filename)
 
void save (const std::string &s) const
 
void load (const std::string &s)
 
void info () const
 
double frobenius_norm () const
 
Vector operator* (const Vector &x) const
 
Matrix operator* (const SymMatrix &m) const
 
Matrix operator* (const Matrix &m) const
 
SparseMatrix operator* (const SparseMatrix &m) const
 
SparseMatrix operator+ (const SparseMatrix &m) const
 
- Public Member Functions inherited from OpenMEEG::LinOp
 LinOp ()
 
 LinOp (const Dimension m, const Dimension n, const StorageType st, const unsigned d)
 
virtual size_t size () const =0
 
virtual void info () const =0
 
- Public Member Functions inherited from OpenMEEG::LinOpInfo
 LinOpInfo ()
 
 LinOpInfo (const Dimension m, const Dimension n, const StorageType st, const unsigned d)
 
virtual ~LinOpInfo ()
 
Dimension nlin () const
 
Dimensionnlin ()
 
virtual Dimension ncol () const
 
Dimensionncol ()
 
StorageType storageType () const
 
StorageTypestorageType ()
 
unsigned dimension () const
 
unsigned & dimension ()
 
IOdefault_io ()
 

Additional Inherited Members

- Protected Attributes inherited from OpenMEEG::LinOpInfo
Dimension num_lines
 
Dimension num_cols
 
StorageType storage
 
unsigned dim
 
IO DefaultIO = nullptr
 

Detailed Description

Definition at line 26 of file sparse_matrix.h.

Member Typedef Documentation

◆ Tank

typedef std::map<std::pair<size_t,size_t>,double> OpenMEEG::SparseMatrix::Tank

Definition at line 29 of file sparse_matrix.h.

◆ const_iterator

typedef Tank::const_iterator OpenMEEG::SparseMatrix::const_iterator

Definition at line 30 of file sparse_matrix.h.

◆ iterator

typedef Tank::iterator OpenMEEG::SparseMatrix::iterator

Definition at line 31 of file sparse_matrix.h.

Constructor & Destructor Documentation

◆ SparseMatrix() [1/3]

OpenMEEG::SparseMatrix::SparseMatrix ( )
inline

Definition at line 33 of file sparse_matrix.h.

◆ SparseMatrix() [2/3]

OpenMEEG::SparseMatrix::SparseMatrix ( const char *  fname)
inline

Definition at line 34 of file sparse_matrix.h.

◆ SparseMatrix() [3/3]

OpenMEEG::SparseMatrix::SparseMatrix ( const size_t  N,
const size_t  M 
)
inline

Definition at line 35 of file sparse_matrix.h.

◆ ~SparseMatrix()

OpenMEEG::SparseMatrix::~SparseMatrix ( )
inline

Definition at line 36 of file sparse_matrix.h.

Member Function Documentation

◆ operator()() [1/2]

double OpenMEEG::SparseMatrix::operator() ( const size_t  i,
const size_t  j 
) const
inline

Definition at line 38 of file sparse_matrix.h.

◆ operator()() [2/2]

double & OpenMEEG::SparseMatrix::operator() ( size_t  i,
size_t  j 
)
inline

Definition at line 45 of file sparse_matrix.h.

◆ size()

size_t OpenMEEG::SparseMatrix::size ( ) const
inlinevirtual

Implements OpenMEEG::LinOp.

Definition at line 51 of file sparse_matrix.h.

◆ begin()

const_iterator OpenMEEG::SparseMatrix::begin ( ) const
inline

Definition at line 55 of file sparse_matrix.h.

◆ end()

const_iterator OpenMEEG::SparseMatrix::end ( ) const
inline

Definition at line 56 of file sparse_matrix.h.

◆ transpose()

SparseMatrix OpenMEEG::SparseMatrix::transpose ( ) const

◆ tank()

const Tank & OpenMEEG::SparseMatrix::tank ( ) const
inline

Definition at line 60 of file sparse_matrix.h.

◆ set()

void OpenMEEG::SparseMatrix::set ( const double  d)
inline

Definition at line 62 of file sparse_matrix.h.

◆ getlin()

Vector OpenMEEG::SparseMatrix::getlin ( const size_t  i) const
inline

Definition at line 67 of file sparse_matrix.h.

◆ setlin()

void OpenMEEG::SparseMatrix::setlin ( const Vector v,
const size_t  i 
)
inline

Definition at line 77 of file sparse_matrix.h.

◆ save() [1/2]

void OpenMEEG::SparseMatrix::save ( const char *  filename) const
inline

Definition at line 83 of file sparse_matrix.h.

◆ load() [1/2]

void OpenMEEG::SparseMatrix::load ( const char *  filename)
inline

Definition at line 92 of file sparse_matrix.h.

◆ save() [2/2]

void OpenMEEG::SparseMatrix::save ( const std::string &  s) const
inline

Definition at line 101 of file sparse_matrix.h.

◆ load() [2/2]

void OpenMEEG::SparseMatrix::load ( const std::string &  s)
inline

Definition at line 102 of file sparse_matrix.h.

◆ info()

void OpenMEEG::SparseMatrix::info ( ) const
virtual

Implements OpenMEEG::LinOp.

◆ frobenius_norm()

double OpenMEEG::SparseMatrix::frobenius_norm ( ) const

◆ operator*() [1/4]

Vector OpenMEEG::SparseMatrix::operator* ( const Vector x) const

◆ operator*() [2/4]

Matrix OpenMEEG::SparseMatrix::operator* ( const SymMatrix m) const

◆ operator*() [3/4]

Matrix OpenMEEG::SparseMatrix::operator* ( const Matrix m) const

◆ operator*() [4/4]

SparseMatrix OpenMEEG::SparseMatrix::operator* ( const SparseMatrix m) const

◆ operator+()

SparseMatrix OpenMEEG::SparseMatrix::operator+ ( const SparseMatrix m) const

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