#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] |