OpenMEEG
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
OpenMEEG::Matrix Class Reference

Matrix class. More...

#include <matrix.h>

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

Public Member Functions

 Matrix ()
 
 Matrix (const char *fname)
 
 Matrix (const size_t M, const size_t N)
 
 Matrix (const Matrix &A, const DeepCopy)
 
 Matrix (const SymMatrix &A)
 
 Matrix (const SparseMatrix &A)
 
 Matrix (const Vector &v, const size_t M, const size_t N)
 
void alloc_data ()
 
void reference_data (const double *vals)
 
bool empty () const
 Test if Matrix is empty. More...
 
size_t size () const
 Get Matrix size. More...
 
double * data () const
 Get Matrix data. More...
 
double operator() (size_t i, size_t j) const
 Get Matrix value. More...
 
double & operator() (size_t i, size_t j)
 Get Matrix value. More...
 
Matrix submat (size_t istart, size_t isize, size_t jstart, size_t jsize) const
 
void insertmat (size_t istart, size_t jstart, const Matrix &B)
 
Vector getcol (size_t j) const
 
void setcol (size_t j, const Vector &v)
 
Vector getlin (size_t i) const
 
void setlin (size_t i, const Vector &v)
 
const Matrixset (const double d)
 
Matrix operator* (const Matrix &B) const
 
Matrix operator* (const SymMatrix &B) const
 
Matrix operator* (const SparseMatrix &B) const
 
Matrix operator+ (const Matrix &B) const
 
Matrix operator- (const Matrix &B) const
 
Matrix operator* (double x) const
 
Matrix operator/ (double x) const
 
void operator+= (const Matrix &B)
 
void operator-= (const Matrix &B)
 
void operator*= (double x)
 
void operator/= (double x)
 
Vector operator* (const Vector &v) const
 
Vector tmult (const Vector &v) const
 
Matrix tmult (const Matrix &m) const
 
Matrix multt (const Matrix &m) const
 
Matrix tmultt (const Matrix &m) const
 
Vector mean () const
 
Vector tmean () const
 
Matrix transpose () const
 
Matrix inverse () const
 
Matrix pinverse (double reltol=0) const
 
void svd (Matrix &U, SparseMatrix &S, Matrix &V, bool complete=true) const
 
double frobenius_norm () const
 Get Matrix Frobenius norm. More...
 
double dot (const Matrix &B) const
 
void save (const char *filename) const
 Save Matrix to file (Format set using file name extension) More...
 
void load (const char *filename)
 Load Matrix from file (Format set using file name extension) More...
 
void save (const std::string &s) const
 
void load (const std::string &s)
 
void info () const
 Print info on Matrix. More...
 
- 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 ()
 

Protected Member Functions

 Matrix (const Matrix &A, const size_t M)
 

Protected Attributes

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

Friends

class Vector
 
class SparseMatrix
 
class SymMatrix
 

Additional Inherited Members

- Public Types inherited from OpenMEEG::LinOpInfo
enum  StorageType { FULL, SYMMETRIC, SPARSE }
 
typedef maths::MathsIOIO
 
typedef unsigned Dimension
 

Detailed Description

Matrix class.

Matrix class

Definition at line 61 of file matrix.h.

Constructor & Destructor Documentation

OpenMEEG::Matrix::Matrix ( const Matrix A,
const size_t  M 
)
inlineexplicitprotected

Definition at line 68 of file matrix.h.

OpenMEEG::Matrix::Matrix ( )
inline

Definition at line 72 of file matrix.h.

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

Definition at line 73 of file matrix.h.

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

Definition at line 74 of file matrix.h.

OpenMEEG::Matrix::Matrix ( const Matrix A,
const DeepCopy   
)
inline

Definition at line 75 of file matrix.h.

OpenMEEG::Matrix::Matrix ( const SymMatrix A)
explicit
OpenMEEG::Matrix::Matrix ( const SparseMatrix A)
explicit
OpenMEEG::Matrix::Matrix ( const Vector v,
const size_t  M,
const size_t  N 
)

Member Function Documentation

void OpenMEEG::Matrix::alloc_data ( )
inline

Definition at line 82 of file matrix.h.

void OpenMEEG::Matrix::reference_data ( const double *  vals)
inline

Definition at line 83 of file matrix.h.

bool OpenMEEG::Matrix::empty ( ) const
inline

Test if Matrix is empty.

Returns
true if Matrix is empty
See Also

Definition at line 89 of file matrix.h.

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

Get Matrix size.

Returns
number of values (nb lines x nb columns)
See Also

Implements OpenMEEG::LinOp.

Definition at line 95 of file matrix.h.

