|
MPQC
3.0.0-alpha
|
The SCVector class is the abstract base class for double valued vectors. More...
#include <math/scmat/abstract.h>
Public Member Functions | |
| SCVector (const RefSCDimension &, SCMatrixKit *) | |
| virtual void | save (StateOut &) |
| Save and restore this in an implementation independent way. | |
| virtual void | restore (StateIn &) |
| Ref< SCMatrixKit > | kit () const |
| Return the SCMatrixKit used to create this object. | |
| virtual SCVector * | copy () |
| Return a vector with the same dimension and same elements. | |
| virtual SCVector * | clone () |
| Return a vector with the same dimension but uninitialized memory. | |
| int | n () const |
| Return the length of the vector. | |
| virtual double | maxabs () const |
| Return the maximum absolute value element of this vector. | |
| virtual void | normalize () |
| Normalize this. | |
| virtual void | randomize () |
| Assign each element to a random number between -1 and 1. | |
| void | assign (double val) |
| Assign all elements of this to val. | |
| void | assign (const double *v) |
| Assign element i to v[i] for all i. | |
| void | assign (SCVector *v) |
| Make this have the same elements as v. More... | |
| virtual void | assign_val (double val) |
| Overridden to implement the assign functions. | |
| virtual void | assign_p (const double *v) |
| virtual void | assign_v (SCVector *v) |
| void | convert (double *v) const |
| Assign v[i] to element i for all i. | |
| void | convert (SCVector *v) |
| virtual void | convert_p (double *v) const |
| virtual void | convert_v (SCVector *) |
| virtual void | convert_accumulate (SCVector *) |
| virtual void | scale (double val) |
| Multiply each element by val. | |
| RefSCDimension | dim () const |
| Return the RefSCDimension corresponding to this vector. | |
| virtual void | set_element (int i, double val)=0 |
| Set element i to val. | |
| virtual void | accumulate_element (int, double)=0 |
| Add val to element i. | |
| virtual double | get_element (int i) const =0 |
| Return the value of element i. | |
| void | accumulate_product (SymmSCMatrix *m, SCVector *v) |
| Sum the result of m times v into this. | |
| void | accumulate_product (SCMatrix *m, SCVector *v) |
| virtual void | accumulate_product_sv (SymmSCMatrix *m, SCVector *v) |
| virtual void | accumulate_product_rv (SCMatrix *m, SCVector *v)=0 |
| virtual void | accumulate (const SCVector *v)=0 |
| Sum v into this. | |
| virtual void | accumulate (const SCMatrix *m)=0 |
| Sum m into this. One of m's dimensions must be 1. | |
| virtual double | scalar_product (SCVector *)=0 |
| Return the dot product. | |
| virtual void | element_op (const Ref< SCElementOp > &)=0 |
| Perform the element operation op on each element of this. | |
| virtual void | element_op (const Ref< SCElementOp2 > &, SCVector *)=0 |
| virtual void | element_op (const Ref< SCElementOp3 > &, SCVector *, SCVector *)=0 |
| void | print (std::ostream &o=ExEnv::out0()) const |
| Print out the vector. | |
| void | print (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) const |
| virtual void | vprint (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) const =0 |
| Ref< MessageGrp > | messagegrp () const |
| Returns the message group used by the matrix kit. | |
| virtual Ref< SCMatrixSubblockIter > | local_blocks (SCMatrixSubblockIter::Access)=0 |
| Returns iterators for the local (rapidly accessible) blocks used in this vector. More... | |
| virtual Ref< SCMatrixSubblockIter > | all_blocks (SCMatrixSubblockIter::Access)=0 |
| Returns iterators for the all blocks used in this vector. | |
Public Member Functions inherited from sc::DescribedClass | |
| DescribedClass (const DescribedClass &) | |
| DescribedClass & | operator= (const DescribedClass &) |
| ClassDesc * | class_desc () const MPQC__NOEXCEPT |
| This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More... | |
| const char * | class_name () const |
| Return the name of the object's exact type. | |
| int | class_version () const |
| Return the version of the class. | |
| Ref< DescribedClass > | ref () |
| Return this object wrapped up in a Ref smart pointer. More... | |
Public Member Functions inherited from sc::RefCount | |
| size_t | identifier () const |
| Return the unique identifier for this object that can be compared for different objects of different types. More... | |
| int | lock_ptr () const |
| Lock this object. | |
| int | unlock_ptr () const |
| Unlock this object. | |
| void | use_locks (bool inVal) |
| start and stop using locks on this object | |
| refcount_t | nreference () const |
| Return the reference count. | |
| refcount_t | reference () |
| Increment the reference count and return the new count. | |
| refcount_t | dereference () |
| Decrement the reference count and return the new count. | |
| int | managed () const |
| void | unmanage () |
| Turn off the reference counting mechanism for this object. More... | |
Protected Attributes | |
| RefSCDimension | d |
| Ref< SCMatrixKit > | kit_ |
Additional Inherited Members | |
Protected Member Functions inherited from sc::RefCount | |
| RefCount (const RefCount &) | |
| RefCount & | operator= (const RefCount &) |
The SCVector class is the abstract base class for double valued vectors.
|
inline |
Make this have the same elements as v.
The dimensions must match.
|
pure virtual |
Returns iterators for the local (rapidly accessible) blocks used in this vector.
Only one iterator is allowed for a matrix is it has Accum or Write access is allowed. Multiple Read iterators are permitted.
Implemented in sc::BlockedSCVector, sc::ReplSCVector, sc::LocalSCVector, and sc::DistSCVector.