#include <Matrix.h>
Inheritance diagram for mat::Matrix< Treal >:

Public Types | |
| typedef Vector< Treal, Treal > | VectorType |
Public Member Functions | |
| 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 | gersgorin (Treal &lmin, Treal &lmax) const |
| void | sy_gersgorin (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 |
Static Public Member Functions | |
| 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 () |
Static Private Attributes | |
| static const Treal | ZERO = 0 |
| static const Treal | ONE = 1 |
Friends | |
| class | Vector< Treal, Treal > |
| typedef Vector<Treal, Treal> mat::Matrix< Treal >::VectorType |
| mat::Matrix< Treal >::Matrix | ( | ) | [inline] |
| mat::Matrix< Treal >::~Matrix | ( | ) | [inline] |
| void mat::Matrix< Treal >::add | ( | const Treal | alpha, | |
| const Matrix< Treal > & | A, | |||
| Matrix< Treal > & | B | |||
| ) | [static] |
| void mat::Matrix< Treal >::add_abs_col_sums | ( | Treal * | abscolsums | ) | const |
| void mat::Matrix< Treal >::addIdentity | ( | Treal | alpha | ) |
| void mat::Matrix< Treal >::addValues | ( | std::vector< int > const & | rowind, | |
| std::vector< int > const & | colind, | |||
| std::vector< Treal > const & | values, | |||
| std::vector< int > const & | indexes | |||
| ) |
| void mat::Matrix< Treal >::addValues | ( | std::vector< int > const & | rowind, | |
| std::vector< int > const & | colind, | |||
| std::vector< Treal > const & | values | |||
| ) |
| void mat::Matrix< Treal >::allocate | ( | ) | [inline] |
| void mat::Matrix< Treal >::assign | ( | Treal const | alpha, | |
| Matrix< Treal > const & | A | |||
| ) |
| void mat::Matrix< Treal >::assignDiffFrobNormsLowestLevel | ( | Matrix< Treal, Matrix< Treal > > const & | A, | |
| Matrix< Treal, Matrix< Treal > > const & | B | |||
| ) | [inline] |
| void mat::Matrix< Treal >::assignFrobNormsLowestLevel | ( | Matrix< Treal, Matrix< Treal > > const & | A | ) | [inline] |
| void mat::Matrix< Treal >::assignFromFull | ( | std::vector< Treal > const & | fullMat | ) |
| void mat::Matrix< Treal >::assignFromSparse | ( | std::vector< int > const & | rowind, | |
| std::vector< int > const & | colind, | |||
| std::vector< Treal > const & | values, | |||
| std::vector< int > const & | indexes | |||
| ) |
| void mat::Matrix< Treal >::assignFromSparse | ( | std::vector< int > const & | rowind, | |
| std::vector< int > const & | colind, | |||
| std::vector< Treal > const & | values | |||
| ) |
| void mat::Matrix< Treal >::clear | ( | ) |
Set matrix to zero and delete all arrays.
| Treal mat::Matrix< Treal >::frob | ( | ) | const [inline] |
| Treal mat::Matrix< Treal >::frob_squared_thresh | ( | Treal const | threshold, | |
| Matrix< Treal > * | ErrorMatrix = 0 | |||
| ) |
| Treal mat::Matrix< Treal >::frob_thresh | ( | Treal const | threshold, | |
| Matrix< Treal > * | ErrorMatrix = 0 | |||
| ) | [inline] |
| static Treal mat::Matrix< Treal >::frobDiff | ( | const Matrix< Treal > & | A, | |
| const Matrix< Treal > & | B | |||
| ) | [inline, static] |
| Treal mat::Matrix< Treal >::frobSquared | ( | ) | const |
| Treal mat::Matrix< Treal >::frobSquaredDiff | ( | const Matrix< Treal > & | A, | |
| const Matrix< Treal > & | B | |||
| ) | [static] |
| void mat::Matrix< Treal >::frobThreshElementLevel | ( | Treal const | threshold, | |
| Matrix< Treal > * | ErrorMatrix | |||
| ) |
| void mat::Matrix< Treal >::frobThreshLowestLevel | ( | Treal const | threshold, | |
| Matrix< Treal > * | ErrorMatrix | |||
| ) |
| void mat::Matrix< Treal >::fullMatrix | ( | std::vector< Treal > & | fullMat | ) | const |
| Treal mat::Matrix< Treal >::geAccumulateWith | ( | Top & | op | ) | [inline] |
| void mat::Matrix< Treal >::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 mat::Matrix< Treal >::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 mat::Matrix< Treal >::gersgorin | ( | Treal & | lmin, | |
| Treal & | lmax | |||
| ) | const |
| void mat::Matrix< Treal >::get_diagonal | ( | Treal * | diag | ) | const |
| void mat::Matrix< Treal >::getAllValues | ( | std::vector< int > & | rowind, | |
| std::vector< int > & | colind, | |||
| std::vector< Treal > & | values | |||
| ) | const |
| void mat::Matrix< Treal >::getFrobSqElementLevel | ( | std::vector< Treal > & | frobsq | ) | const |
| void mat::Matrix< Treal >::getFrobSqLowestLevel | ( | std::vector< Treal > & | frobsq | ) | const |
| void mat::Matrix< Treal >::getValues | ( | std::vector< int > const & | rowind, | |
| std::vector< int > const & | colind, | |||
| std::vector< Treal > & | values, | |||
| std::vector< int > const & | indexes | |||
| ) | const |
| void mat::Matrix< Treal >::getValues | ( | std::vector< int > const & | rowind, | |
| std::vector< int > const & | colind, | |||
| std::vector< Treal > & | values | |||
| ) | const |
| void mat::Matrix< Treal >::inch | ( | const Matrix< Treal > & | A, | |
| Matrix< Treal > & | Z, | |||
| const Treal | threshold = 0, |
|||
| const side | looking = left, |
|||
| const inchversion | version = unstable | |||
| ) | [static] |
| static unsigned int mat::Matrix< Treal >::level | ( | ) | [inline, static] |
| Treal mat::Matrix< Treal >::maxAbsValue | ( | ) | const [inline] |
| size_t mat::Matrix< Treal >::memory_usage | ( | ) | const [inline] |
| size_t mat::Matrix< Treal >::nnz | ( | ) | const [inline] |
Returns number of nonzeros in matrix.
| void mat::Matrix< Treal >::nosymToSym | ( | ) |
| size_t mat::Matrix< Treal >::nvalues | ( | ) | const [inline] |
Returns number of stored values in matrix.
Returns same number as nnz()
| Matrix< Treal > & mat::Matrix< Treal >::operator *= | ( | const Treal | alpha | ) |
| Matrix< Treal > & mat::Matrix< Treal >::operator= | ( | int const | k | ) |
| Matrix<Treal>& mat::Matrix< Treal >::operator= | ( | const Matrix< Treal > & | mat | ) | [inline] |
| void mat::Matrix< Treal >::random | ( | ) |
| void mat::Matrix< Treal >::randomZeroStructure | ( | Treal | probabilityBeingZero | ) |
| void mat::Matrix< Treal >::readFromFile | ( | std::ifstream & | file | ) |
| void mat::Matrix< Treal >::setElementsByRule | ( | TRule & | rule | ) |
| void mat::Matrix< Treal >::ssmm | ( | const Treal | alpha, | |
| const Matrix< Treal > & | A, | |||
| const Matrix< Treal > & | B, | |||
| const Treal | beta, | |||
| Matrix< Treal > & | C | |||
| ) | [static] |
| void mat::Matrix< Treal >::ssmm_upper_tr_only | ( | const Treal | alpha, | |
| const Matrix< Treal > & | A, | |||
| const Matrix< Treal > & | B, | |||
| const Treal | beta, | |||
| Matrix< Treal > & | C | |||
| ) | [static] |
| void mat::Matrix< Treal >::sy_gersgorin | ( | Treal & | lmin, | |
| Treal & | lmax | |||
| ) | const [inline] |
| size_t mat::Matrix< Treal >::sy_nnz | ( | ) | const [inline] |
Returns number of nonzeros in matrix including lower triangle elements.
| size_t mat::Matrix< Treal >::sy_nvalues | ( | ) | const [inline] |
Returns number of stored values in matrix.
Lower triangle is not included. Different from sy_nnz().
| Treal mat::Matrix< Treal >::sy_trace_ab | ( | const Matrix< Treal > & | A, | |
| const Matrix< Treal > & | B | |||
| ) | [static] |
| Treal mat::Matrix< Treal >::syAccumulateWith | ( | Top & | op | ) | [inline] |
| void mat::Matrix< Treal >::syAddValues | ( | std::vector< int > const & | rowind, | |
| std::vector< int > const & | colind, | |||
| std::vector< Treal > const & | values | |||
| ) |
| void mat::Matrix< Treal >::syAssignDiffFrobNormsLowestLevel | ( | Matrix< Treal, Matrix< Treal > > const & | A, | |
| Matrix< Treal, Matrix< Treal > > const & | B | |||
| ) | [inline] |
| void mat::Matrix< Treal >::syAssignFrobNormsLowestLevel | ( | Matrix< Treal, Matrix< Treal > > const & | A | ) | [inline] |
| void mat::Matrix< Treal >::syAssignFromSparse | ( | std::vector< int > const & | rowind, | |
| std::vector< int > const & | colind, | |||
| std::vector< Treal > const & | values | |||
| ) |
| Treal mat::Matrix< Treal >::syFrob | ( | ) | const [inline] |
| static Treal mat::Matrix< Treal >::syFrobDiff | ( | const Matrix< Treal > & | A, | |
| const Matrix< Treal > & | B | |||
| ) | [inline, static] |
| Treal mat::Matrix< Treal >::syFrobSquared | ( | ) | const |
| Treal mat::Matrix< Treal >::syFrobSquaredDiff | ( | const Matrix< Treal > & | A, | |
| const Matrix< Treal > & | B | |||
| ) | [static] |
| void mat::Matrix< Treal >::syFullMatrix | ( | std::vector< Treal > & | fullMat | ) | const |
| void mat::Matrix< Treal >::syGetAllValues | ( | std::vector< int > & | rowind, | |
| std::vector< int > & | colind, | |||
| std::vector< Treal > & | values | |||
| ) | const |
| void mat::Matrix< Treal >::syGetValues | ( | std::vector< int > const & | rowind, | |
| std::vector< int > const & | colind, | |||
| std::vector< Treal > & | values | |||
| ) | const |
| static void mat::Matrix< Treal >::syInch | ( | const Matrix< Treal > & | A, | |
| Matrix< Treal > & | Z, | |||
| const Treal | threshold = 0, |
|||
| const side | looking = left, |
|||
| const inchversion | version = unstable | |||
| ) | [inline, static] |
| void mat::Matrix< Treal >::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 mat::Matrix< Treal >::symToNosym | ( | ) |
| void mat::Matrix< Treal >::syRandom | ( | ) |
| void mat::Matrix< Treal >::syRandomZeroStructure | ( | Treal | probabilityBeingZero | ) |
| void mat::Matrix< Treal >::syrk | ( | const char | uplo, | |
| const bool | tA, | |||
| const Treal | alpha, | |||
| const Matrix< Treal > & | A, | |||
| const Treal | beta, | |||
| Matrix< Treal > & | C | |||
| ) | [static] |
| void mat::Matrix< Treal >::sySetElementsByRule | ( | TRule & | rule | ) |
| void mat::Matrix< Treal >::sysq | ( | const char | uplo, | |
| const Treal | alpha, | |||
| const Matrix< Treal > & | A, | |||
| const Treal | beta, | |||
| Matrix< Treal > & | C | |||
| ) | [static] |
| void mat::Matrix< Treal >::sytr_upper_tr_only | ( | char const | side, | |
| const Treal | alpha, | |||
| Matrix< Treal > & | A, | |||
| const Matrix< Treal > & | Z | |||
| ) | [static] |
| void mat::Matrix< Treal >::syUpTriFullMatrix | ( | std::vector< Treal > & | fullMat | ) | const |
| Treal mat::Matrix< Treal >::trace | ( | ) | const |
| Treal mat::Matrix< Treal >::trace_ab | ( | const Matrix< Treal > & | A, | |
| const Matrix< Treal > & | B | |||
| ) | [static] |
| Treal mat::Matrix< Treal >::trace_aTb | ( | const Matrix< Treal > & | A, | |
| const Matrix< Treal > & | B | |||
| ) | [static] |
| void mat::Matrix< Treal >::transpose | ( | Matrix< Treal > const & | A, | |
| Matrix< Treal > & | AT | |||
| ) | [static] |
| void mat::Matrix< Treal >::trmm | ( | const char | side, | |
| const char | uplo, | |||
| const bool | tA, | |||
| const Treal | alpha, | |||
| const Matrix< Treal > & | A, | |||
| Matrix< Treal > & | B | |||
| ) | [static] |
| void mat::Matrix< Treal >::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 mat::Matrix< Treal >::trsytriplemm | ( | char const | side, | |
| const Matrix< Treal > & | Z, | |||
| Matrix< Treal > & | A | |||
| ) | [static] |
| void mat::Matrix< Treal >::truncateAccordingToSparsityPattern | ( | Matrix< Treal, Matrix< Treal > > & | A | ) | const [inline] |
| void mat::Matrix< Treal >::writeToFile | ( | std::ofstream & | file | ) | const |
friend class Vector< Treal, Treal > [friend] |
const Treal mat::Matrix< Treal >::ONE = 1 [static, private] |
const Treal mat::Matrix< Treal >::ZERO = 0 [static, private] |
1.4.7