DragonFly On-Line Manual Pages

Search: Section:  


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 Fri Feb 19 2016 sc::SymmSCMatrix(3)

Search: Section: