BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
belfem::Vector< T > Class Template Reference

Column vector. More...

#include <cl_AR_Vector.hpp>

Public Types

typedef arma::Mat< T > VectorType
typedef blaze::DynamicVector< T, blaze::columnVector > VectorType

Public Member Functions

 Vector ()=default
 empty constructor
 Vector (const size_t aNumRows)
 Constructor without fill value.
 Vector (const size_t aNumRows, const T &aValue)
 Constructor with fill value.
 Vector (std::initializer_list< T > aInitList)
 Constructor with initializer list.
 Vector (const Cell< T > &aCell)
 Vector (const std::vector< T > &aVector)
 Vector (const VectorType &aExpression)
 Constructor from expression.
template<typename ET, typename OP>
 Vector (const arma::Op< ET, OP > &aExpression)
 Constructor from expression.
 Vector (const arma::subview_col< T > &aCol)
 Constructor from column.
 Vector (const arma::subview_row< T > &aRow)
 Constructor from row.
 Vector (const Vector< T > &aVector)
 copy constructor
 Vector (Vector< T > &&aVector) noexcept
 move constructor
virtual ~Vector ()=default
 empty destructor
T * data ()
 expose the underlying raw pointer ( writable version )
const T * data () const
 expose the underlying raw pointer ( const version )
VectorTypevector_data ()
 expose the underlying matrix implementation ( writable version )
const VectorTypevector_data () const
void fill (const T &aValue)
 write value into all entries of the vector
void set_size (const size_t aNumRows)
 change the size of the vector
void set_size (const size_t aNumRows, const T &aValue)
size_t length () const
 get the length of the vector
Vector< T > & operator= (Vector< T > &&aVector) noexcept
 move assignment operator
Vector< T > & operator= (const Vector< T > &aVector)
 copy assignment operator
T & operator() (const size_t aIndex)
const T & operator() (const size_t aIndex) const
auto begin () -> decltype(mVector.begin())
auto end () -> decltype(mVector.end())
auto begin () const -> decltype(mVector.begin())
auto end () const -> decltype(mVector.end())
Vector< T > & operator= (const T &aValue)
Vector< T > & operator= (std::initializer_list< T > aInitList)
template<typename ET>
Vector< T > & operator= (const ET &aExpression)
Vector< T > & operator+= (const T &aValue)
Vector< T > & operator+= (const Vector< T > &aVector)
Vector< T > & operator+= (const VectorType &aExpression)
template<typename ET>
Vector< T > & operator+= (const ET &aExpression)
Vector< T > & operator-= (const T &aValue)
Vector< T > & operator-= (const Vector< T > &aVector)
Vector< T > & operator-= (const VectorType &aExpression)
template<typename ET>
Vector< T > & operator-= (const ET &aExpression)
Vector< T > & operator*= (const T &aValue)
Vector< T > & operator*= (const Vector< T > &aVector)
Vector< T > & operator*= (const VectorType &aExpression)
Vector< T > & operator%= (const Vector< T > &aVector)
template<typename ET>
Vector< T > & operator*= (const ET &aExpression)
Vector< T > & operator/= (const T &aValue)
void print (const std::string aLabel="Vector") const
 Vector ()=default
 empty constructor
 Vector (const size_t aNumRows)
 Constructor without fill value.
 Vector (const size_t aNumRows, const T &aValue)
 Constructor with fill value.
 Vector (std::initializer_list< T > aInitList)
 Constructor with initializer list.
 Vector (const VectorType &aExpression)
 Constructor from expression.
 Vector (const Cell< T > &aCell)
 Vector (const std::vector< T > &aVector)
template<typename VT>
 Vector (const blaze::DenseVector< VT, false > &aExpression)
 Constructor from column vector expression (TF=false).
template<typename VT>
 Vector (const blaze::DenseVector< VT, true > &aExpression)
 Constructor from row vector expression (TF=true), transposes to column.
 Vector (const blaze::Columns< blaze::DynamicMatrix< T, true >, true, true, false > &aColumn)
 Constructor from column.
 Vector (const blaze::Rows< blaze::DynamicMatrix< T, true >, false, true, false > &aRow)
 Constructor from row.
 Vector (const Vector< T > &aVector)
 copy constructor
 Vector (Vector< T > &&aVector) noexcept
 move constructor
virtual ~Vector ()=default
 empty destructor
T * data ()
 expose the underlying raw pointer ( writable version )
const T * data () const
 expose the underlying raw pointer ( const version )
VectorTypevector_data ()
 expose the underlying matrix implementation ( writable version )
const VectorTypevector_data () const
 expose the underlying matrix implementation ( const version )
void fill (const T &aValue)
 write value into all entries of the vector
void set_size (const size_t aNumRows)
 change the size of the vector
void set_size (const size_t aNumRows, const T &aValue)
size_t length () const
 get the length of the vector
Vector< T > & operator= (Vector< T > &&aVector) noexcept
 move assignment operator
Vector< T > & operator= (const Vector< T > &aVector)
 copy assignment operator
T & operator() (const size_t aIndex)
const T & operator() (const size_t aIndex) const
T * begin ()
T * end ()
const T * begin () const
auto end () const
Vector< T > & operator= (const T &aValue)
Vector< T > & operator= (std::initializer_list< T > aInitList)
template<typename ET>
Vector< T > & operator= (const ET &aExpression)
Vector< T > & operator+= (const T &aValue)
Vector< T > & operator+= (const Vector< T > &aVector)
template<typename ET>
Vector< T > & operator+= (const blaze::DMatScalarMultExpr< ET, T, false > &aExpression)
Vector< T > & operator-= (const T &aValue)
Vector< T > & operator-= (const Vector< T > &aVector)
template<typename ET>
Vector< T > & operator-= (const blaze::DMatScalarMultExpr< ET, T, false > &aExpression)
Vector< T > & operator*= (const T &aValue)
Vector< T > & operator*= (const Vector< T > &aVector)
Vector< T > & operator*= (const VectorType &aExpression)
Vector< T > & operator%= (const Vector< T > &aVector)
template<typename ET>
Vector< T > & operator*= (const ET &aExpression)
Vector< T > & operator/= (const T &aValue)
void print (const std::string aLabel="Vector") const
void print (const std::string aLabel) const
void print (const std::string aLabel) const

Detailed Description

template<typename T>
class belfem::Vector< T >

Column vector.

The backend (Armadillo or Blaze) is chosen at build time; both provide the same belfem::Vector interface.

See also
LAPACK Wrapper Usage Guide

Member Typedef Documentation

◆ VectorType [1/2]

template<typename T>
typedef arma::Mat<T> belfem::Vector< T >::VectorType

◆ VectorType [2/2]

template<typename T>
typedef blaze::DynamicVector<T, blaze::columnVector> belfem::Vector< T >::VectorType

Constructor & Destructor Documentation

◆ Vector() [1/25]

template<typename T>
belfem::Vector< T >::Vector ( )
default

empty constructor

◆ Vector() [2/25]

template<typename T>
belfem::Vector< T >::Vector ( const size_t aNumRows)
inline

Constructor without fill value.

◆ Vector() [3/25]

template<typename T>
belfem::Vector< T >::Vector ( const size_t aNumRows,
const T & aValue )
inline

Constructor with fill value.

◆ Vector() [4/25]

template<typename T>
belfem::Vector< T >::Vector ( std::initializer_list< T > aInitList)
inline

Constructor with initializer list.

◆ Vector() [5/25]

template<typename T>
belfem::Vector< T >::Vector ( const Cell< T > & aCell)
inline

◆ Vector() [6/25]

template<typename T>
belfem::Vector< T >::Vector ( const std::vector< T > & aVector)
inline

◆ Vector() [7/25]

template<typename T>
belfem::Vector< T >::Vector ( const VectorType & aExpression)
inline

Constructor from expression.

◆ Vector() [8/25]

template<typename T>
template<typename ET, typename OP>
belfem::Vector< T >::Vector ( const arma::Op< ET, OP > & aExpression)
inline

Constructor from expression.

◆ Vector() [9/25]

template<typename T>
belfem::Vector< T >::Vector ( const arma::subview_col< T > & aCol)
inline

Constructor from column.

◆ Vector() [10/25]

template<typename T>
belfem::Vector< T >::Vector ( const arma::subview_row< T > & aRow)
inline

Constructor from row.

◆ Vector() [11/25]

