OpenMEEG
Public Member Functions | Private Attributes | Friends | List of all members
OpenMEEG::SymMatrix Class Reference

#include <symmatrix.h>

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

Public Member Functions

 SymMatrix ()
 
 SymMatrix (const char *fname)
 
 SymMatrix (size_t N)
 
 SymMatrix (size_t M, size_t N)
 
 SymMatrix (const SymMatrix &S, const DeepCopy)
 
 SymMatrix (const Vector &v)
 
 SymMatrix (const Matrix &A)
 
size_t size () const
 
void info () const
 
size_t ncol () const
 
size_t & ncol ()
 
void alloc_data ()
 
void reference_data (const double *array)
 
bool empty () const
 
void set (double x)
 
double * data () const
 
double operator() (size_t i, size_t j) const
 
double & operator() (size_t i, size_t j)
 
Matrix operator() (size_t i_start, size_t i_end, size_t j_start, size_t j_end) const
 
Matrix submat (size_t istart, size_t isize, size_t jstart, size_t jsize) const
 
SymMatrix submat (size_t istart, size_t iend) const
 
Vector getlin (size_t i) const
 
void setlin (size_t i, const Vector &v)
 
Vector solveLin (const Vector &B) const
 
void solveLin (Vector *B, int nbvect)
 
Matrix solveLin (Matrix &B) const
 
const SymMatrixoperator= (const double d)
 
SymMatrix operator+ (const SymMatrix &B) const
 
SymMatrix operator- (const SymMatrix &B) const
 
SymMatrix operator* (const SymMatrix &B) const
 
Matrix operator* (const Matrix &B) const
 
Vector operator* (const Vector &v) const
 
SymMatrix operator* (double x) const
 
SymMatrix operator/ (double x) const
 
void operator+= (const SymMatrix &B)
 
void operator-= (const SymMatrix &B)
 
void operator*= (double x)
 
void operator/= (double x)
 
SymMatrix inverse () const
 
void invert ()
 
SymMatrix posdefinverse () const
 
double det ()
 
void save (const char *filename) const
 
void load (const char *filename)
 
void save (const std::string &s) const
 
void load (const std::string &s)
 
- Public Member Functions inherited from OpenMEEG::LinOp
 LinOp ()
 
 LinOp (const size_t m, const size_t n, const StorageType st, const Dimension d)
 
LinOpoperator= (const LinOp &l)
 
- 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 ()
 
LinOpInfooperator= (const LinOpInfo &l)
 
size_t nlin () const
 
size_t & nlin ()
 
size_t & ncol ()
 
StorageType storageType () const
 
StorageTypestorageType ()
 
Dimension dimension () const
 
Dimensiondimension ()
 
IOdefault_io ()
 

Private Attributes

utils::RCPtr< LinOpValuevalue
 

Friends

class Vector
 
class Matrix
 

Additional Inherited Members

- Public Types inherited from OpenMEEG::LinOpInfo
enum  StorageType { FULL, SYMMETRIC, SPARSE }
 
typedef maths::MathsIOIO
 
typedef unsigned Dimension
 
- 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 53 of file symmatrix.h.

Constructor & Destructor Documentation

◆ SymMatrix() [1/7]

OpenMEEG::SymMatrix::SymMatrix ( )
inline

Definition at line 61 of file symmatrix.h.

◆ SymMatrix() [2/7]

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

Definition at line 63 of file symmatrix.h.

◆ SymMatrix() [3/7]

OpenMEEG::SymMatrix::SymMatrix ( size_t  N)
inline

Definition at line 64 of file symmatrix.h.

◆ SymMatrix() [4/7]

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

Definition at line 65 of file symmatrix.h.

◆ SymMatrix() [5/7]

OpenMEEG::SymMatrix::SymMatrix ( const SymMatrix S,
const  DeepCopy 
)
inline

Definition at line 66 of file symmatrix.h.

◆ SymMatrix() [6/7]

OpenMEEG::SymMatrix::SymMatrix ( const Vector v)
explicit

◆ SymMatrix() [7/7]

OpenMEEG::SymMatrix::SymMatrix ( const Matrix A)
explicit

Member Function Documentation

◆ size()

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

Implements OpenMEEG::LinOp.

Definition at line 71 of file symmatrix.h.

◆ info()

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

Implements OpenMEEG::LinOp.

◆ ncol() [1/2]

size_t OpenMEEG::SymMatrix::ncol ( ) const
inlinevirtual

