sc::RefSymmSCMatrix(3)

πŸ“¦
version 2.3.1 Β· 5 versions
, in ubuntu jammy

πŸ¦‹ 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 to 0.
  • RefSymmSCMatrix (const RefSymmSCMatrix &m) β€” Make this and m refer to the same SCMatrix.
  • RefSymmSCMatrix (SymmSCMatrix *m) β€” Make this refer to m.
  • RefSymmSCMatrix & operator= (SymmSCMatrix *m) β€” Make this refer to m.
  • RefSymmSCMatrix & operator= (const RefSymmSCMatrix &m) β€” Make this and m refer to the same matrix.
  • RefSymmSCMatrix (const RefSCDimension &d, const Ref< SCMatrixKit > &) β€” Create a vector with dimension d by d.
  • 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 the SCMatrix members of the same name after checking for references to 0.
  • RefSymmSCMatrix copy () const β€” same β€œthese call the SCMatrix members…” 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 β€” Add a * 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 from StateIn object. The matrix must have been initialized already.
  • double solve_lin (const RefSCVector &) const β€” Solves this 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 β€” Sets eigvals to the eigenvalues and eigvecs to 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 block i.

🫢 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