template<typename T>
belfem::Vector< T >::Vector ( const Vector< T > & aVector)
inline

copy constructor

◆ Vector() [12/25]

template<typename T>
belfem::Vector< T >::Vector ( Vector< T > && aVector)
inlinenoexcept

move constructor

◆ ~Vector() [1/2]

template<typename T>
virtual belfem::Vector< T >::~Vector ( )
virtualdefault

empty destructor

◆ Vector() [13/25]

template<typename T>
belfem::Vector< T >::Vector ( )
default

empty constructor

◆ Vector() [14/25]

template<typename T>
belfem::Vector< T >::Vector ( const size_t aNumRows)
inline

Constructor without fill value.

◆ Vector() [15/25]

template<typename T>
belfem::Vector< T >::Vector ( const size_t aNumRows,
const T & aValue )
inline

Constructor with fill value.

◆ Vector() [16/25]

template<typename T>
belfem::Vector< T >::Vector ( std::initializer_list< T > aInitList)
inline

Constructor with initializer list.

◆ Vector() [17/25]

template<typename T>
belfem::Vector< T >::Vector ( const VectorType & aExpression)
inline

Constructor from expression.

◆ Vector() [18/25]

template<typename T>
belfem::Vector< T >::Vector ( const Cell< T > & aCell)
inline

◆ Vector() [19/25]

template<typename T>
belfem::Vector< T >::Vector ( const std::vector< T > & aVector)
inline

◆ Vector() [20/25]

template<typename T>
template<typename VT>
belfem::Vector< T >::Vector ( const blaze::DenseVector< VT, false > & aExpression)
inline

Constructor from column vector expression (TF=false).

◆ Vector() [21/25]

template<typename T>
template<typename VT>
belfem::Vector< T >::Vector ( const blaze::DenseVector< VT, true > & aExpression)
inline

Constructor from row vector expression (TF=true), transposes to column.

◆ Vector() [22/25]

template<typename T>
belfem::Vector< T >::Vector ( const blaze::Columns< blaze::DynamicMatrix< T, true >, true, true, false > & aColumn)
inline

Constructor from column.

◆ Vector() [23/25]

template<typename T>
belfem::Vector< T >::Vector ( const blaze::Rows< blaze::DynamicMatrix< T, true >, false, true, false > & aRow)
inline

Constructor from row.

◆ Vector() [24/25]

template<typename T>
belfem::Vector< T >::Vector ( const Vector< T > & aVector)
inline

copy constructor

◆ Vector() [25/25]

template<typename T>
belfem::Vector< T >::Vector ( Vector< T > && aVector)
inlinenoexcept

move constructor

◆ ~Vector() [2/2]

template<typename T>
virtual belfem::Vector< T >::~Vector ( )
virtualdefault

empty destructor

Member Function Documentation

◆ begin() [1/4]

template<typename T>
T * belfem::Vector< T >::begin ( )
inline

◆ begin() [2/4]

template<typename T>
auto belfem::Vector< T >::begin ( ) -> decltype(mVector.begin())
inline

◆ begin() [3/4]

template<typename T>
const T * belfem::Vector< T >::begin ( ) const
inline

◆ begin() [4/4]

template<typename T>
auto belfem::Vector< T >::begin ( ) const -> decltype(mVector.begin())
inline

◆ data() [1/4]

template<typename T>
T * belfem::Vector< T >::data ( )
inline

expose the underlying raw pointer ( writable version )

◆ data() [2/4]

template<typename T>
T * belfem::Vector< T >::data ( )
inline

expose the underlying raw pointer ( writable version )

◆ data() [3/4]

template<typename T>
const T * belfem::Vector< T >::data ( ) const
inline

expose the underlying raw pointer ( const version )

◆ data() [4/4]

template<typename T>
const T * belfem::Vector< T >::data ( ) const
inline

expose the underlying raw pointer ( const version )

◆ end() [1/4]

template<typename T>
T * belfem::Vector< T >::end ( )
inline

◆ end() [2/4]

template<typename T>
auto belfem::Vector< T >::end ( ) -> decltype(mVector.end())
inline

◆ end() [3/4]

template<typename T>
auto belfem::Vector< T >::end ( ) const
inline

◆ end() [4/4]

template<typename T>
auto belfem::Vector< T >::end ( ) const -> decltype(mVector.end())
inline

