Main Page Class Hierarchy Compound List File List Compound Members Related Pages

# sc::SymmSCMatrix Class Reference

The SymmSCMatrix class is the abstract base class for symmetric double valued matrices. More...

`#include <abstract.h>`

Inheritance diagram for sc::SymmSCMatrix:

[legend]
Collaboration diagram for sc::SymmSCMatrix:

[legend]
List of all members.

## Public Methods

| SymmSCMatrix (const RefSCDimension &, SCMatrixKit *)
Ref< SCMatrixKit > | kit () const
| Return the SCMatrixKit object that created this object.
virtual void | save (StateOut &)
| Save and restore this in an implementation independent way.
virtual void | restore (StateIn &)
virtual double | maxabs () const
| Return the maximum absolute value element of this vector.
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[i*(i+1)/2+j].
void | assign (const double **m)
| Assign element i, j to m[i][j].
void | assign (SymmSCMatrix *m)
| Make this have the same elements as m. More...
virtual void | assign_val (double val)
| Overridden to implement the assign functions.
virtual void | assign_p (const double *m)
virtual void | assign_pp (const double **m)
virtual void | assign_s (SymmSCMatrix *m)
virtual void | convert (double *) const
| Like the assign members, but these write values to the arguments.
virtual void | convert (double **) const
virtual void | convert (SymmSCMatrix *)
| Convert an SCSymmSCMatrix of a different specialization to this specialization and possibly accumulate the data.
virtual void | convert_accumulate (SymmSCMatrix *)
virtual void | scale (double)
| Multiply all elements by val.
virtual void | scale_diagonal (double)
| Scale the diagonal elements by val.
virtual void | shift_diagonal (double)
| Shift the diagonal elements by val.
virtual void | unit ()
| Make this equal to the unit matrix.
int | n () const
| Return the dimension.
virtual SymmSCMatrix * | copy ()
| Return a matrix with the same dimension and same elements.
virtual SymmSCMatrix * | clone ()
| Return a matrix with the same dimension but uninitialized memory.
RefSCDimension | dim () const
| Return the dimension.
virtual double | get_element (int, int) const=0
| Return or modify an element.
virtual void | set_element (int, int, double)=0
virtual void | accumulate_element (int, int, double)=0
virtual SCMatrix * | get_subblock (int br, int er, int bc, int ec)=0
| Return a subblock of this. More...
virtual SymmSCMatrix * | get_subblock (int br, int er)=0
virtual void | assign_subblock (SCMatrix *m, int, int, int, int)=0
| Assign m to a subblock of this.
virtual void | assign_subblock (SymmSCMatrix *m, int, int)=0
virtual void | accumulate_subblock (SCMatrix *m, int, int, int, int)=0
| Sum m into a subblock of this.
virtual void | accumulate_subblock (SymmSCMatrix *m, int, int)=0
virtual SCVector * | get_row (int i)=0
| Return a row of this.
virtual void | assign_row (SCVector *v, int i)=0
| Assign v to a row of this.
virtual void | accumulate_row (SCVector *v, int i)=0
| Sum v to a row of this.
virtual void | diagonalize (DiagSCMatrix *d, SCMatrix *m)=0
| Diagonalize this, placing the eigenvalues in d and the eigenvectors in m.
virtual void | accumulate (const SymmSCMatrix *m)=0
| Sum m into this.
virtual void | accumulate_symmetric_sum (SCMatrix *)=0
| Sum into this the products of various vectors or matrices.
virtual void | accumulate_symmetric_product (SCMatrix *)
virtual void | accumulate_transform (SCMatrix *, SymmSCMatrix *, SCMatrix::Transform=SCMatrix::NormalTransform)
virtual void | accumulate_transform (SCMatrix *, DiagSCMatrix *, SCMatrix::Transform=SCMatrix::NormalTransform)
virtual void | accumulate_transform (SymmSCMatrix *, SymmSCMatrix *)
virtual void | accumulate_symmetric_outer_product (SCVector *)
virtual double | scalar_product (SCVector *v)
| Return the scalar obtained by multiplying this on the left and right by v.
virtual double | trace ()=0
| Return the trace.
virtual double | invert_this ()=0
| Invert this.
virtual double | determ_this ()=0
| Return the determinant of this. this is overwritten.
virtual double | solve_this (SCVector *)=0
virtual void | gen_invert_this ()=0
virtual void | element_op (const Ref< SCElementOp > &)=0
| Perform the element operation op on each element of this.
virtual void | element_op (const Ref< SCElementOp2 > &, SymmSCMatrix *)=0
virtual void | element_op (const Ref< SCElementOp3 > &, SymmSCMatrix *, SymmSCMatrix *)=0
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
virtual void | vprint (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.
virtual Ref< SCMatrixSubblockIter > | local_blocks (SCMatrixSubblockIter::Access)=0
| Returns iterators for the local (rapidly accessible) blocks used in this matrix.
virtual Ref< SCMatrixSubblockIter > | all_blocks (SCMatrixSubblockIter::Access)=0
| Returns iterators for the all blocks used in this matrix.

## Protected Attributes

RefSCDimension | d
Ref< SCMatrixKit > | kit_

## Detailed Description

The SymmSCMatrix class is the abstract base class for symmetric double valued matrices.

## Member Function Documentation

void sc::SymmSCMatrix::assign | ( | SymmSCMatrix * | m | ) | `[inline]`

| Make this have the same elements as m. The dimensions must match.

virtual SCMatrix* sc::SymmSCMatrix::get_subblock | ( | int | br,
|  | int | er,
|  | int | bc,
|  | int | ec
| ) | `[pure 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.

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

- abstract.h