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

NAME
     sc::ReplSymmSCMatrix

SYNOPSIS
     Inherits sc::SymmSCMatrix.

   Public Member Functions
     ReplSymmSCMatrix (const RefSCDimension &, ReplSCMatrixKit *)
     void assign_val (double)
	 Overridden to implement the assign functions.
     void assign_s (SymmSCMatrix *)
     void assign_p (const double *)
     void assign_pp (const double **)
     double get_element (int, int) const
	 Return or modify an element.
     void set_element (int, int, double)
     void accumulate_element (int, int, double)
     void scale (double)
	 Multiply all elements by val.
     SCMatrix * get_subblock (int, int, int, int)
	 Return a subblock of this.
     SymmSCMatrix * get_subblock (int, int)
     void assign_subblock (SCMatrix *, int, int, int, int)
	 Assign m to a subblock of this.
     void assign_subblock (SymmSCMatrix *, int, int)
     void accumulate_subblock (SCMatrix *, int, int, int, int)
	 Sum m into a subblock of this.
     void accumulate_subblock (SymmSCMatrix *, int, int)
     SCVector * get_row (int i)
	 Return a row of this.
     void assign_row (SCVector *v, int i)
	 Assign v to a row of this.
     void accumulate_row (SCVector *v, int i)
	 Sum v to a row of this.
     void accumulate_product_rr (SCMatrix *, SCMatrix *)
     void accumulate (const SymmSCMatrix *)
	 Sum m into this.
     double invert_this ()
	 Invert this.
     double solve_this (SCVector *)
     double trace ()
	 Return the trace.
     double determ_this ()
	 Return the determinant of this. this is overwritten.
     void gen_invert_this ()
     double scalar_product (SCVector *)
	 Return the scalar obtained by multiplying this on the left and right by
	 v.
     void diagonalize (DiagSCMatrix *, SCMatrix *)
	 Diagonalize  this, placing the eigenvalues in d and the eigenvectors in
	 m.
     void accumulate_symmetric_outer_product (SCVector *)
     void accumulate_symmetric_product (SCMatrix *)
     void accumulate_symmetric_sum (SCMatrix *)
	 Sum into this the products of various vectors or matrices.
     void accumulate_transform (SCMatrix  *,  SymmSCMatrix  *,	SCMatrix::Trans-
	 form=SCMatrix::NormalTransform)
     void  accumulate_transform  (SCMatrix  *,	DiagSCMatrix *, SCMatrix::Trans-
	 form=SCMatrix::NormalTransform)
     void accumulate_transform (SymmSCMatrix *, SymmSCMatrix *)
     void element_op (const Ref< SCElementOp > &)
	 Perform the element operation op on each element of this.
     void element_op (const Ref< SCElementOp2 > &, SymmSCMatrix *)
     void element_op (const Ref< SCElementOp3 > &, SymmSCMatrix *,  SymmSCMatrix
	 *)
     void  vprint (const char *title=0, std::ostream &out=ExEnv::out0(), int=10)
	 const
     double * get_data ()
     double ** get_rows ()
     Ref< SCMatrixSubblockIter > local_blocks (SCMatrixSubblockIter::Access)
	 Returns iterators for the local (rapidly  accessible)	blocks	used  in
	 this matrix.
     Ref< SCMatrixSubblockIter > all_blocks (SCMatrixSubblockIter::Access)
	 Returns iterators for the all blocks used in this matrix.
     Ref< ReplSCMatrixKit > skit ()

     Public Member Functions inherited from sc::SymmSCMatrix
     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 spe-
	 cialization 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  *,  SCMa-
	 trix::Transform=SCMatrix::NormalTransform)
     virtual  void  accumulate_transform  (SCMatrix  *,  DiagSCMatrix  *,  SCMa-
	 trix::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 *, Symm-
	 SCMatrix *)=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::Ac-
	 cess)=0
	 Returns  iterators  for  the  local (rapidly accessible) blocks used in
	 this matrix.
     virtual Ref< SCMatrixSubblockIter >  all_blocks  (SCMatrixSubblockIter::Ac-
	 cess)=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 Member Functions
     int compute_offset (int, int) const
     void init_blocklist ()
     void before_elemop ()
     void after_elemop ()

     Protected Member Functions inherited from sc::RefCount
     RefCount (const RefCount &)
     RefCount & operator= (const RefCount &)

   Protected Attributes
     Ref< SCMatrixBlockList > blocklist
     double * matrix
     double ** rows

     Protected Attributes inherited from sc::SymmSCMatrix
     RefSCDimension d
     Ref< SCMatrixKit > kit_

   Friends
     class ReplSCMatrix
     class ReplDiagSCMatrix
     class ReplSCVector

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

     Implements sc::SymmSCMatrix.

   void sc::ReplSymmSCMatrix::accumulate_element (int, int, double) [virtual]
     Implements sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

   void  sc::ReplSymmSCMatrix::accumulate_subblock  (SymmSCMatrix  *,  int, int)
     [virtual]
     Implements sc::SymmSCMatrix.

   void  sc::ReplSymmSCMatrix::accumulate_symmetric_outer_product  (SCVector  *)
     [virtual]
     Reimplemented from sc::SymmSCMatrix.

   void  sc::ReplSymmSCMatrix::accumulate_symmetric_product  (SCMatrix	*) [vir-
     tual]
     Reimplemented from sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

   void sc::ReplSymmSCMatrix::accumulate_transform (SCMatrix *, DiagSCMatrix  *,
     SCMatrix::Transform = SCMatrix::NormalTransform) [virtual]
     Reimplemented from sc::SymmSCMatrix.

   void  sc::ReplSymmSCMatrix::accumulate_transform (SCMatrix *, SymmSCMatrix *,
     SCMatrix::Transform = SCMatrix::NormalTransform) [virtual]
     Reimplemented from sc::SymmSCMatrix.

   void sc::ReplSymmSCMatrix::accumulate_transform (SymmSCMatrix *, SymmSCMatrix
     *) [virtual]
     Reimplemented from sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

   void sc::ReplSymmSCMatrix::assign_p (const double *) [virtual]
     Reimplemented from sc::SymmSCMatrix.

   void sc::ReplSymmSCMatrix::assign_pp (const double **) [virtual]
     Reimplemented from sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

   void sc::ReplSymmSCMatrix::assign_s (SymmSCMatrix *) [virtual]
     Reimplemented from sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

   void  sc::ReplSymmSCMatrix::assign_subblock	(SymmSCMatrix *, int, int) [vir-
     tual]
     Implements sc::SymmSCMatrix.

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

     Reimplemented from sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

   void sc::ReplSymmSCMatrix::diagonalize (DiagSCMatrix * d, SCMatrix * m) [vir-
     tual]
     Diagonalize this, placing the eigenvalues in d and the eigenvectors in m.

     Implements sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

   void sc::ReplSymmSCMatrix::element_op (const Ref< SCElementOp2 > &, SymmSCMa-
     trix *) [virtual]
     Implements sc::SymmSCMatrix.

   void sc::ReplSymmSCMatrix::element_op (const Ref< SCElementOp3 > &, SymmSCMa-
     trix *, SymmSCMatrix *) [virtual]
     Implements sc::SymmSCMatrix.

   void sc::ReplSymmSCMatrix::gen_invert_this () [virtual]
     Implements sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

   SymmSCMatrix * sc::ReplSymmSCMatrix::get_subblock (int, int) [virtual]
     Implements sc::SymmSCMatrix.

   SCMatrix * sc::ReplSymmSCMatrix::get_subblock (int br, int er,  int	bc,  int
     ec) [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.

     Implements sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

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

     Reimplemented from sc::SymmSCMatrix.

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

     Reimplemented from sc::SymmSCMatrix.

   void sc::ReplSymmSCMatrix::set_element (int, int, double) [virtual]
     Implements sc::SymmSCMatrix.

   double sc::ReplSymmSCMatrix::solve_this (SCVector *) [virtual]
     Implements sc::SymmSCMatrix.

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

     Implements sc::SymmSCMatrix.

   void sc::ReplSymmSCMatrix::vprint (const char * title = 0, std::ostream & out
     = ExEnv::out0(), int = 10) const [virtual]
     Reimplemented from sc::SymmSCMatrix.

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

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

home | help