sc_SCVector - Man Page
The SCVector class is the abstract base class for double valued vectors.
Synopsis
#include <abstract.h>
Inherits sc::DescribedClass.
Inherited by sc::BlockedSCVector, sc::DistSCVector, sc::LocalSCVector, and sc::ReplSCVector.
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.
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)
virtual void convert (double *v) const
Assign v[i] to element i for all i.
virtual void convert (SCVector *)
Convert an SCVector of a different specialization to this specialization and possibly accumulate the data.
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.
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 throw ()
This returns the unique pointer to the ClassDesc corresponding to the given type_info object.
const char * class_name () const
Return the name of the object's exact type.
int class_version () const
Return the version of the class.
Public Member Functions inherited from sc::RefCount
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.
int managed () const
Return 1 if the object is managed. Otherwise return 0.
Public Member Functions inherited from sc::Identity
Identifier identifier ()
Return the Identifier for this argument.
Protected Attributes
RefSCDimension d
Ref< SCMatrixKit > kit_
Additional Inherited Members
Protected Member Functions inherited from sc::RefCount
RefCount (const RefCount &)
RefCount & operator= (const RefCount &)
Detailed Description
The SCVector class is the abstract base class for double valued vectors.
Member Function Documentation
virtual void sc::SCVector::accumulate (const SCMatrix * m) [pure virtual]
Sum m into this. One of m's dimensions must be 1.
Implemented in sc::BlockedSCVector, sc::DistSCVector, sc::LocalSCVector, and sc::ReplSCVector.
virtual void sc::SCVector::accumulate (const SCVector * v) [pure virtual]
Sum v into this.
Implemented in sc::BlockedSCVector, sc::DistSCVector, sc::LocalSCVector, and sc::ReplSCVector.
virtual void sc::SCVector::accumulate_element (int , double ) [pure virtual]
Add val to element i.
Implemented in sc::BlockedSCVector, sc::DistSCVector, sc::LocalSCVector, and sc::ReplSCVector.
virtual Ref< SCMatrixSubblockIter > sc::SCVector::all_blocks (SCMatrixSubblockIter::Access ) [pure virtual]
Returns iterators for the all blocks used in this vector.
Implemented in sc::BlockedSCVector, sc::DistSCVector, sc::LocalSCVector, and sc::ReplSCVector.
void sc::SCVector::assign (SCVector * v) [inline]
Make this have the same elements as v. The dimensions must match.
virtual void sc::SCVector::assign_val (double val) [virtual]
Overridden to implement the assign functions.
Reimplemented in sc::BlockedSCVector, sc::LocalSCVector, and sc::ReplSCVector.
Referenced by assign().
virtual void sc::SCVector::convert (double * v) const [virtual]
Assign v[i] to element i for all i.
Reimplemented in sc::DistSCVector.
virtual void sc::SCVector::convert (SCVector * ) [virtual]
Convert an SCVector of a different specialization to this specialization and possibly accumulate the data.
Reimplemented in sc::DistSCVector.
virtual void sc::SCVector::element_op (const Ref< SCElementOp > & ) [pure virtual]
Perform the element operation op on each element of this.
Implemented in sc::BlockedSCVector, sc::DistSCVector, sc::LocalSCVector, and sc::ReplSCVector.
virtual double sc::SCVector::get_element (int i) const [pure virtual]
Return the value of element i.
Implemented in sc::BlockedSCVector, sc::DistSCVector, sc::LocalSCVector, and sc::ReplSCVector.
virtual Ref< SCMatrixSubblockIter > sc::SCVector::local_blocks (SCMatrixSubblockIter::Access ) [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::DistSCVector, sc::LocalSCVector, and sc::ReplSCVector.
void sc::SCVector::print (std::ostream & o = ExEnv::out0()) const [virtual]
Print out the vector.
Reimplemented from sc::DescribedClass.
virtual void sc::SCVector::save (StateOut & ) [virtual]
Save and restore this in an implementation independent way.
Reimplemented in sc::BlockedSCVector.
virtual double sc::SCVector::scalar_product (SCVector * ) [pure virtual]
Return the dot product.
Implemented in sc::BlockedSCVector, sc::DistSCVector, sc::LocalSCVector, and sc::ReplSCVector.
virtual void sc::SCVector::set_element (int i, double val) [pure virtual]
Set element i to val.
Implemented in sc::BlockedSCVector, sc::DistSCVector, sc::LocalSCVector, and sc::ReplSCVector.
Author
Generated automatically by Doxygen for MPQC from the source code.