◆ fill() [1/2]

template<typename T>
void belfem::Vector< T >::fill ( const T & aValue)
inline

write value into all entries of the vector

◆ fill() [2/2]

template<typename T>
void belfem::Vector< T >::fill ( const T & aValue)
inline

write value into all entries of the vector

◆ length() [1/2]

template<typename T>
size_t belfem::Vector< T >::length ( ) const
inline

get the length of the vector

◆ length() [2/2]

template<typename T>
size_t belfem::Vector< T >::length ( ) const
inline

get the length of the vector

◆ operator%=() [1/2]

template<typename T>
Vector< T > & belfem::Vector< T >::operator%= ( const Vector< T > & aVector)
inline

◆ operator%=() [2/2]

template<typename T>
Vector< T > & belfem::Vector< T >::operator%= ( const Vector< T > & aVector)
inline

◆ operator()() [1/4]

template<typename T>
T & belfem::Vector< T >::operator() ( const size_t aIndex)
inline

◆ operator()() [2/4]

template<typename T>
T & belfem::Vector< T >::operator() ( const size_t aIndex)
inline

◆ operator()() [3/4]

template<typename T>
const T & belfem::Vector< T >::operator() ( const size_t aIndex) const
inline

◆ operator()() [4/4]

template<typename T>
const T & belfem::Vector< T >::operator() ( const size_t aIndex) const
inline

◆ operator*=() [1/8]

template<typename T>
template<typename ET>
Vector< T > & belfem::Vector< T >::operator*= ( const ET & aExpression)
inline

◆ operator*=() [2/8]

template<typename T>
template<typename ET>
Vector< T > & belfem::Vector< T >::operator*= ( const ET & aExpression)
inline

◆ operator*=() [3/8]

template<typename T>
Vector< T > & belfem::Vector< T >::operator*= ( const T & aValue)
inline

◆ operator*=() [4/8]

template<typename T>
Vector< T > & belfem::Vector< T >::operator*= ( const T & aValue)
inline

◆ operator*=() [5/8]

template<typename T>
Vector< T > & belfem::Vector< T >::operator*= ( const Vector< T > & aVector)
inline

◆ operator*=() [6/8]

template<typename T>
Vector< T > & belfem::Vector< T >::operator*= ( const Vector< T > & aVector)
inline

◆ operator*=() [7/8]

template<typename T>
Vector< T > & belfem::Vector< T >::operator*= ( const VectorType & aExpression)
inline

◆ operator*=() [8/8]

template<typename T>
Vector< T > & belfem::Vector< T >::operator*= ( const VectorType & aExpression)
inline

◆ operator+=() [1/7]

template<typename T>
template<typename ET>
Vector< T > & belfem::Vector< T >::operator+= ( const blaze::DMatScalarMultExpr< ET, T, false > & aExpression)
inline

◆ operator+=() [2/7]

template<typename T>
template<typename ET>
Vector< T > & belfem::Vector< T >::operator+= ( const ET & aExpression)
inline

◆ operator+=() [3/7]

template<typename T>
Vector< T > & belfem::Vector< T >::operator+= ( const T & aValue)
inline

◆ operator+=() [4/7]

template<typename T>
Vector< T > & belfem::Vector< T >::operator+= ( const T & aValue)
inline

◆ operator+=() [5/7]

template<typename T>
Vector< T > & belfem::Vector< T >::operator+= ( const Vector< T > & aVector)
inline

◆ operator+=() [6/7]

template<typename T>
Vector< T > & belfem::Vector< T >::operator+= ( const Vector< T > & aVector)
inline

◆ operator+=() [7/7]

template<typename T>
Vector< T > & belfem::Vector< T >::operator+= ( const VectorType & aExpression)
inline

◆ operator-=() [1/7]

template<typename T>
template<typename ET>
Vector< T > & belfem::Vector< T >::operator-= ( const blaze::DMatScalarMultExpr< ET, T, false > & aExpression)
inline

◆ operator-=() [2/7]

template<typename T>
template<typename ET>
Vector< T > & belfem::Vector< T >::operator-= ( const ET & aExpression)
inline

◆ operator-=() [3/7]

template<typename T>
Vector< T > & belfem::Vector< T >::operator-= ( const T & aValue)
inline

