table of contents
sc::BlockedSCMatrix(3) | MPQC | sc::BlockedSCMatrix(3) |
NAME¶
sc::BlockedSCMatrix
SYNOPSIS¶
Inherits sc::SCMatrix.
Public Member Functions¶
BlockedSCMatrix (const RefSCDimension &, const
RefSCDimension &, BlockedSCMatrixKit *)
void save (StateOut &)
Save and restore this in an implementation independent way. void
restore (StateIn &)
void assign_val (double)
Overridden to implement to assign members. double get_element (int,
int) const
Return or modify an element. void set_element (int, int, double)
void accumulate_element (int, int, double)
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)
void assign_row (SCVector *v, int i)
Assign v to a row or column of this. void assign_column
(SCVector *v, int i)
void accumulate_row (SCVector *v, int i)
Sum v to a row or column of this. void accumulate_column
(SCVector *v, int i)
void accumulate_outer_product (SCVector *, SCVector *)
Sum into this the products of various vectors or matrices. void
accumulate_product_rr (SCMatrix *, SCMatrix *)
void accumulate_product_rs (SCMatrix *, SymmSCMatrix *)
void accumulate_product_rd (SCMatrix *, DiagSCMatrix *)
void accumulate (const SCMatrix *)
Sum m into this. void accumulate (const SymmSCMatrix *)
void accumulate (const DiagSCMatrix *)
void accumulate (const SCVector *)
void transpose_this ()
Transpose this. double invert_this ()
Invert this. void svd_this (SCMatrix *U, DiagSCMatrix
*sigma, SCMatrix *V)
Compute the singular value decomposition for this, possibly destroying
this. double solve_this (SCVector *)
double determ_this ()
Return the determinant of this. this is overwritten. double trace ()
Return the trace. void gen_invert_this ()
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 *)
void element_op (const Ref< SCElementOp3 > &,
SCMatrix *, SCMatrix *)
void vprint (const char *title=0, std::ostream
&out=ExEnv::out0(), int=10) const
RefSCDimension rowdim () const
RefSCDimension coldim () const
RefSCDimension rowdim (int) const
RefSCDimension coldim (int) const
int nblocks () const
RefSCMatrix block (int)
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.
Friends¶
class BlockedSymmSCMatrix
class BlockedDiagSCMatrix
class BlockedSCVector
Additional Inherited Members¶
Member Function Documentation¶
void sc::BlockedSCMatrix::accumulate (const DiagSCMatrix *) [virtual]¶
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::accumulate (const SCMatrix * m) [virtual]¶
Sum m into this.
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::accumulate (const SCVector *) [virtual]¶
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::accumulate (const SymmSCMatrix *) [virtual]¶
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::accumulate_column (SCVector * v, int i) [virtual]¶
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::accumulate_element (int, int, double) [virtual]¶
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::accumulate_outer_product (SCVector *, SCVector *) [virtual]¶
Sum into this the products of various vectors or matrices.
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::accumulate_product_rd (SCMatrix *, DiagSCMatrix *) [virtual]¶
Reimplemented from sc::SCMatrix.
void sc::BlockedSCMatrix::accumulate_product_rr (SCMatrix *, SCMatrix *) [virtual]¶
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::accumulate_product_rs (SCMatrix *, SymmSCMatrix *) [virtual]¶
Reimplemented from sc::SCMatrix.
void sc::BlockedSCMatrix::accumulate_row (SCVector * v, int i) [virtual]¶
Sum v to a row or column of this.
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::accumulate_subblock (SCMatrix * m, int, int, int, int, int = 0, int = 0) [virtual]¶
Sum m into a subblock of this.
Implements sc::SCMatrix.
Ref< SCMatrixSubblockIter > sc::BlockedSCMatrix::all_blocks (SCMatrixSubblockIter::Access) [virtual]¶
Returns iterators for the all blocks used in this matrix.
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::assign_column (SCVector * v, int i) [virtual]¶
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::assign_row (SCVector * v, int i) [virtual]¶
Assign v to a row or column of this.
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::assign_subblock (SCMatrix * m, int, int, int, int, int = 0, int = 0) [virtual]¶
Assign m to a subblock of this.
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::assign_val (double val) [virtual]¶
Overridden to implement to assign members.
Reimplemented from sc::SCMatrix.
double sc::BlockedSCMatrix::determ_this () [virtual]¶
Return the determinant of this. this is overwritten.
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::element_op (const Ref< SCElementOp > &) [virtual]¶
Perform the element operation op on each element of this.
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::element_op (const Ref< SCElementOp2 > &, SCMatrix *) [virtual]¶
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::element_op (const Ref< SCElementOp3 > &, SCMatrix *, SCMatrix *) [virtual]¶
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::gen_invert_this () [virtual]¶
Reimplemented from sc::SCMatrix.
SCVector * sc::BlockedSCMatrix::get_column (int i) [virtual]¶
Implements sc::SCMatrix.
double sc::BlockedSCMatrix::get_element (int, int) const [virtual]¶
Return or modify an element.
Implements sc::SCMatrix.
SCVector * sc::BlockedSCMatrix::get_row (int i) [virtual]¶
Return a row or column of this.
Implements sc::SCMatrix.
SCMatrix * sc::BlockedSCMatrix::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.
double sc::BlockedSCMatrix::invert_this () [virtual]¶
Invert this.
Implements sc::SCMatrix.
Ref< SCMatrixSubblockIter > sc::BlockedSCMatrix::local_blocks (SCMatrixSubblockIter::Access) [virtual]¶
Returns iterators for the local (rapidly accessible) blocks used in this matrix.
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::restore (StateIn &) [virtual]¶
Reimplemented from sc::SCMatrix.
void sc::BlockedSCMatrix::save (StateOut &) [virtual]¶
Save and restore this in an implementation independent way.
Reimplemented from sc::SCMatrix.
void sc::BlockedSCMatrix::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::BlockedSCMatrix::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.
void sc::BlockedSCMatrix::set_element (int, int, double) [virtual]¶
Implements sc::SCMatrix.
double sc::BlockedSCMatrix::solve_this (SCVector *) [virtual]¶
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::svd_this (SCMatrix * U, DiagSCMatrix * sigma, SCMatrix * V) [virtual]¶
Compute the singular value decomposition for this, possibly destroying this.
Reimplemented from sc::SCMatrix.
double sc::BlockedSCMatrix::trace () [virtual]¶
Return the trace.
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::transpose_this () [virtual]¶
Transpose this.
Implements sc::SCMatrix.
void sc::BlockedSCMatrix::vprint (const char * title = 0, std::ostream & out = ExEnv::out0(), int = 10) const [virtual]¶
Implements sc::SCMatrix.
Author¶
Generated automatically by Doxygen for MPQC from the source code.
Fri Dec 2 2022 | Version 2.3.1 |