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

FreeBSD Manual Pages

  
 
  

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

NAME
       sc::SymmSCMatrix	- The SymmSCMatrix class is the	abstract base class
       for symmetric double valued matrices.

SYNOPSIS
       #include	<abstract.h>

       Inherits	sc::DescribedClass.

       Inherited by sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   Public Member Functions
       SymmSCMatrix (const RefSCDimension &, SCMatrixKit *)
       Ref< SCMatrixKit	> kit () const
	   Return the SCMatrixKit object that created this object.
       virtual void save (StateOut &)
	   Save	and restore this in an implementation independent way.
       virtual void restore (StateIn &)
       virtual double maxabs ()	const
	   Return the maximum absolute value element of	this vector.
       virtual void randomize ()
	   Assign each element to a random number between -1 and 1.
       void assign (double val)
	   Set all elements to val.
       void assign (const double *m)
	   Assign element i, j to m[i*(i+1)/2+j].
       void assign (const double **m)
	   Assign element i, j to m[i][j].
       void assign (SymmSCMatrix *m)
	   Make	this have the same elements as m.
       virtual void assign_val (double val)
	   Overridden to implement the assign functions.
       virtual void assign_p (const double *m)
       virtual void assign_pp (const double **m)
       virtual void assign_s (SymmSCMatrix *m)
       virtual void convert (double *) const
	   Like	the assign members, but	these write values to the arguments.
       virtual void convert (double **)	const
       virtual void convert (SymmSCMatrix *)
	   Convert an SCSymmSCMatrix of	a different specialization to this
	   specialization and possibly accumulate the data.
       virtual void convert_accumulate (SymmSCMatrix *)
       virtual void scale (double)
	   Multiply all	elements by val.
       virtual void scale_diagonal (double)
	   Scale the diagonal elements by val.
       virtual void shift_diagonal (double)
	   Shift the diagonal elements by val.
       virtual void unit ()
	   Make	this equal to the unit matrix.
       int n ()	const
	   Return the dimension.
       virtual SymmSCMatrix * copy ()
	   Return a matrix with	the same dimension and same elements.
       virtual SymmSCMatrix * clone ()
	   Return a matrix with	the same dimension but uninitialized memory.
       RefSCDimension dim () const
	   Return the dimension.
       virtual double get_element (int,	int) const =0
	   Return or modify an element.
       virtual void set_element	(int, int, double)=0
       virtual void accumulate_element (int, int, double)=0
       virtual SCMatrix	* get_subblock (int br,	int er,	int bc,	int ec)=0
	   Return a subblock of	this.
       virtual SymmSCMatrix * get_subblock (int	br, int	er)=0
       virtual void assign_subblock (SCMatrix *m, int, int, int, int)=0
	   Assign m to a subblock of this.
       virtual void assign_subblock (SymmSCMatrix *m, int, int)=0
       virtual void accumulate_subblock	(SCMatrix *m, int, int,	int, int)=0
	   Sum m into a	subblock of this.
       virtual void accumulate_subblock	(SymmSCMatrix *m, int, int)=0
       virtual SCVector	* get_row (int i)=0
	   Return a row	of this.
       virtual void assign_row (SCVector *v, int i)=0
	   Assign v to a row of	this.
       virtual void accumulate_row (SCVector *v, int i)=0
	   Sum v to a row of this.
       virtual void diagonalize	(DiagSCMatrix *d, SCMatrix *m)=0
	   Diagonalize this, placing the eigenvalues in	d and the eigenvectors
	   in m.
       virtual void accumulate (const SymmSCMatrix *m)=0
	   Sum m into this.
       virtual void accumulate_symmetric_sum (SCMatrix *)=0
	   Sum into this the products of various vectors or matrices.
       virtual void accumulate_symmetric_product (SCMatrix *)
       virtual void accumulate_transform (SCMatrix *, SymmSCMatrix *,
	   SCMatrix::Transform=SCMatrix::NormalTransform)
       virtual void accumulate_transform (SCMatrix *, DiagSCMatrix *,
	   SCMatrix::Transform=SCMatrix::NormalTransform)
       virtual void accumulate_transform (SymmSCMatrix *, SymmSCMatrix *)
       virtual void accumulate_symmetric_outer_product (SCVector *)
       virtual double scalar_product (SCVector *v)
	   Return the scalar obtained by multiplying this on the left and
	   right by v.
       virtual double trace ()=0
	   Return the trace.
       virtual double invert_this ()=0
	   Invert this.
       virtual double determ_this ()=0
	   Return the determinant of this. this	is overwritten.
       virtual double solve_this (SCVector *)=0
       virtual void gen_invert_this ()=0
       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	> &, SymmSCMatrix *)=0
       virtual void element_op (const Ref< SCElementOp3	> &, SymmSCMatrix *,
	   SymmSCMatrix	*)=0
       void print (std::ostream	&o=ExEnv::out0()) const
	   Print out the matrix.
       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
       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	matrix.
       virtual Ref< SCMatrixSubblockIter > all_blocks
	   (SCMatrixSubblockIter::Access)=0
	   Returns iterators for the all blocks	used in	this matrix.

       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 SymmSCMatrix	class is the abstract base class for symmetric double
       valued matrices.

