sc::DistSCMatrix Class Reference

Inheritance diagram for sc::DistSCMatrix:
sc::SCMatrix sc::DescribedClass sc::RefCount sc::Identity

List of all members.

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)
SCMatrixget_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)
SCVectorget_row (int i)
 Return a row or column of this.
SCVectorget_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< SCMatrixSubblockIterlocal_blocks (SCMatrixSubblockIter::Access)
 Returns iterators for the local (rapidly accessible) blocks used in this matrix.
Ref< SCMatrixSubblockIterall_blocks (SCMatrixSubblockIter::Access)
 Returns iterators for the all blocks used in this matrix.
Ref< DistSCMatrixKitskit ()

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< SCMatrixBlockblock_to_block (int, int) const
Ref< SCBlockInforowblocks () const
Ref< SCBlockInfocolblocks () 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< SCMatrixBlockListblocklist
int vecoff
int nvec
double ** vec
enum sc::DistSCMatrix::Form form

Friends

class DistSymmSCMatrix
class DistDiagSCMatrix
class DistSCVector

Member Function Documentation

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.


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

Generated at Sat Feb 27 15:14:12 2010 for MPQC 2.3.1 using the documentation package Doxygen 1.6.1.