OpenMEEG
Public Types | Public Member Functions | Private Attributes | 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 std::map< std::pair< size_t, size_t >, double >::const_iterator const_iterator
 
typedef std::map< std::pair< size_t, size_t >, double >::iterator iterator
 
- Public Types inherited from OpenMEEG::LinOpInfo
enum  StorageType { FULL , SYMMETRIC , SPARSE }
 
typedef maths::MathsIOIO
 
typedef unsigned Dimension
 

Public Member Functions

 SparseMatrix ()
 
 SparseMatrix (const char *fname)
 
 SparseMatrix (size_t N, size_t M)
 
 ~SparseMatrix ()
 
double operator() (size_t i, 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 (double t)
 
Vector getlin (size_t i) const
 
void setlin (Vector v, 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 size_t m, const size_t n, const StorageType st, const Dimension d)
 
- Public Member Functions inherited from OpenMEEG::LinOpInfo
 LinOpInfo ()
 
 LinOpInfo (const size_t m, const size_t n, const StorageType st, const Dimension d)
 
virtual ~LinOpInfo ()
 
size_t nlin () const
 
size_t & nlin ()
 
virtual size_t ncol () const
 
size_t & ncol ()
 
StorageType storageType () const
 
StorageTypestorageType ()
 
Dimension dimension () const
 
Dimensiondimension ()
 
IOdefault_io ()
 

Private Attributes

Tank m_tank
 

Additional Inherited Members

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

Detailed Description

Definition at line 62 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 66 of file sparse_matrix.h.

◆ const_iterator

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

Definition at line 67 of file sparse_matrix.h.

◆ iterator

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

Definition at line 68 of file sparse_matrix.h.

Constructor & Destructor Documentation

◆ SparseMatrix() [1/3]

OpenMEEG::SparseMatrix::SparseMatrix ( )
inline

Definition at line 70 of file sparse_matrix.h.

◆ SparseMatrix() [2/3]

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

Definition at line 71 of file sparse_matrix.h.

◆ SparseMatrix() [3/3]

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

Definition at line 72 of file sparse_matrix.h.

◆ ~SparseMatrix()

OpenMEEG::SparseMatrix::~SparseMatrix ( )
inline

Definition at line 73 of file sparse_matrix.h.

Member Function Documentation

◆ operator()() [1/2]

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

Definition at line 75 of file sparse_matrix.h.

◆ operator()() [2/2]

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

Definition at line 83 of file sparse_matrix.h.

◆ size()

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

Implements OpenMEEG::LinOp.

Definition at line 89 of file sparse_matrix.h.

◆ begin()

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

Definition at line 93 of file sparse_matrix.h.

◆ end()

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

Definition at line 94 of file sparse_matrix.h.

◆ transpose()

SparseMatrix OpenMEEG::SparseMatrix::transpose ( ) const

◆ tank()

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

Definition at line 98 of file sparse_matrix.h.

◆ set()

void OpenMEEG::SparseMatrix::set ( double  t)

◆ getlin()

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

Definition at line 124 of file sparse_matrix.h.

◆ setlin()

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

Definition at line 135 of file sparse_matrix.h.

◆ save() [1/2]

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

◆ load() [1/2]

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

◆ save() [2/2]

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

Definition at line 107 of file sparse_matrix.h.

◆ load() [2/2]

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

Definition at line 108 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

Member Data Documentation

◆ m_tank

Tank OpenMEEG::SparseMatrix::m_tank
private

Definition at line 121 of file sparse_matrix.h.


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