Member Function	Documentation
   virtual void	sc::SymmSCMatrix::accumulate (const SymmSCMatrix * m) [pure
       virtual]
       Sum m into this.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual void	sc::SymmSCMatrix::accumulate_row (SCVector * v,	int i) [pure
       virtual]
       Sum v to	a row of this.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual void	sc::SymmSCMatrix::accumulate_subblock (SCMatrix	* m, int, int,
       int, int) [pure virtual]
       Sum m into a subblock of	this.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual void	sc::SymmSCMatrix::accumulate_symmetric_sum (SCMatrix *)	[pure
       virtual]
       Sum into	this the products of various vectors or	matrices.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual Ref<	SCMatrixSubblockIter > sc::SymmSCMatrix::all_blocks
       (SCMatrixSubblockIter::Access) [pure virtual]
       Returns iterators for the all blocks used in this matrix.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   void	sc::SymmSCMatrix::assign (SymmSCMatrix * m) [inline]
       Make this have the same elements	as m. The dimensions must match.

   virtual void	sc::SymmSCMatrix::assign_row (SCVector * v, int	i) [pure
       virtual]
       Assign v	to a row of this.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual void	sc::SymmSCMatrix::assign_subblock (SCMatrix * m, int, int,
       int, int) [pure virtual]
       Assign m	to a subblock of this.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual void	sc::SymmSCMatrix::assign_val (double val) [virtual]
       Overridden to implement the assign functions.

       Reimplemented in	sc::BlockedSymmSCMatrix, and sc::ReplSymmSCMatrix.

       Referenced by assign().

   virtual double sc::SymmSCMatrix::determ_this	() [pure virtual]
       Return the determinant of this. this is overwritten.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual void	sc::SymmSCMatrix::diagonalize (DiagSCMatrix * d, SCMatrix * m)
       [pure virtual]
       Diagonalize this, placing the eigenvalues in d and the eigenvectors in
       m.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual void	sc::SymmSCMatrix::element_op (const Ref< SCElementOp > &)
       [pure virtual]
       Perform the element operation op	on each	element	of this.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual double sc::SymmSCMatrix::get_element	(int, int) const [pure
       virtual]
       Return or modify	an element.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual SCVector * sc::SymmSCMatrix::get_row	(int i)	[pure virtual]
       Return a	row of this.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual SCMatrix * sc::SymmSCMatrix::get_subblock (int br, int er, int bc,
       int ec) [pure virtual]
       Return a	subblock of this. The subblock is defined as the rows starting
       at br and ending	at er, and the columns beginning at bc and ending at
       ec.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual double sc::SymmSCMatrix::invert_this	() [pure virtual]
       Invert this.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual Ref<	SCMatrixSubblockIter > sc::SymmSCMatrix::local_blocks
       (SCMatrixSubblockIter::Access) [pure virtual]
       Returns iterators for the local (rapidly	accessible) blocks used	in
       this matrix.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

   void	sc::SymmSCMatrix::print	(std::ostream &	o = ExEnv::out0()) const
       [virtual]
       Print out the matrix.

       Reimplemented from sc::DescribedClass.

   virtual void	sc::SymmSCMatrix::save (StateOut &) [virtual]
       Save and	restore	this in	an implementation independent way.

       Reimplemented in	sc::BlockedSymmSCMatrix.

   virtual double sc::SymmSCMatrix::scalar_product (SCVector * v) [virtual]
       Return the scalar obtained by multiplying this on the left and right by
       v.

       Reimplemented in	sc::BlockedSymmSCMatrix, sc::LocalSymmSCMatrix,	and
       sc::ReplSymmSCMatrix.

   virtual void	sc::SymmSCMatrix::scale	(double) [virtual]
       Multiply	all elements by	val.

       Reimplemented in	sc::BlockedSymmSCMatrix, and sc::ReplSymmSCMatrix.

   virtual double sc::SymmSCMatrix::trace () [pure virtual]
       Return the trace.

       Implemented in sc::BlockedSymmSCMatrix, sc::DistSymmSCMatrix,
       sc::LocalSymmSCMatrix, and sc::ReplSymmSCMatrix.

Author
       Generated automatically by Doxygen for MPQC from	the source code.

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

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

home | help