sc::DistSCMatrix(3)

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

πŸ’– sc::DistSCMatrix β€” MPQC manual page πŸ’–

okay bestie, welcome to the sc::DistSCMatrix page from the MPQC manual. This is the whole vibe, and yes, we are keeping every single detail. πŸ’…

✨ NAME ✨

sc::DistSCMatrix β€” that's the class name, periodt. This page is from MPQC, and it is giving very specific matrix energy. πŸ¦‹

πŸŽ€ SYNOPSIS πŸŽ€

Inherits sc::SCMatrix.

πŸ‘‘ Public Member Functions πŸ‘‘

  • DistSCMatrix (const RefSCDimension &, const RefSCDimension &, DistSCMatrixKit *) β€” constructor signature, no extra note in the source.
  • double get_element (int, int) const β€” Return or modify an element. The page literally puts that note right here. πŸ’«
  • void set_element (int, int, double) β€” bare signature, no extra line bestie.
  • void accumulate_element (int, int, double) β€” bare signature, no extra line bestie.
  • SCMatrix * get_subblock (int, int, int, int) β€” Return a subblock of this.
  • void assign_subblock (SCMatrix *, int, int, int, int, int=0, int=0) β€” Assign m to a subblock of this.
  • void accumulate_subblock (SCMatrix *, int, int, int, int, int=0, int=0) β€” Sum m into a subblock of this.
  • SCVector * get_row (int i) β€” Return a row or column of this.
  • SCVector * get_column (int i) β€” no extra note on this one.
  • void assign_row (SCVector *v, int i) β€” Assign v to a row or column of this.
  • void assign_column (SCVector *v, int i) β€” no extra note on this one.
  • void accumulate_row (SCVector *v, int i) β€” Sum v to a row or column of this.
  • void accumulate_column (SCVector *v, int i) β€” no extra note on this one.
  • void accumulate_outer_product (SCVector *, SCVector *) β€” Sum into this the products of various vectors or matrices.
  • void accumulate_product_rr (SCMatrix *, SCMatrix *) β€” bare signature, no extra line bestie.
  • void accumulate (const SCMatrix *) β€” Sum m into this.
  • void accumulate (const SymmSCMatrix *) β€” no extra note on this overload.
  • void accumulate (const DiagSCMatrix *) β€” no extra note on this overload.
  • void accumulate (const SCVector *) β€” no extra note on this overload.
  • void transpose_this () β€” Transpose this.
  • double invert_this () β€” Invert this.
  • double solve_this (SCVector *) β€” bare signature, no extra line bestie.
  • double determ_this () β€” Return the determinant of this. this is overwritten. Yes, that's the tea. 😭
  • double trace () β€” Return the trace.
  • void gen_invert_this () β€” bare signature, no extra line bestie.
  • void schmidt_orthog (SymmSCMatrix *, int) β€” Schmidt orthogonalize this.
  • int schmidt_orthog_tol (SymmSCMatrix *, double tol, double *res=0) β€” Schmidt orthogonalize this.
  • void element_op (const Ref< SCElementOp > &) β€” Perform the element operation op on each element of this.
  • void element_op (const Ref< SCElementOp2 > &, SCMatrix *) β€” no extra note on this overload.
  • void element_op (const Ref< SCElementOp3 > &, SCMatrix *, SCMatrix *) β€” no extra note on this overload.
  • void vprint (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) β€” no extra note on this one.
  • void vprint (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) const β€” const version, also no extra note in the source.
  • Ref< SCMatrixSubblockIter > local_blocks (SCMatrixSubblockIter::Access) β€” Returns iterators for the local (rapidly accessible) blocks used in this matrix.
  • Ref< SCMatrixSubblockIter > all_blocks (SCMatrixSubblockIter::Access) β€” Returns iterators for the all blocks used in this matrix. (Yes, "the all blocks" β€” keeping it exactly as the page says. 🫢)
  • Ref< DistSCMatrixKit > skit () β€” bare signature, no extra line bestie.

🧚 Protected Types 🧚

  • enum VecOp { CopyFromVec, CopyToVec, AccumFromVec, AccumToVec }
  • enum Form { Row, Col }

🌸 Protected Member Functions 🌸

  • void init_blocklist ()
  • void error (const char *)
  • double * find_element (int i, int j) const
  • int element_to_node (int i, int j) const
  • int block_to_node (int, int) const
  • Ref< SCMatrixBlock > block_to_block (int, int) const
  • Ref< SCBlockInfo > rowblocks () const
  • Ref< SCBlockInfo > colblocks () const
  • void create_vecform (Form, int nvec=-1)
  • void delete_vecform ()
  • void vecform_op (VecOp op, int *ivec=0)
  • void vecform_zero ()

πŸ’œ Protected Attributes πŸ’œ

  • Ref< SCMatrixBlockList > blocklist
  • int vecoff
  • int nvec
  • double ** vec
  • enum sc::DistSCMatrix::Form form

🫢 Friends 🫢

  • class DistSymmSCMatrix
  • class DistDiagSCMatrix
  • class DistSCVector

🌈 Additional Inherited Members 🌈

The original page just drops this heading and then moves on β€” no extra entries are listed here. So we are not inventing any, bestie. ✨


πŸ”₯ Member Function Documentation πŸ”₯

SCMatrix* sc::DistSCMatrix::get_subblock (int br, int er, int bc, int ec) [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.

Implements sc::SCMatrix.

void sc::DistSCMatrix::schmidt_orthog (SymmSCMatrix *, int n) [virtual]

Schmidt orthogonalize this. S is the overlap matrix. n is the number of columns to orthogonalize.

Implements sc::SCMatrix.

int sc::DistSCMatrix::schmidt_orthog_tol (SymmSCMatrix *, double tol, double * res = 0) [virtual]

Schmidt orthogonalize this. S is the overlap matrix. tol is the tolerance. The number of linearly independent vectors is returned.

Implements sc::SCMatrix.


πŸ’– Author πŸ’–

Generated automatically by Doxygen for MPQC from the source code.

okay bestie, that's the whole page β€” MPQC version 2.3.1, dated Sun Oct 4 2020, and the author line was literally generated automatically by Doxygen from the source code. mwah, slay, bye. πŸ’‹βœ¨πŸ‘‘

πŸ“¦ where this page comes from