# sc::BlockedSymmSCMatrix Class Reference

Inheritance diagram for sc::BlockedSymmSCMatrix:

List of all members.

## Public Member Functions
| BlockedSymmSCMatrix (const RefSCDimension &, BlockedSCMatrixKit *)
void | save (StateOut &)
| Save and restore this in an implementation independent way.
void | restore (StateIn &)
double | get_element (int, int) const
| Return or modify an element.
void | set_element (int, int, double)
void | accumulate_element (int, int, double)
void | scale (double)
| Multiply all elements by val.
void | assign_val (double)
| Overridden to implement the assign functions.
void | assign_s (SymmSCMatrix *m)
SCMatrix * | get_subblock (int, int, int, int)
| Return a subblock of this.
SymmSCMatrix * | get_subblock (int, int)
void | assign_subblock (SCMatrix *, int, int, int, int)
| Assign m to a subblock of this.
void | assign_subblock (SymmSCMatrix *, int, int)
void | accumulate_subblock (SCMatrix *, int, int, int, int)
| Sum m into a subblock of this.
void | accumulate_subblock (SymmSCMatrix *, int, int)
SCVector * | get_row (int i)
| Return a row of this.
void | assign_row (SCVector *v, int i)
| Assign v to a row of this.
void | accumulate_row (SCVector *v, int i)
| Sum v to a row of this.
double | invert_this ()
| Invert this.
double | determ_this ()
| Return the determinant of this. this is overwritten.
double | trace ()
| Return the trace.
double | solve_this (SCVector *)
void | gen_invert_this ()
double | scalar_product (SCVector *)
| Return the scalar obtained by multiplying this on the left and right by v.
void | diagonalize (DiagSCMatrix *, SCMatrix *)
| Diagonalize this, placing the eigenvalues in d and the eigenvectors in m.
void | accumulate (const SymmSCMatrix *)
| Sum m into this.
void | accumulate_symmetric_outer_product (SCVector *)
void | accumulate_symmetric_product (SCMatrix *)
void | accumulate_symmetric_sum (SCMatrix *)
| Sum into this the products of various vectors or matrices.
void | accumulate_transform (SCMatrix *, SymmSCMatrix *, SCMatrix::Transform=SCMatrix::NormalTransform)
void | accumulate_transform (SCMatrix *, DiagSCMatrix *, SCMatrix::Transform=SCMatrix::NormalTransform)
void | accumulate_transform (SymmSCMatrix *, SymmSCMatrix *)
void | convert_accumulate (SymmSCMatrix *a)
void | element_op (const Ref< SCElementOp > &)
| Perform the element operation op on each element of this.
void | element_op (const Ref< SCElementOp2 > &, SymmSCMatrix *)
void | element_op (const Ref< SCElementOp3 > &, SymmSCMatrix *, SymmSCMatrix *)
void | vprint (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) const
RefSCDimension | dim () const
| Return the dimension.
RefSCDimension | dim (int) const
int | nblocks () const
RefSymmSCMatrix | 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 | BlockedSCMatrix
class | BlockedDiagSCMatrix
class | BlockedSCVector

## Member Function Documentation

void sc::BlockedSymmSCMatrix::diagonalize | ( | DiagSCMatrix * | d,
|  | SCMatrix * | m |
| ) |  |  | `[virtual]`

Diagonalize this, placing the eigenvalues in d and the eigenvectors in m.

Implements sc::SymmSCMatrix.

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

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

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

Implements sc::SymmSCMatrix.

double sc::BlockedSymmSCMatrix::scalar_product | ( | SCVector * | v | ) | `[virtual]`

Return the scalar obtained by multiplying this on the left and right by v.

Reimplemented from sc::SymmSCMatrix.

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

- blocked.h