LocalMatrix< T_, NR_, NC_ > Class Template Reference
Handles small size matrices like element matrices, with a priori known size. More...
Public Member Functions | |
LocalMatrix () | |
Default constructor. More... | |
LocalMatrix (const LocalMatrix< T_, NR_, NC_ > &m) | |
Copy constructor. | |
LocalMatrix (Element *el, const SpMatrix< T_ > &a) | |
Constructor of a local matrix associated to element from a SpMatrix. More... | |
LocalMatrix (Element *el, const SkMatrix< T_ > &a) | |
Constructor of a local matrix associated to element from a SkMatrix. More... | |
LocalMatrix (Element *el, const SkSMatrix< T_ > &a) | |
Constructor of a local matrix associated to element from a SkSMatrix. More... | |
~LocalMatrix () | |
Destructor. | |
T_ & | operator() (size_t i, size_t j) |
Operator () (Non constant version) More... | |
T_ | operator() (size_t i, size_t j) const |
Operator () (Constant version) More... | |
void | Localize (Element *el, const SpMatrix< T_ > &a) |
Initialize matrix as element matrix from global SpMatrix. More... | |
void | Localize (Element *el, const SkMatrix< T_ > &a) |
Initialize matrix as element matrix from global SkMatrix. More... | |
void | Localize (Element *el, const SkSMatrix< T_ > &a) |
Initialize matrix as element matrix from global SkSMatrix. More... | |
LocalMatrix< T_, NR_, NC_ > & | operator= (const LocalMatrix< T_, NR_, NC_ > &m) |
Operator = More... | |
LocalMatrix< T_, NR_, NC_ > & | operator= (const T_ &x) |
Operator = More... | |
LocalMatrix< T_, NR_, NC_ > & | operator+= (const LocalMatrix< T_, NR_, NC_ > &m) |
Operator += More... | |
LocalMatrix< T_, NR_, NC_ > & | operator-= (const LocalMatrix< T_, NR_, NC_ > &m) |
Operator -= More... | |
LocalVect< T_, NR_ > | operator* (LocalVect< T_, NC_ > &x) |
Operator * More... | |
LocalMatrix< T_, NR_, NC_ > & | operator+= (const T_ &x) |
Operator += More... | |
LocalMatrix< T_, NR_, NC_ > & | operator-= (const T_ &x) |
Operator -= More... | |
LocalMatrix< T_, NR_, NC_ > & | operator*= (const T_ &x) |
Operator *= More... | |
LocalMatrix< T_, NR_, NC_ > & | operator/= (const T_ &x) |
Operator /= More... | |
void | MultAdd (const LocalVect< T_, NC_ > &x, LocalVect< T_, NR_ > &y) |
Multiply matrix by vector and add result to vector. More... | |
void | MultAddScal (const T_ &a, const LocalVect< T_, NC_ > &x, LocalVect< T_, NR_ > &y) |
Multiply matrix by scaled vector and add result to vector. More... | |
void | Mult (const LocalVect< T_, NC_ > &x, LocalVect< T_, NR_ > &y) |
Multiply matrix by vector. More... | |
void | Symmetrize () |
Symmetrize matrix. More... | |
int | Factor () |
Factorize matrix. More... | |
int | Solve (LocalVect< T_, NR_ > &b) |
Forward and backsubstitute to solve a linear system. More... | |
int | FactorAndSolve (LocalVect< T_, NR_ > &b) |
Factorize matrix and solve linear system. More... | |
void | Invert (LocalMatrix< T_, NR_, NC_ > &A) |
Calculate inverse of matrix. More... | |
T_ | getInnerProduct (const LocalVect< T_, NC_ > &x, const LocalVect< T_, NR_ > &y) |
Calculate inner product witrh respect to matrix. More... | |
T_ * | get () |
Return pointer to matrix as a C-array. | |
Detailed Description
template<class T_, size_t NR_, size_t NC_>
class OFELI::LocalMatrix< T_, NR_, NC_ >
Handles small size matrices like element matrices, with a priori known size.
The template class LocalMatrix treats small size matrices. Typically, this class is recommended to store element and side arrays.
Internally, no dynamic storage is used.
- Template Parameters
-
T_ Data type (double, float, complex<double>, ...) NR_ number of rows of matrix NC_ number of columns of matrix
Member Function Documentation
T_& operator() | ( | size_t | i, |
size_t | j | ||
) |
Operator ()
(Non constant version)
Returns entry at row i
and column j
.
T_ operator() | ( | size_t | i, |
size_t | j | ||
) | const |
Operator ()
(Constant version)
Returns entry at row i
and column j
.