MPQC
3.0.0-alpha
|
The RefDiagSCMatrix class is a smart pointer to an DiagSCMatrix specialization. More...
#include <math/scmat/matrix.h>
Public Member Functions | |
RefDiagSCMatrix () | |
Initializes the matrix pointer to 0. More... | |
RefDiagSCMatrix (const RefDiagSCMatrix &m) | |
Make this and m refer to the same SCMatrix. | |
RefDiagSCMatrix (DiagSCMatrix *m) | |
Make this refer to m. | |
RefDiagSCMatrix & | operator= (DiagSCMatrix *m) |
Make this refer to m. | |
RefDiagSCMatrix & | operator= (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. More... | |
RefSCMatrix | operator* (const RefSCMatrix &) const |
Multiply this by a matrix and return a matrix. | |
RefSCMatrix | operator* (const RefSymmSCMatrix &) const |
RefDiagSCMatrix | operator* (const RefDiagSCMatrix &) const |
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 (double condition_number_threshold=1e8) const |
Return the generalized inverse of this. More... | |
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< SCMatrixKit > | kit () 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. More... | |
RefDiagSCMatrix | block (int i) const |
If this matrix is blocked return block i. More... | |
Public Member Functions inherited from sc::Ref< DiagSCMatrix > | |
Ref () | |
Create a reference to a null object. | |
Ref (DiagSCMatrix *a) | |
Create a reference to the object a. | |
Ref (const Ref< DiagSCMatrix > &a) | |
Create a reference to the object referred to by a. | |
Ref (const Ref< A > &a) | |
Create a reference to the object referred to by a. | |
~Ref () | |
Create a reference to the object a. More... | |
DiagSCMatrix * | operator-> () const |
Returns the reference counted object. More... | |
DiagSCMatrix * | pointer () const |
Returns a pointer the reference counted object. | |
RefCount * | parentpointer () const |
Implements the parentpointer pure virtual in the base class. | |
operator DiagSCMatrix * () const | |
DiagSCMatrix & | operator* () const |
Returns a C++ reference to the reference counted object. More... | |
bool | null () const |
Return true if this is a reference to a null object. More... | |
bool | operator! () const |
int | operator== (const Ref< A > &a) const |
Ordering and equivalence operators are determined by the identifier if both pointers are not null. More... | |
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. More... | |
void | clear () |
Refer to the null object. | |
Ref< DiagSCMatrix > & | operator= (const Ref< DiagSCMatrix > &c) |
Assignment to c. | |
Ref< DiagSCMatrix > & | operator= (const Ref< A > &c) |
Assignment to c. | |
Ref< DiagSCMatrix > & | operator= (DiagSCMatrix *cr) |
Assignment to cr. | |
Ref< DiagSCMatrix > & | operator<< (const RefBase &a) |
Assignment to the object that a references using dynamic_cast. | |
Ref< DiagSCMatrix > & | operator<< (RefCount *a) |
Assigns to the given base class pointer using dynamic_cast. More... | |
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. | |
bool | nonnull () const |
Return !null(). | |
Public Member Functions inherited from sc::RefBase | |
void | require_nonnull () const |
Requires that a nonnull reference is held. More... | |
Additional Inherited Members | |
Public Types inherited from sc::Ref< DiagSCMatrix > | |
typedef DiagSCMatrix | element_type |
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 *) |
The RefDiagSCMatrix class is a smart pointer to an DiagSCMatrix specialization.
sc::RefDiagSCMatrix::RefDiagSCMatrix | ( | ) |
Initializes the matrix pointer to 0.
The reference must be initialized before it is used.
sc::RefDiagSCMatrix::RefDiagSCMatrix | ( | const RefSCDimension & | , |
const Ref< SCMatrixKit > & | |||
) |
Create a diagonal matrix with dimension d by d.
The data values are undefined.
RefDiagSCMatrix sc::RefDiagSCMatrix::block | ( | int | i | ) | const |
If this matrix is blocked return block i.
Otherwise return this as block 0.
RefDiagSCMatrix sc::RefDiagSCMatrix::gi | ( | double | condition_number_threshold = 1e8 | ) | const |
Return the generalized inverse of this.
int sc::RefDiagSCMatrix::nblock | ( | ) | const |
If this matrix is blocked return the number of blocks.
Otherwise return 1.