Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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
	   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.
       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
       (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.

Version	2.3.1			Tue May	13 2025		       sc::SCVector(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sc_SCVector&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help