# sc::ReplSCMatrix Class Reference

Inheritance diagram for sc::ReplSCMatrix:

List of all members.

## Public Member Functions
| ReplSCMatrix (const RefSCDimension &, const RefSCDimension &, ReplSCMatrixKit *)
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 | 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
double * | get_data ()
double ** | get_rows ()
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.
Ref< ReplSCMatrixKit > | skit ()
## Protected Member Functions
int | compute_offset (int, int) const
void | init_blocklist ()
void | before_elemop ()
void | after_elemop ()
## Protected Attributes
Ref< SCMatrixBlockList > | blocklist
double * | matrix
double ** | rows
## Friends
class | ReplSymmSCMatrix
class | ReplDiagSCMatrix
class | ReplSCVector

## Member Function Documentation

SCMatrix* sc::ReplSCMatrix::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.

Ref<SCMatrixSubblockIter> sc::ReplSCMatrix::local_blocks | ( | SCMatrixSubblockIter::Access |  | ) | `[virtual]`

Returns iterators for the local (rapidly accessible) blocks used in this matrix.

Implements sc::SCMatrix.

void sc::ReplSCMatrix::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::ReplSCMatrix::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::ReplSCMatrix::svd_this | ( | SCMatrix * | U,
|  | DiagSCMatrix * | sigma,
|  | SCMatrix * | V |
| ) |  |  | `[virtual]`

Compute the singular value decomposition for this, possibly destroying this.

Reimplemented from sc::SCMatrix.

The documentation for this class was generated from the following file:

- repl.h