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.

   Protected Attributes
       RefSCDimension d
       Ref< SCMatrixKit	> kit_

   Additional Inherited	Members
Detailed Description
       The SymmSCMatrix	class is the abstract base class for symmetric double
       valued matrices.

Member Function	Documentation
   void	sc::SymmSCMatrix::assign (const	double * m) [inline]
       Assign element i, j to m[i*(i+1)/2+j].

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

   virtual void	sc::SymmSCMatrix::convert (SymmSCMatrix	*) [virtual]
       Convert an SCSymmSCMatrix of a different	specialization to this
       specialization and possibly accumulate the data.

   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::ReplSymmSCMatrix,
       sc::DistSymmSCMatrix, and sc::LocalSymmSCMatrix.

   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::ReplSymmSCMatrix,
       sc::DistSymmSCMatrix, and sc::LocalSymmSCMatrix.

   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::ReplSymmSCMatrix,
       sc::DistSymmSCMatrix, and sc::LocalSymmSCMatrix.

   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::ReplSymmSCMatrix, and
       sc::LocalSymmSCMatrix.

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

Version	2.3.1			Sun Aug	30 2020		   sc::SymmSCMatrix(3)

NAME | SYNOPSIS | Detailed Description | Member Function Documentation | Author

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

home | help