HLIBpro
3.0
|
Class for a blocked, scalar vector.
#include <TBlockVector.hh>
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 () |
dtor | |
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 () |
dtor | |
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 | |
|
inline |
construct block vector over index set ais and with subblocks ablocks