double* OpenMEEG::Matrix::data ( ) const
inline

Get Matrix data.

Returns
pointer to Matrix values
See Also

Definition at line 101 of file matrix.h.

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

Get Matrix value.

Returns
value in Matrix
See Also

Definition at line 179 of file matrix.h.

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

Get Matrix value.

Returns
reference to value in Matrix
See Also

Definition at line 183 of file matrix.h.

Matrix OpenMEEG::Matrix::submat ( size_t  istart,
size_t  isize,
size_t  jstart,
size_t  jsize 
) const
inline

Definition at line 219 of file matrix.h.

void OpenMEEG::Matrix::insertmat ( size_t  istart,
size_t  jstart,
const Matrix B 
)
inline

Definition at line 236 of file matrix.h.

Vector OpenMEEG::Matrix::getcol ( size_t  j) const
inline

Definition at line 245 of file matrix.h.

void OpenMEEG::Matrix::setcol ( size_t  j,
const Vector v 
)
inline

Definition at line 267 of file matrix.h.

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

Definition at line 256 of file matrix.h.

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

Definition at line 276 of file matrix.h.

const Matrix& OpenMEEG::Matrix::set ( const double  d)
Matrix OpenMEEG::Matrix::operator* ( const Matrix B) const
inline

Definition at line 344 of file matrix.h.

Matrix OpenMEEG::Matrix::operator* ( const SymMatrix B) const
inline

Definition at line 428 of file matrix.h.

Matrix OpenMEEG::Matrix::operator* ( const SparseMatrix B) const
Matrix OpenMEEG::Matrix::operator+ ( const Matrix B) const
inline

Definition at line 449 of file matrix.h.

Matrix OpenMEEG::Matrix::operator- ( const Matrix B) const
inline

Definition at line 462 of file matrix.h.

Matrix OpenMEEG::Matrix::operator* ( double  x) const
Matrix OpenMEEG::Matrix::operator/ ( double  x) const
void OpenMEEG::Matrix::operator+= ( const Matrix B)
inline

Definition at line 475 of file matrix.h.

void OpenMEEG::Matrix::operator-= ( const Matrix B)
inline

Definition at line 486 of file matrix.h.

void OpenMEEG::Matrix::operator*= ( double  x)
void OpenMEEG::Matrix::operator/= ( double  x)
Vector OpenMEEG::Matrix::operator* ( const Vector v) const
inline

Definition at line 203 of file matrix.h.

Vector OpenMEEG::Matrix::tmult ( const Vector v) const
inline

Definition at line 285 of file matrix.h.

Matrix OpenMEEG::Matrix::tmult ( const Matrix m) const
inline

Definition at line 365 of file matrix.h.

Matrix OpenMEEG::Matrix::multt ( const Matrix m) const
inline

Definition at line 386 of file matrix.h.

Matrix OpenMEEG::Matrix::tmultt ( const Matrix m) const
inline

Definition at line 407 of file matrix.h.

Vector OpenMEEG::Matrix::mean ( ) const
Vector OpenMEEG::Matrix::tmean ( ) const
Matrix OpenMEEG::Matrix::transpose ( ) const
Matrix OpenMEEG::Matrix::inverse ( ) const
inline

Definition at line 301 of file matrix.h.

Matrix OpenMEEG::Matrix::pinverse ( double  reltol = 0) const
void OpenMEEG::Matrix::svd ( Matrix U,
SparseMatrix S,
Matrix V,
bool  complete = true 
) const
double OpenMEEG::Matrix::frobenius_norm ( ) const
inline

Get Matrix Frobenius norm.

Returns
norm value
See Also

Definition at line 188 of file matrix.h.

double OpenMEEG::Matrix::dot ( const Matrix B) const
inline

Definition at line 497 of file matrix.h.

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

Save Matrix to file (Format set using file name extension)

See Also
void OpenMEEG::Matrix::load ( const char *  filename)

Load Matrix from file (Format set using file name extension)

See Also
void OpenMEEG::Matrix::save ( const std::string &  s) const
inline

Definition at line 167 of file matrix.h.

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

Definition at line 168 of file matrix.h.

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

Print info on Matrix.

See Also

Implements OpenMEEG::LinOp.

Friends And Related Function Documentation

friend class Vector
friend

Definition at line 64 of file matrix.h.

friend class SparseMatrix
friend

Definition at line 175 of file matrix.h.

friend class SymMatrix
friend

Definition at line 176 of file matrix.h.

Member Data Documentation

utils::RCPtr<LinOpValue> OpenMEEG::Matrix::value
protected

Definition at line 66 of file matrix.h.


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