Public Member Functions |
| TUniformBlockVector (const TIndexSet &ais, const TClusterBasis< real > *acb, const BLAS::Vector< real > &acoeff, const std::vector< TUniformVector * > &asubvec) |
| TUniformBlockVector (const TIndexSet &ais, const TClusterBasis< complex > *acb, const BLAS::Vector< complex > &acoeff, const std::vector< TUniformVector * > &asubvec) |
| TUniformBlockVector (const TUniformBlockVector &v) |
| copy constructor
|
virtual | ~TUniformBlockVector () |
| destructor
|
virtual uint | n_blocks () const |
| return number of blocks
|
TUniformVector * | block (const uint i) |
| access single vector block
|
const TUniformVector * | block (const uint i) const |
| access single vector block
|
virtual real | entry (const idx_t) const |
| access coefficent i (real valued)
|
virtual const complex | centry (const idx_t) const |
| access coefficent i (complex valued)
|
virtual void | fill (const real alpha) |
| fill vector with constant α
|
virtual void | fill_rand (const uint seed) |
| fill vector with random numbers
|
virtual void | scale (const real alpha) |
| set this ≔ α · this
|
virtual void | assign (const real alpha, const TVector *x) |
| set this ≔ α · x
|
virtual real | norm2 () const |
| compute ‖·‖₂
|
virtual real | norm_inf () const |
| compute ‖·‖∞
|
virtual void | axpy (const real alpha, const TVector *x) |
| set this ≔ this + α · x
|
virtual void | cfill (const complex &alpha) |
| conjugate coefficients
|
virtual void | cscale (const complex &alpha) |
| set this ≔ α · this
|
virtual void | cassign (const complex &alpha, const TVector *x) |
| set this ≔ α · x
|
virtual complex | dot (const TVector *x) const |
| return inner product <this, x>
|
virtual void | caxpy (const complex &f, const TVector *x) |
| set this ≔ this + α · x
|
virtual typeid_t | type () const |
| return type of vector
|
virtual bool | is_type (const typeid_t t) const |
| return true if local object is of given type t
|
virtual size_t | byte_size () const |
| return size in bytes used by this object
|
virtual TVector * | copy () const |
| return copy of vector
|
virtual TVector * | create () const |
| return object of same class
|
virtual TVector * | restrict_re () const |
| return vector restricted to real part of coefficients
|
virtual TVector * | restrict_im () const |
| return vector restricted to imaginary part of coefficients
|
virtual void | read (TByteStream &s) |
| read vector from stream
|
virtual void | write (TByteStream &s) const |
| write vector to stream
|
virtual size_t | bs_size () const |
| returns size of object in bytestream
|
virtual void | sum (const TProcSet &ps) |
| pointwise summation between all vectors in ps
|
| TUniformVector (const TIndexSet &ais, const TClusterBasis< real > *acb, const BLAS::Vector< real > &acoeff) |
| TUniformVector (const TIndexSet &ais, const TClusterBasis< complex > *acb, const BLAS::Vector< complex > &acoeff) |
| TUniformVector (const TUniformVector &v) |
| copy constructor
|
virtual | ~TUniformVector () |
| destructor
|
virtual size_t | size () const |
| return size of vector
|
virtual size_t | rank () const |
| return rank of vector, e.g. rank of cluster basis
|
const TClusterBasis< real > * | rbasis () const |
| return basis coefficients
|
BLAS::Vector< real > & | rcoeff () |
| return basis coefficients
|
virtual void | set_size (const size_t n) |
| set size of vector
|
virtual void | set_cluster (const TCluster *c) |
| define vector by cluster
|
virtual void | set_is (const TIndexSet &ais) |
| define vector by indexset
|
virtual void | conjugate () |
| conjugate coefficients
|
| TVector (const idx_t offset=0, const bool use_complex=false) |
| construct real or complex valued vector with first index offset
|
virtual | ~TVector () |
| dtor
|
idx_t | ofs () const |
| return first index (offset)
|
virtual void | set_ofs (const idx_t n) |
| set first index (offset)
|
TIndexSet | is () const |
| return index set
|
bool | is_complex () const |
| return true if vector is complex valued
|
void | set_complex (const bool b) |
| change between real and complex valued representation
|
virtual void | set_entry (const idx_t i, const real f) |
| set i'th entry
|
virtual void | set_centry (const idx_t i, const complex f) |
| set i'th entry
|
TVector & | operator= (const TVector &v) |
| copy operator for all vectors
|
virtual size_t | global_byte_size () const |
virtual void | sum (const TProcSet &p, const uint pid, const uint nparts, TByteStream *bs=NULL) |
virtual void | print (const uint ofs=0) const |
| print vector to stdout
|
virtual String | typestr () const |
| return string representation of type
|
In contrast to a TBlockVector, a TUniformBlockVector stores only uniform sub vectors and, furthermore, also contains local data. Hence, the data of the whole vector is not stored in the leaf vectors alone, as in the case of a TBlockVector, but is distributed through the complete hierarchy of a TUniformBlockVector.