home | help
sc::SCVector(3) 		      MPQC			 sc::SCVector(3)

NAME
     sc::SCVector  -  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 specializa-
	 tion 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::Ac-
	 cess)=0
	 Returns  iterators  for  the  local (rapidly accessible) blocks used in
	 this vector.
     virtual Ref< SCMatrixSubblockIter >  all_blocks  (SCMatrixSubblockIter::Ac-
	 cess)=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.
     virtual void print (std::ostream &=ExEnv::out0()) const
	 Print the object.

     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::LocalSCVector,  sc::ReplSCVector,
     and sc::DistSCVector.

   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 (SCMatrixSub-
     blockIter::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::ReplSCVec-
     tor.

     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 vir-
     tual]
     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  (SCMatrixSub-
     blockIter::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.

Version 2.3.1			 Thu Sep 3 2026 		 sc::SCVector(3)

home | help