Public Member Functions | |
| DistSCMatrix (const RefSCDimension &, const RefSCDimension &, DistSCMatrixKit *) | |
| 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) |
| void | accumulate_subblock (SCMatrix *, int, int, int, int, int=0, int=0) |
| 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 (const SCMatrix *) |
| void | accumulate (const SymmSCMatrix *) |
| void | accumulate (const DiagSCMatrix *) |
| void | accumulate (const SCVector *) |
| void | transpose_this () |
| Transpose this. | |
| double | invert_this () |
| Invert 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) |
| void | vprint (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) const |
| 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< DistSCMatrixKit > | skit () |
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 |
| 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.
| Ref<SCMatrixSubblockIter> sc::DistSCMatrix::local_blocks | ( | SCMatrixSubblockIter::Access | ) | [virtual] |
Returns iterators for the local (rapidly accessible) blocks used in this matrix.
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.