|
ergo
|
Matrix class and heart of the matrix library. More...
#include <Matrix.h>
Public Types | |
| typedef Telement | ElementType |
| typedef Vector< Treal, typename ElementType::VectorType > | 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 > &, 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 > &) const |
| void | syGetAllValues (std::vector< int > &rowind, std::vector< int > &colind, std::vector< Treal > &) const |
| Matrix< Treal, Telement > & | operator= (const Matrix< Treal, Telement > &mat) |
| void | clear () |
| ~Matrix () | |
| void | writeToFile (std::ofstream &file) const |
| void | readFromFile (std::ifstream &file) |
| void | random () |
| void | syRandom () |
| void | randomZeroStructure (Treal probabilityBeingZero) |
| Get a random zero structure with a specified probability that each submatrix is zero. | |
| void | syRandomZeroStructure (Treal probabilityBeingZero) |
| template<typename TRule > | |
| void | setElementsByRule (TRule &rule) |
| template<typename TRule > | |
| void | sySetElementsByRule (TRule &rule) |
| template<typename TRule > | |
| void | trSetElementsByRule (TRule &rule) |
| void | addIdentity (Treal alpha) |
| void | symToNosym () |
| void | nosymToSym () |
| Matrix< Treal, Telement > & | operator= (int const k) |
| Matrix< Treal, Telement > & | 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, Telement > const &A) |
| void | getFrobSqLowestLevel (std::vector< Treal > &frobsq) const |
| void | frobThreshLowestLevel (Treal const threshold, Matrix< Treal, Telement > *ErrorMatrix) |
| void | getFrobSqElementLevel (std::vector< Treal > &frobsq) const |
| void | frobThreshElementLevel (Treal const threshold, Matrix< Treal, Telement > *ErrorMatrix) |
| void | assignFrobNormsLowestLevel (Matrix< Treal, Matrix< Treal, Telement > > const &A) |
| Build a matrix with single matrix elements at the lowest level containing the Frobenius norms of the submatrices of A. | |
| void | syAssignFrobNormsLowestLevel (Matrix< Treal, Matrix< Treal, Telement > > const &A) |
| Version of assignFrobNormsLowestLevelToMatrix for symmetric matrices. | |
| void | assignDiffFrobNormsLowestLevel (Matrix< Treal, Matrix< Treal, Telement > > const &A, Matrix< Treal, Matrix< Treal, Telement > > const &B) |
| Same as assignFrobNormsLowestLevel except that the Frobenius norms of the differences between submatrices of A and B are assigned. | |
| void | syAssignDiffFrobNormsLowestLevel (Matrix< Treal, Matrix< Treal, Telement > > const &A, Matrix< Treal, Matrix< Treal, Telement > > const &B) |
| Same as syAssignFrobNormsLowestLevel except that the Frobenius norms of the differences between submatrices of A and B are assigned. | |
| void | truncateAccordingToSparsityPattern (Matrix< Treal, Matrix< Treal, Telement > > &A) const |
| Truncate matrix A according to the sparsity pattern of the this matrix (frobNormMat). | |
| Treal | frob_thresh (Treal const threshold, Matrix< Treal, Telement > *ErrorMatrix=0) |
| Removes small elements so that the introduced error is smaller than the threshold in the Frobenius norm Returns the Frobenius norm of the introduced error. | |
| Treal | frob_squared_thresh (Treal const threshold, Matrix< Treal, Telement > *ErrorMatrix=0) |
| Removes small elements so that the introduced error is smaller than threshold in the squared Frobenius norm, returns squared frobenius norm of the introduced error added to ErrorMatrix. | |
| 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<typename Top > | |
| Treal | syAccumulateWith (Top &op) |
| template<typename Top > | |
| Treal | geAccumulateWith (Top &op) |
| Accumulation algorithm for general matrices. | |
| Treal | maxAbsValue () const |
Static Public Member Functions | |
| static void | transpose (Matrix< Treal, Telement > const &A, Matrix< Treal, Telement > &AT) |
| static void | gemm (const bool tA, const bool tB, const Treal alpha, const Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &B, const Treal beta, Matrix< Treal, Telement > &C) |
| static void | symm (const char side, const char uplo, const Treal alpha, const Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &B, const Treal beta, Matrix< Treal, Telement > &C) |
| static void | syrk (const char uplo, const bool tA, const Treal alpha, const Matrix< Treal, Telement > &A, const Treal beta, Matrix< Treal, Telement > &C) |
| static void | sysq (const char uplo, const Treal alpha, const Matrix< Treal, Telement > &A, const Treal beta, Matrix< Treal, Telement > &C) |
| static void | ssmm (const Treal alpha, const Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &B, const Treal beta, Matrix< Treal, Telement > &C) |
| static void | ssmm_upper_tr_only (const Treal alpha, const Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &B, const Treal beta, Matrix< Treal, Telement > &C) |
| static void | trmm (const char side, const char uplo, const bool tA, const Treal alpha, const Matrix< Treal, Telement > &A, Matrix< Treal, Telement > &B) |
| static Treal | frobDiff (const Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &B) |
| static Treal | frobSquaredDiff (const Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &B) |
| static Treal | syFrobDiff (const Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &B) |
| static Treal | syFrobSquaredDiff (const Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &B) |
| static Treal | trace_ab (const Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &B) |
| static Treal | trace_aTb (const Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &B) |
| static Treal | sy_trace_ab (const Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &B) |
| static void | add (const Treal alpha, const Matrix< Treal, Telement > &A, Matrix< Treal, Telement > &B) |
| static void | gemm_upper_tr_only (const bool tA, const bool tB, const Treal alpha, const Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &B, const Treal beta, Matrix< Treal, Telement > &C) |
| static void | sytr_upper_tr_only (char const side, const Treal alpha, Matrix< Treal, Telement > &A, const Matrix< Treal, Telement > &Z) |
| static void | trmm_upper_tr_only (const char side, const char uplo, const bool tA, const Treal alpha, const Matrix< Treal, Telement > &A, Matrix< Treal, Telement > &B) |
| static void | trsytriplemm (char const side, const Matrix< Treal, Telement > &Z, Matrix< Treal, Telement > &A) |
| static void | syInch (const Matrix< Treal, Telement > &A, Matrix< Treal, Telement > &Z, const Treal threshold=0, const side looking=left, const inchversion version=unstable) |
| static unsigned int | level () |
Friends | |
| class | Vector< Treal, Telement > |
Matrix class and heart of the matrix library.
This class is used to obtain the hierarchic data structure.
| typedef Telement mat::Matrix::ElementType |
| typedef Vector<Treal, typename ElementType::VectorType> mat::Matrix::VectorType |
| mat::Matrix::Matrix | ( | ) | [inline] |
| mat::Matrix::~Matrix | ( | ) | [inline] |
References clear().
| void mat::Matrix::add_abs_col_sums | ( | Treal * | abscolsums | ) | const |
Referenced by mat::Matrix< Treal >::gersgorin().
| void mat::Matrix::addIdentity | ( | Treal | alpha | ) |
| void mat::Matrix::addValues | ( | std::vector< int > const & | rowind, |
| std::vector< int > const & | colind, | ||
| std::vector< Treal > const & | values | ||
| ) |
Referenced by mat::Matrix< Treal >::addValues(), and mat::Matrix< Treal >::syAddValues().
| void mat::Matrix::addValues | ( | std::vector< int > const & | rowind, |
| std::vector< int > const & | colind, | ||
| std::vector< Treal > const & | values, | ||
| std::vector< int > const & | indexes | ||
| ) |
| void mat::Matrix::allocate | ( | ) | [inline] |
References mat::MatrixHierarchicBase< Treal, Telement >::assert(), mat::Time::tic(), mat::MatrixHierarchicBase< Treal, Telement >::elements, mat::SingletonForTimings::instance(), mat::SingletonForTimings::addTime(), mat::Time::toc(), mat::MatrixHierarchicBase< Treal, Telement >::cols, mat::SizesAndBlocks::getNBlocks(), mat::SizesAndBlocks::getSizesAndBlocksForLowerLevel(), and mat::MatrixHierarchicBase< Treal, Telement >::rows.
Referenced by mat::Matrix< Treal >::assignFrobNormsLowestLevel(), mat::Matrix< Treal >::syAssignFrobNormsLowestLevel(), mat::Matrix< Treal >::assignDiffFrobNormsLowestLevel(), mat::Matrix< Treal >::syAssignDiffFrobNormsLowestLevel(), mat::Matrix< Treal >::assignFromFull(), mat::Matrix< Treal >::assignFromSparse(), mat::Matrix< Treal >::addValues(), mat::Matrix< Treal >::readFromFile(), mat::Matrix< Treal >::random(), mat::Matrix< Treal >::syRandom(), mat::Matrix< Treal >::setElementsByRule(), mat::Matrix< Treal >::sySetElementsByRule(), mat::Matrix< Treal >::addIdentity(), and mat::Matrix< Treal >::operator=().
| void mat::Matrix::assign | ( | Treal const | alpha, |
| Matrix< Treal, Telement > const & | A | ||
| ) |
References add().
| void mat::Matrix::assignDiffFrobNormsLowestLevel | ( | Matrix< Treal, Matrix< Treal, Telement > > const & | A, |
| Matrix< Treal, Matrix< Treal, Telement > > const & | B | ||
| ) |
Same as assignFrobNormsLowestLevel except that the Frobenius norms of the differences between submatrices of A and B are assigned.
| void mat::Matrix::assignFrobNormsLowestLevel | ( | Matrix< Treal, Matrix< Treal, Telement > > const & | A | ) |
Build a matrix with single matrix elements at the lowest level containing the Frobenius norms of the submatrices of A.
Referenced by mat::Matrix< Treal >::assignDiffFrobNormsLowestLevel().
| void mat::Matrix::assignFromFull | ( | std::vector< Treal > const & | fullMat | ) |
| void mat::Matrix::assignFromSparse | ( | std::vector< int > const & | rowind, |
| std::vector< int > const & | colind, | ||
| std::vector< Treal > const & | values | ||
| ) |
Referenced by mat::Matrix< Treal >::assignFromSparse(), and mat::Matrix< Treal >::syAssignFromSparse().
| void mat::Matrix::assignFromSparse | ( | std::vector< int > const & | rowind, |
| std::vector< int > const & | colind, | ||
| std::vector< Treal > const & | values, | ||
| std::vector< int > const & | indexes | ||
| ) |
| void mat::Matrix::clear | ( | ) |
Referenced by ~Matrix(), mat::Matrix< Treal >::~Matrix(), mat::Matrix< Treal >::assignFrobNormsLowestLevel(), mat::Matrix< Treal >::syAssignFrobNormsLowestLevel(), mat::Matrix< Treal >::assignDiffFrobNormsLowestLevel(), mat::Matrix< Treal >::syAssignDiffFrobNormsLowestLevel(), mat::Matrix< Treal >::assignFromSparse(), mat::Matrix< Treal >::readFromFile(), mat::Matrix< Treal >::randomZeroStructure(), mat::Matrix< Treal >::syRandomZeroStructure(), and mat::Matrix< Treal >::operator=().
| Treal mat::Matrix::frob | ( | ) | const [inline] |
References template_blas_sqrt(), and frobSquared().
Referenced by mat::Matrix< Treal >::assignFrobNormsLowestLevel().
| Treal mat::Matrix::frob_squared_thresh | ( | Treal const | threshold, |
| Matrix< Treal, Telement > * | ErrorMatrix = 0 |
||
| ) |
Removes small elements so that the introduced error is smaller than threshold in the squared Frobenius norm, returns squared frobenius norm of the introduced error added to ErrorMatrix.
References mat::MatrixHierarchicBase< Treal, Telement >::swap().
Referenced by frob_thresh(), and mat::Matrix< Treal >::frob_thresh().
| Treal mat::Matrix::frob_thresh | ( | Treal const | threshold, |
| Matrix< Treal, Telement > * | ErrorMatrix = 0 |
||
| ) | [inline] |
Removes small elements so that the introduced error is smaller than the threshold in the Frobenius norm Returns the Frobenius norm of the introduced error.
References template_blas_sqrt(), and frob_squared_thresh().
| static Treal mat::Matrix::frobDiff | ( | const Matrix< Treal, Telement > & | A, |
| const Matrix< Treal, Telement > & | B | ||
| ) | [inline, static] |
References template_blas_sqrt(), and frobSquaredDiff().
| Treal mat::Matrix::frobSquared | ( | ) | const |
Referenced by frob(), mat::Matrix< Treal >::frob(), and mat::Matrix< Treal >::getFrobSqLowestLevel().
| Treal mat::Matrix::frobSquaredDiff | ( | const Matrix< Treal, Telement > & | A, |
| const Matrix< Treal, Telement > & | B | ||
| ) | [static] |
Referenced by frobDiff(), and mat::Matrix< Treal >::frobDiff().
| void mat::Matrix::frobThreshElementLevel | ( | Treal const | threshold, |
| Matrix< Treal, Telement > * | ErrorMatrix | ||
| ) |
| void mat::Matrix::frobThreshLowestLevel | ( | Treal const | threshold, |
| Matrix< Treal, Telement > * | ErrorMatrix | ||
| ) |
| void mat::Matrix::fullMatrix | ( | std::vector< Treal > & | fullMat | ) | const |
| Treal mat::Matrix::geAccumulateWith | ( | Top & | op | ) | [inline] |
Accumulation algorithm for general matrices.
References mat::MatrixHierarchicBase< Treal, Telement >::ncols(), and mat::MatrixHierarchicBase< Treal, Telement >::nrows().
Referenced by syAccumulateWith().
| void mat::Matrix::gemm | ( | const bool | tA, |
| const bool | tB, | ||
| const Treal | alpha, | ||
| const Matrix< Treal, Telement > & | A, | ||
| const Matrix< Treal, Telement > & | B, | ||
| const Treal | beta, | ||
| Matrix< Treal, Telement > & | C | ||
| ) | [static] |
References MAT_OMP_INIT, MAT_OMP_START, mat::gemm(), MAT_OMP_END, and MAT_OMP_FINALIZE.
Referenced by mat::Matrix< Treal >::gemm_upper_tr_only().
| void mat::Matrix::gemm_upper_tr_only | ( | const bool | tA, |
| const bool | tB, | ||
| const Treal | alpha, | ||
| const Matrix< Treal, Telement > & | A, | ||
| const Matrix< Treal, Telement > & | B, | ||
| const Treal | beta, | ||
| Matrix< Treal, Telement > & | C | ||
| ) | [static] |
References mat::gemm().
| void mat::Matrix::gersgorin | ( | Treal & | lmin, |
| Treal & | lmax | ||
| ) | const |
References template_blas_fabs().
| void mat::Matrix::get_diagonal | ( | Treal * | diag | ) | const |
Referenced by mat::Matrix< Treal >::gersgorin().
| void mat::Matrix::getAllValues | ( | std::vector< int > & | rowind, |
| std::vector< int > & | colind, | ||
| std::vector< Treal > & | values | ||
| ) | const |
| void mat::Matrix::getFrobSqElementLevel | ( | std::vector< Treal > & | frobsq | ) | const |
| void mat::Matrix::getFrobSqLowestLevel | ( | std::vector< Treal > & | frobsq | ) | const |
| void mat::Matrix::getValues | ( | std::vector< int > const & | rowind, |
| std::vector< int > const & | colind, | ||
| std::vector< Treal > & | values | ||
| ) | const |
Referenced by mat::Matrix< Treal >::getValues(), and mat::Matrix< Treal >::syGetValues().
| void mat::Matrix::getValues | ( | std::vector< int > const & | rowind, |
| std::vector< int > const & | colind, | ||
| std::vector< Treal > & | values, | ||
| std::vector< int > const & | indexes | ||
| ) | const |
| static unsigned int mat::Matrix::level | ( | ) | [inline, static] |
| Treal mat::Matrix::maxAbsValue | ( | ) | const [inline] |
| size_t mat::Matrix::memory_usage | ( | ) | const |
| size_t mat::Matrix::nnz | ( | ) | const |
Returns number of nonzeros in matrix.
Referenced by nvalues(), and mat::Matrix< Treal >::nvalues().
| void mat::Matrix::nosymToSym | ( | ) |
| size_t mat::Matrix::nvalues | ( | ) | const [inline] |
| Matrix< Treal, Telement > & mat::Matrix::operator*= | ( | const Treal | alpha | ) |
Referenced by mat::Matrix< Treal >::operator=().
| Matrix< Treal, Telement > & mat::Matrix::operator= | ( | int const | k | ) |
| void mat::Matrix::random | ( | ) |
Referenced by mat::Matrix< Treal >::randomZeroStructure().
| void mat::Matrix::randomZeroStructure | ( | Treal | probabilityBeingZero | ) |
Get a random zero structure with a specified probability that each submatrix is zero.
| void mat::Matrix::readFromFile | ( | std::ifstream & | file | ) |
| void mat::Matrix::setElementsByRule | ( | TRule & | rule | ) |
| void mat::Matrix::ssmm | ( | const Treal | alpha, |
| const Matrix< Treal, Telement > & | A, | ||
| const Matrix< Treal, Telement > & | B, | ||
| const Treal | beta, | ||
| Matrix< Treal, Telement > & | C | ||
| ) | [static] |
References MAT_OMP_INIT, MAT_OMP_START, mat::gemm(), mat::symm(), mat::transpose(), MAT_OMP_END, and MAT_OMP_FINALIZE.
Referenced by mat::Matrix< Treal >::ssmm_upper_tr_only().
| void mat::Matrix::ssmm_upper_tr_only | ( | const Treal | alpha, |
| const Matrix< Treal, Telement > & | A, | ||
| const Matrix< Treal, Telement > & | B, | ||
| const Treal | beta, | ||
| Matrix< Treal, Telement > & | C | ||
| ) | [static] |
References MAT_OMP_INIT, MAT_OMP_START, mat::symm(), mat::gemm(), MAT_OMP_END, and MAT_OMP_FINALIZE.
| void mat::Matrix::sy_gersgorin | ( | Treal & | lmin, |
| Treal & | lmax | ||
| ) | const [inline] |
| size_t mat::Matrix::sy_nnz | ( | ) | const |
Returns number of nonzeros in matrix including lower triangle elements.
| size_t mat::Matrix::sy_nvalues | ( | ) | const |
Returns number of stored values in matrix.
Lower triangle is not included. Lower triangle in diagonal submatrices is not included as well. Different from sy_nnz().
| Treal mat::Matrix::sy_trace_ab | ( | const Matrix< Treal, Telement > & | A, |
| const Matrix< Treal, Telement > & | B | ||
| ) | [static] |
| Treal mat::Matrix::syAccumulateWith | ( | Top & | op | ) | [inline] |
References mat::MatrixHierarchicBase< Treal, Telement >::ncols(), and geAccumulateWith().
| void mat::Matrix::syAddValues | ( | std::vector< int > const & | rowind, |
| std::vector< int > const & | colind, | ||
| std::vector< Treal > const & | values | ||
| ) |
| void mat::Matrix::syAssignDiffFrobNormsLowestLevel | ( | Matrix< Treal, Matrix< Treal, Telement > > const & | A, |
| Matrix< Treal, Matrix< Treal, Telement > > const & | B | ||
| ) |
Same as syAssignFrobNormsLowestLevel except that the Frobenius norms of the differences between submatrices of A and B are assigned.
| void mat::Matrix::syAssignFrobNormsLowestLevel | ( | Matrix< Treal, Matrix< Treal, Telement > > const & | A | ) |
Version of assignFrobNormsLowestLevelToMatrix for symmetric matrices.
Referenced by mat::Matrix< Treal >::syAssignDiffFrobNormsLowestLevel().
| void mat::Matrix::syAssignFromSparse | ( | std::vector< int > const & | rowind, |
| std::vector< int > const & | colind, | ||
| std::vector< Treal > const & | values | ||
| ) |
| Treal mat::Matrix::syFrob | ( | ) | const [inline] |
References template_blas_sqrt(), and syFrobSquared().
| static Treal mat::Matrix::syFrobDiff | ( | const Matrix< Treal, Telement > & | A, |
| const Matrix< Treal, Telement > & | B | ||
| ) | [inline, static] |
References template_blas_sqrt(), and syFrobSquaredDiff().
| Treal mat::Matrix::syFrobSquared | ( | ) | const |
Referenced by syFrob(), and mat::Matrix< Treal >::syFrob().
| Treal mat::Matrix::syFrobSquaredDiff | ( | const Matrix< Treal, Telement > & | A, |
| const Matrix< Treal, Telement > & | B | ||
| ) | [static] |
Referenced by syFrobDiff(), and mat::Matrix< Treal >::syFrobDiff().
| void mat::Matrix::syFullMatrix | ( | std::vector< Treal > & | fullMat | ) | const |
| void mat::Matrix::syGetAllValues | ( | std::vector< int > & | rowind, |
| std::vector< int > & | colind, | ||
| std::vector< Treal > & | values | ||
| ) | const |
| void mat::Matrix::syGetValues | ( | std::vector< int > const & | rowind, |
| std::vector< int > const & | colind, | ||
| std::vector< Treal > & | values | ||
| ) | const |
| void mat::Matrix::syInch | ( | const Matrix< Treal, Telement > & | A, |
| Matrix< Treal, Telement > & | Z, | ||
| const Treal | threshold = 0, |
||
| const side | looking = left, |
||
| const inchversion | version = unstable |
||
| ) | [static] |
References mat::stable, mat::left, mat::gemm(), mat::trmm(), and mat::right.
| void mat::Matrix::symm | ( | const char | side, |
| const char | uplo, | ||
| const Treal | alpha, | ||
| const Matrix< Treal, Telement > & | A, | ||
| const Matrix< Treal, Telement > & | B, | ||
| const Treal | beta, | ||
| Matrix< Treal, Telement > & | C | ||
| ) | [static] |
References MAT_OMP_INIT, MAT_OMP_START, mat::symm(), mat::gemm(), MAT_OMP_END, and MAT_OMP_FINALIZE.
Referenced by mat::Matrix< Treal >::ssmm().
| void mat::Matrix::symToNosym | ( | ) |
References mat::transpose().
| void mat::Matrix::syRandom | ( | ) |
Referenced by mat::Matrix< Treal >::syRandomZeroStructure().
| void mat::Matrix::syRandomZeroStructure | ( | Treal | probabilityBeingZero | ) |
| void mat::Matrix::syrk | ( | const char | uplo, |
| const bool | tA, | ||
| const Treal | alpha, | ||
| const Matrix< Treal, Telement > & | A, | ||
| const Treal | beta, | ||
| Matrix< Treal, Telement > & | C | ||
| ) | [static] |
References MAT_OMP_INIT, MAT_OMP_START, mat::syrk(), MAT_OMP_END, mat::gemm(), and MAT_OMP_FINALIZE.
Referenced by mat::Matrix< Treal >::syrk(), and mat::Matrix< Treal >::sysq().
| void mat::Matrix::sySetElementsByRule | ( | TRule & | rule | ) |
Referenced by trSetElementsByRule().
| void mat::Matrix::sysq | ( | const char | uplo, |
| const Treal | alpha, | ||
| const Matrix< Treal, Telement > & | A, | ||
| const Treal | beta, | ||
| Matrix< Treal, Telement > & | C | ||
| ) | [static] |
References MAT_OMP_INIT, MAT_OMP_START, mat::syrk(), MAT_OMP_END, mat::symm(), mat::gemm(), and MAT_OMP_FINALIZE.
| void mat::Matrix::sytr_upper_tr_only | ( | char const | side, |
| const Treal | alpha, | ||
| Matrix< Treal, Telement > & | A, | ||
| const Matrix< Treal, Telement > & | Z | ||
| ) | [static] |
References mat::trmm(), mat::symm(), and mat::gemm().
Referenced by trsytriplemm(), and mat::Matrix< Treal >::trsytriplemm().
| void mat::Matrix::syUpTriFullMatrix | ( | std::vector< Treal > & | fullMat | ) | const |
| Treal mat::Matrix::trace | ( | ) | const |
References mat::trace().
| Treal mat::Matrix::trace_ab | ( | const Matrix< Treal, Telement > & | A, |
| const Matrix< Treal, Telement > & | B | ||
| ) | [static] |
| Treal mat::Matrix::trace_aTb | ( | const Matrix< Treal, Telement > & | A, |
| const Matrix< Treal, Telement > & | B | ||
| ) | [static] |
| void mat::Matrix::transpose | ( | Matrix< Treal, Telement > const & | A, |
| Matrix< Treal, Telement > & | AT | ||
| ) | [static] |
References mat::transpose().
| void mat::Matrix::trmm | ( | const char | side, |
| const char | uplo, | ||
| const bool | tA, | ||
| const Treal | alpha, | ||
| const Matrix< Treal, Telement > & | A, | ||
| Matrix< Treal, Telement > & | B | ||
| ) | [static] |
References mat::trmm(), and mat::gemm().
Referenced by mat::Matrix< Treal >::trmm(), mat::Matrix< Treal >::sytr_upper_tr_only(), and mat::Matrix< Treal >::trmm_upper_tr_only().
| void mat::Matrix::trmm_upper_tr_only | ( | const char | side, |
| const char | uplo, | ||
| const bool | tA, | ||
| const Treal | alpha, | ||
| const Matrix< Treal, Telement > & | A, | ||
| Matrix< Treal, Telement > & | B | ||
| ) | [static] |
References mat::trmm(), and mat::gemm().
Referenced by trsytriplemm(), and mat::Matrix< Treal >::trsytriplemm().
| void mat::Matrix::trSetElementsByRule | ( | TRule & | rule | ) | [inline] |
References sySetElementsByRule().
| void mat::Matrix::trsytriplemm | ( | char const | side, |
| const Matrix< Treal, Telement > & | Z, | ||
| Matrix< Treal, Telement > & | A | ||
| ) | [static] |
References sytr_upper_tr_only(), and trmm_upper_tr_only().
| void mat::Matrix::truncateAccordingToSparsityPattern | ( | Matrix< Treal, Matrix< Treal, Telement > > & | A | ) | const |
Truncate matrix A according to the sparsity pattern of the this matrix (frobNormMat).
| void mat::Matrix::writeToFile | ( | std::ofstream & | file | ) | const |
friend class Vector< Treal, Telement > [friend] |