MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
sc::DiagSCMatrix Class Referenceabstract

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

#include <math/scmat/abstract.h>

Inheritance diagram for sc::DiagSCMatrix:
sc::DescribedClass sc::RefCount sc::BlockedDiagSCMatrix sc::DistDiagSCMatrix sc::LocalDiagSCMatrix sc::ReplDiagSCMatrix

Public Member Functions

 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_val (double val)
 Overridden to implement the assign members.
 
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.
 
virtual double get_element (int) const =0
 Return or modify an element.
 
virtual void set_element (int, double)=0
 
virtual void accumulate_element (int, double)=0
 
virtual void accumulate (const DiagSCMatrix *m)=0
 Sum m into this.
 
virtual double trace ()=0
 Return the trace.
 
virtual double determ_this ()=0
 Return the determinant of this. this is overwritten.
 
virtual double invert_this ()=0
 Invert this.
 
virtual void gen_invert_this (double condition_number_threshold=1e8)=0
 Return the generalized inverse of this using SVD decomposition.
 
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 > &, DiagSCMatrix *)=0
 
virtual void element_op (const Ref< SCElementOp3 > &, DiagSCMatrix *, DiagSCMatrix *)=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< MessageGrpmessagegrp () const
 Returns the message group used by the matrix kit.
 
virtual Ref< SCMatrixSubblockIterlocal_blocks (SCMatrixSubblockIter::Access)=0
 Returns iterators for the local (rapidly accessible) blocks used in this matrix.
 
virtual Ref< SCMatrixSubblockIterall_blocks (SCMatrixSubblockIter::Access)=0
 Returns iterators for the all blocks used in this matrix.
 
- 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 Attributes

RefSCDimension d
 
Ref< SCMatrixKitkit_
 

Additional Inherited Members

- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Detailed Description

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


Member Function Documentation

◆ accumulate()

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

◆ all_blocks()

virtual Ref< SCMatrixSubblockIter > sc::DiagSCMatrix::all_blocks ( SCMatrixSubblockIter::Access )
pure virtual

Returns iterators for the all blocks used in this matrix.

Implemented in sc::BlockedDiagSCMatrix, sc::DistDiagSCMatrix, sc::LocalDiagSCMatrix, and sc::ReplDiagSCMatrix.

◆ assign()

void sc::DiagSCMatrix::assign ( DiagSCMatrix * d_a)
inline

Make this have the same elements as m.

The dimensions must match.

◆ assign_val()

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

Overridden to implement the assign members.

Reimplemented in sc::ReplDiagSCMatrix.

Referenced by assign().

◆ determ_this()

virtual double sc::DiagSCMatrix::determ_this ( )
pure virtual

Return the determinant of this. this is overwritten.

Implemented in sc::BlockedDiagSCMatrix, sc::DistDiagSCMatrix, sc::LocalDiagSCMatrix, and sc::ReplDiagSCMatrix.

◆ element_op()

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

Perform the element operation op on each element of this.

Implemented in sc::BlockedDiagSCMatrix, sc::DistDiagSCMatrix, sc::LocalDiagSCMatrix, and sc::ReplDiagSCMatrix.

◆ gen_invert_this()

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

Return the generalized inverse of this using SVD decomposition.

See also
SCMatrix::gen_invert_this()

Implemented in sc::BlockedDiagSCMatrix, sc::DistDiagSCMatrix, sc::LocalDiagSCMatrix, and sc::ReplDiagSCMatrix.

◆ get_element()

virtual double sc::DiagSCMatrix::get_element ( int ) const
pure virtual

Return or modify an element.

Implemented in sc::BlockedDiagSCMatrix, sc::DistDiagSCMatrix, sc::LocalDiagSCMatrix, and sc::ReplDiagSCMatrix.

◆ invert_this()

virtual double sc::DiagSCMatrix::invert_this ( )
pure virtual

◆ local_blocks()

virtual Ref< SCMatrixSubblockIter > sc::DiagSCMatrix::local_blocks ( SCMatrixSubblockIter::Access )
pure virtual

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

Implemented in sc::BlockedDiagSCMatrix, sc::DistDiagSCMatrix, sc::LocalDiagSCMatrix, and sc::ReplDiagSCMatrix.

◆ print()

void sc::DiagSCMatrix::print ( std::ostream & o = ExEnv::out0()) const
virtual

Print out the matrix.

Reimplemented from sc::DescribedClass.

◆ save()

virtual void sc::DiagSCMatrix::save ( StateOut & )
virtual

Save and restore this in an implementation independent way.

Reimplemented in sc::BlockedDiagSCMatrix.

◆ trace()

virtual double sc::DiagSCMatrix::trace ( )
pure virtual

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

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