HLIBpro  3.0
TBlockVector< T_value > Class Template Reference

Class for a blocked, scalar vector.

#include <TBlockVector.hh>

Inheritance diagram for TBlockVector< T_value >:
TVector< T_value > TTypeInfo

Public Member Functions

 TBlockVector (const uint nb=0)
 construct block vector with nb sub blocks
 TBlockVector (const TIndexSet &ais, const std::vector< TVector< value_t > * > &ablocks)
virtual ~TBlockVector ()
virtual size_t size () const
 return size of vector
virtual uint n_blocks () const
 return number of blocks
TVector< value_t > * block (const uint i)
 access single vector block
const TVector< value_t > * block (const uint i) const
 access single vector block
void set_block (const uint i, TVector< value_t > *v)
 set single vector block
void set_block_struct (const uint i)
 setup block structure of vector
virtual value_t entry (const idx_t i) const
 return i'th entry
virtual void set_entry (const idx_t i, const value_t f)
 set i'th entry
virtual void conjugate ()
 conjugate entries
virtual void fill (const value_t f)
 fill with constant
virtual void fill_rand (const uint seed)
 fill with random numbers
virtual void axpy (const value_t alpha, const TVector< value_t > *x)
 set this ≔ this + α · x
virtual void scale (const value_t alpha)
 set this ≔ α · this
virtual void assign (const value_t alpha, const TVector< value_t > *x)
 set this ≔ α · x
virtual value_t dot (const TVector< value_t > *x) const
 return dot-product, \(<x,y> = x^H · y\), where \(x\) = this
virtual value_t dotu (const TVector< value_t > *x) const
 return dot-product, \(<x,y> = x^T · y\), where \(x\) = this
virtual real_t norm2 () const
 compute ‖·‖₂
virtual real_t norm_inf () const
 compute ‖·‖∞
virtual size_t byte_size () const
 return size in bytes used by this object
virtual auto copy () const -> std::unique_ptr< TVector< value_t > >
 return copy of vector
virtual auto create () const -> std::unique_ptr< TVector< value_t > >
 return object of same class
virtual void print (const uint ofs=0) const
 print vector to stdout
- Public Member Functions inherited from TVector< T_value >
 TVector (const idx_t offset=0)
 construct real or complex valued vector with first index offset
 TVector (const TVector< value_t > &v)
 copy constructor
virtual ~TVector ()
virtual bool is_complex () const
 return true, if field type is complex valued
virtual bool is_real () const
 return true, if field type is real valued
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
TVector< value_t > & operator= (const TVector< value_t > &v)
 copy operator for all vectors
virtual size_t global_byte_size () const
virtual void copy_to (TVector< value_t > *x) const
 assign local values to vector x
virtual auto restrict_re () const -> std::unique_ptr< TVector< real_t > >
 create vector restricted to real part of coefficients
virtual auto restrict_im () const -> std::unique_ptr< TVector< real_t > >
 create vector restricted to imaginary part of coefficients
virtual auto restrict_abs () const -> std::unique_ptr< TVector< real_t > >
 create vector restricted to absolute value of coefficients
virtual void read (TByteStream &s)
 read vector data from byte stream
virtual void write (TByteStream &s) const
 write vector data to byte stream
virtual size_t bs_size () const
 returns size of object in bytestream
virtual void sum (const TProcSet &p, const uint pid, const uint nparts, TByteStream *bs=NULL)
virtual void sum (const TProcSet &p)
 same as More...
- Public Member Functions inherited from TTypeInfo
virtual typeid_t type () const =0
 return type ID of object
virtual bool is_type (const typeid_t t) const
 return true if local object is of given type ID t
virtual std::string typestr () const
 return string representation of type

Constructor & Destructor Documentation

◆ TBlockVector()

TBlockVector ( const TIndexSet ais,
const std::vector< TVector< value_t > * > &  ablocks 

construct block vector over index set ais and with subblocks ablocks