.TH "sc::DiagSCMatrix" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::DiagSCMatrix \- The \fBSymmSCMatrix\fP class is the abstract base class for diagonal double valued matrices\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::DescribedClass\fP\&. .PP Inherited by \fBsc::BlockedDiagSCMatrix\fP, \fBsc::DistDiagSCMatrix\fP, \fBsc::LocalDiagSCMatrix\fP, and \fBsc::ReplDiagSCMatrix\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBDiagSCMatrix\fP (const \fBRefSCDimension\fP &, \fBSCMatrixKit\fP *)" .br .ti -1c .RI "\fBRef\fP< \fBSCMatrixKit\fP > \fBkit\fP () const" .br .RI "Return the \fBSCMatrixKit\fP used to create this object\&. " .ti -1c .RI "virtual void \fBsave\fP (\fBStateOut\fP &)" .br .RI "Save and restore this in an implementation independent way\&. " .ti -1c .RI "virtual void \fBrestore\fP (\fBStateIn\fP &)" .br .ti -1c .RI "virtual double \fBmaxabs\fP () const" .br .RI "Return the maximum absolute value element of this vector\&. " .ti -1c .RI "virtual void \fBrandomize\fP ()" .br .RI "Assign each element to a random number between -1 and 1\&. " .ti -1c .RI "void \fBassign\fP (double val)" .br .RI "Set all elements to val\&. " .ti -1c .RI "void \fBassign\fP (const double *p)" .br .RI "Assign element i, i to m[i]\&. " .ti -1c .RI "void \fBassign\fP (\fBDiagSCMatrix\fP *d_a)" .br .RI "Make this have the same elements as m\&. " .ti -1c .RI "virtual void \fBassign_val\fP (double val)" .br .RI "Overridden to implement the assign members\&. " .ti -1c .RI "virtual void \fBassign_p\fP (const double *)" .br .ti -1c .RI "virtual void \fBassign_d\fP (\fBDiagSCMatrix\fP *)" .br .ti -1c .RI "virtual void \fBconvert\fP (double *) const" .br .RI "Like the assign member, but this writes values to the argument\&. " .ti -1c .RI "virtual void \fBconvert\fP (\fBDiagSCMatrix\fP *)" .br .RI "Convert an SCDiagSCMatrix of a different specialization to this specialization and possibly accumulate the data\&. " .ti -1c .RI "virtual void \fBconvert_accumulate\fP (\fBDiagSCMatrix\fP *)" .br .ti -1c .RI "virtual void \fBscale\fP (double)" .br .RI "Multiply all elements by val\&. " .ti -1c .RI "int \fBn\fP () const" .br .RI "Return the dimension\&. " .ti -1c .RI "virtual \fBDiagSCMatrix\fP * \fBcopy\fP ()" .br .RI "Return a matrix with the same dimension and same elements\&. " .ti -1c .RI "virtual \fBDiagSCMatrix\fP * \fBclone\fP ()" .br .RI "Return a matrix with the same dimension but uninitialized memory\&. " .ti -1c .RI "\fBRefSCDimension\fP \fBdim\fP () const" .br .RI "Return the dimension\&. " .ti -1c .RI "virtual double \fBget_element\fP (int) const =0" .br .RI "Return or modify an element\&. " .ti -1c .RI "virtual void \fBset_element\fP (int, double)=0" .br .ti -1c .RI "virtual void \fBaccumulate_element\fP (int, double)=0" .br .ti -1c .RI "virtual void \fBaccumulate\fP (const \fBDiagSCMatrix\fP *m)=0" .br .RI "Sum m into this\&. " .ti -1c .RI "virtual double \fBtrace\fP ()=0" .br .RI "Return the trace\&. " .ti -1c .RI "virtual double \fBdeterm_this\fP ()=0" .br .RI "Return the determinant of this\&. this is overwritten\&. " .ti -1c .RI "virtual double \fBinvert_this\fP ()=0" .br .RI "Invert this\&. " .ti -1c .RI "virtual void \fBgen_invert_this\fP ()=0" .br .RI "Do a generalized inversion of this\&. " .ti -1c .RI "virtual void \fBelement_op\fP (const \fBRef\fP< \fBSCElementOp\fP > &)=0" .br .RI "Perform the element operation op on each element of this\&. " .ti -1c .RI "virtual void \fBelement_op\fP (const \fBRef\fP< \fBSCElementOp2\fP > &, \fBDiagSCMatrix\fP *)=0" .br .ti -1c .RI "virtual void \fBelement_op\fP (const \fBRef\fP< \fBSCElementOp3\fP > &, \fBDiagSCMatrix\fP *, \fBDiagSCMatrix\fP *)=0" .br .ti -1c .RI "void \fBprint\fP (std::ostream &o=\fBExEnv::out0\fP()) const" .br .RI "Print out the matrix\&. " .ti -1c .RI "void \fBprint\fP (const char *title=0, std::ostream &out=\fBExEnv::out0\fP(), int=10) const" .br .ti -1c .RI "virtual void \fBvprint\fP (const char *title=0, std::ostream &out=\fBExEnv::out0\fP(), int=10) const" .br .ti -1c .RI "\fBRef\fP< \fBMessageGrp\fP > \fBmessagegrp\fP () const" .br .RI "Returns the message group used by the matrix kit\&. " .ti -1c .RI "virtual \fBRef\fP< \fBSCMatrixSubblockIter\fP > \fBlocal_blocks\fP (SCMatrixSubblockIter::Access)=0" .br .RI "Returns iterators for the local (rapidly accessible) blocks used in this matrix\&. " .ti -1c .RI "virtual \fBRef\fP< \fBSCMatrixSubblockIter\fP > \fBall_blocks\fP (SCMatrixSubblockIter::Access)=0" .br .RI "Returns iterators for the all blocks used in this matrix\&. " .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "\fBRefSCDimension\fP \fBd\fP" .br .ti -1c .RI "\fBRef\fP< \fBSCMatrixKit\fP > \fBkit_\fP" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP The \fBSymmSCMatrix\fP class is the abstract base class for diagonal double valued matrices\&. .br .SH "Member Function Documentation" .PP .SS "void sc::DiagSCMatrix::assign (\fBDiagSCMatrix\fP * d_a)\fC [inline]\fP" .PP Make this have the same elements as m\&. The dimensions must match\&. .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.