|
| Matrix () |
|
void | allocate () |
|
void | assignFromFull (std::vector< Treal > const &fullMat) |
|
void | fullMatrix (std::vector< Treal > &fullMat) const |
|
void | syFullMatrix (std::vector< Treal > &fullMat) const |
|
void | syUpTriFullMatrix (std::vector< Treal > &fullMat) const |
|
void | assignFromSparse (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > const &values) |
|
void | assignFromSparse (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > const &values, std::vector< int > const &indexes) |
|
void | addValues (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > const &values) |
|
void | addValues (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > const &values, std::vector< int > const &indexes) |
|
void | syAssignFromSparse (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > const &values) |
|
void | syAddValues (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > const &values) |
|
void | getValues (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > &values) const |
|
void | getValues (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > &values, std::vector< int > const &indexes) const |
|
void | syGetValues (std::vector< int > const &rowind, std::vector< int > const &colind, std::vector< Treal > &values) const |
|
void | getAllValues (std::vector< int > &rowind, std::vector< int > &colind, std::vector< Treal > &values) const |
|
void | syGetAllValues (std::vector< int > &rowind, std::vector< int > &colind, std::vector< Treal > &values) const |
|
Matrix< Treal > & | operator= (const Matrix< Treal > &mat) |
|
void | clear () |
| Set matrix to zero and delete all arrays.
|
|
| ~Matrix () |
|
void | writeToFile (std::ofstream &file) const |
|
void | readFromFile (std::ifstream &file) |
|
void | random () |
|
void | syRandom () |
|
void | randomZeroStructure (Treal probabilityBeingZero) |
|
void | syRandomZeroStructure (Treal probabilityBeingZero) |
|
template<typename TRule > |
void | setElementsByRule (TRule &rule) |
|
template<typename TRule > |
void | sySetElementsByRule (TRule &rule) |
|
void | addIdentity (Treal alpha) |
|
void | symToNosym () |
|
void | nosymToSym () |
|
Matrix< Treal > & | operator= (int const k) |
|
Matrix< Treal > & | operator*= (const Treal alpha) |
|
Treal | frob () const |
|
Treal | frobSquared () const |
|
Treal | syFrob () const |
|
Treal | syFrobSquared () const |
|
Treal | trace () const |
|
void | assign (Treal const alpha, Matrix< Treal > const &A) |
|
void | getFrobSqLowestLevel (std::vector< Treal > &frobsq) const |
|
void | frobThreshLowestLevel (Treal const threshold, Matrix< Treal > *ErrorMatrix) |
|
void | getFrobSqElementLevel (std::vector< Treal > &frobsq) const |
|
void | frobThreshElementLevel (Treal const threshold, Matrix< Treal > *ErrorMatrix) |
|
void | assignFrobNormsLowestLevel (Matrix< Treal, Matrix< Treal > > const &A) |
|
void | syAssignFrobNormsLowestLevel (Matrix< Treal, Matrix< Treal > > const &A) |
|
void | assignDiffFrobNormsLowestLevel (Matrix< Treal, Matrix< Treal > > const &A, Matrix< Treal, Matrix< Treal > > const &B) |
|
void | syAssignDiffFrobNormsLowestLevel (Matrix< Treal, Matrix< Treal > > const &A, Matrix< Treal, Matrix< Treal > > const &B) |
|
void | truncateAccordingToSparsityPattern (Matrix< Treal, Matrix< Treal > > &A) const |
|
Treal | frob_thresh (Treal const threshold, Matrix< Treal > *ErrorMatrix=0) |
|
Treal | frob_squared_thresh (Treal const threshold, Matrix< Treal > *ErrorMatrix=0) |
|
void | gershgorin (Treal &lmin, Treal &lmax) const |
|
void | sy_gershgorin (Treal &lmin, Treal &lmax) const |
|
void | add_abs_col_sums (Treal *abscolsums) const |
|
void | get_diagonal (Treal *diag) const |
|
size_t | memory_usage () const |
|
size_t | nnz () const |
| Returns number of nonzeros in matrix.
|
|
size_t | sy_nnz () const |
| Returns number of nonzeros in matrix including lower triangle elements.
|
|
size_t | nvalues () const |
| Returns number of stored values in matrix.
|
|
size_t | sy_nvalues () const |
| Returns number of stored values in matrix.
|
|
template<class Top > |
Treal | syAccumulateWith (Top &op) |
|
template<class Top > |
Treal | geAccumulateWith (Top &op) |
|
Treal | maxAbsValue () const |
|
bool | operator== (int k) const |
|
const int & | nScalarsRows () const |
|
const int & | nScalarsCols () const |
|
const int & | nrows () const |
|
const int & | ncols () const |
|
Telement & | operator ()(int row |
|
| assert (row >=0) |
|
| assert (col >=0) |
|
| assert (row< nrows()) |
|
| assert (col< ncols()) |
|
const Telement & | operator ()(int row |
|
| assert (row >=0) |
|
| assert (col >=0) |
|
| assert (row< nrows()) |
|
| assert (col< ncols()) |
|
Telement & | operator[] (int index) |
|
Telement const & | operator[] (int index) const |
|
bool | is_zero () const |
|
int | nElements () const |
|
void | resetRows (SizesAndBlocks const &newRows) |
|
void | resetCols (SizesAndBlocks const &newCols) |
|
void | getRows (SizesAndBlocks &rowsCopy) const |
|
void | getCols (SizesAndBlocks &colsCopy) const |
|
bool | highestLevel () const |
|
bool | is_empty () const |
| Check if matrix is empty Empty is different from zero, a zero matrix contains information about blocksizes etc.
|
|
|
static void | transpose (Matrix< Treal > const &A, Matrix< Treal > &AT) |
|
static void | gemm (const bool tA, const bool tB, const Treal alpha, const Matrix< Treal > &A, const Matrix< Treal > &B, const Treal beta, Matrix< Treal > &C) |
|
static void | symm (const char side, const char uplo, const Treal alpha, const Matrix< Treal > &A, const Matrix< Treal > &B, const Treal beta, Matrix< Treal > &C) |
|
static void | syrk (const char uplo, const bool tA, const Treal alpha, const Matrix< Treal > &A, const Treal beta, Matrix< Treal > &C) |
|
static void | sysq (const char uplo, const Treal alpha, const Matrix< Treal > &A, const Treal beta, Matrix< Treal > &C) |
|
static void | ssmm (const Treal alpha, const Matrix< Treal > &A, const Matrix< Treal > &B, const Treal beta, Matrix< Treal > &C) |
|
static void | ssmm_upper_tr_only (const Treal alpha, const Matrix< Treal > &A, const Matrix< Treal > &B, const Treal beta, Matrix< Treal > &C) |
|
static void | trmm (const char side, const char uplo, const bool tA, const Treal alpha, const Matrix< Treal > &A, Matrix< Treal > &B) |
|
static Treal | frobDiff (const Matrix< Treal > &A, const Matrix< Treal > &B) |
|
static Treal | frobSquaredDiff (const Matrix< Treal > &A, const Matrix< Treal > &B) |
|
static Treal | syFrobDiff (const Matrix< Treal > &A, const Matrix< Treal > &B) |
|
static Treal | syFrobSquaredDiff (const Matrix< Treal > &A, const Matrix< Treal > &B) |
|
static Treal | trace_ab (const Matrix< Treal > &A, const Matrix< Treal > &B) |
|
static Treal | trace_aTb (const Matrix< Treal > &A, const Matrix< Treal > &B) |
|
static Treal | sy_trace_ab (const Matrix< Treal > &A, const Matrix< Treal > &B) |
|
static void | add (const Treal alpha, const Matrix< Treal > &A, Matrix< Treal > &B) |
|
static void | gemm_upper_tr_only (const bool tA, const bool tB, const Treal alpha, const Matrix< Treal > &A, const Matrix< Treal > &B, const Treal beta, Matrix< Treal > &C) |
|
static void | sytr_upper_tr_only (char const side, const Treal alpha, Matrix< Treal > &A, const Matrix< Treal > &Z) |
|
static void | trmm_upper_tr_only (const char side, const char uplo, const bool tA, const Treal alpha, const Matrix< Treal > &A, Matrix< Treal > &B) |
|
static void | trsytriplemm (char const side, const Matrix< Treal > &Z, Matrix< Treal > &A) |
|
static void | inch (const Matrix< Treal > &A, Matrix< Treal > &Z, const Treal threshold=0, const side looking=left, const inchversion version=unstable) |
|
static void | syInch (const Matrix< Treal > &A, Matrix< Treal > &Z, const Treal threshold=0, const side looking=left, const inchversion version=unstable) |
|
static unsigned int | level () |
|