MPQC 2.3.1
sc::RefDiagSCMatrix Class Reference

The RefDiagSCMatrix class is a smart pointer to an DiagSCMatrix specialization. More...

#include <matrix.h>

Inheritance diagram for sc::RefDiagSCMatrix:
Collaboration diagram for sc::RefDiagSCMatrix:

Public Member Functions

 RefDiagSCMatrix ()
 Initializes the matrix pointer to 0.
 RefDiagSCMatrix (const RefDiagSCMatrix &m)
 Make this and m refer to the same SCMatrix.
 RefDiagSCMatrix (DiagSCMatrix *m)
 Make this refer to m.
RefDiagSCMatrixoperator= (DiagSCMatrix *m)
 Make this refer to m.
RefDiagSCMatrixoperator= (const RefDiagSCMatrix &m)
 Make this and m refer to the same matrix.
 RefDiagSCMatrix (const RefSCDimension &, const Ref< SCMatrixKit > &)
 Create a diagonal matrix with dimension d by d.
RefSCMatrix operator* (const RefSCMatrix &) const
 Multiply this by a matrix and return a matrix.
RefDiagSCMatrix operator* (double) const
RefDiagSCMatrix operator+ (const RefDiagSCMatrix &) const
 Matrix addition and subtraction.
RefDiagSCMatrix operator- (const RefDiagSCMatrix &) const
RefDiagSCMatrix i () const
 Return the inverse of this.
RefDiagSCMatrix gi () const
 Return the generalized inverse of this.
RefDiagSCMatrix clone () const
 These call the SCMatrix members of the same name after checking for references to 0.
RefDiagSCMatrix copy () const
void set_element (int, double) const
void accumulate_element (int, double) const
double get_element (int) const
void randomize () const
void assign (const RefDiagSCMatrix &) const
void scale (double) const
void assign (double) const
void assign (const double *) const
void convert (double *) const
void accumulate (const RefDiagSCMatrix &) const
void element_op (const Ref< SCElementOp > &) const
void element_op (const Ref< SCElementOp2 > &, const RefDiagSCMatrix &) const
void element_op (const Ref< SCElementOp3 > &, const RefDiagSCMatrix &, const RefDiagSCMatrix &) const
int n () const
RefSCDimension dim () const
Ref< SCMatrixKitkit () const
double trace () const
void print (std::ostream &) const
void print (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) const
void save (StateOut &)
void restore (StateIn &)
 Restores the matrix from StateIn object. The matrix must have been initialized already.
double determ () const
 Returns the determinant of the referenced matrix.
DiagSCMatrixdouble operator() (int i) const
 Assign and examine matrix elements.
int nblock () const
 If this matrix is blocked return the number of blocks.
RefDiagSCMatrix block (int i) const
 If this matrix is blocked return block i.
Public Member Functions inherited from sc::Ref< DiagSCMatrix >
 Ref ()
 Create a reference to a null object.
 ~Ref ()
 Create a reference to the object a.
DiagSCMatrixoperator-> () const
 Returns the reference counted object.
DiagSCMatrixpointer () const
 Returns a pointer the reference counted object.
RefCountparentpointer () const
 Implements the parentpointer pure virtual in the base class.
 operator DiagSCMatrix * () const
DiagSCMatrixoperator* () const
 Returns a C++ reference to the reference counted object.
int null () const
 Return 1 if this is a reference to a null object.
int nonnull () const
 Return !null().
int operator== (const Ref< A > &a) const
 A variety of ordering and equivalence operators are provided using the Identity class.
int operator>= (const Ref< A > &a) const
int operator<= (const Ref< A > &a) const
int operator> (const Ref< A > &a) const
int operator< (const Ref< A > &a) const
int operator!= (const Ref< A > &a) const
int compare (const Ref< DiagSCMatrix > &a) const
 Compare two objects returning -1, 0, or 1.
void clear ()
 Refer to the null object.
Ref< DiagSCMatrix > & operator= (const Ref< DiagSCMatrix > &c)
 Assignment to c.
Ref< DiagSCMatrix > & operator<< (const RefBase &a)
 Assignment to the object that a references using dynamic_cast.
void assign_pointer (DiagSCMatrix *cr)
 Assignment to cr.
void check_pointer () const
 Check the validity of the pointer.
void ref_info (std::ostream &os) const
 Print information about the reference to os.
void warn (const char *s) const
 Print a warning concerning the reference.
Public Member Functions inherited from sc::RefBase
void require_nonnull () const
 Requires that a nonnull reference is held.

Additional Inherited Members

Protected Member Functions inherited from sc::RefBase
void warn (const char *msg) const
 Print a warning message.
void warn_ref_to_stack () const
 Called when stack data is referenced.
void warn_skip_stack_delete () const
 Called when the deletion of stack data is skipped.
void warn_bad_ref_count () const
 Called when the reference count is corrupted.
void ref_info (RefCount *p, std::ostream &os) const
 Print information about the reference.
void ref_info (std::ostream &os) const
void check_pointer () const
void reference (RefCount *)
int dereference (RefCount *)

Detailed Description

The RefDiagSCMatrix class is a smart pointer to an DiagSCMatrix specialization.

Constructor & Destructor Documentation

◆ RefDiagSCMatrix() [1/2]

sc::RefDiagSCMatrix::RefDiagSCMatrix ( )

Initializes the matrix pointer to 0.

The reference must be initialized before it is used.

Referenced by block(), clone(), gi(), i(), operator*(), operator+(), operator=(), operator=(), RefDiagSCMatrix(), and RefDiagSCMatrix().

◆ RefDiagSCMatrix() [2/2]

sc::RefDiagSCMatrix::RefDiagSCMatrix ( const RefSCDimension & ,
const Ref< SCMatrixKit > &  )

Create a diagonal matrix with dimension d by d.

The data values are undefined.

References sc::Ref< DiagSCMatrix >::Ref().

Member Function Documentation

◆ block()

RefDiagSCMatrix sc::RefDiagSCMatrix::block ( int i) const

If this matrix is blocked return block i.

Otherwise return this as block 0.

References i(), and RefDiagSCMatrix().

◆ nblock()

int sc::RefDiagSCMatrix::nblock ( ) const

If this matrix is blocked return the number of blocks.

Otherwise return 1.


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

Generated at Fri Jan 31 2025 00:00:00 for MPQC 2.3.1 using the documentation package Doxygen 1.14.0.