#include <Vector.h>
Public Types | |
| typedef Telement | ElementType |
Public Member Functions | |
| Vector () | |
| void | allocate () |
| void | assignFromFull (std::vector< Treal > const &fullVector) |
| void | addFromFull (std::vector< Treal > const &fullVector) |
| void | fullVector (std::vector< Treal > &fullVector) const |
| Vector< Treal, Telement > & | operator= (const Vector< Treal, Telement > &vec) |
| void | clear () |
| void | writeToFile (std::ofstream &file) const |
| void | readFromFile (std::ifstream &file) |
| Vector< Treal, Telement > & | operator= (int const k) |
| void | randomNormalized () |
| void | random () |
| Treal | eucl () const |
| Vector< Treal, Telement > & | operator*= (const Treal alpha) |
Static Public Member Functions | |
| static Treal | dot (Vector< Treal, Telement > const &x, Vector< Treal, Telement > const &y) |
| static void | axpy (Treal const &alpha, Vector< Treal, Telement > const &x, Vector< Treal, Telement > &y) |
| template<typename TmatrixElement > | |
| static void | gemv (bool const tA, Treal const alpha, Matrix< Treal, TmatrixElement > const &A, Vector< Treal, Telement > const &x, Treal const beta, Vector< Treal, Telement > &y) |
| gemv: y = alpha * A * x + beta * y, or y = alpha * transpose(A) * x + beta * y | |
| template<typename TmatrixElement > | |
| static void | symv (char const uplo, Treal const alpha, Matrix< Treal, TmatrixElement > const &A, Vector< Treal, Telement > const &x, Treal const beta, Vector< Treal, Telement > &y) |
| symv: y = alpha * A * x + beta * y, where A is symmetric | |
| template<typename TmatrixElement > | |
| static void | trmv (char const uplo, const bool tA, Matrix< Treal, TmatrixElement > const &A, Vector< Treal, Telement > &x) |
| trmv: x = A * x, or x = transpose(A) * x, where A is triangular | |
Vector class.
This class is used to obtain the hierarchic vector data structure.
| typedef Telement mat::Vector< Treal, Telement >::ElementType |
| mat::Vector< Treal, Telement >::Vector | ( | ) | [inline] |
| void mat::Vector< Treal, Telement >::addFromFull | ( | std::vector< Treal > const & | fullVector | ) | [inline] |
| void mat::Vector< Treal, Telement >::allocate | ( | ) | [inline] |
References mat::VectorHierarchicBase< Treal, Telement >::elements, mat::SizesAndBlocks::getNBlocks(), mat::SizesAndBlocks::getSizesAndBlocksForLowerLevel(), mat::VectorHierarchicBase< Treal, Telement >::is_empty(), mat::VectorHierarchicBase< Treal, Telement >::is_zero(), mat::VectorHierarchicBase< Treal, Telement >::n(), mat::VectorHierarchicBase< Treal, Telement >::resetRows(), and mat::VectorHierarchicBase< Treal, Telement >::rows.
Referenced by mat::Vector< Treal >::addFromFull(), mat::Vector< Treal, Telement >::addFromFull(), mat::Vector< Treal, Telement >::axpy(), mat::Vector< Treal, Telement >::gemv(), mat::Vector< Treal >::random(), mat::Vector< Treal, Telement >::random(), mat::Vector< Treal >::readFromFile(), mat::Vector< Treal, Telement >::readFromFile(), and mat::Vector< Treal, Telement >::symv().
| void mat::Vector< Treal, Telement >::assignFromFull | ( | std::vector< Treal > const & | fullVector | ) | [inline] |
References mat::Vector< Treal, Telement >::addFromFull().
| void mat::Vector< Treal, Telement >::axpy | ( | Treal const & | alpha, | |
| Vector< Treal, Telement > const & | x, | |||
| Vector< Treal, Telement > & | y | |||
| ) | [inline, static] |
| void mat::Vector< Treal, Telement >::clear | ( | ) | [inline] |
References mat::VectorHierarchicBase< Treal, Telement >::elements, and mat::freeElements().
Referenced by mat::Vector< Treal >::operator=(), and mat::Vector< Treal, Telement >::operator=().
| Treal mat::Vector< Treal, Telement >::dot | ( | Vector< Treal, Telement > const & | x, | |
| Vector< Treal, Telement > const & | y | |||
| ) | [inline, static] |
| Treal mat::Vector< Treal, Telement >::eucl | ( | ) | const [inline] |
References mat::Vector< Treal, Telement >::dot(), and template_blas_sqrt().
Referenced by mat::Vector< Treal >::randomNormalized(), and mat::Vector< Treal, Telement >::randomNormalized().
| void mat::Vector< Treal, Telement >::fullVector | ( | std::vector< Treal > & | fullVector | ) | const [inline] |
References mat::SizesAndBlocks::getNTotalScalars(), mat::SizesAndBlocks::getOffset(), mat::VectorHierarchicBase< Treal, Telement >::is_zero(), mat::VectorHierarchicBase< Treal, Telement >::n(), mat::VectorHierarchicBase< Treal, Telement >::nScalars(), and mat::VectorHierarchicBase< Treal, Telement >::rows.
| void mat::Vector< Treal, Telement >::gemv | ( | bool const | tA, | |
| Treal const | alpha, | |||
| Matrix< Treal, TmatrixElement > const & | A, | |||
| Vector< Treal, Telement > const & | x, | |||
| Treal const | beta, | |||
| Vector< Treal, Telement > & | y | |||
| ) | [inline, static] |
gemv: y = alpha * A * x + beta * y, or y = alpha * transpose(A) * x + beta * y
References mat::Vector< Treal, Telement >::allocate(), mat::gemv(), mat::VectorHierarchicBase< Treal, Telement >::is_empty(), mat::VectorHierarchicBase< Treal, Telement >::is_zero(), MAT_OMP_END, MAT_OMP_FINALIZE, MAT_OMP_INIT, MAT_OMP_START, mat::VectorHierarchicBase< Treal, Telement >::n(), mat::MatrixHierarchicBase< Treal, Telement >::ncols(), mat::MatrixHierarchicBase< Treal, Telement >::nrows(), mat::VectorHierarchicBase< Treal, Telement >::resetRows(), and mat::VectorHierarchicBase< Treal, Telement >::rows.
Referenced by mat::Vector< Treal >::gemv().
| Vector< Treal, Telement > & mat::Vector< Treal, Telement >::operator*= | ( | const Treal | alpha | ) | [inline] |
| Vector< Treal, Telement > & mat::Vector< Treal, Telement >::operator= | ( | int const | k | ) | [inline] |
References mat::Vector< Treal, Telement >::clear().
| Vector<Treal, Telement>& mat::Vector< Treal, Telement >::operator= | ( | const Vector< Treal, Telement > & | vec | ) | [inline] |
Reimplemented from mat::VectorHierarchicBase< Treal, Telement >.
Referenced by mat::Vector< Treal >::operator=().
| void mat::Vector< Treal, Telement >::random | ( | ) | [inline] |
| void mat::Vector< Treal, Telement >::randomNormalized | ( | ) | [inline] |
| void mat::Vector< Treal, Telement >::readFromFile | ( | std::ifstream & | file | ) | [inline] |
| void mat::Vector< Treal, Telement >::symv | ( | char const | uplo, | |
| Treal const | alpha, | |||
| Matrix< Treal, TmatrixElement > const & | A, | |||
| Vector< Treal, Telement > const & | x, | |||
| Treal const | beta, | |||
| Vector< Treal, Telement > & | y | |||
| ) | [inline, static] |
symv: y = alpha * A * x + beta * y, where A is symmetric
References mat::Vector< Treal, Telement >::allocate(), mat::gemv(), mat::VectorHierarchicBase< Treal, Telement >::is_empty(), mat::VectorHierarchicBase< Treal, Telement >::is_zero(), MAT_OMP_END, MAT_OMP_FINALIZE, MAT_OMP_INIT, MAT_OMP_START, mat::VectorHierarchicBase< Treal, Telement >::n(), mat::MatrixHierarchicBase< Treal, Telement >::ncols(), mat::MatrixHierarchicBase< Treal, Telement >::nrows(), mat::VectorHierarchicBase< Treal, Telement >::resetRows(), and mat::VectorHierarchicBase< Treal, Telement >::rows.
Referenced by mat::Vector< Treal >::symv().
| void mat::Vector< Treal, Telement >::trmv | ( | char const | uplo, | |
| const bool | tA, | |||
| Matrix< Treal, TmatrixElement > const & | A, | |||
| Vector< Treal, Telement > & | x | |||
| ) | [inline, static] |
trmv: x = A * x, or x = transpose(A) * x, where A is triangular
References mat::gemv(), mat::VectorHierarchicBase< Treal, Telement >::is_zero(), mat::VectorHierarchicBase< Treal, Telement >::n(), mat::MatrixHierarchicBase< Treal, Telement >::ncols(), and mat::MatrixHierarchicBase< Treal, Telement >::nrows().
Referenced by mat::Vector< Treal >::trmv().
| void mat::Vector< Treal, Telement >::writeToFile | ( | std::ofstream & | file | ) | const [inline] |
1.6.1