◆ operator-=() [4/7]

template<typename T>
Vector< T > & belfem::Vector< T >::operator-= ( const T & aValue)
inline

◆ operator-=() [5/7]

template<typename T>
Vector< T > & belfem::Vector< T >::operator-= ( const Vector< T > & aVector)
inline

◆ operator-=() [6/7]

template<typename T>
Vector< T > & belfem::Vector< T >::operator-= ( const Vector< T > & aVector)
inline

◆ operator-=() [7/7]

template<typename T>
Vector< T > & belfem::Vector< T >::operator-= ( const VectorType & aExpression)
inline

◆ operator/=() [1/2]

template<typename T>
Vector< T > & belfem::Vector< T >::operator/= ( const T & aValue)
inline

◆ operator/=() [2/2]

template<typename T>
Vector< T > & belfem::Vector< T >::operator/= ( const T & aValue)
inline

◆ operator=() [1/10]

template<typename T>
template<typename ET>
Vector< T > & belfem::Vector< T >::operator= ( const ET & aExpression)
inline

◆ operator=() [2/10]

template<typename T>
template<typename ET>
Vector< T > & belfem::Vector< T >::operator= ( const ET & aExpression)
inline

◆ operator=() [3/10]

template<typename T>
Vector< T > & belfem::Vector< T >::operator= ( const T & aValue)
inline

◆ operator=() [4/10]

template<typename T>
Vector< T > & belfem::Vector< T >::operator= ( const T & aValue)
inline

◆ operator=() [5/10]

template<typename T>
Vector< T > & belfem::Vector< T >::operator= ( const Vector< T > & aVector)
inline

copy assignment operator

◆ operator=() [6/10]

template<typename T>
Vector< T > & belfem::Vector< T >::operator= ( const Vector< T > & aVector)
inline

copy assignment operator

◆ operator=() [7/10]

template<typename T>
Vector< T > & belfem::Vector< T >::operator= ( std::initializer_list< T > aInitList)
inline

◆ operator=() [8/10]

template<typename T>
Vector< T > & belfem::Vector< T >::operator= ( std::initializer_list< T > aInitList)
inline

◆ operator=() [9/10]

template<typename T>
Vector< T > & belfem::Vector< T >::operator= ( Vector< T > && aVector)
inlinenoexcept

move assignment operator

◆ operator=() [10/10]

template<typename T>
Vector< T > & belfem::Vector< T >::operator= ( Vector< T > && aVector)
inlinenoexcept

move assignment operator

◆ print() [1/4]

void belfem::Vector< real >::print ( const std::string aLabel) const
inline

◆ print() [2/4]

void belfem::Vector< real >::print ( const std::string aLabel) const
inline

◆ print() [3/4]

template<typename T>
void belfem::Vector< T >::print ( const std::string aLabel = "Vector< T >") const

◆ print() [4/4]

template<typename T>
void belfem::Vector< T >::print ( const std::string aLabel = "Vector< T >") const

◆ set_size() [1/4]

template<typename T>
void belfem::Vector< T >::set_size ( const size_t aNumRows)
inline

change the size of the vector

◆ set_size() [2/4]

template<typename T>
void belfem::Vector< T >::set_size ( const size_t aNumRows)
inline

change the size of the vector

◆ set_size() [3/4]

template<typename T>
void belfem::Vector< T >::set_size ( const size_t aNumRows,
const T & aValue )
inline

◆ set_size() [4/4]

template<typename T>
void belfem::Vector< T >::set_size ( const size_t aNumRows,
const T & aValue )
inline

◆ vector_data() [1/4]

template<typename T>
VectorType & belfem::Vector< T >::vector_data ( )
inline

expose the underlying matrix implementation ( writable version )

◆ vector_data() [2/4]

template<typename T>
VectorType & belfem::Vector< T >::vector_data ( )
inline

expose the underlying matrix implementation ( writable version )

◆ vector_data() [3/4]

template<typename T>
const VectorType & belfem::Vector< T >::vector_data ( ) const
inline

◆ vector_data() [4/4]

template<typename T>
const VectorType & belfem::Vector< T >::vector_data ( ) const
inline

expose the underlying matrix implementation ( const version )


The documentation for this class was generated from the following files: