sc::BlockedSCMatrix Class Reference
Inheritance diagram for sc::BlockedSCMatrix:
[legend]
Collaboration diagram for sc::BlockedSCMatrix:
[legend]

## 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. More...
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. More...
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. More...
int | schmidt_orthog_tol (SymmSCMatrix *, double tol, double *res=0)
| Schmidt orthogonalize this. More...
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. More...
Ref< SCMatrixSubblockIter > | all_blocks (SCMatrixSubblockIter::Access)
| Returns iterators for the all blocks used in this matrix.
Public Member Functions inherited from sc::SCMatrix
| SCMatrix (const RefSCDimension &, const RefSCDimension &, SCMatrixKit *)
Ref< SCMatrixKit > | kit () const
| Return the SCMatrixKit used to create this object.
int | nrow () const
| Return the number of rows.
int | ncol () const
| Return the number of columns.
virtual double | maxabs () const
| Return the maximum absolute value element.
virtual void | randomize ()
| Assign each element to a random number between -1 and 1.
void | assign (double val)
| Set all elements to val.
void | assign (const double *m)
| Assign element i, j to m[ir*nrow()+j].
void | assign (const double **m)
| Assign element i, j to m[i][j].
void | assign (SCMatrix *m)
| Make this have the same elements as m. The dimensions must match.
virtual void | assign_p (const double *m)
virtual void | assign_pp (const double **m)
virtual void | assign_r (SCMatrix *m)
virtual void | convert (double *) const
| Like the assign members, but these write values to the arguments. More...
virtual void | convert (double **) const
virtual void | convert (SCMatrix *)
| Convert an SCMatrix of a different specialization to this specialization and possibly accumulate the data. More...
virtual void | convert_accumulate (SCMatrix *)
virtual void | scale (double val)
| Multiply all elements by val.
virtual void | scale_diagonal (double val)
| Scale the diagonal elements by val.
virtual void | shift_diagonal (double val)
| Shift the diagonal elements by val.
virtual void | unit ()
| Make this equal to the unit matrix.
virtual SCMatrix * | copy ()
| Return a matrix with the same dimension and same elements.
virtual SCMatrix * | clone ()
| Return a matrix with the same dimension but uninitialized memory.
RefSCDimension | rowdim () const
| Return the row or column dimension.
RefSCDimension | coldim () const
void | accumulate_product (SCMatrix *m1, SCMatrix *m2)
void | accumulate_product (SCMatrix *m1, SymmSCMatrix *m2)
void | accumulate_product (SCMatrix *m1, DiagSCMatrix *m2)
void | accumulate_product (SymmSCMatrix *m1, SCMatrix *m2)
void | accumulate_product (DiagSCMatrix *m1, SCMatrix *m2)
void | accumulate_product (SymmSCMatrix *m1, SymmSCMatrix *m2)
virtual void | accumulate_product_sr (SymmSCMatrix *, SCMatrix *)
virtual void | accumulate_product_dr (DiagSCMatrix *, SCMatrix *)
virtual void | accumulate_product_ss (SymmSCMatrix *, SymmSCMatrix *)
void | print (std::ostream &o=ExEnv::out0()) const
| Print out the matrix.
void | print (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) const
Ref< MessageGrp > | messagegrp () const
| Returns the message group used by the matrix kit.
Public Member Functions inherited from sc::DescribedClass
| DescribedClass (const DescribedClass &)
DescribedClass & | operator= (const DescribedClass &)
ClassDesc * | class_desc () const throw ()
| This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More...
const char * | class_name () const
| Return the name of the object's exact type.
int | class_version () const
| Return the version of the class.
Public Member Functions inherited from sc::RefCount
int | lock_ptr () const
| Lock this object.
int | unlock_ptr () const
| Unlock this object.
void | use_locks (bool inVal)
| start and stop using locks on this object
refcount_t | nreference () const
| Return the reference count.
refcount_t | reference ()
| Increment the reference count and return the new count.
refcount_t | dereference ()
| Decrement the reference count and return the new count.
int | managed () const
void | unmanage ()
| Turn off the reference counting mechanism for this object. More...
int | managed () const
| Return 1 if the object is managed. Otherwise return 0.
Public Member Functions inherited from sc::Identity
Identifier | identifier ()
| Return the Identifier for this argument. More...

## Friends

class | BlockedSymmSCMatrix
class | BlockedDiagSCMatrix
class | BlockedSCVector

## Additional Inherited Members

Public Types inherited from sc::SCMatrix
enum | Transform { NormalTransform = 0, TransposeTransform = 1 }
Protected Member Functions inherited from sc::RefCount
| RefCount (const RefCount &)
RefCount & | operator= (const RefCount &)
Protected Attributes inherited from sc::SCMatrix
RefSCDimension | d1
RefSCDimension | d2
Ref< SCMatrixKit > | kit_

## Member Function Documentation

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.

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::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::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:

- blocked.h