MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
sc::ReplDiagSCMatrix Class Reference

Replicated DiagSCMatrix. More...

#include <math/scmat/repl.h>

Inheritance diagram for sc::ReplDiagSCMatrix:
sc::DiagSCMatrix sc::DescribedClass sc::RefCount

Public Member Functions

 ReplDiagSCMatrix (const RefSCDimension &, ReplSCMatrixKit *)
 
void assign_val (double)
 Overridden to implement the assign members.
 
double get_element (int) const
 Return or modify an element.
 
void set_element (int, double)
 
void accumulate_element (int, double)
 
void accumulate (const DiagSCMatrix *)
 Sum m into this.
 
double invert_this ()
 Invert this.
 
double determ_this ()
 Return the determinant of this. this is overwritten.
 
double trace ()
 Return the trace.
 
void gen_invert_this (double condition_number_threshold=1e8)
 Return the generalized inverse of this using SVD decomposition.
 
void element_op (const Ref< SCElementOp > &)
 Perform the element operation op on each element of this.
 
void element_op (const Ref< SCElementOp2 > &, DiagSCMatrix *)
 
void element_op (const Ref< SCElementOp3 > &, DiagSCMatrix *, DiagSCMatrix *)
 
void vprint (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) const
 
double * get_data ()
 
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< ReplSCMatrixKitskit ()
 
- Public Member Functions inherited from sc::DiagSCMatrix
 DiagSCMatrix (const RefSCDimension &, SCMatrixKit *)
 
Ref< SCMatrixKitkit () const
 Return the SCMatrixKit used to create 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 *p)
 Assign element i, i to m[i].
 
void assign (DiagSCMatrix *d_a)
 Make this have the same elements as m.
 
virtual void assign_p (const double *)
 
virtual void assign_d (DiagSCMatrix *)
 
void convert (double *a) const
 Like the assign member, but this writes values to the argument.
 
void convert (DiagSCMatrix *a)
 
virtual void convert_p (double *) const
 
virtual void convert_d (DiagSCMatrix *)
 
virtual void convert_accumulate (DiagSCMatrix *)
 
virtual void scale (double)
 Multiply all elements by val.
 
int n () const
 Return the dimension.
 
virtual DiagSCMatrixcopy ()
 Return a matrix with the same dimension and same elements.
 
virtual DiagSCMatrixclone ()
 Return a matrix with the same dimension but uninitialized memory.
 
RefSCDimension dim () const
 Return the dimension.
 
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< MessageGrpmessagegrp () const
 Returns the message group used by the matrix kit.
 
- Public Member Functions inherited from sc::DescribedClass
 DescribedClass (const DescribedClass &)
 
DescribedClassoperator= (const DescribedClass &)
 
ClassDescclass_desc () const MPQC__NOEXCEPT
 This returns the unique pointer to the ClassDesc corresponding to the given type_info object.
 
const char * class_name () const
 Return the name of the object's exact type.
 
int class_version () const
 Return the version of the class.
 
Ref< DescribedClassref ()
 Return this object wrapped up in a Ref smart pointer.
 
- Public Member Functions inherited from sc::RefCount
size_t identifier () const
 Return the unique identifier for this object that can be compared for different objects of different types.
 
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
 Return 1 if the object is managed. Otherwise return 0.
 

Protected Member Functions

void init_blocklist ()
 
void before_elemop ()
 
void after_elemop ()
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Protected Attributes

Ref< SCMatrixBlockListblocklist
 
double * matrix
 
- Protected Attributes inherited from sc::DiagSCMatrix
RefSCDimension d
 
Ref< SCMatrixKitkit_
 

Friends

class ReplSCMatrix
 
class ReplSymmSCMatrix
 
class ReplSCVector
 

Detailed Description

Replicated DiagSCMatrix.

Member Function Documentation

◆ accumulate()

void sc::ReplDiagSCMatrix::accumulate ( const DiagSCMatrix * m)
virtual

Sum m into this.

Implements sc::DiagSCMatrix.

◆ accumulate_element()

void sc::ReplDiagSCMatrix::accumulate_element ( int ,
double  )
virtual

Implements sc::DiagSCMatrix.

◆ all_blocks()

Ref< SCMatrixSubblockIter > sc::ReplDiagSCMatrix::all_blocks ( SCMatrixSubblockIter::Access )
virtual

Returns iterators for the all blocks used in this matrix.

Implements sc::DiagSCMatrix.

◆ assign_val()

void sc::ReplDiagSCMatrix::assign_val ( double val)
virtual

Overridden to implement the assign members.

Reimplemented from sc::DiagSCMatrix.

◆ determ_this()

double sc::ReplDiagSCMatrix::determ_this ( )
virtual

Return the determinant of this. this is overwritten.

Implements sc::DiagSCMatrix.

◆ element_op() [1/3]

void sc::ReplDiagSCMatrix::element_op ( const Ref< SCElementOp > & )
virtual

Perform the element operation op on each element of this.

Implements sc::DiagSCMatrix.

◆ element_op() [2/3]

void sc::ReplDiagSCMatrix::element_op ( const Ref< SCElementOp2 > & ,
DiagSCMatrix *  )
virtual

Implements sc::DiagSCMatrix.

◆ element_op() [3/3]

void sc::ReplDiagSCMatrix::element_op ( const Ref< SCElementOp3 > & ,
DiagSCMatrix * ,
DiagSCMatrix *  )
virtual

Implements sc::DiagSCMatrix.

◆ gen_invert_this()

void sc::ReplDiagSCMatrix::gen_invert_this ( double condition_number_threshold = 1e8)
virtual

Return the generalized inverse of this using SVD decomposition.

See also
SCMatrix::gen_invert_this()

Implements sc::DiagSCMatrix.

◆ get_element()

double sc::ReplDiagSCMatrix::get_element ( int ) const
virtual

Return or modify an element.

Implements sc::DiagSCMatrix.

◆ invert_this()

double sc::ReplDiagSCMatrix::invert_this ( )
virtual

Invert this.

Implements sc::DiagSCMatrix.

◆ local_blocks()

Ref< SCMatrixSubblockIter > sc::ReplDiagSCMatrix::local_blocks ( SCMatrixSubblockIter::Access )
virtual

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

Implements sc::DiagSCMatrix.

◆ set_element()

void sc::ReplDiagSCMatrix::set_element ( int ,
double  )
virtual

Implements sc::DiagSCMatrix.

◆ trace()

double sc::ReplDiagSCMatrix::trace ( )
virtual

Return the trace.

Implements sc::DiagSCMatrix.

◆ vprint()

void sc::ReplDiagSCMatrix::vprint ( const char * title = 0,
std::ostream & out = ExEnv::out0(),
int = 10 ) const
virtual

Reimplemented from sc::DiagSCMatrix.


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

Generated at Wed Sep 25 2024 02:45:35 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.