Reimplemented from OpenMEEG::LinOpInfo.

Definition at line 74 of file symmatrix.h.

◆ ncol() [2/2]

size_t& OpenMEEG::SymMatrix::ncol ( )
inline

Definition at line 75 of file symmatrix.h.

◆ alloc_data()

void OpenMEEG::SymMatrix::alloc_data ( )
inline

Definition at line 77 of file symmatrix.h.

◆ reference_data()

void OpenMEEG::SymMatrix::reference_data ( const double *  array)
inline

Definition at line 78 of file symmatrix.h.

◆ empty()

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

Definition at line 80 of file symmatrix.h.

◆ set()

void OpenMEEG::SymMatrix::set ( double  x)

◆ data()

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

Definition at line 82 of file symmatrix.h.

◆ operator()() [1/3]

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

Definition at line 125 of file symmatrix.h.

◆ operator()() [2/3]

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

Definition at line 133 of file symmatrix.h.

◆ operator()() [3/3]

Matrix OpenMEEG::SymMatrix::operator() ( size_t  i_start,
size_t  i_end,
size_t  j_start,
size_t  j_end 
) const

◆ submat() [1/2]

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

◆ submat() [2/2]

SymMatrix OpenMEEG::SymMatrix::submat ( size_t  istart,
size_t  iend 
) const

◆ getlin()

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

Definition at line 356 of file symmatrix.h.

◆ setlin()

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

Definition at line 363 of file symmatrix.h.

◆ solveLin() [1/3]

Vector OpenMEEG::SymMatrix::solveLin ( const Vector B) const
inline

Definition at line 142 of file symmatrix.h.

◆ solveLin() [2/3]

void OpenMEEG::SymMatrix::solveLin ( Vector B,
int  nbvect 
)
inline

Definition at line 163 of file symmatrix.h.

◆ solveLin() [3/3]

Matrix OpenMEEG::SymMatrix::solveLin ( Matrix B) const

◆ operator=()

const SymMatrix& OpenMEEG::SymMatrix::operator= ( const double  d)

◆ operator+()

SymMatrix OpenMEEG::SymMatrix::operator+ ( const SymMatrix B) const
inline

Definition at line 275 of file symmatrix.h.

◆ operator-()

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

Definition at line 287 of file symmatrix.h.

◆ operator*() [1/4]

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

◆ operator*() [2/4]

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

◆ operator*() [3/4]

Vector OpenMEEG::SymMatrix::operator* ( const Vector v) const
inline

Definition at line 341 of file symmatrix.h.

◆ operator*() [4/4]

SymMatrix OpenMEEG::SymMatrix::operator* ( double  x) const

◆ operator/()

SymMatrix OpenMEEG::SymMatrix::operator/ ( double  x) const
inline

Definition at line 104 of file symmatrix.h.

◆ operator+=()

void OpenMEEG::SymMatrix::operator+= ( const SymMatrix B)
inline

Definition at line 193 of file symmatrix.h.

◆ operator-=()

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

Definition at line 183 of file symmatrix.h.

◆ operator*=()

void OpenMEEG::SymMatrix::operator*= ( double  x)

◆ operator/=()

void OpenMEEG::SymMatrix::operator/= ( double  x)
inline

Definition at line 108 of file symmatrix.h.

◆ inverse()

SymMatrix OpenMEEG::SymMatrix::inverse ( ) const
inline

Definition at line 300 of file symmatrix.h.

◆ invert()

void OpenMEEG::SymMatrix::invert ( )
inline

Definition at line 321 of file symmatrix.h.

◆ posdefinverse()

SymMatrix OpenMEEG::SymMatrix::posdefinverse ( ) const
inline

Definition at line 203 of file symmatrix.h.

◆ det()

double OpenMEEG::SymMatrix::det ( )
inline

Definition at line 218 of file symmatrix.h.

◆ save() [1/2]

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

◆ load() [1/2]

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

◆ save() [2/2]

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

Definition at line 119 of file symmatrix.h.

◆ load() [2/2]

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

Definition at line 120 of file symmatrix.h.

Friends And Related Function Documentation

◆ Vector

friend class Vector
friend

Definition at line 55 of file symmatrix.h.

◆ Matrix

friend class Matrix
friend

Definition at line 122 of file symmatrix.h.

Member Data Documentation

◆ value

utils::RCPtr<LinOpValue> OpenMEEG::SymMatrix::value
private

Definition at line 57 of file symmatrix.h.


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