|
NAMEsc::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 FunctionsSymmSCMatrix (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 AttributesRefSCDimension d Ref< SCMatrixKit > kit_ Additional Inherited MembersDetailed DescriptionThe SymmSCMatrix class is the abstract base class for symmetric double valued matrices.Member Function Documentationvirtual 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. AuthorGenerated automatically by Doxygen for MPQC from the source code.
Visit the GSP FreeBSD Man Page Interface. |