sc::RefSymmSCMatrix(3)
π¦ sc::RefSymmSCMatrix(3) β the MPQC manual, bestie π¦
okay so this is the sc::RefSymmSCMatrix(3) page from the MPQC manual, and we're gonna get through it together. no cap, every deet stays. π
π NAME π
sc::RefSymmSCMatrix β the RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization. periodt. β¨
β¨ SYNOPSIS β¨
#include <matrix.h>
She inherits sc::Ref< SymmSCMatrix >. π«Ά
π Public Member Functions π
Okay bestie, here's the whole roster β every signature exactly as the original serves it. If the original didn't give a one-liner, I'm not making one up; I'm just holding the line π .
RefSymmSCMatrix ()β Initializes the matrix pointer to0.RefSymmSCMatrix (const RefSymmSCMatrix &m)β Make this andmrefer to the sameSCMatrix.RefSymmSCMatrix (SymmSCMatrix *m)β Make this refer tom.RefSymmSCMatrix & operator= (SymmSCMatrix *m)β Make this refer tom.RefSymmSCMatrix & operator= (const RefSymmSCMatrix &m)β Make this andmrefer to the same matrix.RefSymmSCMatrix (const RefSCDimension &d, const Ref< SCMatrixKit > &)β Create a vector with dimensiondbyd.RefSCMatrix operator* (const RefSCMatrix &) constβ Multiply this by a matrix and return a matrix.RefSCMatrix operator* (const RefSymmSCMatrix &) constβ listed in the original, no extra note.RefSCVector operator* (const RefSCVector &a) constβ Multiply this by a vector and return a vector.RefSymmSCMatrix operator* (double) constβ listed in the original, no extra note.RefSymmSCMatrix operator+ (const RefSymmSCMatrix &) constβ Matrix addition and subtraction.RefSymmSCMatrix operator- (const RefSymmSCMatrix &) constβ the subtraction half of the same βMatrix addition and subtractionβ note.RefSymmSCMatrix i () constβ Return the inverse of this.RefSymmSCMatrix gi () constβ Return the generalized inverse of this.RefSymmSCMatrix clone () constβ These call theSCMatrixmembers of the same name after checking for references to0.RefSymmSCMatrix copy () constβ same βthese call theSCMatrixmembersβ¦β note.void set_element (int, int, double) constβ listed in the original, no extra note.void accumulate_element (int, int, double) constβ listed in the original, no extra note.double get_element (int, int) constβ listed in the original, no extra note.RefSCMatrix get_subblock (int br, int er, int bc, int ec)β listed in the original, no extra note.RefSymmSCMatrix get_subblock (int br, int er)β listed in the original, no extra note.void assign_subblock (const RefSCMatrix &, int br, int er, int bc, int ec)β listed in the original, no extra note.void assign_subblock (const RefSymmSCMatrix &, int br, int er)β listed in the original, no extra note.void accumulate_subblock (const RefSCMatrix &, int, int, int, int)β listed in the original, no extra note.void accumulate_subblock (const RefSymmSCMatrix &, int, int)β listed in the original, no extra note.RefSCVector get_row (int)β listed in the original, no extra note.void assign_row (const RefSCVector &, int)β listed in the original, no extra note.void accumulate_row (const RefSCVector &, int)β listed in the original, no extra note.void accumulate_symmetric_outer_product (const RefSCVector &) constβ listed in the original, no extra note.double scalar_product (const RefSCVector &) constβ listed in the original, no extra note.void accumulate_symmetric_product (const RefSCMatrix &) constβ listed in the original, no extra note.void accumulate_symmetric_sum (const RefSCMatrix &) constβ listed in the original, no extra note.void accumulate_transform (const RefSCMatrix &a, const RefSymmSCMatrix &b, SCMatrix::Transform=SCMatrix::NormalTransform) constβ Adda * b * a.t()to this.void accumulate_transform (const RefSCMatrix &a, const RefDiagSCMatrix &b, SCMatrix::Transform=SCMatrix::NormalTransform) constβ listed in the original, no extra note.void accumulate_transform (const RefSymmSCMatrix &a, const RefSymmSCMatrix &b) constβ listed in the original, no extra note.void randomize () constβ listed in the original, no extra note.void assign (const RefSymmSCMatrix &) constβ listed in the original, no extra note.void scale (double) constβ listed in the original, no extra note.void assign (double) constβ listed in the original, no extra note.void assign (const double *) constβ listed in the original, no extra note.void assign (const double **) constβ listed in the original, no extra note.void convert (double *) constβ listed in the original, no extra note.void convert (double **) constβ listed in the original, no extra note.void accumulate (const RefSymmSCMatrix &) constβ listed in the original, no extra note.void element_op (const Ref< SCElementOp > &) constβ listed in the original, no extra note.void element_op (const Ref< SCElementOp2 > &, const RefSymmSCMatrix &) constβ listed in the original, no extra note.void element_op (const Ref< SCElementOp3 > &, const RefSymmSCMatrix &, const RefSymmSCMatrix &) constβ listed in the original, no extra note.double trace () constβ listed in the original, no extra note.int n () constβ listed in the original, no extra note.RefSCDimension dim () constβ listed in the original, no extra note.Ref< SCMatrixKit > kit () constβ listed in the original, no extra note.void print (std::ostream &) constβ listed in the original, no extra note.void print (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) constβ listed in the original, no extra note.void save (StateOut &)β listed in the original, no extra note.void restore (StateIn &)β Restores the matrix fromStateInobject. The matrix must have been initialized already.double solve_lin (const RefSCVector &) constβ Solvesthis x = v.double determ () constβ Returns the determinant of the referenced matrix.RefDiagSCMatrix eigvals () constβ Returns the eigenvalues of the reference matrix.RefSCMatrix eigvecs () constβ Returns the eigenvectors of the reference matrix.void diagonalize (const RefDiagSCMatrix &eigvals, const RefSCMatrix &eigvecs) constβ Setseigvalsto the eigenvalues andeigvecsto the eigenvalues and eigenvectors of the referenced matrix.SymmSCMatrixdouble operator() (int i, int j) constβ Assign and examine matrix elements. (yes, that spacing is exactly what the original says π)int nblock () constβ If this matrix is blocked return the number of blocks.RefSymmSCMatrix block (int i) constβ If this matrix is blocked return blocki.
π«Ά Additional Inherited Members π«Ά
Nothing extra is listed under this heading in the original β it's just the heading, bestie. π
π Detailed Description π
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization. That's the whole vibe: smart pointer, scoped to that specialization. β¨
π οΈ Constructor & Destructor Documentation π οΈ
π sc::RefSymmSCMatrix::RefSymmSCMatrix () π
Initializes the matrix pointer to 0.
β οΈ The reference must be initialized before it is used.
π sc::RefSymmSCMatrix::RefSymmSCMatrix (const RefSCDimension & d, const Ref< SCMatrixKit > &) π
Create a vector with dimension d by d.
β οΈ The data values are undefined.
π Member Function Documentation π
π§ RefSymmSCMatrix sc::RefSymmSCMatrix::block (int i) const π§
If this matrix is blocked return block i. Otherwise return this as block 0.
π§ void sc::RefSymmSCMatrix::diagonalize (const RefDiagSCMatrix & eigvals, const RefSCMatrix & eigvecs) const π§
Sets eigvals to the eigenvalues and eigvecs to the eigenvalues and eigenvectors of the referenced matrix. The result satisfies eigvecs * eigvals * eigvecs.t() = (*this).
π§ int sc::RefSymmSCMatrix::nblock () const π§
If this matrix is blocked return the number of blocks. Otherwise return 1.
π§ double sc::RefSymmSCMatrix::solve_lin (const RefSCVector &) const π§
Solves this x = v. Overwrites v with x.
βοΈ Author βοΈ
Generated automatically by Doxygen for MPQC from the source code. So yeah, Doxygen cooked this one. π
π Version 2.3.1 Β· Sun Oct 4 2020 Β· sc::RefSymmSCMatrix(3) β bye bestie, go slay those matrices! π
π¦ where this page comes from
- ubuntu jammy: libsc-doc 2.3.1-21
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms