.TH "sc::RefSCMatrix" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::RefSCMatrix \- The \fBRefSCMatrix\fP class is a smart pointer to an \fBSCMatrix\fP specialization\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::Ref< SCMatrix >\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBRefSCMatrix\fP ()" .br .RI "Initializes the matrix pointer to 0\&. " .ti -1c .RI "\fBRefSCMatrix\fP (const \fBRefSCMatrix\fP &m)" .br .RI "Make this and m refer to the same \fBSCMatrix\fP\&. " .ti -1c .RI "\fBRefSCMatrix\fP (\fBSCMatrix\fP *m)" .br .RI "Make this refer to m\&. " .ti -1c .RI "\fBRefSCMatrix\fP & \fBoperator=\fP (\fBSCMatrix\fP *m)" .br .RI "Make this refer to m\&. " .ti -1c .RI "\fBRefSCMatrix\fP & \fBoperator=\fP (const \fBRefSCMatrix\fP &m)" .br .RI "Make this and m refer to the same matrix\&. " .ti -1c .RI "\fBRefSCMatrix\fP (const \fBRefSCDimension\fP &d1, const \fBRefSCDimension\fP &d2, const \fBRef\fP< \fBSCMatrixKit\fP > &)" .br .RI "Create a vector with dimension d1 by d2\&. " .ti -1c .RI "\fBRefSCVector\fP \fBoperator*\fP (const \fBRefSCVector\fP &) const" .br .RI "Multiply this by a vector and return a vector\&. " .ti -1c .RI "\fBRefSCMatrix\fP \fBoperator*\fP (const \fBRefSCMatrix\fP &) const" .br .RI "Multiply this by a matrix and return a matrix\&. " .ti -1c .RI "\fBRefSCMatrix\fP \fBoperator*\fP (const \fBRefSymmSCMatrix\fP &) const" .br .ti -1c .RI "\fBRefSCMatrix\fP \fBoperator*\fP (const \fBRefDiagSCMatrix\fP &) const" .br .ti -1c .RI "\fBRefSCMatrix\fP \fBoperator*\fP (double) const" .br .RI "Multiply this by a scalar and return the result\&. " .ti -1c .RI "\fBRefSCMatrix\fP \fBoperator+\fP (const \fBRefSCMatrix\fP &) const" .br .RI "Matrix addition\&. " .ti -1c .RI "\fBRefSCMatrix\fP \fBoperator\-\fP (const \fBRefSCMatrix\fP &) const" .br .RI "Matrix subtraction\&. " .ti -1c .RI "\fBRefSCMatrix\fP \fBt\fP () const" .br .RI "Return the transpose of this\&. " .ti -1c .RI "\fBRefSCMatrix\fP \fBi\fP () const" .br .RI "Return the inverse of this\&. " .ti -1c .RI "\fBRefSCMatrix\fP \fBgi\fP () const" .br .RI "Return the generalized inverse of this\&. " .ti -1c .RI "\fBRefSCMatrix\fP \fBclone\fP () const" .br .RI "These call the \fBSCMatrix\fP members of the same name after checking for references to 0\&. " .ti -1c .RI "\fBRefSCMatrix\fP \fBcopy\fP () const" .br .ti -1c .RI "\fBRefSCMatrix\fP \fBget_subblock\fP (int br, int er, int bc, int ec)" .br .ti -1c .RI "void \fBassign_subblock\fP (const \fBRefSCMatrix\fP &, int br, int er, int bc, int ec, int source_br=0, int source_bc=0)" .br .ti -1c .RI "void \fBaccumulate_subblock\fP (const \fBRefSCMatrix\fP &, int, int, int, int, int source_br=0, int source_bc=0)" .br .ti -1c .RI "\fBRefSCVector\fP \fBget_row\fP (int) const" .br .ti -1c .RI "\fBRefSCVector\fP \fBget_column\fP (int) const" .br .ti -1c .RI "void \fBassign_row\fP (const \fBRefSCVector\fP &, int) const" .br .ti -1c .RI "void \fBassign_column\fP (const \fBRefSCVector\fP &, int) const" .br .ti -1c .RI "void \fBaccumulate_row\fP (const \fBRefSCVector\fP &, int) const" .br .ti -1c .RI "void \fBaccumulate_column\fP (const \fBRefSCVector\fP &, int) const" .br .ti -1c .RI "void \fBaccumulate_outer_product\fP (const \fBRefSCVector\fP &, const \fBRefSCVector\fP &) const" .br .ti -1c .RI "void \fBaccumulate_product\fP (const \fBRefSCMatrix\fP &, const \fBRefSCMatrix\fP &) const" .br .ti -1c .RI "void \fBassign\fP (const \fBRefSCMatrix\fP &) const" .br .ti -1c .RI "void \fBscale\fP (double) const" .br .ti -1c .RI "void \fBrandomize\fP () const" .br .ti -1c .RI "void \fBassign\fP (double) const" .br .ti -1c .RI "void \fBassign\fP (const double *) const" .br .ti -1c .RI "void \fBassign\fP (const double **) const" .br .ti -1c .RI "void \fBconvert\fP (double *) const" .br .ti -1c .RI "void \fBconvert\fP (double **) const" .br .ti -1c .RI "void \fBaccumulate\fP (const \fBRefSCMatrix\fP &) const" .br .ti -1c .RI "void \fBaccumulate\fP (const \fBRefSymmSCMatrix\fP &) const" .br .ti -1c .RI "void \fBaccumulate\fP (const \fBRefDiagSCMatrix\fP &) const" .br .ti -1c .RI "void \fBelement_op\fP (const \fBRef\fP< \fBSCElementOp\fP > &) const" .br .ti -1c .RI "void \fBelement_op\fP (const \fBRef\fP< \fBSCElementOp2\fP > &, const \fBRefSCMatrix\fP &) const" .br .ti -1c .RI "void \fBelement_op\fP (const \fBRef\fP< \fBSCElementOp3\fP > &, const \fBRefSCMatrix\fP &, const \fBRefSCMatrix\fP &) const" .br .ti -1c .RI "int \fBnrow\fP () const" .br .ti -1c .RI "int \fBncol\fP () const" .br .ti -1c .RI "\fBRefSCDimension\fP \fBrowdim\fP () const" .br .ti -1c .RI "\fBRefSCDimension\fP \fBcoldim\fP () const" .br .ti -1c .RI "\fBRef\fP< \fBSCMatrixKit\fP > \fBkit\fP () const" .br .ti -1c .RI "void \fBset_element\fP (int, int, double) const" .br .ti -1c .RI "void \fBaccumulate_element\fP (int, int, double) const" .br .ti -1c .RI "double \fBget_element\fP (int, int) const" .br .ti -1c .RI "void \fBprint\fP (std::ostream &) const" .br .ti -1c .RI "void \fBprint\fP (const char *title=0, std::ostream &out=\fBExEnv::out0\fP(), int=10) const" .br .ti -1c .RI "double \fBtrace\fP () const" .br .ti -1c .RI "void \fBsave\fP (\fBStateOut\fP &)" .br .ti -1c .RI "void \fBrestore\fP (\fBStateIn\fP &)" .br .RI "Restores the matrix from \fBStateIn\fP object\&. The matrix must have been initialized already\&. " .ti -1c .RI "void \fBsvd\fP (const \fBRefSCMatrix\fP &U, const \fBRefDiagSCMatrix\fP &sigma, const \fBRefSCMatrix\fP &V)" .br .RI "\fBCompute\fP the singular value decomposition, this = U sigma V\&.t()\&. " .ti -1c .RI "double \fBsolve_lin\fP (const \fBRefSCVector\fP &v) const" .br .RI "Solves this x = v\&. " .ti -1c .RI "double \fBdeterm\fP () const" .br .RI "Returns the determinant of the referenced matrix\&. " .ti -1c .RI "\fBSCMatrixdouble\fP \fBoperator()\fP (int \fBi\fP, int j) const" .br .RI "Assign and examine matrix elements\&. " .ti -1c .RI "int \fBnblock\fP () const" .br .RI "If this matrix is blocked return the number of blocks\&. " .ti -1c .RI "\fBRefSCMatrix\fP \fBblock\fP (int \fBi\fP) const" .br .RI "If this matrix is blocked return block i\&. " .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP The \fBRefSCMatrix\fP class is a smart pointer to an \fBSCMatrix\fP specialization\&. .SH "Constructor & Destructor Documentation" .PP .SS "sc::RefSCMatrix::RefSCMatrix ()" .PP Initializes the matrix pointer to 0\&. The reference must be initialized before it is used\&. .SS "sc::RefSCMatrix::RefSCMatrix (const \fBRefSCDimension\fP & d1, const \fBRefSCDimension\fP & d2, const \fBRef\fP< \fBSCMatrixKit\fP > &)" .PP Create a vector with dimension d1 by d2\&. The data values are undefined\&. .SH "Member Function Documentation" .PP .SS "\fBRefSCMatrix\fP sc::RefSCMatrix::block (int i) const" .PP If this matrix is blocked return block i\&. Otherwise return this as block 0\&. .SS "int sc::RefSCMatrix::nblock () const" .PP If this matrix is blocked return the number of blocks\&. Otherwise return 1\&. .SS "double sc::RefSCMatrix::solve_lin (const \fBRefSCVector\fP & v) const" .PP Solves this x = v\&. Overwrites v with x\&. .SS "void sc::RefSCMatrix::svd (const \fBRefSCMatrix\fP & U, const \fBRefDiagSCMatrix\fP & sigma, const \fBRefSCMatrix\fP & V)" .PP \fBCompute\fP the singular value decomposition, this = U sigma V\&.t()\&. The dimension of sigma is the smallest dimension of this\&. U, V, and sigma must already have the correct dimensions and are overwritten\&. .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.