#include <InterpKernelMatrix.hxx>
Data Structures |
| class | KeyComparator |
| class | Row |
Public Types |
| typedef Row | value_type |
Public Member Functions |
| | Matrix () |
| | Matrix (int nbrows) |
| | Matrix (std::vector< std::map< int, T > > &matrix) |
| | Matrix (const Matrix &m) |
| | ~Matrix () |
| Matrix & | operator= (const Matrix &m) |
| void | resize (unsigned int nbrows) |
| void | setIJ (int irow, int icol, T value) |
| void | multiply (const T *const input, T *const output) |
| void | multiply (const T *const input, T *const output, int nb_comp) |
| void | transposeMultiply (const T *const input, T *const output, int nb_cols) |
| void | transposeMultiply (const T *const input, T *const output, int nb_cols, int nb_comp) |
| void | colSum (std::vector< T > &output, int nb_cols) |
| void | rowSum (std::vector< T > &output) |
| void | configure () |
| Row & | operator[] (unsigned int irow) |
| int | getNbRows () |
Private Attributes |
| unsigned int | _nb_rows |
| T * | _coeffs |
| unsigned int * | _cols |
| std::vector< unsigned int > | _ncols_offset |
| std::vector< Row > | _auxiliary_matrix |
| bool | _is_configured |
Friends |
| std::ostream & | operator<< (std::ostream &in, const Matrix< T, type > &m) |
| std::istream & | operator>> (std::istream &in, Matrix< T, type > &m) |
template<class T, NumberingPolicy type = ALL_C_MODE>
class INTERP_KERNEL::Matrix< T, type >
Member Typedef Documentation
template<class T, NumberingPolicy type = ALL_C_MODE>
Constructor & Destructor Documentation
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>
Member Function Documentation
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>
declares a method that specifies the number of rows
template<class T, NumberingPolicy type = ALL_C_MODE>
sets (i,j) coefficient to value
template<class T, NumberingPolicy type = ALL_C_MODE>
Matrix multiplies vector input and stores the result in vector output. The vector pointed by input must be dimensioned to the number of columns while the vector pointed by output must be dimensioned to the number of rows.
template<class T, NumberingPolicy type = ALL_C_MODE>
Matrix multiplies vector input and stores the result in vector output. input and output are supposed to represent the same field discretised on two different on meshes. nb_comp is the number of components of the fields input and output The vector pointed by input must be dimensioned to the number of columns times nb_comp while the vector pointed by output must be dimensioned to the number of rows times nb_comp.
template<class T, NumberingPolicy type = ALL_C_MODE>
Transpose-multiplies vector input and stores the result in vector output. nb_cols is the number of columns of the matrix, (it is not an attribute of the class) The vector pointed by input must be dimensioned to the number of lines _nb_rows while the vector pointed by output must be dimensioned to the number of columns nb_cols.
template<class T, NumberingPolicy type = ALL_C_MODE>
Transpose-multiplies vector input and stores the result in vector output. input and output are supposed to represent the same field discretised on two different on meshes. nb_comp is the number of components of the fields input and output nb_cols is the number of columns of the matrix, (it is not an attribute of the class) The vector pointed by input must be dimensioned to _nb_rows*nb_comp while the vector pointed by output must be dimensioned to nb_cols*nb_comp.
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>
This operation freezes the profile of the matrix and puts it under a CSR form so that it becomes efficient both in terms of memory occupation and in terms of multiplication
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>
Friends And Related Function Documentation
template<class T, NumberingPolicy type = ALL_C_MODE>
| std::ostream& operator<< |
( |
std::ostream & |
in, |
|
|
const Matrix< T, type > & |
m |
|
) |
| [friend] |
output to an ascii file only nonzero elements are written
- the first line contains the indexing (0 or 1)
- the second line contains the number of rows.
- for each row, a line contains:
- the number of nonzero coeffs
- and for each coeff : icol, value
for instance, matrix | 1.0 0.0 0.5 | | 0.0 1.0 0.0 | | 0.2 0.0 1.0 | will be displayed in 0-indexing as 0 3 2 0 1.0 2 0.5 1 1 1.0 2 0 0.2 2 1.0
template<class T, NumberingPolicy type = ALL_C_MODE>
| std::istream& operator>> |
( |
std::istream & |
in, |
|
|
Matrix< T, type > & |
m |
|
) |
| [friend] |
Field Documentation
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>
template<class T, NumberingPolicy type = ALL_C_MODE>